resolvekit 0.1.0__tar.gz → 0.1.2__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 (339) hide show
  1. {resolvekit-0.1.0 → resolvekit-0.1.2}/PKG-INFO +1 -1
  2. {resolvekit-0.1.0 → resolvekit-0.1.2}/pyproject.toml +1 -1
  3. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/NOTICE.md +19 -6
  4. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/api/loading/module_catalog.py +53 -2
  5. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/remote.py +11 -1
  6. {resolvekit-0.1.0 → resolvekit-0.1.2}/LICENSE +0 -0
  7. {resolvekit-0.1.0 → resolvekit-0.1.2}/README.md +0 -0
  8. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/__init__.py +0 -0
  9. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_convenience.py +0 -0
  10. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/geo/admin1/metadata.json +0 -0
  11. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/geo/admin2/metadata.json +0 -0
  12. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/geo/admin3/metadata.json +0 -0
  13. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/geo/admin4/metadata.json +0 -0
  14. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/geo/admin5/metadata.json +0 -0
  15. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/geo/cities/metadata.json +0 -0
  16. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/geo/continental_unions/entities.sqlite +0 -0
  17. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/geo/continental_unions/metadata.json +0 -0
  18. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/geo/continental_unions/symspell.dict +0 -0
  19. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/geo/continents/entities.sqlite +0 -0
  20. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/geo/continents/metadata.json +0 -0
  21. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/geo/continents/symspell.dict +0 -0
  22. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/geo/countries/entities.sqlite +0 -0
  23. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/geo/countries/geo_calibrator.json +0 -0
  24. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/geo/countries/metadata.json +0 -0
  25. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/geo/countries/symspell.dict +0 -0
  26. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/geo/regions/entities.sqlite +0 -0
  27. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/geo/regions/metadata.json +0 -0
  28. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/geo/regions/symspell.dict +0 -0
  29. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/manifest.json +0 -0
  30. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/org/companies/entities.sqlite +0 -0
  31. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/org/companies/metadata.json +0 -0
  32. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/org/companies/symspell.dict +0 -0
  33. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/org/data_sources/entities.sqlite +0 -0
  34. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/org/data_sources/metadata.json +0 -0
  35. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/org/data_sources/symspell.dict +0 -0
  36. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/org/governments/entities.sqlite +0 -0
  37. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/org/governments/metadata.json +0 -0
  38. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/org/governments/symspell.dict +0 -0
  39. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/org/lenders/entities.sqlite +0 -0
  40. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/org/lenders/metadata.json +0 -0
  41. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/org/lenders/symspell.dict +0 -0
  42. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/org/political_parties/entities.sqlite +0 -0
  43. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/org/political_parties/metadata.json +0 -0
  44. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/org/political_parties/symspell.dict +0 -0
  45. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/org/providers/entities.sqlite +0 -0
  46. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/org/providers/metadata.json +0 -0
  47. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/org/providers/symspell.dict +0 -0
  48. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_data/parse/deny_list.json +0 -0
  49. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_pandas_integration.py +0 -0
  50. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/_polars_integration.py +0 -0
  51. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/__init__.py +0 -0
  52. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/_outcomes.py +0 -0
  53. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/api.py +0 -0
  54. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/containment.py +0 -0
  55. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/country_geonames_aliases.py +0 -0
  56. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/datapack_layout.py +0 -0
  57. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/entity_validity.py +0 -0
  58. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/formal_names.py +0 -0
  59. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/geo_shared.py +0 -0
  60. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/groups.py +0 -0
  61. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/inspection.py +0 -0
  62. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/models.py +0 -0
  63. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/module_catalog.py +0 -0
  64. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/oecd_dac.py +0 -0
  65. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/pipeline/__init__.py +0 -0
  66. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/pipeline/build_report.py +0 -0
  67. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/pipeline/changelog.py +0 -0
  68. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/pipeline/chunk.py +0 -0
  69. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/pipeline/contribution.py +0 -0
  70. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/pipeline/core.py +0 -0
  71. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/pipeline/discover.py +0 -0
  72. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/pipeline/enrich.py +0 -0
  73. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/pipeline/geo_staging.py +0 -0
  74. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/pipeline/packaging.py +0 -0
  75. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/pipeline/promote.py +0 -0
  76. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/pipeline/qa.py +0 -0
  77. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/pipeline/reconcile.py +0 -0
  78. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/pipeline/stages.py +0 -0
  79. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/pipeline/types.py +0 -0
  80. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/presets.py +0 -0
  81. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/registry.py +0 -0
  82. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/__init__.py +0 -0
  83. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/datacommons/__init__.py +0 -0
  84. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/datacommons/adapter.py +0 -0
  85. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/datacommons/base_dc_api.py +0 -0
  86. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/datacommons/bundle.py +0 -0
  87. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/datacommons/canonicalize.py +0 -0
  88. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/datacommons/client.py +0 -0
  89. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/datacommons/constants.py +0 -0
  90. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/datacommons/geo/__init__.py +0 -0
  91. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/datacommons/geo/_admin_walk.py +0 -0
  92. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/datacommons/geo/_chunk_callback.py +0 -0
  93. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/datacommons/geo/_geo_regions.py +0 -0
  94. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/datacommons/geo/_ordered_emitter.py +0 -0
  95. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/datacommons/geo/_progress_context.py +0 -0
  96. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/datacommons/geo/_streaming.py +0 -0
  97. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/datacommons/geo/_type_mappings.py +0 -0
  98. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/datacommons/geo/adapter.py +0 -0
  99. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/datacommons/geo/dc_api.py +0 -0
  100. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/datacommons/geo/discovery.py +0 -0
  101. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/datacommons/geo/fetch.py +0 -0
  102. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/datacommons/geo/mappings.py +0 -0
  103. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/datacommons/geo/profile.py +0 -0
  104. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/datacommons/geo/prominence.py +0 -0
  105. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/datacommons/models.py +0 -0
  106. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/datacommons/node.py +0 -0
  107. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/datacommons/org/__init__.py +0 -0
  108. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/datacommons/org/adapter.py +0 -0
  109. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/datacommons/org/dc_api.py +0 -0
  110. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/datacommons/org/discovery.py +0 -0
  111. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/datacommons/org/fetch.py +0 -0
  112. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/datacommons/org/mappings.py +0 -0
  113. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/datacommons/org/profile.py +0 -0
  114. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/datacommons/rows.py +0 -0
  115. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/datacommons/specs.py +0 -0
  116. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/datacommons/text.py +0 -0
  117. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/discovery_events.py +0 -0
  118. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/protocol.py +0 -0
  119. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/seed/__init__.py +0 -0
  120. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/seed/continents.py +0 -0
  121. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/seed/m49.py +0 -0
  122. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/wikidata/__init__.py +0 -0
  123. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/wikidata/aliases.py +0 -0
  124. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sources/wikidata/sitelinks.py +0 -0
  125. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sqlite/__init__.py +0 -0
  126. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sqlite/constants.py +0 -0
  127. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sqlite/context.py +0 -0
  128. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sqlite/diff.py +0 -0
  129. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sqlite/export.py +0 -0
  130. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sqlite/specs.py +0 -0
  131. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sqlite/validate.py +0 -0
  132. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/sqlite/write.py +0 -0
  133. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/state.py +0 -0
  134. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/builder/utils.py +0 -0
  135. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/calibration/__init__.py +0 -0
  136. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/calibration/adapters/__init__.py +0 -0
  137. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/calibration/adapters/_cldr_source.py +0 -0
  138. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/calibration/adapters/_latin_filter.py +0 -0
  139. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/calibration/adapters/_wikidata_client.py +0 -0
  140. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/calibration/adapters/cldr.py +0 -0
  141. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/calibration/adapters/geonames.py +0 -0
  142. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/calibration/adapters/multilingual_names.py +0 -0
  143. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/calibration/adapters/synthetic.py +0 -0
  144. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/calibration/adapters/wikidata.py +0 -0
  145. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/calibration/dataset.py +0 -0
  146. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/calibration/evaluation.py +0 -0
  147. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/calibration/fitting.py +0 -0
  148. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/calibration/models.py +0 -0
  149. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/calibration/scoring_model.py +0 -0
  150. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/calibration/train.py +0 -0
  151. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/calibration/vectorize.py +0 -0
  152. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/__init__.py +0 -0
  153. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/api/__init__.py +0 -0
  154. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/api/_byod.py +0 -0
  155. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/api/_pivot.py +0 -0
  156. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/api/batch.py +0 -0
  157. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/api/bulk.py +0 -0
  158. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/api/cache.py +0 -0
  159. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/api/code_lookup.py +0 -0
  160. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/api/containment_api.py +0 -0
  161. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/api/diagnostics.py +0 -0
  162. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/api/entity_lookup.py +0 -0
  163. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/api/group_api.py +0 -0
  164. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/api/info.py +0 -0
  165. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/api/inspect.py +0 -0
  166. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/api/loading/__init__.py +0 -0
  167. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/api/loading/pack_loader.py +0 -0
  168. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/api/loading/paths.py +0 -0
  169. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/api/loading/store_builder.py +0 -0
  170. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/api/modules.py +0 -0
  171. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/api/output_spec.py +0 -0
  172. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/api/output_view.py +0 -0
  173. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/api/query_prep.py +0 -0
  174. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/api/resolve_flow.py +0 -0
  175. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/api/resolver.py +0 -0
  176. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/api/snap.py +0 -0
  177. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/api/suggest_flow.py +0 -0
  178. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/byod/__init__.py +0 -0
  179. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/byod/build.py +0 -0
  180. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/byod/builder.py +0 -0
  181. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/byod/cache.py +0 -0
  182. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/byod/intake.py +0 -0
  183. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/byod/result.py +0 -0
  184. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/config.py +0 -0
  185. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/datapack.py +0 -0
  186. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/download_api.py +0 -0
  187. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/engine/__init__.py +0 -0
  188. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/engine/_stages.py +0 -0
  189. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/engine/config.py +0 -0
  190. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/engine/decision.py +0 -0
  191. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/engine/enrichment.py +0 -0
  192. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/engine/interfaces.py +0 -0
  193. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/engine/multi_runner.py +0 -0
  194. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/engine/router.py +0 -0
  195. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/engine/runner.py +0 -0
  196. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/engine/suggest_rank.py +0 -0
  197. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/engine/tier_utils.py +0 -0
  198. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/errors.py +0 -0
  199. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/errors_base.py +0 -0
  200. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/explain/__init__.py +0 -0
  201. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/explain/events.py +0 -0
  202. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/explain/feature_text.py +0 -0
  203. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/explain/helpers.py +0 -0
  204. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/explain/protocol.py +0 -0
  205. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/explain/renderers.py +0 -0
  206. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/explain/result_html.py +0 -0
  207. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/explain/result_types.py +0 -0
  208. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/explain/scorecard.py +0 -0
  209. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/explain/sink.py +0 -0
  210. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/linking/__init__.py +0 -0
  211. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/linking/base_linker.py +0 -0
  212. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/linking/base_normalizer.py +0 -0
  213. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/linking/linker.py +0 -0
  214. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/linking/normalizer.py +0 -0
  215. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/merge.py +0 -0
  216. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/model/__init__.py +0 -0
  217. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/model/_repr.py +0 -0
  218. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/model/bulk_result.py +0 -0
  219. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/model/candidate.py +0 -0
  220. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/model/crosswalk.py +0 -0
  221. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/model/entity.py +0 -0
  222. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/model/entity_attributes.py +0 -0
  223. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/model/features.py +0 -0
  224. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/model/generation.py +0 -0
  225. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/model/inspection.py +0 -0
  226. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/model/name_grammar.py +0 -0
  227. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/model/query.py +0 -0
  228. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/model/result.py +0 -0
  229. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/module_registry.py +0 -0
  230. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/overlay_loader.py +0 -0
  231. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/parse/__init__.py +0 -0
  232. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/parse/_pivot.py +0 -0
  233. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/parse/automaton.py +0 -0
  234. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/parse/denylist.py +0 -0
  235. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/parse/detect.py +0 -0
  236. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/parse/engine.py +0 -0
  237. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/parse/link.py +0 -0
  238. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/parse/offsets.py +0 -0
  239. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/parse/result.py +0 -0
  240. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/registry.py +0 -0
  241. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/store/__init__.py +0 -0
  242. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/store/composed_sqlite.py +0 -0
  243. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/store/composite.py +0 -0
  244. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/store/interface.py +0 -0
  245. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/store/merging.py +0 -0
  246. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/store/sqlite.py +0 -0
  247. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/store/sqlite_helpers.py +0 -0
  248. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/store/store_view.py +0 -0
  249. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/util/__init__.py +0 -0
  250. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/util/normalization.py +0 -0
  251. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/util/sentinel.py +0 -0
  252. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/core/version.py +0 -0
  253. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/diagnostics/__init__.py +0 -0
  254. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/errors/__init__.py +0 -0
  255. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/extensions.py +0 -0
  256. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/__init__.py +0 -0
  257. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/_artifacts.py +0 -0
  258. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/custom/__init__.py +0 -0
  259. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/custom/decision.py +0 -0
  260. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/custom/extractor.py +0 -0
  261. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/custom/features.py +0 -0
  262. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/custom/normalizer.py +0 -0
  263. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/custom/pack.py +0 -0
  264. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/custom/scoring.py +0 -0
  265. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/custom/sources/__init__.py +0 -0
  266. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/custom/sources/exact_code.py +0 -0
  267. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/custom/sources/exact_name.py +0 -0
  268. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/custom/sources/fts.py +0 -0
  269. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/custom/sources/fuzzy.py +0 -0
  270. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/geo/__init__.py +0 -0
  271. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/geo/_specificity.py +0 -0
  272. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/geo/build/__init__.py +0 -0
  273. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/geo/build/builder.py +0 -0
  274. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/geo/constraints/__init__.py +0 -0
  275. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/geo/constraints/containment.py +0 -0
  276. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/geo/constraints/membership.py +0 -0
  277. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/geo/constraints/temporal.py +0 -0
  278. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/geo/constraints/type_constraint.py +0 -0
  279. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/geo/data/.gitkeep +0 -0
  280. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/geo/decision.py +0 -0
  281. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/geo/extractor.py +0 -0
  282. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/geo/features.py +0 -0
  283. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/geo/linker.py +0 -0
  284. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/geo/normalizer.py +0 -0
  285. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/geo/pack.py +0 -0
  286. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/geo/routing.py +0 -0
  287. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/geo/scoring.py +0 -0
  288. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/geo/sources/__init__.py +0 -0
  289. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/geo/sources/_short_input.py +0 -0
  290. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/geo/sources/exact_code.py +0 -0
  291. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/geo/sources/exact_name.py +0 -0
  292. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/geo/sources/fts.py +0 -0
  293. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/geo/sources/fuzzy.py +0 -0
  294. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/geo/sources/fuzzy_retrieval.py +0 -0
  295. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/geo/sources/query_shapes.py +0 -0
  296. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/geo/sources/symspell.py +0 -0
  297. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/org/__init__.py +0 -0
  298. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/org/_acronym.py +0 -0
  299. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/org/build/__init__.py +0 -0
  300. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/org/build/builder.py +0 -0
  301. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/org/constraints/__init__.py +0 -0
  302. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/org/constraints/country_relevance.py +0 -0
  303. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/org/constraints/parent_org.py +0 -0
  304. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/org/constraints/temporal.py +0 -0
  305. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/org/constraints/type_constraint.py +0 -0
  306. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/org/data/.gitkeep +0 -0
  307. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/org/decision.py +0 -0
  308. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/org/feature_extractor.py +0 -0
  309. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/org/features.py +0 -0
  310. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/org/linker.py +0 -0
  311. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/org/normalizer.py +0 -0
  312. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/org/pack.py +0 -0
  313. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/org/routing.py +0 -0
  314. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/org/scoring.py +0 -0
  315. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/org/sources/__init__.py +0 -0
  316. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/org/sources/acronym.py +0 -0
  317. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/org/sources/exact_code.py +0 -0
  318. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/org/sources/exact_name.py +0 -0
  319. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/org/sources/fts.py +0 -0
  320. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/org/sources/fuzzy.py +0 -0
  321. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/packs/org/sources/symspell.py +0 -0
  322. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/pandas/__init__.py +0 -0
  323. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/polars/__init__.py +0 -0
  324. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/py.typed +0 -0
  325. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/shared/__init__.py +0 -0
  326. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/shared/build/__init__.py +0 -0
  327. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/shared/build/base_builder.py +0 -0
  328. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/shared/build/schema.py +0 -0
  329. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/shared/constraints/__init__.py +0 -0
  330. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/shared/constraints/temporal_constraint.py +0 -0
  331. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/shared/constraints/type_constraint.py +0 -0
  332. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/shared/scoring_base.py +0 -0
  333. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/shared/sources/__init__.py +0 -0
  334. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/shared/sources/code_helpers.py +0 -0
  335. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/shared/sources/fts_base.py +0 -0
  336. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/shared/sources/fuzzy_base.py +0 -0
  337. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/shared/sources/fuzzy_retrieval_base.py +0 -0
  338. {resolvekit-0.1.0 → resolvekit-0.1.2}/src/resolvekit/shared/sources/symspell_base.py +0 -0
  339. {resolvekit-0.1.0 → resolvekit-0.1.2}/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.0
3
+ Version: 0.1.2
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.0"
3
+ version = "0.1.2"
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
 
@@ -43,12 +43,25 @@ license requires attribution, that attribution is given below.
43
43
 
44
44
  ## OECD DAC (Development Assistance Committee)
45
45
 
46
- - **Contributes:** DAC country codes and recipient classifications used in the
47
- geo entity store.
48
- - **Upstream:** https://www.oecd.org/dac/financing-sustainable-development/development-finance-standards/dacandcrscodelists.htm
49
- - **License:** OECD terms of use — data is freely available for non-commercial
50
- and research use with attribution.
51
- https://www.oecd.org/termsandconditions/
46
+ - **Contributes:** DAC recipient, provider, channel, and agency codes with
47
+ their English/French names and an ISO3 crosswalk. These populate DAC codes
48
+ on countries and regions in the geo entity store and provider and
49
+ government-agency entities in the org entity store.
50
+ - **Upstream:** https://development-finance-codelists.oecd.org/ (DAC and CRS
51
+ code lists)
52
+ - **License:** OECD Terms and Conditions. Since 1 July 2024 most OECD data and
53
+ content is published under Creative Commons Attribution 4.0 International
54
+ (CC BY 4.0), which permits reuse — including commercial use — with
55
+ attribution; earlier content is available on terms similar to CC BY 4.0.
56
+ https://www.oecd.org/en/about/terms-conditions.html
57
+ https://creativecommons.org/licenses/by/4.0/
58
+ - **Modifications:** only the codelists (codes, names, and the ISO3 crosswalk)
59
+ were extracted and repackaged; no OECD statistical, financial, or aid-flow
60
+ data is redistributed.
61
+ - **Attribution required:** OECD DAC codelists are used under the OECD Terms
62
+ and Conditions (CC BY 4.0). Source: OECD Development Assistance Committee
63
+ (DAC). The OECD logo and branding are not covered by this license and are
64
+ not used.
52
65
 
53
66
  ## HDX Python Country / UN M49
54
67
 
@@ -134,12 +134,41 @@ 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
+
137
162
  def _validate_module_dependencies(
138
163
  base_packs: dict[str, LoadedDataPack],
139
164
  overlay_packs: dict[str, LoadedDataPack],
140
165
  pack_filter: set[str],
141
166
  ) -> None:
167
+ from resolvekit.core.module_registry import get_manifest_overrides
168
+
142
169
  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
143
172
  for loaded in [*base_packs.values(), *overlay_packs.values()]:
144
173
  if pack_filter and loaded.pack_id not in pack_filter:
145
174
  continue
@@ -149,6 +178,22 @@ def _validate_module_dependencies(
149
178
  for module_id in loaded.metadata.module_dependencies
150
179
  if module_id not in available_module_ids
151
180
  ]
181
+ 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
+ ]
152
197
  if missing:
153
198
  raise MissingModuleDependencyError(loaded.module_id, missing)
154
199
 
@@ -250,8 +295,10 @@ def _resolve_requested_module_paths(
250
295
  continue
251
296
  # In auto mode, silently skip dependencies whose data isn't
252
297
  # locally available (remote packs the user hasn't downloaded
253
- # are not hard errors — see v1-scope §225). In explicit mode
254
- # we always queue them so the queue-loop's own
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
255
302
  # ``module_id not in available`` check raises
256
303
  # ``DataModuleNotFoundError``.
257
304
  if auto_mode and (
@@ -261,6 +308,10 @@ def _resolve_requested_module_paths(
261
308
  )
262
309
  ):
263
310
  continue
311
+ if not auto_mode and _remote_dependency_uncached(
312
+ dependency, available, manifest_overrides
313
+ ):
314
+ continue
264
315
  queue.append(dependency)
265
316
  if metadata.is_overlay:
266
317
  for dependency in metadata.base_module_ids or []:
@@ -221,6 +221,14 @@ def download_module_data(
221
221
  return cache_dir
222
222
 
223
223
 
224
+ def _progressbar_available() -> bool:
225
+ """Pooch's progress bar requires tqdm, which is not a resolvekit
226
+ dependency; downloads degrade to silent when it isn't installed."""
227
+ import importlib.util
228
+
229
+ return importlib.util.find_spec("tqdm") is not None
230
+
231
+
224
232
  def _download_one_artifact(
225
233
  metadata: DataPackMetadata,
226
234
  artifact_type: str,
@@ -234,7 +242,9 @@ def _download_one_artifact(
234
242
  processor = pooch.Decompress() if fname.endswith(".gz") else None
235
243
 
236
244
  try:
237
- downloaded_path = fetcher.fetch(fname, progressbar=True, processor=processor)
245
+ downloaded_path = fetcher.fetch(
246
+ fname, progressbar=_progressbar_available(), processor=processor
247
+ )
238
248
  except Exception as exc:
239
249
  logger.error(
240
250
  "Download failed for %s/%s: %s", metadata.module_id, artifact_type, exc
File without changes
File without changes