resolvekit 0.1.5__tar.gz → 0.1.6__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.
Files changed (343) hide show
  1. {resolvekit-0.1.5 → resolvekit-0.1.6}/PKG-INFO +1 -1
  2. {resolvekit-0.1.5 → resolvekit-0.1.6}/pyproject.toml +1 -1
  3. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/api/loading/module_catalog.py +36 -68
  4. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/api/resolver.py +13 -3
  5. {resolvekit-0.1.5 → resolvekit-0.1.6}/LICENSE +0 -0
  6. {resolvekit-0.1.5 → resolvekit-0.1.6}/README.md +0 -0
  7. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/NOTICE.md +0 -0
  8. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/__init__.py +0 -0
  9. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_convenience.py +0 -0
  10. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/geo/admin1/metadata.json +0 -0
  11. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/geo/admin2/metadata.json +0 -0
  12. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/geo/admin3/metadata.json +0 -0
  13. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/geo/admin4/metadata.json +0 -0
  14. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/geo/admin5/metadata.json +0 -0
  15. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/geo/cities/metadata.json +0 -0
  16. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/geo/continental_unions/entities.sqlite +0 -0
  17. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/geo/continental_unions/metadata.json +0 -0
  18. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/geo/continental_unions/symspell.dict +0 -0
  19. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/geo/continents/entities.sqlite +0 -0
  20. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/geo/continents/metadata.json +0 -0
  21. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/geo/continents/symspell.dict +0 -0
  22. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/geo/countries/entities.sqlite +0 -0
  23. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/geo/countries/geo_calibrator.json +0 -0
  24. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/geo/countries/metadata.json +0 -0
  25. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/geo/countries/symspell.dict +0 -0
  26. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/geo/regions/entities.sqlite +0 -0
  27. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/geo/regions/metadata.json +0 -0
  28. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/geo/regions/symspell.dict +0 -0
  29. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/manifest.json +0 -0
  30. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/org/companies/entities.sqlite +0 -0
  31. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/org/companies/metadata.json +0 -0
  32. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/org/companies/symspell.dict +0 -0
  33. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/org/data_sources/entities.sqlite +0 -0
  34. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/org/data_sources/metadata.json +0 -0
  35. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/org/data_sources/symspell.dict +0 -0
  36. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/org/governments/entities.sqlite +0 -0
  37. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/org/governments/metadata.json +0 -0
  38. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/org/governments/symspell.dict +0 -0
  39. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/org/lenders/entities.sqlite +0 -0
  40. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/org/lenders/metadata.json +0 -0
  41. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/org/lenders/symspell.dict +0 -0
  42. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/org/political_parties/entities.sqlite +0 -0
  43. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/org/political_parties/metadata.json +0 -0
  44. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/org/political_parties/symspell.dict +0 -0
  45. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/org/providers/entities.sqlite +0 -0
  46. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/org/providers/metadata.json +0 -0
  47. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/org/providers/symspell.dict +0 -0
  48. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_data/parse/deny_list.json +0 -0
  49. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_pandas_integration.py +0 -0
  50. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/_polars_integration.py +0 -0
  51. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/__init__.py +0 -0
  52. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/_outcomes.py +0 -0
  53. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/api.py +0 -0
  54. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/containment.py +0 -0
  55. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/country_geonames_aliases.py +0 -0
  56. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/datapack_layout.py +0 -0
  57. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/entity_validity.py +0 -0
  58. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/formal_names.py +0 -0
  59. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/geo_shared.py +0 -0
  60. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/groups.py +0 -0
  61. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/inspection.py +0 -0
  62. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/models.py +0 -0
  63. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/module_catalog.py +0 -0
  64. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/oecd_dac.py +0 -0
  65. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/pipeline/__init__.py +0 -0
  66. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/pipeline/build_report.py +0 -0
  67. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/pipeline/changelog.py +0 -0
  68. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/pipeline/chunk.py +0 -0
  69. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/pipeline/contribution.py +0 -0
  70. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/pipeline/core.py +0 -0
  71. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/pipeline/discover.py +0 -0
  72. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/pipeline/enrich.py +0 -0
  73. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/pipeline/geo_staging.py +0 -0
  74. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/pipeline/packaging.py +0 -0
  75. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/pipeline/promote.py +0 -0
  76. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/pipeline/qa.py +0 -0
  77. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/pipeline/reconcile.py +0 -0
  78. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/pipeline/stages.py +0 -0
  79. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/pipeline/types.py +0 -0
  80. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/presets.py +0 -0
  81. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/registry.py +0 -0
  82. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/__init__.py +0 -0
  83. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/datacommons/__init__.py +0 -0
  84. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/datacommons/adapter.py +0 -0
  85. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/datacommons/base_dc_api.py +0 -0
  86. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/datacommons/bundle.py +0 -0
  87. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/datacommons/canonicalize.py +0 -0
  88. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/datacommons/client.py +0 -0
  89. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/datacommons/constants.py +0 -0
  90. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/datacommons/geo/__init__.py +0 -0
  91. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/datacommons/geo/_admin_walk.py +0 -0
  92. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/datacommons/geo/_chunk_callback.py +0 -0
  93. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/datacommons/geo/_geo_regions.py +0 -0
  94. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/datacommons/geo/_ordered_emitter.py +0 -0
  95. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/datacommons/geo/_progress_context.py +0 -0
  96. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/datacommons/geo/_streaming.py +0 -0
  97. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/datacommons/geo/_type_mappings.py +0 -0
  98. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/datacommons/geo/adapter.py +0 -0
  99. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/datacommons/geo/dc_api.py +0 -0
  100. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/datacommons/geo/discovery.py +0 -0
  101. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/datacommons/geo/fetch.py +0 -0
  102. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/datacommons/geo/mappings.py +0 -0
  103. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/datacommons/geo/profile.py +0 -0
  104. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/datacommons/geo/prominence.py +0 -0
  105. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/datacommons/models.py +0 -0
  106. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/datacommons/node.py +0 -0
  107. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/datacommons/org/__init__.py +0 -0
  108. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/datacommons/org/adapter.py +0 -0
  109. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/datacommons/org/dc_api.py +0 -0
  110. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/datacommons/org/discovery.py +0 -0
  111. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/datacommons/org/fetch.py +0 -0
  112. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/datacommons/org/mappings.py +0 -0
  113. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/datacommons/org/profile.py +0 -0
  114. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/datacommons/rows.py +0 -0
  115. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/datacommons/specs.py +0 -0
  116. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/datacommons/text.py +0 -0
  117. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/discovery_events.py +0 -0
  118. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/protocol.py +0 -0
  119. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/seed/__init__.py +0 -0
  120. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/seed/continents.py +0 -0
  121. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/seed/m49.py +0 -0
  122. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/wikidata/__init__.py +0 -0
  123. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/wikidata/aliases.py +0 -0
  124. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sources/wikidata/sitelinks.py +0 -0
  125. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sqlite/__init__.py +0 -0
  126. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sqlite/constants.py +0 -0
  127. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sqlite/context.py +0 -0
  128. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sqlite/diff.py +0 -0
  129. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sqlite/export.py +0 -0
  130. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sqlite/specs.py +0 -0
  131. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sqlite/validate.py +0 -0
  132. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/sqlite/write.py +0 -0
  133. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/state.py +0 -0
  134. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/builder/utils.py +0 -0
  135. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/calibration/__init__.py +0 -0
  136. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/calibration/adapters/__init__.py +0 -0
  137. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/calibration/adapters/_cldr_source.py +0 -0
  138. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/calibration/adapters/_latin_filter.py +0 -0
  139. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/calibration/adapters/_wikidata_client.py +0 -0
  140. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/calibration/adapters/cldr.py +0 -0
  141. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/calibration/adapters/geonames.py +0 -0
  142. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/calibration/adapters/multilingual_names.py +0 -0
  143. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/calibration/adapters/synthetic.py +0 -0
  144. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/calibration/adapters/wikidata.py +0 -0
  145. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/calibration/dataset.py +0 -0
  146. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/calibration/evaluation.py +0 -0
  147. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/calibration/fitting.py +0 -0
  148. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/calibration/models.py +0 -0
  149. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/calibration/scoring_model.py +0 -0
  150. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/calibration/train.py +0 -0
  151. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/calibration/vectorize.py +0 -0
  152. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/__init__.py +0 -0
  153. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/api/__init__.py +0 -0
  154. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/api/_byod.py +0 -0
  155. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/api/_pivot.py +0 -0
  156. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/api/batch.py +0 -0
  157. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/api/bulk.py +0 -0
  158. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/api/cache.py +0 -0
  159. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/api/code_lookup.py +0 -0
  160. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/api/containment_api.py +0 -0
  161. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/api/context_input.py +0 -0
  162. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/api/diagnostics.py +0 -0
  163. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/api/entity_lookup.py +0 -0
  164. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/api/group_api.py +0 -0
  165. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/api/info.py +0 -0
  166. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/api/inspect.py +0 -0
  167. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/api/loading/__init__.py +0 -0
  168. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/api/loading/pack_loader.py +0 -0
  169. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/api/loading/paths.py +0 -0
  170. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/api/loading/store_builder.py +0 -0
  171. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/api/modules.py +0 -0
  172. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/api/output_spec.py +0 -0
  173. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/api/output_view.py +0 -0
  174. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/api/query_prep.py +0 -0
  175. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/api/resolve_flow.py +0 -0
  176. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/api/snap.py +0 -0
  177. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/api/suggest_flow.py +0 -0
  178. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/byod/__init__.py +0 -0
  179. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/byod/build.py +0 -0
  180. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/byod/builder.py +0 -0
  181. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/byod/cache.py +0 -0
  182. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/byod/intake.py +0 -0
  183. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/byod/result.py +0 -0
  184. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/config.py +0 -0
  185. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/datapack.py +0 -0
  186. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/download_api.py +0 -0
  187. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/engine/__init__.py +0 -0
  188. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/engine/_stages.py +0 -0
  189. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/engine/config.py +0 -0
  190. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/engine/decision.py +0 -0
  191. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/engine/enrichment.py +0 -0
  192. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/engine/interfaces.py +0 -0
  193. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/engine/multi_runner.py +0 -0
  194. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/engine/router.py +0 -0
  195. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/engine/runner.py +0 -0
  196. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/engine/suggest_rank.py +0 -0
  197. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/engine/tier_utils.py +0 -0
  198. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/errors.py +0 -0
  199. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/errors_base.py +0 -0
  200. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/explain/__init__.py +0 -0
  201. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/explain/events.py +0 -0
  202. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/explain/feature_text.py +0 -0
  203. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/explain/helpers.py +0 -0
  204. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/explain/protocol.py +0 -0
  205. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/explain/renderers.py +0 -0
  206. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/explain/result_html.py +0 -0
  207. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/explain/result_types.py +0 -0
  208. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/explain/scorecard.py +0 -0
  209. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/explain/sink.py +0 -0
  210. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/linking/__init__.py +0 -0
  211. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/linking/base_linker.py +0 -0
  212. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/linking/base_normalizer.py +0 -0
  213. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/linking/linker.py +0 -0
  214. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/linking/normalizer.py +0 -0
  215. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/merge.py +0 -0
  216. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/model/__init__.py +0 -0
  217. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/model/_repr.py +0 -0
  218. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/model/bulk_result.py +0 -0
  219. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/model/candidate.py +0 -0
  220. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/model/crosswalk.py +0 -0
  221. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/model/entity.py +0 -0
  222. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/model/entity_attributes.py +0 -0
  223. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/model/features.py +0 -0
  224. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/model/generation.py +0 -0
  225. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/model/inspection.py +0 -0
  226. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/model/name_grammar.py +0 -0
  227. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/model/query.py +0 -0
  228. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/model/result.py +0 -0
  229. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/module_registry.py +0 -0
  230. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/overlay_loader.py +0 -0
  231. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/parse/__init__.py +0 -0
  232. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/parse/_pivot.py +0 -0
  233. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/parse/automaton.py +0 -0
  234. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/parse/denylist.py +0 -0
  235. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/parse/detect.py +0 -0
  236. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/parse/engine.py +0 -0
  237. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/parse/link.py +0 -0
  238. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/parse/offsets.py +0 -0
  239. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/parse/result.py +0 -0
  240. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/registry.py +0 -0
  241. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/remote.py +0 -0
  242. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/store/__init__.py +0 -0
  243. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/store/composed_sqlite.py +0 -0
  244. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/store/composite.py +0 -0
  245. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/store/interface.py +0 -0
  246. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/store/merging.py +0 -0
  247. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/store/sqlite.py +0 -0
  248. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/store/sqlite_helpers.py +0 -0
  249. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/store/store_view.py +0 -0
  250. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/util/__init__.py +0 -0
  251. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/util/iso_codes.py +0 -0
  252. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/util/normalization.py +0 -0
  253. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/util/sentinel.py +0 -0
  254. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/core/version.py +0 -0
  255. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/diagnostics/__init__.py +0 -0
  256. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/errors/__init__.py +0 -0
  257. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/extensions.py +0 -0
  258. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/__init__.py +0 -0
  259. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/_artifacts.py +0 -0
  260. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/custom/__init__.py +0 -0
  261. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/custom/decision.py +0 -0
  262. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/custom/extractor.py +0 -0
  263. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/custom/features.py +0 -0
  264. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/custom/normalizer.py +0 -0
  265. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/custom/pack.py +0 -0
  266. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/custom/scoring.py +0 -0
  267. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/custom/sources/__init__.py +0 -0
  268. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/custom/sources/exact_code.py +0 -0
  269. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/custom/sources/exact_name.py +0 -0
  270. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/custom/sources/fts.py +0 -0
  271. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/custom/sources/fuzzy.py +0 -0
  272. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/custom/sources/fuzzy_retrieval.py +0 -0
  273. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/geo/__init__.py +0 -0
  274. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/geo/_specificity.py +0 -0
  275. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/geo/build/__init__.py +0 -0
  276. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/geo/build/builder.py +0 -0
  277. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/geo/constraints/__init__.py +0 -0
  278. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/geo/constraints/containment.py +0 -0
  279. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/geo/constraints/membership.py +0 -0
  280. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/geo/constraints/temporal.py +0 -0
  281. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/geo/constraints/type_constraint.py +0 -0
  282. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/geo/data/.gitkeep +0 -0
  283. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/geo/decision.py +0 -0
  284. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/geo/extractor.py +0 -0
  285. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/geo/features.py +0 -0
  286. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/geo/linker.py +0 -0
  287. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/geo/normalizer.py +0 -0
  288. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/geo/pack.py +0 -0
  289. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/geo/routing.py +0 -0
  290. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/geo/scoring.py +0 -0
  291. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/geo/sources/__init__.py +0 -0
  292. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/geo/sources/_short_input.py +0 -0
  293. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/geo/sources/exact_code.py +0 -0
  294. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/geo/sources/exact_name.py +0 -0
  295. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/geo/sources/fts.py +0 -0
  296. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/geo/sources/fuzzy.py +0 -0
  297. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/geo/sources/fuzzy_retrieval.py +0 -0
  298. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/geo/sources/query_shapes.py +0 -0
  299. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/geo/sources/symspell.py +0 -0
  300. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/org/__init__.py +0 -0
  301. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/org/_acronym.py +0 -0
  302. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/org/build/__init__.py +0 -0
  303. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/org/build/builder.py +0 -0
  304. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/org/constraints/__init__.py +0 -0
  305. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/org/constraints/country_relevance.py +0 -0
  306. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/org/constraints/parent_org.py +0 -0
  307. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/org/constraints/temporal.py +0 -0
  308. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/org/constraints/type_constraint.py +0 -0
  309. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/org/data/.gitkeep +0 -0
  310. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/org/decision.py +0 -0
  311. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/org/feature_extractor.py +0 -0
  312. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/org/features.py +0 -0
  313. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/org/linker.py +0 -0
  314. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/org/normalizer.py +0 -0
  315. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/org/pack.py +0 -0
  316. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/org/routing.py +0 -0
  317. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/org/scoring.py +0 -0
  318. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/org/sources/__init__.py +0 -0
  319. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/org/sources/acronym.py +0 -0
  320. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/org/sources/exact_code.py +0 -0
  321. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/org/sources/exact_name.py +0 -0
  322. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/org/sources/fts.py +0 -0
  323. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/org/sources/fuzzy.py +0 -0
  324. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/packs/org/sources/symspell.py +0 -0
  325. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/pandas/__init__.py +0 -0
  326. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/polars/__init__.py +0 -0
  327. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/py.typed +0 -0
  328. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/shared/__init__.py +0 -0
  329. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/shared/build/__init__.py +0 -0
  330. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/shared/build/base_builder.py +0 -0
  331. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/shared/build/schema.py +0 -0
  332. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/shared/constraints/__init__.py +0 -0
  333. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/shared/constraints/temporal_constraint.py +0 -0
  334. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/shared/constraints/type_constraint.py +0 -0
  335. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/shared/scoring_base.py +0 -0
  336. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/shared/sources/__init__.py +0 -0
  337. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/shared/sources/code_helpers.py +0 -0
  338. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/shared/sources/fts_base.py +0 -0
  339. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/shared/sources/fuzzy_base.py +0 -0
  340. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/shared/sources/fuzzy_retrieval_base.py +0 -0
  341. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/shared/sources/fuzzy_retrieval_brute_base.py +0 -0
  342. {resolvekit-0.1.5 → resolvekit-0.1.6}/src/resolvekit/shared/sources/symspell_base.py +0 -0
  343. {resolvekit-0.1.5 → resolvekit-0.1.6}/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.5
3
+ Version: 0.1.6
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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "resolvekit"
3
- version = "0.1.5"
3
+ version = "0.1.6"
4
4
  description = "Entity and place resolution system that maps messy place/entity strings and codes to canonical entities"
5
5
  requires-python = ">=3.12"
6
6
 
@@ -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 resolvekit.core.module_registry import get_manifest_overrides
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
- # An absent dependency is only a hard error when its data could
183
- # have been loaded a declared dep on a remote pack the user
184
- # hasn't downloaded is skipped, mirroring the auto-mode intent in
185
- # _resolve_requested_module_paths.
186
- if registry is None:
187
- registry = list_available_modules()
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
- for dependency in metadata.module_dependencies:
294
- if dependency in resolved:
295
- continue
296
- # In auto mode, silently skip dependencies whose data isn't
297
- # locally available (remote packs the user hasn't downloaded
298
- # are not hard errors see v1-scope §225). In explicit mode,
299
- # likewise skip remote-uncached dependencies so requesting one
300
- # module never transitively forces sibling downloads; unknown
301
- # module ids are still queued so the queue-loop's own
302
- # ``module_id not in available`` check raises
303
- # ``DataModuleNotFoundError``.
304
- if auto_mode and (
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
- continue
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
- Pass ``None`` to load all installed modules (same as ``auto()``).
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 whose dependency
1036
- # chains (admin2, admin3, cities …) trigger heavy SQLite composition.
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",
File without changes
File without changes