resolvekit 0.1.5__tar.gz → 0.1.7__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.5 → resolvekit-0.1.7}/PKG-INFO +1 -1
- {resolvekit-0.1.5 → resolvekit-0.1.7}/pyproject.toml +1 -1
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/api/loading/module_catalog.py +36 -68
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/api/resolver.py +13 -3
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/byod/cache.py +38 -12
- {resolvekit-0.1.5 → resolvekit-0.1.7}/LICENSE +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/README.md +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/NOTICE.md +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_convenience.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/geo/admin1/metadata.json +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/geo/admin2/metadata.json +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/geo/admin3/metadata.json +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/geo/admin4/metadata.json +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/geo/admin5/metadata.json +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/geo/cities/metadata.json +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/geo/continental_unions/entities.sqlite +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/geo/continental_unions/metadata.json +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/geo/continental_unions/symspell.dict +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/geo/continents/entities.sqlite +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/geo/continents/metadata.json +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/geo/continents/symspell.dict +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/geo/countries/entities.sqlite +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/geo/countries/geo_calibrator.json +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/geo/countries/metadata.json +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/geo/countries/symspell.dict +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/geo/regions/entities.sqlite +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/geo/regions/metadata.json +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/geo/regions/symspell.dict +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/manifest.json +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/org/companies/entities.sqlite +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/org/companies/metadata.json +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/org/companies/symspell.dict +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/org/data_sources/entities.sqlite +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/org/data_sources/metadata.json +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/org/data_sources/symspell.dict +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/org/governments/entities.sqlite +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/org/governments/metadata.json +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/org/governments/symspell.dict +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/org/lenders/entities.sqlite +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/org/lenders/metadata.json +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/org/lenders/symspell.dict +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/org/political_parties/entities.sqlite +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/org/political_parties/metadata.json +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/org/political_parties/symspell.dict +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/org/providers/entities.sqlite +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/org/providers/metadata.json +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/org/providers/symspell.dict +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/parse/deny_list.json +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_pandas_integration.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_polars_integration.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/_outcomes.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/api.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/containment.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/country_geonames_aliases.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/datapack_layout.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/entity_validity.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/formal_names.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/geo_shared.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/groups.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/inspection.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/models.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/module_catalog.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/oecd_dac.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/pipeline/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/pipeline/build_report.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/pipeline/changelog.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/pipeline/chunk.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/pipeline/contribution.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/pipeline/core.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/pipeline/discover.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/pipeline/enrich.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/pipeline/geo_staging.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/pipeline/packaging.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/pipeline/promote.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/pipeline/qa.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/pipeline/reconcile.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/pipeline/stages.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/pipeline/types.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/presets.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/registry.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/adapter.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/base_dc_api.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/bundle.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/canonicalize.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/client.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/constants.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/geo/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/geo/_admin_walk.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/geo/_chunk_callback.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/geo/_geo_regions.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/geo/_ordered_emitter.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/geo/_progress_context.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/geo/_streaming.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/geo/_type_mappings.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/geo/adapter.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/geo/dc_api.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/geo/discovery.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/geo/fetch.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/geo/mappings.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/geo/profile.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/geo/prominence.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/models.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/node.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/org/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/org/adapter.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/org/dc_api.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/org/discovery.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/org/fetch.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/org/mappings.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/org/profile.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/rows.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/specs.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/text.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/discovery_events.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/protocol.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/seed/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/seed/continents.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/seed/m49.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/wikidata/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/wikidata/aliases.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/wikidata/sitelinks.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sqlite/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sqlite/constants.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sqlite/context.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sqlite/diff.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sqlite/export.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sqlite/specs.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sqlite/validate.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sqlite/write.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/state.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/utils.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/calibration/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/calibration/adapters/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/calibration/adapters/_cldr_source.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/calibration/adapters/_latin_filter.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/calibration/adapters/_wikidata_client.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/calibration/adapters/cldr.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/calibration/adapters/geonames.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/calibration/adapters/multilingual_names.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/calibration/adapters/synthetic.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/calibration/adapters/wikidata.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/calibration/dataset.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/calibration/evaluation.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/calibration/fitting.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/calibration/models.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/calibration/scoring_model.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/calibration/train.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/calibration/vectorize.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/api/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/api/_byod.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/api/_pivot.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/api/batch.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/api/bulk.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/api/cache.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/api/code_lookup.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/api/containment_api.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/api/context_input.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/api/diagnostics.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/api/entity_lookup.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/api/group_api.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/api/info.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/api/inspect.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/api/loading/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/api/loading/pack_loader.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/api/loading/paths.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/api/loading/store_builder.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/api/modules.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/api/output_spec.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/api/output_view.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/api/query_prep.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/api/resolve_flow.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/api/snap.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/api/suggest_flow.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/byod/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/byod/build.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/byod/builder.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/byod/intake.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/byod/result.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/config.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/datapack.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/download_api.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/engine/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/engine/_stages.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/engine/config.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/engine/decision.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/engine/enrichment.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/engine/interfaces.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/engine/multi_runner.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/engine/router.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/engine/runner.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/engine/suggest_rank.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/engine/tier_utils.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/errors.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/errors_base.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/explain/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/explain/events.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/explain/feature_text.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/explain/helpers.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/explain/protocol.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/explain/renderers.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/explain/result_html.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/explain/result_types.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/explain/scorecard.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/explain/sink.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/linking/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/linking/base_linker.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/linking/base_normalizer.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/linking/linker.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/linking/normalizer.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/merge.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/model/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/model/_repr.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/model/bulk_result.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/model/candidate.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/model/crosswalk.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/model/entity.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/model/entity_attributes.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/model/features.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/model/generation.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/model/inspection.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/model/name_grammar.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/model/query.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/model/result.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/module_registry.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/overlay_loader.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/parse/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/parse/_pivot.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/parse/automaton.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/parse/denylist.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/parse/detect.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/parse/engine.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/parse/link.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/parse/offsets.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/parse/result.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/registry.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/remote.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/store/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/store/composed_sqlite.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/store/composite.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/store/interface.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/store/merging.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/store/sqlite.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/store/sqlite_helpers.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/store/store_view.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/util/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/util/iso_codes.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/util/normalization.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/util/sentinel.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/core/version.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/diagnostics/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/errors/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/extensions.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/_artifacts.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/custom/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/custom/decision.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/custom/extractor.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/custom/features.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/custom/normalizer.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/custom/pack.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/custom/scoring.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/custom/sources/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/custom/sources/exact_code.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/custom/sources/exact_name.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/custom/sources/fts.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/custom/sources/fuzzy.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/custom/sources/fuzzy_retrieval.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/geo/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/geo/_specificity.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/geo/build/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/geo/build/builder.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/geo/constraints/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/geo/constraints/containment.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/geo/constraints/membership.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/geo/constraints/temporal.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/geo/constraints/type_constraint.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/geo/data/.gitkeep +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/geo/decision.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/geo/extractor.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/geo/features.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/geo/linker.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/geo/normalizer.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/geo/pack.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/geo/routing.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/geo/scoring.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/geo/sources/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/geo/sources/_short_input.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/geo/sources/exact_code.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/geo/sources/exact_name.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/geo/sources/fts.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/geo/sources/fuzzy.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/geo/sources/fuzzy_retrieval.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/geo/sources/query_shapes.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/geo/sources/symspell.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/org/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/org/_acronym.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/org/build/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/org/build/builder.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/org/constraints/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/org/constraints/country_relevance.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/org/constraints/parent_org.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/org/constraints/temporal.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/org/constraints/type_constraint.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/org/data/.gitkeep +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/org/decision.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/org/feature_extractor.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/org/features.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/org/linker.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/org/normalizer.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/org/pack.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/org/routing.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/org/scoring.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/org/sources/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/org/sources/acronym.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/org/sources/exact_code.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/org/sources/exact_name.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/org/sources/fts.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/org/sources/fuzzy.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/packs/org/sources/symspell.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/pandas/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/polars/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/py.typed +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/shared/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/shared/build/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/shared/build/base_builder.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/shared/build/schema.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/shared/constraints/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/shared/constraints/temporal_constraint.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/shared/constraints/type_constraint.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/shared/scoring_base.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/shared/sources/__init__.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/shared/sources/code_helpers.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/shared/sources/fts_base.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/shared/sources/fuzzy_base.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/shared/sources/fuzzy_retrieval_base.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/shared/sources/fuzzy_retrieval_brute_base.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/shared/sources/symspell_base.py +0 -0
- {resolvekit-0.1.5 → resolvekit-0.1.7}/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.7
|
|
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
|
|
@@ -134,41 +134,26 @@ def _load_and_separate_datapacks(
|
|
|
134
134
|
return base_packs, overlay_packs
|
|
135
135
|
|
|
136
136
|
|
|
137
|
-
def _remote_dependency_uncached(
|
|
138
|
-
module_id: str,
|
|
139
|
-
available: dict[str, Path],
|
|
140
|
-
manifest_overrides: dict[str, dict[str, object]],
|
|
141
|
-
) -> bool:
|
|
142
|
-
"""Return True if ``module_id`` is a remote-distribution module whose data
|
|
143
|
-
is not in the local cache.
|
|
144
|
-
|
|
145
|
-
Such a dependency may be absent from a load set without error: remote
|
|
146
|
-
packs the user hasn't downloaded are not hard errors (partial caches are
|
|
147
|
-
first-class, and ``Resolver.auto()`` never triggers a network fetch).
|
|
148
|
-
Bundled dependencies and unknown module ids stay hard errors.
|
|
149
|
-
"""
|
|
150
|
-
from resolvekit.core.module_registry import load_module_metadata
|
|
151
|
-
from resolvekit.core.remote import is_cached
|
|
152
|
-
|
|
153
|
-
if module_id not in available:
|
|
154
|
-
return False
|
|
155
|
-
path = available[module_id]
|
|
156
|
-
if not (path / "metadata.json").exists():
|
|
157
|
-
return False
|
|
158
|
-
metadata = load_module_metadata(module_id, path, overrides=manifest_overrides)
|
|
159
|
-
return metadata.distribution == "remote" and not is_cached(metadata)
|
|
160
|
-
|
|
161
|
-
|
|
162
137
|
def _validate_module_dependencies(
|
|
163
138
|
base_packs: dict[str, LoadedDataPack],
|
|
164
139
|
overlay_packs: dict[str, LoadedDataPack],
|
|
165
140
|
pack_filter: set[str],
|
|
166
141
|
) -> None:
|
|
167
|
-
from
|
|
168
|
-
|
|
142
|
+
"""Log any declared ``module_dependencies`` absent from the load set.
|
|
143
|
+
|
|
144
|
+
``module_dependencies`` are advisory cross-reference links, not hard load
|
|
145
|
+
requirements. An explicit selection is authoritative and ``auto()`` loads
|
|
146
|
+
whatever is locally available, so a declared dependency not being in the
|
|
147
|
+
load set is expected — partial loads are first-class, a deployed image may
|
|
148
|
+
ship a subset, and a dependency may simply not be installed in this
|
|
149
|
+
environment. None of that is an error here; it is logged for diagnostics.
|
|
150
|
+
|
|
151
|
+
(Naming an unknown module in the *request* is a different matter — that
|
|
152
|
+
raises ``DataModuleNotFoundError`` from :func:`_resolve_requested_module_paths`.
|
|
153
|
+
Hard structural requirements, overlay → base, are enforced separately by
|
|
154
|
+
:func:`_validate_overlay_relationships`.)
|
|
155
|
+
"""
|
|
169
156
|
available_module_ids = set(base_packs) | set(overlay_packs)
|
|
170
|
-
registry: dict[str, Path] | None = None
|
|
171
|
-
manifest_overrides: dict[str, dict[str, object]] | None = None
|
|
172
157
|
for loaded in [*base_packs.values(), *overlay_packs.values()]:
|
|
173
158
|
if pack_filter and loaded.pack_id not in pack_filter:
|
|
174
159
|
continue
|
|
@@ -179,23 +164,12 @@ def _validate_module_dependencies(
|
|
|
179
164
|
if module_id not in available_module_ids
|
|
180
165
|
]
|
|
181
166
|
if missing:
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
manifest_overrides = get_manifest_overrides()
|
|
189
|
-
assert manifest_overrides is not None
|
|
190
|
-
missing = [
|
|
191
|
-
module_id
|
|
192
|
-
for module_id in missing
|
|
193
|
-
if not _remote_dependency_uncached(
|
|
194
|
-
module_id, registry, manifest_overrides
|
|
195
|
-
)
|
|
196
|
-
]
|
|
197
|
-
if missing:
|
|
198
|
-
raise MissingModuleDependencyError(loaded.module_id, missing)
|
|
167
|
+
logger.debug(
|
|
168
|
+
"Module %s declares dependencies absent from the load set: %s "
|
|
169
|
+
"(advisory; honoring authoritative selection)",
|
|
170
|
+
loaded.module_id,
|
|
171
|
+
", ".join(sorted(missing)),
|
|
172
|
+
)
|
|
199
173
|
|
|
200
174
|
|
|
201
175
|
def _validate_overlay_relationships(
|
|
@@ -290,29 +264,23 @@ def _resolve_requested_module_paths(
|
|
|
290
264
|
resolved[module_id] = path
|
|
291
265
|
|
|
292
266
|
metadata = load_module_metadata(module_id, path, overrides=manifest_overrides)
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
dependency not in available
|
|
306
|
-
or not _module_data_locally_available(
|
|
267
|
+
# ``module_dependencies`` are advisory cross-reference links, not load
|
|
268
|
+
# requirements. Expand them only in auto() mode, where the load set is
|
|
269
|
+
# "everything locally available" anyway (silently skipping remote packs
|
|
270
|
+
# the user hasn't downloaded — see v1-scope §225). Explicit ``module_ids``
|
|
271
|
+
# are AUTHORITATIVE: the load set is exactly what the caller named (plus
|
|
272
|
+
# overlay bases, which are structural), independent of cache or on-disk
|
|
273
|
+
# state — so resolution is identical on a dev box with extra packs
|
|
274
|
+
# downloaded and on a lean deployment that bakes only the named modules.
|
|
275
|
+
if auto_mode:
|
|
276
|
+
for dependency in metadata.module_dependencies:
|
|
277
|
+
if dependency in resolved:
|
|
278
|
+
continue
|
|
279
|
+
if dependency not in available or not _module_data_locally_available(
|
|
307
280
|
dependency, available[dependency], manifest_overrides
|
|
308
|
-
)
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
if not auto_mode and _remote_dependency_uncached(
|
|
312
|
-
dependency, available, manifest_overrides
|
|
313
|
-
):
|
|
314
|
-
continue
|
|
315
|
-
queue.append(dependency)
|
|
281
|
+
):
|
|
282
|
+
continue
|
|
283
|
+
queue.append(dependency)
|
|
316
284
|
if metadata.is_overlay:
|
|
317
285
|
for dependency in metadata.base_module_ids or []:
|
|
318
286
|
if dependency in resolved:
|
|
@@ -882,7 +882,16 @@ class Resolver:
|
|
|
882
882
|
|
|
883
883
|
Args:
|
|
884
884
|
module_ids: Specific module IDs to load (e.g. ``["geo.countries"]``).
|
|
885
|
-
|
|
885
|
+
Authoritative: the load set is exactly these modules. Declared
|
|
886
|
+
``module_dependencies`` are advisory cross-references and are
|
|
887
|
+
NOT auto-loaded — name every module you want (e.g.
|
|
888
|
+
``["geo.cities", "geo.countries"]`` for city resolution backed
|
|
889
|
+
by country context). The load set therefore depends only on this
|
|
890
|
+
argument, never on which packs happen to be cached or shipped,
|
|
891
|
+
so resolution is identical on a dev box and a lean deployment.
|
|
892
|
+
Overlay base modules are the one exception (an overlay is not a
|
|
893
|
+
standalone dataset, so its base is always pulled in). Pass
|
|
894
|
+
``None`` to load all installed modules (same as ``auto()``).
|
|
886
895
|
domains: Which domain packs to enable (default: all in modules).
|
|
887
896
|
routing_mode: How to route queries (see ``Resolver.__init__`` for full docs).
|
|
888
897
|
trace: Whether to collect trace events.
|
|
@@ -1032,8 +1041,9 @@ class Resolver:
|
|
|
1032
1041
|
)
|
|
1033
1042
|
|
|
1034
1043
|
# -- Country-level geo module IDs for the lite preset --
|
|
1035
|
-
# Deliberately excludes geo.admin1 and deeper tiers
|
|
1036
|
-
#
|
|
1044
|
+
# Deliberately excludes geo.admin1 and the deeper admin / cities tiers to
|
|
1045
|
+
# keep cold-start time and resident memory small. Selection is authoritative,
|
|
1046
|
+
# so the load set is exactly these IDs — naming a tier loads only that tier.
|
|
1037
1047
|
# To add admin-1 coverage, pass module_ids=["geo.countries", "geo.admin1"].
|
|
1038
1048
|
_LITE_GEO_MODULE_IDS: tuple[str, ...] = (
|
|
1039
1049
|
"geo.countries",
|
|
@@ -19,11 +19,11 @@ A cache hit is ``dir.exists() and (dir / "metadata.json").exists()``.
|
|
|
19
19
|
Atomicity and cleanup
|
|
20
20
|
---------------------
|
|
21
21
|
On a cache miss the build writes to a sibling ``<key>.tmp`` directory, then
|
|
22
|
-
``
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
resolver's lifetime.
|
|
22
|
+
``commit_build`` promotes it to the final location (first-writer-wins: if a
|
|
23
|
+
valid pack already exists at the target it is kept and the redundant build is
|
|
24
|
+
discarded; a corrupt leftover without ``metadata.json`` is cleared first).
|
|
25
|
+
When ``cache=False``, the build writes to a fresh temp directory that is NOT
|
|
26
|
+
moved into the cache — it is kept for the resolver's lifetime.
|
|
27
27
|
"""
|
|
28
28
|
|
|
29
29
|
from __future__ import annotations
|
|
@@ -168,20 +168,46 @@ def prepare_build_dir(key: str, *, cache: bool) -> tuple[Path, Path | None]:
|
|
|
168
168
|
|
|
169
169
|
|
|
170
170
|
def commit_build(build_dir: Path, final_dir: Path) -> None:
|
|
171
|
-
"""
|
|
171
|
+
"""Promote *build_dir* into *final_dir*, tolerating an existing pack.
|
|
172
172
|
|
|
173
|
-
|
|
174
|
-
|
|
173
|
+
The cache key is a content hash, so a pack already present at *final_dir* —
|
|
174
|
+
left by a concurrent build, a retry, or a re-submit of identical content —
|
|
175
|
+
is equivalent to the one just built. First writer wins: an existing valid
|
|
176
|
+
pack is kept and *build_dir* is discarded. A corrupt leftover (a directory
|
|
177
|
+
without ``metadata.json``) is cleared and replaced.
|
|
178
|
+
|
|
179
|
+
``os.replace`` cannot rename a directory onto a non-empty one (POSIX raises
|
|
180
|
+
ENOTEMPTY / EEXIST), so the swap is attempted optimistically and the
|
|
181
|
+
populated-target case is recovered below. An ``OSError`` that does not
|
|
182
|
+
correspond to a populated *final_dir* (e.g. ENOSPC, a permission error) is
|
|
183
|
+
re-raised rather than silently swallowed.
|
|
175
184
|
|
|
176
185
|
Args:
|
|
177
186
|
build_dir: Temp directory where the build was written.
|
|
178
187
|
final_dir: Target cache directory (``cached_pack_dir(key)``).
|
|
179
188
|
"""
|
|
180
189
|
final_dir.parent.mkdir(parents=True, exist_ok=True)
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
190
|
+
try:
|
|
191
|
+
os.replace(build_dir, final_dir)
|
|
192
|
+
except OSError:
|
|
193
|
+
if is_cache_hit(final_dir):
|
|
194
|
+
# A concurrent build, retry, or re-submit already committed an
|
|
195
|
+
# equivalent pack; keep it and drop our redundant build below.
|
|
196
|
+
pass
|
|
197
|
+
elif final_dir.exists():
|
|
198
|
+
# Corrupt/incomplete leftover (no metadata.json): clear it and move
|
|
199
|
+
# our build in. If another writer races a valid pack into the slot
|
|
200
|
+
# first, accept that pack rather than surfacing the error.
|
|
201
|
+
shutil.rmtree(final_dir, ignore_errors=True)
|
|
202
|
+
try:
|
|
203
|
+
os.replace(build_dir, final_dir)
|
|
204
|
+
except OSError:
|
|
205
|
+
if not is_cache_hit(final_dir):
|
|
206
|
+
raise
|
|
207
|
+
else:
|
|
208
|
+
# final_dir is absent, so the failure was not "target populated"
|
|
209
|
+
# (e.g. ENOSPC, EACCES). Surface it instead of hiding it.
|
|
210
|
+
raise
|
|
185
211
|
shutil.rmtree(build_dir, ignore_errors=True)
|
|
186
212
|
|
|
187
213
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/geo/continental_unions/entities.sqlite
RENAMED
|
File without changes
|
{resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/geo/continental_unions/metadata.json
RENAMED
|
File without changes
|
{resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/geo/continental_unions/symspell.dict
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/geo/countries/geo_calibrator.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/org/political_parties/entities.sqlite
RENAMED
|
File without changes
|
{resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/org/political_parties/metadata.json
RENAMED
|
File without changes
|
{resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/_data/org/political_parties/symspell.dict
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/base_dc_api.py
RENAMED
|
File without changes
|
|
File without changes
|
{resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/canonicalize.py
RENAMED
|
File without changes
|
|
File without changes
|
{resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/constants.py
RENAMED
|
File without changes
|
{resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/geo/__init__.py
RENAMED
|
File without changes
|
{resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/geo/_admin_walk.py
RENAMED
|
File without changes
|
|
File without changes
|
{resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/geo/_geo_regions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/geo/_streaming.py
RENAMED
|
File without changes
|
|
File without changes
|
{resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/geo/adapter.py
RENAMED
|
File without changes
|
{resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/geo/dc_api.py
RENAMED
|
File without changes
|
{resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/geo/discovery.py
RENAMED
|
File without changes
|
{resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/geo/fetch.py
RENAMED
|
File without changes
|
{resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/geo/mappings.py
RENAMED
|
File without changes
|
{resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/geo/profile.py
RENAMED
|
File without changes
|
{resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/geo/prominence.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/org/__init__.py
RENAMED
|
File without changes
|
{resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/org/adapter.py
RENAMED
|
File without changes
|
{resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/org/dc_api.py
RENAMED
|
File without changes
|
{resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/org/discovery.py
RENAMED
|
File without changes
|
{resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/org/fetch.py
RENAMED
|
File without changes
|
{resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/org/mappings.py
RENAMED
|
File without changes
|
{resolvekit-0.1.5 → resolvekit-0.1.7}/src/resolvekit/builder/sources/datacommons/org/profile.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|