resolvekit 0.1.2__tar.gz → 0.1.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {resolvekit-0.1.2 → resolvekit-0.1.3}/PKG-INFO +1 -1
- {resolvekit-0.1.2 → resolvekit-0.1.3}/pyproject.toml +1 -1
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/__init__.py +24 -8
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_convenience.py +131 -28
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/geo/admin1/metadata.json +13 -12
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/geo/admin2/metadata.json +10 -10
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/geo/admin3/metadata.json +12 -12
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/geo/admin4/metadata.json +9 -9
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/geo/admin5/metadata.json +8 -8
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/geo/cities/metadata.json +11 -11
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/geo/continents/metadata.json +23 -23
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/geo/countries/entities.sqlite +0 -0
- resolvekit-0.1.3/src/resolvekit/_data/geo/countries/geo_calibrator.json +7 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/geo/countries/metadata.json +5 -5
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/geo/countries/symspell.dict +46 -18
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/manifest.json +38 -38
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_pandas_integration.py +38 -3
- resolvekit-0.1.3/src/resolvekit/_polars_integration.py +234 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/pipeline/stages.py +10 -2
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/datacommons/geo/fetch.py +1 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/wikidata/aliases.py +20 -4
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/api/batch.py +7 -7
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/api/bulk.py +379 -148
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/api/cache.py +22 -8
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/api/code_lookup.py +32 -6
- resolvekit-0.1.3/src/resolvekit/core/api/context_input.py +159 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/api/entity_lookup.py +4 -1
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/api/group_api.py +1 -1
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/api/loading/paths.py +2 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/api/query_prep.py +22 -6
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/api/resolver.py +312 -36
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/api/snap.py +30 -8
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/byod/build.py +42 -5
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/byod/builder.py +5 -4
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/byod/cache.py +5 -12
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/config.py +25 -11
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/engine/_stages.py +3 -7
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/engine/decision.py +13 -13
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/engine/enrichment.py +89 -6
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/engine/interfaces.py +9 -1
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/engine/multi_runner.py +20 -9
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/engine/runner.py +21 -3
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/engine/suggest_rank.py +6 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/engine/tier_utils.py +3 -4
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/errors.py +121 -5
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/explain/result_html.py +36 -23
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/explain/scorecard.py +2 -1
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/model/bulk_result.py +4 -4
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/model/entity.py +20 -6
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/model/entity_attributes.py +9 -20
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/model/name_grammar.py +24 -4
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/model/query.py +45 -2
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/model/result.py +45 -10
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/parse/link.py +1 -1
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/parse/offsets.py +19 -6
- resolvekit-0.1.3/src/resolvekit/core/util/iso_codes.py +265 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/errors/__init__.py +2 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/geo/constraints/containment.py +5 -4
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/geo/decision.py +57 -1
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/geo/extractor.py +5 -1
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/geo/pack.py +6 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/geo/routing.py +24 -6
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/geo/scoring.py +6 -1
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/geo/sources/_short_input.py +31 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/geo/sources/exact_code.py +3 -1
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/geo/sources/symspell.py +3 -1
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/org/constraints/country_relevance.py +5 -1
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/org/decision.py +2 -2
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/shared/scoring_base.py +3 -1
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/shared/sources/symspell_base.py +194 -3
- resolvekit-0.1.2/src/resolvekit/_data/geo/countries/geo_calibrator.json +0 -7
- resolvekit-0.1.2/src/resolvekit/_polars_integration.py +0 -100
- {resolvekit-0.1.2 → resolvekit-0.1.3}/LICENSE +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/README.md +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/NOTICE.md +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/geo/continental_unions/entities.sqlite +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/geo/continental_unions/metadata.json +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/geo/continental_unions/symspell.dict +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/geo/continents/entities.sqlite +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/geo/continents/symspell.dict +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/geo/regions/entities.sqlite +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/geo/regions/metadata.json +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/geo/regions/symspell.dict +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/org/companies/entities.sqlite +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/org/companies/metadata.json +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/org/companies/symspell.dict +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/org/data_sources/entities.sqlite +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/org/data_sources/metadata.json +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/org/data_sources/symspell.dict +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/org/governments/entities.sqlite +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/org/governments/metadata.json +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/org/governments/symspell.dict +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/org/lenders/entities.sqlite +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/org/lenders/metadata.json +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/org/lenders/symspell.dict +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/org/political_parties/entities.sqlite +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/org/political_parties/metadata.json +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/org/political_parties/symspell.dict +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/org/providers/entities.sqlite +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/org/providers/metadata.json +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/org/providers/symspell.dict +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/_data/parse/deny_list.json +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/_outcomes.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/api.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/containment.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/country_geonames_aliases.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/datapack_layout.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/entity_validity.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/formal_names.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/geo_shared.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/groups.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/inspection.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/models.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/module_catalog.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/oecd_dac.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/pipeline/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/pipeline/build_report.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/pipeline/changelog.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/pipeline/chunk.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/pipeline/contribution.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/pipeline/core.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/pipeline/discover.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/pipeline/enrich.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/pipeline/geo_staging.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/pipeline/packaging.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/pipeline/promote.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/pipeline/qa.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/pipeline/reconcile.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/pipeline/types.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/presets.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/registry.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/datacommons/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/datacommons/adapter.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/datacommons/base_dc_api.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/datacommons/bundle.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/datacommons/canonicalize.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/datacommons/client.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/datacommons/constants.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/datacommons/geo/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/datacommons/geo/_admin_walk.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/datacommons/geo/_chunk_callback.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/datacommons/geo/_geo_regions.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/datacommons/geo/_ordered_emitter.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/datacommons/geo/_progress_context.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/datacommons/geo/_streaming.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/datacommons/geo/_type_mappings.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/datacommons/geo/adapter.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/datacommons/geo/dc_api.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/datacommons/geo/discovery.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/datacommons/geo/mappings.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/datacommons/geo/profile.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/datacommons/geo/prominence.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/datacommons/models.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/datacommons/node.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/datacommons/org/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/datacommons/org/adapter.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/datacommons/org/dc_api.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/datacommons/org/discovery.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/datacommons/org/fetch.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/datacommons/org/mappings.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/datacommons/org/profile.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/datacommons/rows.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/datacommons/specs.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/datacommons/text.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/discovery_events.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/protocol.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/seed/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/seed/continents.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/seed/m49.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/wikidata/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sources/wikidata/sitelinks.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sqlite/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sqlite/constants.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sqlite/context.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sqlite/diff.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sqlite/export.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sqlite/specs.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sqlite/validate.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/sqlite/write.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/state.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/builder/utils.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/calibration/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/calibration/adapters/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/calibration/adapters/_cldr_source.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/calibration/adapters/_latin_filter.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/calibration/adapters/_wikidata_client.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/calibration/adapters/cldr.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/calibration/adapters/geonames.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/calibration/adapters/multilingual_names.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/calibration/adapters/synthetic.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/calibration/adapters/wikidata.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/calibration/dataset.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/calibration/evaluation.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/calibration/fitting.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/calibration/models.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/calibration/scoring_model.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/calibration/train.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/calibration/vectorize.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/api/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/api/_byod.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/api/_pivot.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/api/containment_api.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/api/diagnostics.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/api/info.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/api/inspect.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/api/loading/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/api/loading/module_catalog.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/api/loading/pack_loader.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/api/loading/store_builder.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/api/modules.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/api/output_spec.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/api/output_view.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/api/resolve_flow.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/api/suggest_flow.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/byod/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/byod/intake.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/byod/result.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/datapack.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/download_api.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/engine/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/engine/config.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/engine/router.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/errors_base.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/explain/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/explain/events.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/explain/feature_text.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/explain/helpers.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/explain/protocol.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/explain/renderers.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/explain/result_types.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/explain/sink.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/linking/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/linking/base_linker.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/linking/base_normalizer.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/linking/linker.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/linking/normalizer.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/merge.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/model/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/model/_repr.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/model/candidate.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/model/crosswalk.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/model/features.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/model/generation.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/model/inspection.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/module_registry.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/overlay_loader.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/parse/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/parse/_pivot.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/parse/automaton.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/parse/denylist.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/parse/detect.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/parse/engine.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/parse/result.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/registry.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/remote.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/store/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/store/composed_sqlite.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/store/composite.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/store/interface.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/store/merging.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/store/sqlite.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/store/sqlite_helpers.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/store/store_view.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/util/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/util/normalization.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/util/sentinel.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/core/version.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/diagnostics/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/extensions.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/_artifacts.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/custom/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/custom/decision.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/custom/extractor.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/custom/features.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/custom/normalizer.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/custom/pack.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/custom/scoring.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/custom/sources/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/custom/sources/exact_code.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/custom/sources/exact_name.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/custom/sources/fts.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/custom/sources/fuzzy.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/geo/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/geo/_specificity.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/geo/build/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/geo/build/builder.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/geo/constraints/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/geo/constraints/membership.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/geo/constraints/temporal.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/geo/constraints/type_constraint.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/geo/data/.gitkeep +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/geo/features.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/geo/linker.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/geo/normalizer.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/geo/sources/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/geo/sources/exact_name.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/geo/sources/fts.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/geo/sources/fuzzy.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/geo/sources/fuzzy_retrieval.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/geo/sources/query_shapes.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/org/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/org/_acronym.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/org/build/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/org/build/builder.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/org/constraints/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/org/constraints/parent_org.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/org/constraints/temporal.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/org/constraints/type_constraint.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/org/data/.gitkeep +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/org/feature_extractor.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/org/features.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/org/linker.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/org/normalizer.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/org/pack.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/org/routing.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/org/scoring.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/org/sources/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/org/sources/acronym.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/org/sources/exact_code.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/org/sources/exact_name.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/org/sources/fts.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/org/sources/fuzzy.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/packs/org/sources/symspell.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/pandas/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/polars/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/py.typed +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/shared/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/shared/build/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/shared/build/base_builder.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/shared/build/schema.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/shared/constraints/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/shared/constraints/temporal_constraint.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/shared/constraints/type_constraint.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/shared/sources/__init__.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/shared/sources/code_helpers.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/shared/sources/fts_base.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/shared/sources/fuzzy_base.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/shared/sources/fuzzy_retrieval_base.py +0 -0
- {resolvekit-0.1.2 → resolvekit-0.1.3}/src/resolvekit/types/__init__.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: resolvekit
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.3
|
|
4
4
|
Summary: Entity and place resolution system that maps messy place/entity strings and codes to canonical entities
|
|
5
5
|
Keywords: entity-resolution,geocoding,place-names,data-commons,iso-codes,offline,disambiguation,normalization
|
|
6
6
|
Author: Jorge Rivera
|
|
@@ -18,13 +18,9 @@ Quick start (instance-level)::
|
|
|
18
18
|
|
|
19
19
|
With context hints::
|
|
20
20
|
|
|
21
|
-
from resolvekit import Resolver, ResolutionContext
|
|
22
|
-
|
|
23
21
|
resolver = Resolver.from_modules(module_ids=["geo.countries"])
|
|
24
|
-
result = resolver.resolve(
|
|
25
|
-
|
|
26
|
-
context=ResolutionContext(country="FR"),
|
|
27
|
-
)
|
|
22
|
+
result = resolver.resolve("Paris", context={"country": "FR"})
|
|
23
|
+
# Typed alternative: context=ResolutionContext(country="FR")
|
|
28
24
|
|
|
29
25
|
With explanation::
|
|
30
26
|
|
|
@@ -55,7 +51,9 @@ from resolvekit._convenience import (
|
|
|
55
51
|
resolve,
|
|
56
52
|
resolve_id,
|
|
57
53
|
snap,
|
|
54
|
+
suggest,
|
|
58
55
|
to,
|
|
56
|
+
warm,
|
|
59
57
|
)
|
|
60
58
|
|
|
61
59
|
# Re-exports excluded from __all__ — importable but not surfaced via star-import.
|
|
@@ -68,11 +66,19 @@ from resolvekit.core.api import Resolver
|
|
|
68
66
|
from resolvekit.core.byod.result import AugmentResult
|
|
69
67
|
from resolvekit.core.errors import (
|
|
70
68
|
AmbiguousResolutionError,
|
|
69
|
+
CrosswalkError,
|
|
70
|
+
DataPackNotAvailableError,
|
|
71
71
|
EntityNotFoundError,
|
|
72
72
|
GroupNotFoundError,
|
|
73
|
+
NoModulesInstalledError,
|
|
74
|
+
OutputMissingError,
|
|
73
75
|
ResolutionError,
|
|
76
|
+
UnknownCodeSystemError,
|
|
77
|
+
UnknownContextKeyError,
|
|
78
|
+
UnknownDomainError,
|
|
79
|
+
UnknownOutputError,
|
|
74
80
|
)
|
|
75
|
-
from resolvekit.core.errors_base import ResolverError
|
|
81
|
+
from resolvekit.core.errors_base import ExplainNotAvailableError, ResolverError
|
|
76
82
|
from resolvekit.core.model import (
|
|
77
83
|
BulkResult,
|
|
78
84
|
EntityRecord,
|
|
@@ -86,7 +92,6 @@ from resolvekit.core.parse import ParsedEntity as ParsedEntity
|
|
|
86
92
|
from resolvekit.core.parse import ParseResult as ParseResult
|
|
87
93
|
from resolvekit.core.util.sentinel import SentinelBlocklist as SentinelBlocklist
|
|
88
94
|
|
|
89
|
-
# Exactly 28 public names (not counting __version__).
|
|
90
95
|
# ``default``, ``download_all``, ``clear_cache``, and ``reset`` are importable
|
|
91
96
|
# but excluded from star-imports.
|
|
92
97
|
__all__ = [
|
|
@@ -95,10 +100,15 @@ __all__ = [
|
|
|
95
100
|
"AugmentResult",
|
|
96
101
|
"BulkResult",
|
|
97
102
|
"Crosswalk",
|
|
103
|
+
"CrosswalkError",
|
|
104
|
+
"DataPackNotAvailableError",
|
|
98
105
|
"DroppedSpan",
|
|
99
106
|
"EntityNotFoundError",
|
|
100
107
|
"EntityRecord",
|
|
108
|
+
"ExplainNotAvailableError",
|
|
101
109
|
"GroupNotFoundError",
|
|
110
|
+
"NoModulesInstalledError",
|
|
111
|
+
"OutputMissingError",
|
|
102
112
|
"ParseResult",
|
|
103
113
|
"ParsedEntity",
|
|
104
114
|
"ResolutionContext",
|
|
@@ -107,6 +117,10 @@ __all__ = [
|
|
|
107
117
|
"ResolutionStatus",
|
|
108
118
|
"Resolver",
|
|
109
119
|
"ResolverError",
|
|
120
|
+
"UnknownCodeSystemError",
|
|
121
|
+
"UnknownContextKeyError",
|
|
122
|
+
"UnknownDomainError",
|
|
123
|
+
"UnknownOutputError",
|
|
110
124
|
"bulk",
|
|
111
125
|
"configure",
|
|
112
126
|
"download",
|
|
@@ -117,5 +131,7 @@ __all__ = [
|
|
|
117
131
|
"resolve",
|
|
118
132
|
"resolve_id",
|
|
119
133
|
"snap",
|
|
134
|
+
"suggest",
|
|
120
135
|
"to",
|
|
136
|
+
"warm",
|
|
121
137
|
]
|
|
@@ -15,7 +15,7 @@ import threading
|
|
|
15
15
|
from pathlib import Path
|
|
16
16
|
from typing import TYPE_CHECKING, Any, Literal
|
|
17
17
|
|
|
18
|
-
from resolvekit.core.config import _UNSET as
|
|
18
|
+
from resolvekit.core.config import _UNSET as _CONFIG_UNSET
|
|
19
19
|
|
|
20
20
|
if TYPE_CHECKING:
|
|
21
21
|
from resolvekit.core.api.modules import ModuleInfo
|
|
@@ -93,10 +93,10 @@ def default() -> Resolver:
|
|
|
93
93
|
|
|
94
94
|
def configure(
|
|
95
95
|
*,
|
|
96
|
-
auto_download: bool | None =
|
|
97
|
-
cache_dir: str | Path | None =
|
|
98
|
-
default_to: str | list[str] | None =
|
|
99
|
-
on_missing: Literal["raise", "null", "auto"] =
|
|
96
|
+
auto_download: bool | None | object = _CONFIG_UNSET,
|
|
97
|
+
cache_dir: str | Path | None | object = _CONFIG_UNSET,
|
|
98
|
+
default_to: str | list[str] | None | object = _CONFIG_UNSET,
|
|
99
|
+
on_missing: Literal["raise", "null", "auto"] | object = _CONFIG_UNSET,
|
|
100
100
|
) -> None:
|
|
101
101
|
"""Configure resolvekit runtime behavior and invalidate the singleton.
|
|
102
102
|
|
|
@@ -104,13 +104,20 @@ def configure(
|
|
|
104
104
|
call to :func:`resolve` (or any module-level function) rebuilds it
|
|
105
105
|
with the updated configuration.
|
|
106
106
|
|
|
107
|
+
Omitting a parameter leaves any previously configured value unchanged.
|
|
108
|
+
|
|
107
109
|
Args:
|
|
108
110
|
auto_download: If True, remote packs are downloaded automatically
|
|
109
|
-
when needed.
|
|
111
|
+
when needed. ``None`` resets to the default (disabled).
|
|
112
|
+
Omitting leaves the current setting unchanged.
|
|
110
113
|
cache_dir: Custom cache directory for remote data packs.
|
|
114
|
+
``None`` resets to the platform default (removes any custom path).
|
|
115
|
+
Omitting leaves the current setting unchanged.
|
|
111
116
|
default_to: Default output code system or name variant for
|
|
112
117
|
module-level resolve/bulk/snap (e.g. ``"iso3"``,
|
|
113
|
-
``["iso3", "name"]``, ``"name:fr"``). ``None`` clears the default
|
|
118
|
+
``["iso3", "name"]``, ``"name:fr"``). ``None`` clears the default
|
|
119
|
+
so resolve() returns a raw ResolutionResult. Omitting leaves
|
|
120
|
+
the current setting unchanged.
|
|
114
121
|
on_missing: Miss policy for the default output chain.
|
|
115
122
|
``"auto"`` = raise for scalar resolve/snap, null +
|
|
116
123
|
``UserWarning`` for bulk; ``"raise"`` always raises
|
|
@@ -119,6 +126,8 @@ def configure(
|
|
|
119
126
|
unchanged.
|
|
120
127
|
|
|
121
128
|
Raises:
|
|
129
|
+
ValueError: When ``default_to`` is not a ``str``, ``list[str]``, or
|
|
130
|
+
``None``.
|
|
122
131
|
UnknownOutputError: Immediately when ``default_to`` contains a
|
|
123
132
|
malformed ``name:`` grammar token, or — when a default resolver
|
|
124
133
|
singleton already exists — when ``default_to`` names an unknown
|
|
@@ -128,25 +137,45 @@ def configure(
|
|
|
128
137
|
from resolvekit.core.api.output_spec import _validate_grammar_only
|
|
129
138
|
from resolvekit.core.config import configure as _configure_core
|
|
130
139
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
140
|
+
if default_to is not _CONFIG_UNSET:
|
|
141
|
+
# Type validation: only str, list[str], or None are accepted at configure time.
|
|
142
|
+
if default_to is not None and not isinstance(default_to, (str, list)):
|
|
143
|
+
raise ValueError(
|
|
144
|
+
f"default_to must be a str, list of str, or None;"
|
|
145
|
+
f" got {type(default_to).__name__!r}"
|
|
146
|
+
)
|
|
147
|
+
if isinstance(default_to, list):
|
|
148
|
+
bad = [x for x in default_to if not isinstance(x, str)]
|
|
149
|
+
if bad:
|
|
150
|
+
raise ValueError(
|
|
151
|
+
f"default_to list must contain only strings;"
|
|
152
|
+
f" got {[type(x).__name__ for x in bad]}"
|
|
153
|
+
)
|
|
154
|
+
# Grammar-only validation is always eager to catch malformed name: tokens.
|
|
155
|
+
if default_to is not None:
|
|
156
|
+
_validate_grammar_only(default_to) # type: ignore[arg-type] # ty: ignore[invalid-argument-type]
|
|
157
|
+
|
|
158
|
+
# If a singleton exists and default_to is a non-None value, compile fully
|
|
159
|
+
# against its code_systems to surface typo'd code systems immediately.
|
|
160
|
+
compile_on_missing = "auto" if on_missing is _CONFIG_UNSET else on_missing
|
|
161
|
+
if (
|
|
162
|
+
_default is not None
|
|
163
|
+
and default_to is not _CONFIG_UNSET
|
|
164
|
+
and default_to is not None
|
|
165
|
+
):
|
|
139
166
|
from resolvekit.core.api.output_spec import compile_output_spec
|
|
140
167
|
|
|
141
168
|
compile_output_spec(
|
|
142
|
-
default_to,
|
|
169
|
+
default_to, # type: ignore[arg-type] # ty: ignore[invalid-argument-type]
|
|
170
|
+
compile_on_missing, # type: ignore[arg-type] # ty: ignore[invalid-argument-type]
|
|
171
|
+
known_systems=_default.code_systems(),
|
|
143
172
|
)
|
|
144
173
|
|
|
145
174
|
_configure_core(
|
|
146
|
-
auto_download=auto_download,
|
|
147
|
-
cache_dir=cache_dir,
|
|
148
|
-
default_to=default_to,
|
|
149
|
-
on_missing=on_missing,
|
|
175
|
+
auto_download=auto_download, # type: ignore[arg-type] # ty: ignore[invalid-argument-type]
|
|
176
|
+
cache_dir=cache_dir, # type: ignore[arg-type] # ty: ignore[invalid-argument-type]
|
|
177
|
+
default_to=default_to, # type: ignore[arg-type] # ty: ignore[invalid-argument-type]
|
|
178
|
+
on_missing=on_missing,
|
|
150
179
|
)
|
|
151
180
|
# Invalidate the singleton so the next call rebuilds with new config.
|
|
152
181
|
reset()
|
|
@@ -197,7 +226,7 @@ def resolve(
|
|
|
197
226
|
to: Any = ..., # UNSET sentinel — actual type is str|None|_Unset; deferred import
|
|
198
227
|
as_result: bool = False,
|
|
199
228
|
domain: str | list[str] | None = None,
|
|
200
|
-
context: ResolutionContext | None = None,
|
|
229
|
+
context: ResolutionContext | dict | None = None,
|
|
201
230
|
from_system: str | None = None,
|
|
202
231
|
include_entity: bool = True,
|
|
203
232
|
timeout: float | None = None,
|
|
@@ -209,7 +238,11 @@ def resolve(
|
|
|
209
238
|
``Resolver.resolve()`` (``include_entity=False`` default) for pipeline use.
|
|
210
239
|
|
|
211
240
|
Args:
|
|
212
|
-
text: The text or code to resolve.
|
|
241
|
+
text: The text or code to resolve. ``str`` is used as-is.
|
|
242
|
+
``int`` and ``float`` are coerced to string (``840`` → ``"840"``;
|
|
243
|
+
``840.0`` → ``"840"``), matching the behaviour of :func:`bulk`
|
|
244
|
+
on numeric columns. ``None`` returns a NO_MATCH result silently.
|
|
245
|
+
``bool`` and all other types raise ``TypeError``.
|
|
213
246
|
to: Target representation pivot (e.g. ``"iso3"``, ``"name"``).
|
|
214
247
|
Omit (default) to use the configured ``default_to`` spec, or
|
|
215
248
|
returns a raw :class:`ResolutionResult` when no default is set.
|
|
@@ -249,13 +282,17 @@ def resolve_id(
|
|
|
249
282
|
on_ambiguous: Literal["raise", "null", "best"] = "raise",
|
|
250
283
|
from_system: str | None = None,
|
|
251
284
|
domain: str | list[str] | None = None,
|
|
252
|
-
context: ResolutionContext | None = None,
|
|
285
|
+
context: ResolutionContext | dict | None = None,
|
|
253
286
|
timeout: float | None = None,
|
|
254
287
|
) -> str | None:
|
|
255
288
|
"""Resolve text and return entity_id or None.
|
|
256
289
|
|
|
257
290
|
Args:
|
|
258
|
-
text: Text to resolve.
|
|
291
|
+
text: Text to resolve. ``str`` is used as-is. ``int`` and
|
|
292
|
+
``float`` are coerced to string (``840`` → ``"840"``;
|
|
293
|
+
``840.0`` → ``"840"``), matching the behaviour of :func:`bulk`
|
|
294
|
+
on numeric columns. ``None`` returns ``None`` silently.
|
|
295
|
+
``bool`` and all other types raise ``TypeError``.
|
|
259
296
|
on_ambiguous: Behavior when multiple entities match.
|
|
260
297
|
- ``"raise"`` (default): raises :class:`AmbiguousResolutionError`.
|
|
261
298
|
- ``"null"``: returns ``None`` on ambiguity.
|
|
@@ -270,6 +307,8 @@ def resolve_id(
|
|
|
270
307
|
Entity ID string, or None if no match.
|
|
271
308
|
|
|
272
309
|
Raises:
|
|
310
|
+
TypeError: If *text* is a ``bool``, ``bytes``, ``list``, or any
|
|
311
|
+
other unsupported type.
|
|
273
312
|
AmbiguousResolutionError: If ``on_ambiguous="raise"`` and the
|
|
274
313
|
resolution is ambiguous.
|
|
275
314
|
"""
|
|
@@ -289,7 +328,7 @@ def bulk(
|
|
|
289
328
|
to: Any = ..., # UNSET sentinel — actual type is str|None|_Unset; deferred import
|
|
290
329
|
on_missing: Any = ..., # UNSET sentinel — actual type is Literal[...] | _Unset
|
|
291
330
|
domain: str | list[str] | None = None,
|
|
292
|
-
context: ResolutionContext | None = None,
|
|
331
|
+
context: ResolutionContext | dict | None = None,
|
|
293
332
|
output: Literal["series", "record", "frame"] = "series",
|
|
294
333
|
from_system: str | None = None,
|
|
295
334
|
not_found: str = "null",
|
|
@@ -358,7 +397,7 @@ def snap(
|
|
|
358
397
|
max_distance: float = 0.5,
|
|
359
398
|
to: Any = ..., # UNSET sentinel — actual type is str|None|_Unset; deferred import
|
|
360
399
|
domain: str | list[str] | None = None,
|
|
361
|
-
context: ResolutionContext | None = None,
|
|
400
|
+
context: ResolutionContext | dict | None = None,
|
|
362
401
|
) -> Any:
|
|
363
402
|
"""Return the closest match from an explicit candidate list.
|
|
364
403
|
|
|
@@ -482,7 +521,7 @@ def parse(
|
|
|
482
521
|
text: str,
|
|
483
522
|
*,
|
|
484
523
|
domain: str | list[str] | None = None,
|
|
485
|
-
context: ResolutionContext | None = None,
|
|
524
|
+
context: ResolutionContext | dict | None = None,
|
|
486
525
|
to: str | list[str] | None = None,
|
|
487
526
|
confidence_threshold: float | None = None,
|
|
488
527
|
include_nil: bool = False,
|
|
@@ -542,11 +581,75 @@ def parse(
|
|
|
542
581
|
)
|
|
543
582
|
|
|
544
583
|
|
|
584
|
+
def suggest(
|
|
585
|
+
prefix: str,
|
|
586
|
+
*,
|
|
587
|
+
top_k: int = 10,
|
|
588
|
+
domain: str | list[str] | None = None,
|
|
589
|
+
entity_type: str | list[str] | None = None,
|
|
590
|
+
context: ResolutionContext | dict | None = None,
|
|
591
|
+
to: str | list[str] | None = None,
|
|
592
|
+
fuzzy: Literal["auto", "always", "never"] = "auto",
|
|
593
|
+
timeout: float | None = None,
|
|
594
|
+
) -> list:
|
|
595
|
+
"""Return a ranked typeahead suggestion list for *prefix*.
|
|
596
|
+
|
|
597
|
+
Module-level wrapper; delegates to the singleton default resolver's
|
|
598
|
+
:meth:`~resolvekit.core.api.resolver.Resolver.suggest`.
|
|
599
|
+
|
|
600
|
+
Args:
|
|
601
|
+
prefix: Partial query string (e.g. ``"unit"`` → United States, …).
|
|
602
|
+
top_k: Maximum suggestions to return; clamped to [1, 100]. Default 10.
|
|
603
|
+
domain: Domain pack filter (e.g. ``"geo"``).
|
|
604
|
+
entity_type: Sub-type filter within a domain (e.g. ``"geo.country"``).
|
|
605
|
+
Accepts a single string or list.
|
|
606
|
+
context: Resolution hints, as a ``ResolutionContext`` or a plain ``dict``.
|
|
607
|
+
Dict shorthand keys: ``country`` (ISO alpha-2/alpha-3 or a country
|
|
608
|
+
name like ``"France"``), ``entity_types``, ``parent_ids``,
|
|
609
|
+
``languages``, ``attributes`` (pack-specific escape hatch), and
|
|
610
|
+
``as_of``. An empty dict is treated as no context. Unknown keys raise
|
|
611
|
+
``UnknownContextKeyError`` listing the valid keys.
|
|
612
|
+
context is validated for shape but does not yet affect suggest ranking.
|
|
613
|
+
to: Output code system or name variant for ``display`` (e.g. ``"iso3"``).
|
|
614
|
+
``None`` (default) uses ``canonical_name`` as the display value.
|
|
615
|
+
fuzzy: Fuzzy-matching policy: ``"auto"`` (default), ``"always"``,
|
|
616
|
+
or ``"never"``.
|
|
617
|
+
timeout: Per-call time budget in seconds.
|
|
618
|
+
|
|
619
|
+
Returns:
|
|
620
|
+
``list[SuggestionResult]``, sorted by match quality (best first),
|
|
621
|
+
length at most ``top_k``.
|
|
622
|
+
"""
|
|
623
|
+
return _get_default().suggest(
|
|
624
|
+
prefix,
|
|
625
|
+
top_k=top_k,
|
|
626
|
+
domain=domain,
|
|
627
|
+
entity_type=entity_type,
|
|
628
|
+
context=context,
|
|
629
|
+
to=to,
|
|
630
|
+
fuzzy=fuzzy,
|
|
631
|
+
timeout=timeout,
|
|
632
|
+
)
|
|
633
|
+
|
|
634
|
+
|
|
635
|
+
def warm() -> None:
|
|
636
|
+
"""Pre-build all lazily-constructed indexes, blocking until complete.
|
|
637
|
+
|
|
638
|
+
Useful for servers and batch jobs that want to ensure full query
|
|
639
|
+
performance before handling the first real request.
|
|
640
|
+
|
|
641
|
+
Note: constructing the default resolver already starts a background
|
|
642
|
+
warm-up (``warm=True`` is the default); call this function when you
|
|
643
|
+
need to block until that warm-up is complete.
|
|
644
|
+
"""
|
|
645
|
+
_get_default().warm()
|
|
646
|
+
|
|
647
|
+
|
|
545
648
|
def parse_bulk(
|
|
546
649
|
*,
|
|
547
650
|
values: Any,
|
|
548
651
|
domain: str | list[str] | None = None,
|
|
549
|
-
context: ResolutionContext | None = None,
|
|
652
|
+
context: ResolutionContext | dict | None = None,
|
|
550
653
|
to: str | list[str] | None = None,
|
|
551
654
|
confidence_threshold: float | None = None,
|
|
552
655
|
include_nil: bool = False,
|
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
"geo.admin3",
|
|
8
8
|
"geo.cities",
|
|
9
9
|
"geo.countries",
|
|
10
|
-
"geo.continental_unions"
|
|
10
|
+
"geo.continental_unions",
|
|
11
|
+
"geo.regions"
|
|
11
12
|
],
|
|
12
13
|
"entity_schema_version": "1.0",
|
|
13
14
|
"feature_schema_version": "geo.features.v1",
|
|
@@ -16,7 +17,7 @@
|
|
|
16
17
|
"fts": "fts5",
|
|
17
18
|
"symspell": "symspell.dict"
|
|
18
19
|
},
|
|
19
|
-
"build_timestamp": "2026-
|
|
20
|
+
"build_timestamp": "2026-06-12T05:45:26.185584+00:00",
|
|
20
21
|
"source_datasets": [
|
|
21
22
|
"datacommons"
|
|
22
23
|
],
|
|
@@ -29,15 +30,15 @@
|
|
|
29
30
|
"remote_artifacts": {
|
|
30
31
|
"sqlite": {
|
|
31
32
|
"url": "https://github.com/jm-rivera/resolvekit/releases/download/data-v2026.06/geo-admin1-entities.sqlite.gz",
|
|
32
|
-
"sha256": "
|
|
33
|
-
"gz_sha256": "
|
|
34
|
-
"size_mb": 11.
|
|
33
|
+
"sha256": "74be1278d44329532c920a1e9e16d913a0b5390cb9c6a713322d7a34b5e3dd24",
|
|
34
|
+
"gz_sha256": "46d39fb8cb3f2d35c147f78e90c49fb6d14520f8454930db191ab8ec376efd41",
|
|
35
|
+
"size_mb": 11.55
|
|
35
36
|
},
|
|
36
37
|
"symspell": {
|
|
37
38
|
"url": "https://github.com/jm-rivera/resolvekit/releases/download/data-v2026.06/geo-admin1-symspell.dict.gz",
|
|
38
|
-
"sha256": "
|
|
39
|
-
"gz_sha256": "
|
|
40
|
-
"size_mb": 0.
|
|
39
|
+
"sha256": "eb40c9f872c158e257c9f8acc4b4a1447f7af88790efd9f7600ee0494c2f7f80",
|
|
40
|
+
"gz_sha256": "91f3bacaa5d33ba8582e1edcb23e30d9e21cac0dbd6f7d89224d1a2923a266ad",
|
|
41
|
+
"size_mb": 0.27
|
|
41
42
|
}
|
|
42
43
|
},
|
|
43
44
|
"data_version": "2026.06",
|
|
@@ -50,11 +51,11 @@
|
|
|
50
51
|
"allow_new_entities": false,
|
|
51
52
|
"quality_metrics": {
|
|
52
53
|
"entity_count": 4795,
|
|
53
|
-
"names_count":
|
|
54
|
-
"codes_count":
|
|
55
|
-
"relations_count":
|
|
54
|
+
"names_count": 15472,
|
|
55
|
+
"codes_count": 37805,
|
|
56
|
+
"relations_count": 5013,
|
|
56
57
|
"names_coverage": 1.0,
|
|
57
58
|
"codes_coverage": 1.0,
|
|
58
|
-
"relations_density": 1.
|
|
59
|
+
"relations_density": 1.0454640250260687
|
|
59
60
|
}
|
|
60
61
|
}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"fts": "fts5",
|
|
17
17
|
"symspell": "symspell.dict"
|
|
18
18
|
},
|
|
19
|
-
"build_timestamp": "2026-
|
|
19
|
+
"build_timestamp": "2026-06-12T05:45:29.183373+00:00",
|
|
20
20
|
"source_datasets": [
|
|
21
21
|
"datacommons"
|
|
22
22
|
],
|
|
@@ -29,14 +29,14 @@
|
|
|
29
29
|
"remote_artifacts": {
|
|
30
30
|
"sqlite": {
|
|
31
31
|
"url": "https://github.com/jm-rivera/resolvekit/releases/download/data-v2026.06/geo-admin2-entities.sqlite.gz",
|
|
32
|
-
"sha256": "
|
|
33
|
-
"gz_sha256": "
|
|
34
|
-
"size_mb": 97.
|
|
32
|
+
"sha256": "d59a081d1d8b40bec03701bc3d26f6d4098e955e5684bfad1e3f500ca48410a1",
|
|
33
|
+
"gz_sha256": "03201a429a725e1eabc488971a13038fea063a9d885be1f583fdc8b270a1f7ac",
|
|
34
|
+
"size_mb": 97.53
|
|
35
35
|
},
|
|
36
36
|
"symspell": {
|
|
37
37
|
"url": "https://github.com/jm-rivera/resolvekit/releases/download/data-v2026.06/geo-admin2-symspell.dict.gz",
|
|
38
|
-
"sha256": "
|
|
39
|
-
"gz_sha256": "
|
|
38
|
+
"sha256": "efa0292ca63d41a57604757102490c7efa23c0f1fa8f2e7d44b0eb6b61f41253",
|
|
39
|
+
"gz_sha256": "f9c8fe69e06d6eaecc2024668f43616ec9381dd469f87b2375208dd2728a4486",
|
|
40
40
|
"size_mb": 2.01
|
|
41
41
|
}
|
|
42
42
|
},
|
|
@@ -50,11 +50,11 @@
|
|
|
50
50
|
"allow_new_entities": false,
|
|
51
51
|
"quality_metrics": {
|
|
52
52
|
"entity_count": 58817,
|
|
53
|
-
"names_count":
|
|
54
|
-
"codes_count":
|
|
55
|
-
"relations_count":
|
|
53
|
+
"names_count": 118933,
|
|
54
|
+
"codes_count": 236574,
|
|
55
|
+
"relations_count": 64976,
|
|
56
56
|
"names_coverage": 1.0,
|
|
57
57
|
"codes_coverage": 1.0,
|
|
58
|
-
"relations_density": 1.
|
|
58
|
+
"relations_density": 1.1047146233231888
|
|
59
59
|
}
|
|
60
60
|
}
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"fts": "fts5",
|
|
18
18
|
"symspell": "symspell.dict"
|
|
19
19
|
},
|
|
20
|
-
"build_timestamp": "2026-
|
|
20
|
+
"build_timestamp": "2026-06-12T05:45:35.307273+00:00",
|
|
21
21
|
"source_datasets": [
|
|
22
22
|
"datacommons"
|
|
23
23
|
],
|
|
@@ -30,15 +30,15 @@
|
|
|
30
30
|
"remote_artifacts": {
|
|
31
31
|
"sqlite": {
|
|
32
32
|
"url": "https://github.com/jm-rivera/resolvekit/releases/download/data-v2026.06/geo-admin3-entities.sqlite.gz",
|
|
33
|
-
"sha256": "
|
|
34
|
-
"gz_sha256": "
|
|
35
|
-
"size_mb":
|
|
33
|
+
"sha256": "534689b2be34ea71bf716ee05a2450e57e615703fb47bf3847b37717989bfe27",
|
|
34
|
+
"gz_sha256": "25a904f7d22986f329386c5ab6172850925fc7e35d8575f8f0e2f9cdd97dee0d",
|
|
35
|
+
"size_mb": 156.94
|
|
36
36
|
},
|
|
37
37
|
"symspell": {
|
|
38
38
|
"url": "https://github.com/jm-rivera/resolvekit/releases/download/data-v2026.06/geo-admin3-symspell.dict.gz",
|
|
39
|
-
"sha256": "
|
|
40
|
-
"gz_sha256": "
|
|
41
|
-
"size_mb": 2.
|
|
39
|
+
"sha256": "de37ec12016f845f0e7619ca1ae3add2fdb265a8bd604a1c58533b70c1ace000",
|
|
40
|
+
"gz_sha256": "81b8d0f01d06718faad18d3fcc89c2242e61a6c38ca16dc064220d31391abecb",
|
|
41
|
+
"size_mb": 2.55
|
|
42
42
|
}
|
|
43
43
|
},
|
|
44
44
|
"data_version": "2026.06",
|
|
@@ -50,12 +50,12 @@
|
|
|
50
50
|
"base_module_ids": null,
|
|
51
51
|
"allow_new_entities": false,
|
|
52
52
|
"quality_metrics": {
|
|
53
|
-
"entity_count":
|
|
54
|
-
"names_count":
|
|
55
|
-
"codes_count":
|
|
56
|
-
"relations_count":
|
|
53
|
+
"entity_count": 116687,
|
|
54
|
+
"names_count": 169645,
|
|
55
|
+
"codes_count": 335609,
|
|
56
|
+
"relations_count": 125261,
|
|
57
57
|
"names_coverage": 1.0,
|
|
58
58
|
"codes_coverage": 1.0,
|
|
59
|
-
"relations_density": 1.
|
|
59
|
+
"relations_density": 1.0734786222972568
|
|
60
60
|
}
|
|
61
61
|
}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"fts": "fts5",
|
|
17
17
|
"symspell": "symspell.dict"
|
|
18
18
|
},
|
|
19
|
-
"build_timestamp": "2026-
|
|
19
|
+
"build_timestamp": "2026-06-12T05:45:47.295017+00:00",
|
|
20
20
|
"source_datasets": [
|
|
21
21
|
"datacommons"
|
|
22
22
|
],
|
|
@@ -29,14 +29,14 @@
|
|
|
29
29
|
"remote_artifacts": {
|
|
30
30
|
"sqlite": {
|
|
31
31
|
"url": "https://github.com/jm-rivera/resolvekit/releases/download/data-v2026.06/geo-admin4-entities.sqlite.gz",
|
|
32
|
-
"sha256": "
|
|
33
|
-
"gz_sha256": "
|
|
34
|
-
"size_mb": 374.
|
|
32
|
+
"sha256": "2c4f59eee7e7ba5c411bc929e134529170378be07dee2f0ea8a5a36ced802bfb",
|
|
33
|
+
"gz_sha256": "a8e61c14881f4e346eaf084b05c9af7684c86acde7fa6e31f911fdcbc8931e40",
|
|
34
|
+
"size_mb": 374.34
|
|
35
35
|
},
|
|
36
36
|
"symspell": {
|
|
37
37
|
"url": "https://github.com/jm-rivera/resolvekit/releases/download/data-v2026.06/geo-admin4-symspell.dict.gz",
|
|
38
|
-
"sha256": "
|
|
39
|
-
"gz_sha256": "
|
|
38
|
+
"sha256": "ed6ea61439dddf62dcbfb00745c2ac5bb55cf897f1f801dc079b767bd36b3e5f",
|
|
39
|
+
"gz_sha256": "d97fa637bcf123960c4daeb15b739ec8907256bf1b44d204057036884503b285",
|
|
40
40
|
"size_mb": 4.65
|
|
41
41
|
}
|
|
42
42
|
},
|
|
@@ -50,11 +50,11 @@
|
|
|
50
50
|
"allow_new_entities": false,
|
|
51
51
|
"quality_metrics": {
|
|
52
52
|
"entity_count": 292451,
|
|
53
|
-
"names_count":
|
|
53
|
+
"names_count": 352684,
|
|
54
54
|
"codes_count": 739522,
|
|
55
|
-
"relations_count":
|
|
55
|
+
"relations_count": 340404,
|
|
56
56
|
"names_coverage": 1.0,
|
|
57
57
|
"codes_coverage": 1.0,
|
|
58
|
-
"relations_density": 1.
|
|
58
|
+
"relations_density": 1.163969348711408
|
|
59
59
|
}
|
|
60
60
|
}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"fts": "fts5",
|
|
17
17
|
"symspell": "symspell.dict"
|
|
18
18
|
},
|
|
19
|
-
"build_timestamp": "2026-
|
|
19
|
+
"build_timestamp": "2026-06-12T05:45:51.625980+00:00",
|
|
20
20
|
"source_datasets": [
|
|
21
21
|
"datacommons"
|
|
22
22
|
],
|
|
@@ -29,14 +29,14 @@
|
|
|
29
29
|
"remote_artifacts": {
|
|
30
30
|
"sqlite": {
|
|
31
31
|
"url": "https://github.com/jm-rivera/resolvekit/releases/download/data-v2026.06/geo-admin5-entities.sqlite.gz",
|
|
32
|
-
"sha256": "
|
|
33
|
-
"gz_sha256": "
|
|
32
|
+
"sha256": "75b1448c6ed841095b2d86321a0b88afbf43e9787421816d3fc65dc149079b52",
|
|
33
|
+
"gz_sha256": "19f30e5f24d16bfda76b44be8393e9cbb2af31713c65fb82ea0d90ea53f59427",
|
|
34
34
|
"size_mb": 1.88
|
|
35
35
|
},
|
|
36
36
|
"symspell": {
|
|
37
37
|
"url": "https://github.com/jm-rivera/resolvekit/releases/download/data-v2026.06/geo-admin5-symspell.dict.gz",
|
|
38
|
-
"sha256": "
|
|
39
|
-
"gz_sha256": "
|
|
38
|
+
"sha256": "d0f6974c45a47132d72db73deb110eb9383f0a87a1c456fec206ba797817638e",
|
|
39
|
+
"gz_sha256": "a8a9342187300ecd825b73c522a01b172f9243e7205aa583a7b732244746b9f8",
|
|
40
40
|
"size_mb": 0.04
|
|
41
41
|
}
|
|
42
42
|
},
|
|
@@ -50,11 +50,11 @@
|
|
|
50
50
|
"allow_new_entities": false,
|
|
51
51
|
"quality_metrics": {
|
|
52
52
|
"entity_count": 1458,
|
|
53
|
-
"names_count":
|
|
53
|
+
"names_count": 1605,
|
|
54
54
|
"codes_count": 3185,
|
|
55
|
-
"relations_count":
|
|
55
|
+
"relations_count": 1777,
|
|
56
56
|
"names_coverage": 1.0,
|
|
57
57
|
"codes_coverage": 1.0,
|
|
58
|
-
"relations_density": 1.
|
|
58
|
+
"relations_density": 1.218792866941015
|
|
59
59
|
}
|
|
60
60
|
}
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"fts": "fts5",
|
|
18
18
|
"symspell": "symspell.dict"
|
|
19
19
|
},
|
|
20
|
-
"build_timestamp": "2026-
|
|
20
|
+
"build_timestamp": "2026-06-12T05:45:54.981831+00:00",
|
|
21
21
|
"source_datasets": [
|
|
22
22
|
"datacommons"
|
|
23
23
|
],
|
|
@@ -30,15 +30,15 @@
|
|
|
30
30
|
"remote_artifacts": {
|
|
31
31
|
"sqlite": {
|
|
32
32
|
"url": "https://github.com/jm-rivera/resolvekit/releases/download/data-v2026.06/geo-cities-entities.sqlite.gz",
|
|
33
|
-
"sha256": "
|
|
34
|
-
"gz_sha256": "
|
|
35
|
-
"size_mb":
|
|
33
|
+
"sha256": "06e3a01b92d5f7a90f3e926a0779f77ec4bca1517eb39a0f3353840ed466767a",
|
|
34
|
+
"gz_sha256": "c7aa08a48bf46b8b603e04a8f96f9afa7578dc6f7f149ff1171d3976c7f7790e",
|
|
35
|
+
"size_mb": 152.21
|
|
36
36
|
},
|
|
37
37
|
"symspell": {
|
|
38
38
|
"url": "https://github.com/jm-rivera/resolvekit/releases/download/data-v2026.06/geo-cities-symspell.dict.gz",
|
|
39
|
-
"sha256": "
|
|
40
|
-
"gz_sha256": "
|
|
41
|
-
"size_mb": 2.
|
|
39
|
+
"sha256": "bdfbc85e011729e35268d5c799bbc7a5da5fca0b5fb591b069af6ace1975ca32",
|
|
40
|
+
"gz_sha256": "a5caf0b166d6b4f294608791ed81d16dbd38234b825034da695d77ba169b39a6",
|
|
41
|
+
"size_mb": 2.67
|
|
42
42
|
}
|
|
43
43
|
},
|
|
44
44
|
"data_version": "2026.06",
|
|
@@ -51,11 +51,11 @@
|
|
|
51
51
|
"allow_new_entities": false,
|
|
52
52
|
"quality_metrics": {
|
|
53
53
|
"entity_count": 105509,
|
|
54
|
-
"names_count":
|
|
55
|
-
"codes_count":
|
|
56
|
-
"relations_count":
|
|
54
|
+
"names_count": 161423,
|
|
55
|
+
"codes_count": 351511,
|
|
56
|
+
"relations_count": 146295,
|
|
57
57
|
"names_coverage": 1.0,
|
|
58
58
|
"codes_coverage": 1.0,
|
|
59
|
-
"relations_density": 1.
|
|
59
|
+
"relations_density": 1.3865641793591068
|
|
60
60
|
}
|
|
61
61
|
}
|