Demos ===== Complete, runnable scripts that exercise each engine end to end. They ship with the package under ``scripts/demos/``; run one to confirm your install, then read the matching tutorial to understand each step. The full source of each is shown inline below. .. note:: **A license key is required.** Each demo starts a ``MadMatcherSession``, which checks in with the MadMatcher license server on startup, so a valid license key must be configured before you run one. If you do not have a key, contact your system administrator or refer to the onboarding guide. Sparkly (lexical blocking) -------------------------- .. literalinclude:: ../scripts/demos/sparkly/demo_sparkly_blocking.py :language: python :caption: scripts/demos/sparkly/demo_sparkly_blocking.py Delex (DAG blocking) -------------------- .. literalinclude:: ../scripts/demos/delex/demo_delex_blocking.py :language: python :caption: scripts/demos/delex/demo_delex_blocking.py MatchFlow (matching) -------------------- .. literalinclude:: ../scripts/demos/matchflow/demo_matchflow_matching.py :language: python :caption: scripts/demos/matchflow/demo_matchflow_matching.py .. literalinclude:: ../scripts/demos/matchflow/demo_hybrid_labeler.py :language: python :caption: scripts/demos/matchflow/demo_hybrid_labeler.py Semantic (dense blocking) ------------------------- .. literalinclude:: ../scripts/demos/semantic/demo_semantic_blocking.py :language: python :caption: scripts/demos/semantic/demo_semantic_blocking.py .. literalinclude:: ../scripts/demos/semantic/demo_fusion_blocking.py :language: python :caption: scripts/demos/semantic/demo_fusion_blocking.py Reliability (crash recovery + dashboard) ---------------------------------------- .. literalinclude:: ../scripts/demos/reliability/demo_progress_dashboard.py :language: python :caption: scripts/demos/reliability/demo_progress_dashboard.py .. literalinclude:: ../scripts/demos/reliability/demo_resumable_blocking.py :language: python :caption: scripts/demos/reliability/demo_resumable_blocking.py Real-time serving (add-on) -------------------------- The resident counterpart of the batch demos above: match one incoming record at a time, in-process. All of these require the separately-licensed ``realtime`` entitlement. The first three are the same pipeline at three points on the batch-to-streaming spectrum; the rest exercise one capability each. .. literalinclude:: ../scripts/demos/realtime/demo_batch_to_streaming.py :language: python :caption: scripts/demos/realtime/demo_batch_to_streaming.py .. literalinclude:: ../scripts/demos/realtime/demo_batch_backfill_to_streaming.py :language: python :caption: scripts/demos/realtime/demo_batch_backfill_to_streaming.py .. literalinclude:: ../scripts/demos/realtime/demo_streaming_only.py :language: python :caption: scripts/demos/realtime/demo_streaming_only.py .. literalinclude:: ../scripts/demos/realtime/demo_realtime_matching.py :language: python :caption: scripts/demos/realtime/demo_realtime_matching.py .. literalinclude:: ../scripts/demos/realtime/demo_realtime_sparkly.py :language: python :caption: scripts/demos/realtime/demo_realtime_sparkly.py .. literalinclude:: ../scripts/demos/realtime/demo_realtime_delex.py :language: python :caption: scripts/demos/realtime/demo_realtime_delex.py .. literalinclude:: ../scripts/demos/realtime/demo_realtime_semantic.py :language: python :caption: scripts/demos/realtime/demo_realtime_semantic.py .. literalinclude:: ../scripts/demos/realtime/demo_realtime_fusion.py :language: python :caption: scripts/demos/realtime/demo_realtime_fusion.py .. literalinclude:: ../scripts/demos/realtime/demo_realtime_fusion_matching.py :language: python :caption: scripts/demos/realtime/demo_realtime_fusion_matching.py .. literalinclude:: ../scripts/demos/realtime/demo_realtime_dashboard.py :language: python :caption: scripts/demos/realtime/demo_realtime_dashboard.py .. literalinclude:: ../scripts/demos/realtime/demo_realtime_msd_fusion.py :language: python :caption: scripts/demos/realtime/demo_realtime_msd_fusion.py