.gitignore
.pre-commit-config.yaml
CODEOWNERS
LICENSE
README.md
justfile
mkdocs.yml
personal-data-exclusions.txt
pyproject.toml
trufflehog-exclude.txt
uv.lock
.github/dependabot.yml
.github/pull_request_template.md
.github/actions/setup-toolchain/action.yml
.github/skills/lucid-docs/README.md
.github/skills/lucid-docs/SKILL.md
.github/skills/lucid-docs/readability.py
.github/workflows/cd.yml
.github/workflows/ci.yml
.github/workflows/codeql.yml
.vscode/launch.json
.vscode/settings.json
benchmarks/README.md
benchmarks/__init__.py
benchmarks/__main__.py
benchmarks/cases.py
benchmarks/data.py
benchmarks/measure.py
benchmarks/measurements.py
benchmarks/report.py
benchmarks/runner.py
benchmarks/topologies.py
benchmarks/results/.gitkeep
docs/contributing.md
docs/glossary.md
docs/index.md
docs/use-cases.md
docs/why-matchlab.md
docs/api/adapters.md
docs/api/document.md
docs/api/eval-judgements.md
docs/api/eval-metrics.md
docs/api/eval-sampling.md
docs/api/eval-tui.md
docs/api/lineage.md
docs/api/locations.md
docs/api/models.md
docs/api/progress.md
docs/api/recordstep.md
docs/api/resolvers.md
docs/api/resources.md
docs/api/sources.md
docs/api/specs.md
docs/api/steps.md
docs/api/testkit.md
docs/api/transformers.md
docs/api/core/exceptions.md
docs/api/core/hash.md
docs/api/core/resolver_output.md
docs/api/core/schemas.md
docs/api/core/transform.md
docs/assets/matchbox-icon-dark.png
docs/assets/matchbox-icon.svg
docs/assets/matchbox-logo-dark.svg
docs/assets/matchbox-logo-light.svg
docs/guide/build-a-plan.md
docs/guide/evaluate.md
docs/guide/install.md
docs/guide/query.md
docs/guide/serialise.md
docs/migration/matchbox-to-matchlab.md
docs/stylesheets/extra.css
scripts/test_eval.py
src/matchlab/__init__.py
src/matchlab/cli.py
src/matchlab/document.py
src/matchlab/lineage.py
src/matchlab/progress.py
src/matchlab/recordstep.py
src/matchlab/resources.py
src/matchlab/specs.py
src/matchlab/steps.py
src/matchlab.egg-info/PKG-INFO
src/matchlab.egg-info/SOURCES.txt
src/matchlab.egg-info/dependency_links.txt
src/matchlab.egg-info/entry_points.txt
src/matchlab.egg-info/requires.txt
src/matchlab.egg-info/scm_file_list.json
src/matchlab.egg-info/scm_version.json
src/matchlab.egg-info/top_level.txt
src/matchlab/adapters/__init__.py
src/matchlab/adapters/base.py
src/matchlab/adapters/duckdb.py
src/matchlab/core/__init__.py
src/matchlab/core/dataframes.py
src/matchlab/core/dsu.py
src/matchlab/core/exceptions.py
src/matchlab/core/hash.py
src/matchlab/core/kinds.py
src/matchlab/core/logging.py
src/matchlab/core/resolver_output.py
src/matchlab/core/schemas.py
src/matchlab/core/sql.py
src/matchlab/eval/__init__.py
src/matchlab/eval/judgements.py
src/matchlab/eval/metrics.py
src/matchlab/eval/samples.py
src/matchlab/eval/tui/__init__.py
src/matchlab/eval/tui/app.py
src/matchlab/eval/tui/modals.py
src/matchlab/eval/tui/styles.tcss
src/matchlab/eval/tui/widgets/__init__.py
src/matchlab/eval/tui/widgets/assignment.py
src/matchlab/eval/tui/widgets/styling.py
src/matchlab/eval/tui/widgets/table.py
src/matchlab/models/__init__.py
src/matchlab/models/comparison.py
src/matchlab/models/models.py
src/matchlab/models/dedupers/__init__.py
src/matchlab/models/dedupers/base.py
src/matchlab/models/dedupers/naive.py
src/matchlab/models/linkers/__init__.py
src/matchlab/models/linkers/base.py
src/matchlab/models/linkers/deterministic.py
src/matchlab/models/linkers/splinklinker.py
src/matchlab/models/linkers/weighteddeterministic.py
src/matchlab/resolvers/__init__.py
src/matchlab/resolvers/base.py
src/matchlab/resolvers/components.py
src/matchlab/resolvers/resolvers.py
src/matchlab/sources/__init__.py
src/matchlab/sources/base.py
src/matchlab/sources/dataframe.py
src/matchlab/sources/relational.py
src/matchlab/sources/sources.py
src/matchlab/testkit/__init__.py
src/matchlab/testkit/_generate.py
src/matchlab/testkit/compare.py
src/matchlab/testkit/entities.py
src/matchlab/testkit/features.py
src/matchlab/testkit/linked.py
src/matchlab/testkit/matchers.py
src/matchlab/testkit/models.py
src/matchlab/testkit/sources.py
src/matchlab/transformers/__init__.py
src/matchlab/transformers/base.py
src/matchlab/transformers/clean.py
src/matchlab/transformers/explode.py
src/matchlab/transformers/group.py
src/matchlab/transformers/select.py
src/matchlab/transformers/transform.py
test/README.md
test/__init__.py
test/conftest.py
test/test_benchmarks.py
test/test_cli.py
test/test_document.py
test/test_lineage.py
test/test_progress.py
test/test_resources.py
test/adapters/__init__.py
test/adapters/conftest.py
test/adapters/test_base.py
test/adapters/test_contract.py
test/adapters/test_duckdb.py
test/core/__init__.py
test/core/test_dsu.py
test/core/test_eval.py
test/core/test_hash.py
test/core/test_resolver_output.py
test/eval/__init__.py
test/eval/test_samples.py
test/eval/tui/__init__.py
test/eval/tui/test_app.py
test/eval/tui/test_widgets.py
test/models/__init__.py
test/models/test_comparison.py
test/models/test_dedupers_deterministic.py
test/models/test_linkers_deterministic.py
test/models/test_linkers_probabilistic.py
test/models/test_models.py
test/plan/__init__.py
test/plan/test_ground_truth.py
test/plan/test_plan.py
test/plan/test_steps.py
test/resolvers/__init__.py
test/resolvers/test_components.py
test/resolvers/test_resolvers.py
test/sources/__init__.py
test/sources/conftest.py
test/sources/test_locations.py
test/testkit/__init__.py
test/testkit/test_entities.py
test/testkit/test_linked.py
test/testkit/test_models.py
test/testkit/test_scores.py
test/testkit/test_sources.py
test/transformers/__init__.py
test/transformers/test_clean.py
test/transformers/test_explode.py
test/transformers/test_group.py
test/transformers/test_select.py
test/transformers/test_transform.py