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