resolvekit 0.1.8__tar.gz → 0.1.10__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 (344) hide show
  1. {resolvekit-0.1.8 → resolvekit-0.1.10}/PKG-INFO +10 -1
  2. {resolvekit-0.1.8 → resolvekit-0.1.10}/README.md +8 -0
  3. {resolvekit-0.1.8 → resolvekit-0.1.10}/pyproject.toml +4 -1
  4. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/geo/admin1/metadata.json +4 -4
  5. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/geo/admin2/metadata.json +2 -2
  6. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/geo/admin3/metadata.json +2 -2
  7. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/geo/admin4/metadata.json +2 -2
  8. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/geo/admin5/metadata.json +2 -2
  9. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/geo/cities/metadata.json +3 -3
  10. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/geo/continental_unions/entities.sqlite +0 -0
  11. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/geo/continental_unions/metadata.json +6 -6
  12. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/geo/continental_unions/symspell.dict +11 -8
  13. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/geo/continents/entities.sqlite +0 -0
  14. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/geo/continents/metadata.json +8 -8
  15. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/geo/countries/entities.sqlite +0 -0
  16. resolvekit-0.1.10/src/resolvekit/_data/geo/countries/geo_calibrator.json +7 -0
  17. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/geo/countries/metadata.json +9 -9
  18. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/geo/countries/symspell.dict +55 -21
  19. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/geo/regions/entities.sqlite +0 -0
  20. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/geo/regions/metadata.json +7 -7
  21. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/geo/regions/symspell.dict +8 -7
  22. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/manifest.json +22 -22
  23. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_polars_integration.py +4 -4
  24. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/oecd_dac.py +23 -3
  25. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/pipeline/contribution.py +19 -1
  26. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/pipeline/core.py +1 -0
  27. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/pipeline/enrich.py +22 -4
  28. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/datacommons/adapter.py +3 -0
  29. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/datacommons/client.py +147 -17
  30. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/datacommons/geo/adapter.py +2 -1
  31. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/seed/continents.py +11 -2
  32. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/wikidata/aliases.py +131 -34
  33. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/calibration/adapters/_wikidata_client.py +13 -0
  34. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/api/_byod.py +28 -3
  35. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/api/bulk.py +103 -37
  36. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/api/loading/paths.py +6 -0
  37. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/api/resolver.py +16 -2
  38. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/byod/build.py +10 -1
  39. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/byod/intake.py +16 -7
  40. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/engine/_stages.py +2 -2
  41. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/engine/runner.py +25 -9
  42. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/parse/offsets.py +4 -2
  43. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/store/sqlite.py +9 -8
  44. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/geo/sources/fuzzy_retrieval.py +11 -0
  45. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/geo/sources/symspell.py +9 -0
  46. resolvekit-0.1.8/src/resolvekit/_data/geo/countries/geo_calibrator.json +0 -7
  47. {resolvekit-0.1.8 → resolvekit-0.1.10}/LICENSE +0 -0
  48. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/NOTICE.md +0 -0
  49. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/__init__.py +0 -0
  50. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_convenience.py +0 -0
  51. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/geo/continents/symspell.dict +0 -0
  52. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/org/companies/entities.sqlite +0 -0
  53. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/org/companies/metadata.json +0 -0
  54. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/org/companies/symspell.dict +0 -0
  55. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/org/data_sources/entities.sqlite +0 -0
  56. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/org/data_sources/metadata.json +0 -0
  57. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/org/data_sources/symspell.dict +0 -0
  58. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/org/governments/entities.sqlite +0 -0
  59. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/org/governments/metadata.json +0 -0
  60. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/org/governments/symspell.dict +0 -0
  61. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/org/lenders/entities.sqlite +0 -0
  62. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/org/lenders/metadata.json +0 -0
  63. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/org/lenders/symspell.dict +0 -0
  64. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/org/political_parties/entities.sqlite +0 -0
  65. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/org/political_parties/metadata.json +0 -0
  66. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/org/political_parties/symspell.dict +0 -0
  67. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/org/providers/entities.sqlite +0 -0
  68. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/org/providers/metadata.json +0 -0
  69. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/org/providers/symspell.dict +0 -0
  70. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_data/parse/deny_list.json +0 -0
  71. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/_pandas_integration.py +0 -0
  72. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/__init__.py +0 -0
  73. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/_outcomes.py +0 -0
  74. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/api.py +0 -0
  75. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/containment.py +0 -0
  76. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/country_geonames_aliases.py +0 -0
  77. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/datapack_layout.py +0 -0
  78. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/entity_validity.py +0 -0
  79. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/formal_names.py +0 -0
  80. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/geo_shared.py +0 -0
  81. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/groups.py +0 -0
  82. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/inspection.py +0 -0
  83. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/models.py +0 -0
  84. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/module_catalog.py +0 -0
  85. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/pipeline/__init__.py +0 -0
  86. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/pipeline/build_report.py +0 -0
  87. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/pipeline/changelog.py +0 -0
  88. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/pipeline/chunk.py +0 -0
  89. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/pipeline/discover.py +0 -0
  90. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/pipeline/geo_staging.py +0 -0
  91. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/pipeline/packaging.py +0 -0
  92. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/pipeline/promote.py +0 -0
  93. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/pipeline/qa.py +0 -0
  94. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/pipeline/reconcile.py +0 -0
  95. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/pipeline/stages.py +0 -0
  96. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/pipeline/types.py +0 -0
  97. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/presets.py +0 -0
  98. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/registry.py +0 -0
  99. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/__init__.py +0 -0
  100. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/datacommons/__init__.py +0 -0
  101. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/datacommons/base_dc_api.py +0 -0
  102. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/datacommons/bundle.py +0 -0
  103. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/datacommons/canonicalize.py +0 -0
  104. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/datacommons/constants.py +0 -0
  105. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/datacommons/geo/__init__.py +0 -0
  106. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/datacommons/geo/_admin_walk.py +0 -0
  107. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/datacommons/geo/_chunk_callback.py +0 -0
  108. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/datacommons/geo/_geo_regions.py +0 -0
  109. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/datacommons/geo/_ordered_emitter.py +0 -0
  110. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/datacommons/geo/_progress_context.py +0 -0
  111. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/datacommons/geo/_streaming.py +0 -0
  112. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/datacommons/geo/_type_mappings.py +0 -0
  113. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/datacommons/geo/dc_api.py +0 -0
  114. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/datacommons/geo/discovery.py +0 -0
  115. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/datacommons/geo/fetch.py +0 -0
  116. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/datacommons/geo/mappings.py +0 -0
  117. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/datacommons/geo/profile.py +0 -0
  118. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/datacommons/geo/prominence.py +0 -0
  119. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/datacommons/models.py +0 -0
  120. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/datacommons/node.py +0 -0
  121. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/datacommons/org/__init__.py +0 -0
  122. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/datacommons/org/adapter.py +0 -0
  123. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/datacommons/org/dc_api.py +0 -0
  124. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/datacommons/org/discovery.py +0 -0
  125. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/datacommons/org/fetch.py +0 -0
  126. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/datacommons/org/mappings.py +0 -0
  127. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/datacommons/org/profile.py +0 -0
  128. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/datacommons/rows.py +0 -0
  129. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/datacommons/specs.py +0 -0
  130. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/datacommons/text.py +0 -0
  131. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/discovery_events.py +0 -0
  132. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/protocol.py +0 -0
  133. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/seed/__init__.py +0 -0
  134. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/seed/m49.py +0 -0
  135. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/wikidata/__init__.py +0 -0
  136. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sources/wikidata/sitelinks.py +0 -0
  137. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sqlite/__init__.py +0 -0
  138. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sqlite/constants.py +0 -0
  139. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sqlite/context.py +0 -0
  140. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sqlite/diff.py +0 -0
  141. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sqlite/export.py +0 -0
  142. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sqlite/specs.py +0 -0
  143. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sqlite/validate.py +0 -0
  144. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/sqlite/write.py +0 -0
  145. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/state.py +0 -0
  146. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/builder/utils.py +0 -0
  147. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/calibration/__init__.py +0 -0
  148. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/calibration/adapters/__init__.py +0 -0
  149. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/calibration/adapters/_cldr_source.py +0 -0
  150. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/calibration/adapters/_latin_filter.py +0 -0
  151. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/calibration/adapters/cldr.py +0 -0
  152. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/calibration/adapters/geonames.py +0 -0
  153. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/calibration/adapters/multilingual_names.py +0 -0
  154. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/calibration/adapters/synthetic.py +0 -0
  155. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/calibration/adapters/wikidata.py +0 -0
  156. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/calibration/dataset.py +0 -0
  157. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/calibration/evaluation.py +0 -0
  158. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/calibration/fitting.py +0 -0
  159. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/calibration/models.py +0 -0
  160. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/calibration/scoring_model.py +0 -0
  161. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/calibration/train.py +0 -0
  162. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/calibration/vectorize.py +0 -0
  163. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/__init__.py +0 -0
  164. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/api/__init__.py +0 -0
  165. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/api/_pivot.py +0 -0
  166. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/api/batch.py +0 -0
  167. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/api/cache.py +0 -0
  168. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/api/code_lookup.py +0 -0
  169. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/api/containment_api.py +0 -0
  170. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/api/context_input.py +0 -0
  171. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/api/diagnostics.py +0 -0
  172. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/api/entity_lookup.py +0 -0
  173. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/api/group_api.py +0 -0
  174. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/api/info.py +0 -0
  175. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/api/inspect.py +0 -0
  176. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/api/loading/__init__.py +0 -0
  177. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/api/loading/module_catalog.py +0 -0
  178. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/api/loading/pack_loader.py +0 -0
  179. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/api/loading/store_builder.py +0 -0
  180. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/api/modules.py +0 -0
  181. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/api/output_spec.py +0 -0
  182. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/api/output_view.py +0 -0
  183. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/api/query_prep.py +0 -0
  184. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/api/resolve_flow.py +0 -0
  185. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/api/snap.py +0 -0
  186. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/api/suggest_flow.py +0 -0
  187. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/byod/__init__.py +0 -0
  188. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/byod/builder.py +0 -0
  189. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/byod/cache.py +0 -0
  190. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/byod/result.py +0 -0
  191. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/config.py +0 -0
  192. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/datapack.py +0 -0
  193. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/download_api.py +0 -0
  194. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/engine/__init__.py +0 -0
  195. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/engine/config.py +0 -0
  196. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/engine/decision.py +0 -0
  197. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/engine/enrichment.py +0 -0
  198. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/engine/interfaces.py +0 -0
  199. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/engine/multi_runner.py +0 -0
  200. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/engine/router.py +0 -0
  201. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/engine/suggest_rank.py +0 -0
  202. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/engine/tier_utils.py +0 -0
  203. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/errors.py +0 -0
  204. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/errors_base.py +0 -0
  205. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/explain/__init__.py +0 -0
  206. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/explain/events.py +0 -0
  207. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/explain/feature_text.py +0 -0
  208. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/explain/helpers.py +0 -0
  209. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/explain/protocol.py +0 -0
  210. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/explain/renderers.py +0 -0
  211. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/explain/result_html.py +0 -0
  212. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/explain/result_types.py +0 -0
  213. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/explain/scorecard.py +0 -0
  214. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/explain/sink.py +0 -0
  215. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/linking/__init__.py +0 -0
  216. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/linking/base_linker.py +0 -0
  217. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/linking/base_normalizer.py +0 -0
  218. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/linking/linker.py +0 -0
  219. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/linking/normalizer.py +0 -0
  220. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/merge.py +0 -0
  221. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/model/__init__.py +0 -0
  222. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/model/_repr.py +0 -0
  223. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/model/bulk_result.py +0 -0
  224. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/model/candidate.py +0 -0
  225. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/model/crosswalk.py +0 -0
  226. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/model/entity.py +0 -0
  227. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/model/entity_attributes.py +0 -0
  228. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/model/features.py +0 -0
  229. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/model/generation.py +0 -0
  230. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/model/inspection.py +0 -0
  231. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/model/name_grammar.py +0 -0
  232. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/model/query.py +0 -0
  233. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/model/result.py +0 -0
  234. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/module_registry.py +0 -0
  235. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/overlay_loader.py +0 -0
  236. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/parse/__init__.py +0 -0
  237. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/parse/_pivot.py +0 -0
  238. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/parse/automaton.py +0 -0
  239. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/parse/denylist.py +0 -0
  240. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/parse/detect.py +0 -0
  241. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/parse/engine.py +0 -0
  242. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/parse/link.py +0 -0
  243. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/parse/result.py +0 -0
  244. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/registry.py +0 -0
  245. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/remote.py +0 -0
  246. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/store/__init__.py +0 -0
  247. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/store/composed_sqlite.py +0 -0
  248. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/store/composite.py +0 -0
  249. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/store/interface.py +0 -0
  250. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/store/merging.py +0 -0
  251. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/store/sqlite_helpers.py +0 -0
  252. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/store/store_view.py +0 -0
  253. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/util/__init__.py +0 -0
  254. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/util/iso_codes.py +0 -0
  255. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/util/normalization.py +0 -0
  256. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/util/sentinel.py +0 -0
  257. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/core/version.py +0 -0
  258. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/diagnostics/__init__.py +0 -0
  259. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/errors/__init__.py +0 -0
  260. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/extensions.py +0 -0
  261. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/__init__.py +0 -0
  262. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/_artifacts.py +0 -0
  263. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/custom/__init__.py +0 -0
  264. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/custom/decision.py +0 -0
  265. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/custom/extractor.py +0 -0
  266. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/custom/features.py +0 -0
  267. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/custom/normalizer.py +0 -0
  268. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/custom/pack.py +0 -0
  269. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/custom/scoring.py +0 -0
  270. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/custom/sources/__init__.py +0 -0
  271. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/custom/sources/exact_code.py +0 -0
  272. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/custom/sources/exact_name.py +0 -0
  273. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/custom/sources/fts.py +0 -0
  274. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/custom/sources/fuzzy.py +0 -0
  275. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/custom/sources/fuzzy_retrieval.py +0 -0
  276. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/geo/__init__.py +0 -0
  277. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/geo/_specificity.py +0 -0
  278. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/geo/build/__init__.py +0 -0
  279. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/geo/build/builder.py +0 -0
  280. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/geo/constraints/__init__.py +0 -0
  281. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/geo/constraints/containment.py +0 -0
  282. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/geo/constraints/membership.py +0 -0
  283. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/geo/constraints/temporal.py +0 -0
  284. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/geo/constraints/type_constraint.py +0 -0
  285. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/geo/data/.gitkeep +0 -0
  286. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/geo/decision.py +0 -0
  287. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/geo/extractor.py +0 -0
  288. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/geo/features.py +0 -0
  289. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/geo/linker.py +0 -0
  290. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/geo/normalizer.py +0 -0
  291. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/geo/pack.py +0 -0
  292. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/geo/routing.py +0 -0
  293. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/geo/scoring.py +0 -0
  294. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/geo/sources/__init__.py +0 -0
  295. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/geo/sources/_short_input.py +0 -0
  296. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/geo/sources/exact_code.py +0 -0
  297. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/geo/sources/exact_name.py +0 -0
  298. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/geo/sources/fts.py +0 -0
  299. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/geo/sources/fuzzy.py +0 -0
  300. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/geo/sources/query_shapes.py +0 -0
  301. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/org/__init__.py +0 -0
  302. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/org/_acronym.py +0 -0
  303. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/org/build/__init__.py +0 -0
  304. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/org/build/builder.py +0 -0
  305. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/org/constraints/__init__.py +0 -0
  306. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/org/constraints/country_relevance.py +0 -0
  307. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/org/constraints/parent_org.py +0 -0
  308. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/org/constraints/temporal.py +0 -0
  309. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/org/constraints/type_constraint.py +0 -0
  310. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/org/data/.gitkeep +0 -0
  311. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/org/decision.py +0 -0
  312. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/org/feature_extractor.py +0 -0
  313. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/org/features.py +0 -0
  314. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/org/linker.py +0 -0
  315. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/org/normalizer.py +0 -0
  316. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/org/pack.py +0 -0
  317. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/org/routing.py +0 -0
  318. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/org/scoring.py +0 -0
  319. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/org/sources/__init__.py +0 -0
  320. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/org/sources/acronym.py +0 -0
  321. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/org/sources/exact_code.py +0 -0
  322. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/org/sources/exact_name.py +0 -0
  323. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/org/sources/fts.py +0 -0
  324. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/org/sources/fuzzy.py +0 -0
  325. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/packs/org/sources/symspell.py +0 -0
  326. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/pandas/__init__.py +0 -0
  327. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/polars/__init__.py +0 -0
  328. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/py.typed +0 -0
  329. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/shared/__init__.py +0 -0
  330. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/shared/build/__init__.py +0 -0
  331. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/shared/build/base_builder.py +0 -0
  332. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/shared/build/schema.py +0 -0
  333. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/shared/constraints/__init__.py +0 -0
  334. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/shared/constraints/temporal_constraint.py +0 -0
  335. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/shared/constraints/type_constraint.py +0 -0
  336. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/shared/scoring_base.py +0 -0
  337. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/shared/sources/__init__.py +0 -0
  338. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/shared/sources/code_helpers.py +0 -0
  339. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/shared/sources/fts_base.py +0 -0
  340. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/shared/sources/fuzzy_base.py +0 -0
  341. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/shared/sources/fuzzy_retrieval_base.py +0 -0
  342. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/shared/sources/fuzzy_retrieval_brute_base.py +0 -0
  343. {resolvekit-0.1.8 → resolvekit-0.1.10}/src/resolvekit/shared/sources/symspell_base.py +0 -0
  344. {resolvekit-0.1.8 → resolvekit-0.1.10}/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.8
3
+ Version: 0.1.10
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
@@ -14,6 +14,7 @@ Classifier: Operating System :: OS Independent
14
14
  Classifier: Programming Language :: Python :: 3
15
15
  Classifier: Programming Language :: Python :: 3.12
16
16
  Classifier: Programming Language :: Python :: 3.13
17
+ Classifier: Programming Language :: Python :: 3.14
17
18
  Classifier: Programming Language :: Python :: 3 :: Only
18
19
  Classifier: Topic :: Scientific/Engineering :: GIS
19
20
  Classifier: Topic :: Scientific/Engineering :: Information Analysis
@@ -49,6 +50,14 @@ Description-Content-Type: text/markdown
49
50
 
50
51
  # resolvekit
51
52
 
53
+ [![PyPI version](https://img.shields.io/pypi/v/resolvekit.svg)](https://pypi.org/project/resolvekit/)
54
+ [![Python versions](https://img.shields.io/pypi/pyversions/resolvekit.svg)](https://pypi.org/project/resolvekit/)
55
+ [![License: MIT](https://img.shields.io/pypi/l/resolvekit.svg)](https://github.com/jm-rivera/resolvekit/blob/main/LICENSE)
56
+ [![Tests](https://github.com/jm-rivera/resolvekit/actions/workflows/test.yml/badge.svg)](https://github.com/jm-rivera/resolvekit/actions/workflows/test.yml)
57
+ [![Docs](https://img.shields.io/badge/docs-jm--rivera.github.io-blue.svg)](https://jm-rivera.github.io/resolvekit/)
58
+ [![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)
59
+ [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
60
+
52
61
  Resolve messy place and entity strings — and codes — to canonical entity IDs, offline and deterministically. Feed it `"Brasil"`, `"Cote dIvoire"`, or `"Republic of Korea"` and get back `country/BRA`, `country/CIV`, `country/KOR`.
53
62
 
54
63
  - **Offline and deterministic.** No network call, no LLM, no external service at resolution time. The same input gives the same output, today and next year.
@@ -1,5 +1,13 @@
1
1
  # resolvekit
2
2
 
3
+ [![PyPI version](https://img.shields.io/pypi/v/resolvekit.svg)](https://pypi.org/project/resolvekit/)
4
+ [![Python versions](https://img.shields.io/pypi/pyversions/resolvekit.svg)](https://pypi.org/project/resolvekit/)
5
+ [![License: MIT](https://img.shields.io/pypi/l/resolvekit.svg)](https://github.com/jm-rivera/resolvekit/blob/main/LICENSE)
6
+ [![Tests](https://github.com/jm-rivera/resolvekit/actions/workflows/test.yml/badge.svg)](https://github.com/jm-rivera/resolvekit/actions/workflows/test.yml)
7
+ [![Docs](https://img.shields.io/badge/docs-jm--rivera.github.io-blue.svg)](https://jm-rivera.github.io/resolvekit/)
8
+ [![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)
9
+ [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
10
+
3
11
  Resolve messy place and entity strings — and codes — to canonical entity IDs, offline and deterministically. Feed it `"Brasil"`, `"Cote dIvoire"`, or `"Republic of Korea"` and get back `country/BRA`, `country/CIV`, `country/KOR`.
4
12
 
5
13
  - **Offline and deterministic.** No network call, no LLM, no external service at resolution time. The same input gives the same output, today and next year.
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "resolvekit"
3
- version = "0.1.8"
3
+ version = "0.1.10"
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
 
@@ -19,6 +19,7 @@ classifiers = [
19
19
  "Programming Language :: Python :: 3",
20
20
  "Programming Language :: Python :: 3.12",
21
21
  "Programming Language :: Python :: 3.13",
22
+ "Programming Language :: Python :: 3.14",
22
23
  "Programming Language :: Python :: 3 :: Only",
23
24
  "Topic :: Scientific/Engineering :: GIS",
24
25
  "Topic :: Scientific/Engineering :: Information Analysis",
@@ -158,6 +159,8 @@ dev = [
158
159
  "ruff>=0.15.12",
159
160
  "ty>=0.0.32",
160
161
  "pandas-stubs>=3.0.0.260204",
162
+ "pandas>=2.0",
163
+ "polars>=1.40.1",
161
164
  ]
162
165
  test = [
163
166
  "pytest>=9.0.3",
@@ -30,14 +30,14 @@
30
30
  "remote_artifacts": {
31
31
  "sqlite": {
32
32
  "url": "https://github.com/jm-rivera/resolvekit/releases/download/data-v2026.06/geo-admin1-entities.sqlite.gz",
33
- "sha256": "74be1278d44329532c920a1e9e16d913a0b5390cb9c6a713322d7a34b5e3dd24",
34
- "gz_sha256": "46d39fb8cb3f2d35c147f78e90c49fb6d14520f8454930db191ab8ec376efd41",
35
- "size_mb": 11.55
33
+ "sha256": "071b8a258e5f5eff94a11be2385c04bbbfc491f7f84783ca92de97fff7d511cc",
34
+ "gz_sha256": "f04a76435a73eb2724bf173e98828a6ccc82594a79877e3c9dc16aa87d287810",
35
+ "size_mb": 11.54
36
36
  },
37
37
  "symspell": {
38
38
  "url": "https://github.com/jm-rivera/resolvekit/releases/download/data-v2026.06/geo-admin1-symspell.dict.gz",
39
39
  "sha256": "eb40c9f872c158e257c9f8acc4b4a1447f7af88790efd9f7600ee0494c2f7f80",
40
- "gz_sha256": "91f3bacaa5d33ba8582e1edcb23e30d9e21cac0dbd6f7d89224d1a2923a266ad",
40
+ "gz_sha256": "5c9e9665bd11f86ecf4c492216b6e4306a68330f5f6df87ad184bfab86bd9882",
41
41
  "size_mb": 0.27
42
42
  }
43
43
  },
@@ -30,13 +30,13 @@
30
30
  "sqlite": {
31
31
  "url": "https://github.com/jm-rivera/resolvekit/releases/download/data-v2026.06/geo-admin2-entities.sqlite.gz",
32
32
  "sha256": "d59a081d1d8b40bec03701bc3d26f6d4098e955e5684bfad1e3f500ca48410a1",
33
- "gz_sha256": "03201a429a725e1eabc488971a13038fea063a9d885be1f583fdc8b270a1f7ac",
33
+ "gz_sha256": "090327d1d16ccfb8f1533acbc1c2a611bbc0992bde0597f74d47be3ffd2301c1",
34
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
38
  "sha256": "efa0292ca63d41a57604757102490c7efa23c0f1fa8f2e7d44b0eb6b61f41253",
39
- "gz_sha256": "f9c8fe69e06d6eaecc2024668f43616ec9381dd469f87b2375208dd2728a4486",
39
+ "gz_sha256": "bb17b33fbd6bdd2f9656588c3134c69699a33d1771eebdbd80725a77f1bbd663",
40
40
  "size_mb": 2.01
41
41
  }
42
42
  },
@@ -31,13 +31,13 @@
31
31
  "sqlite": {
32
32
  "url": "https://github.com/jm-rivera/resolvekit/releases/download/data-v2026.06/geo-admin3-entities.sqlite.gz",
33
33
  "sha256": "534689b2be34ea71bf716ee05a2450e57e615703fb47bf3847b37717989bfe27",
34
- "gz_sha256": "25a904f7d22986f329386c5ab6172850925fc7e35d8575f8f0e2f9cdd97dee0d",
34
+ "gz_sha256": "56ecab90d309a8b5f32ed88af878e4a6fce91ab7a7ad5ba2b515b2215db8f683",
35
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
39
  "sha256": "de37ec12016f845f0e7619ca1ae3add2fdb265a8bd604a1c58533b70c1ace000",
40
- "gz_sha256": "81b8d0f01d06718faad18d3fcc89c2242e61a6c38ca16dc064220d31391abecb",
40
+ "gz_sha256": "f038823ee5fed44f05b8b45fa717e8af20cdb95f4cdcf8751addbee9bef39a40",
41
41
  "size_mb": 2.55
42
42
  }
43
43
  },
@@ -30,13 +30,13 @@
30
30
  "sqlite": {
31
31
  "url": "https://github.com/jm-rivera/resolvekit/releases/download/data-v2026.06/geo-admin4-entities.sqlite.gz",
32
32
  "sha256": "2c4f59eee7e7ba5c411bc929e134529170378be07dee2f0ea8a5a36ced802bfb",
33
- "gz_sha256": "a8e61c14881f4e346eaf084b05c9af7684c86acde7fa6e31f911fdcbc8931e40",
33
+ "gz_sha256": "da49b958bfc86bec16bd43187742629f4b8d5a50af875bf6db0f53a854e873ca",
34
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
38
  "sha256": "ed6ea61439dddf62dcbfb00745c2ac5bb55cf897f1f801dc079b767bd36b3e5f",
39
- "gz_sha256": "d97fa637bcf123960c4daeb15b739ec8907256bf1b44d204057036884503b285",
39
+ "gz_sha256": "c15a3dee16725d1e32f51d5f8130af8a903a36c05346e2988be92f73f5c9372a",
40
40
  "size_mb": 4.65
41
41
  }
42
42
  },
@@ -30,13 +30,13 @@
30
30
  "sqlite": {
31
31
  "url": "https://github.com/jm-rivera/resolvekit/releases/download/data-v2026.06/geo-admin5-entities.sqlite.gz",
32
32
  "sha256": "75b1448c6ed841095b2d86321a0b88afbf43e9787421816d3fc65dc149079b52",
33
- "gz_sha256": "19f30e5f24d16bfda76b44be8393e9cbb2af31713c65fb82ea0d90ea53f59427",
33
+ "gz_sha256": "1165d027814b39cab87b40b4ce5a993c47f0a1ead1c8a0b3a53cea1f8fc1c404",
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
38
  "sha256": "d0f6974c45a47132d72db73deb110eb9383f0a87a1c456fec206ba797817638e",
39
- "gz_sha256": "a8a9342187300ecd825b73c522a01b172f9243e7205aa583a7b732244746b9f8",
39
+ "gz_sha256": "2ac6c08656de7cef88b1229c84405a15a02a2ead79cd590057a3d536c6da64fa",
40
40
  "size_mb": 0.04
41
41
  }
42
42
  },
@@ -30,14 +30,14 @@
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": "06e3a01b92d5f7a90f3e926a0779f77ec4bca1517eb39a0f3353840ed466767a",
34
- "gz_sha256": "c7aa08a48bf46b8b603e04a8f96f9afa7578dc6f7f149ff1171d3976c7f7790e",
33
+ "sha256": "909059ae8c86ecf7d1011a086061e3b81d61bf9c6c30b871db3a1390010c7ca2",
34
+ "gz_sha256": "d225669ea2ca59d97dfeffed89886ab95b6b9f031d1005c980fb89e36339c479",
35
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
39
  "sha256": "bdfbc85e011729e35268d5c799bbc7a5da5fca0b5fb591b069af6ace1975ca32",
40
- "gz_sha256": "a5caf0b166d6b4f294608791ed81d16dbd38234b825034da695d77ba169b39a6",
40
+ "gz_sha256": "a155adfe7c62bef1de11f4a61908b4b9c42f35e9873c6479b1e9c0271be0c3a1",
41
41
  "size_mb": 2.67
42
42
  }
43
43
  },
@@ -10,7 +10,7 @@
10
10
  "fts": "fts5",
11
11
  "symspell": "symspell.dict"
12
12
  },
13
- "build_timestamp": "2026-06-11T11:17:06.470397+00:00",
13
+ "build_timestamp": "2026-06-14T09:07:23.981230+00:00",
14
14
  "source_datasets": [
15
15
  "datacommons"
16
16
  ],
@@ -19,8 +19,8 @@
19
19
  },
20
20
  "description": null,
21
21
  "checksums": {
22
- "sqlite": "e637e063549065af7a6803f3ef1028126b4bcd2bde7432a4f1afebc2d2ed2a21",
23
- "symspell": "7794fa29bc65a790ac0e1579d63c9cfc8d9a8bdd249791d29283caa085751641"
22
+ "sqlite": "8bc1a7a67d2c118aeb0348e8aa3fb12f51c9ade8c62a45afe764b84f85624288",
23
+ "symspell": "4af3c92b484012bc0cbcd147409f8377ffe7bd6b02e501c3ea4d8475250da6dd"
24
24
  },
25
25
  "distribution": "bundled",
26
26
  "remote_artifacts": null,
@@ -33,12 +33,12 @@
33
33
  "base_module_ids": null,
34
34
  "allow_new_entities": false,
35
35
  "quality_metrics": {
36
- "entity_count": 32,
37
- "names_count": 95,
36
+ "entity_count": 33,
37
+ "names_count": 98,
38
38
  "codes_count": 3,
39
39
  "relations_count": 0,
40
40
  "names_coverage": 1.0,
41
- "codes_coverage": 0.03125,
41
+ "codes_coverage": 0.030303030303030304,
42
42
  "relations_density": 0.0
43
43
  }
44
44
  }
@@ -3,6 +3,7 @@
3
3
  (25 1
4
4
  (27 2
5
5
  (28 1
6
+ (ea) 1
6
7
  (eea) 1
7
8
  (eu) 1
8
9
  1986–1995) 1
@@ -16,7 +17,7 @@ a.s.e.a.n. 1
16
17
  african 1
17
18
  african union 1
18
19
  and 2
19
- area 4
20
+ area 5
20
21
  asean 1
21
22
  asian 1
22
23
  assistance 1
@@ -32,9 +33,8 @@ committee 1
32
33
  common 1
33
34
  commonwealth 2
34
35
  commonwealth of nations 1
35
- countries 12
36
+ countries 13
36
37
  dac 1
37
- de 1
38
38
  developed 1
39
39
  developing 2
40
40
  development 3
@@ -43,7 +43,6 @@ economic 4
43
43
  eea 1
44
44
  eight 1
45
45
  eu 1
46
- eu institutions 1
47
46
  eu12 1
48
47
  eu15 1
49
48
  eu25 1
@@ -51,8 +50,9 @@ eu27 1
51
50
  eu27_2007 1
52
51
  eu27_2020 1
53
52
  eu28 1
54
- euro 2
53
+ euro 3
55
54
  euro area 1
55
+ euro area (ea) 1
56
56
  euro zone 1
57
57
  european 11
58
58
  european economic area 1
@@ -88,10 +88,7 @@ high 2
88
88
  high income countries 1
89
89
  high-income 1
90
90
  income 6
91
- institutions 2
92
- institutions de l'ue 1
93
91
  island 1
94
- l'ue 1
95
92
  landlocked 1
96
93
  landlocked developing countries 1
97
94
  ldc 1
@@ -107,6 +104,7 @@ lower 1
107
104
  lower middle income countries 1
108
105
  lower-middle-income 1
109
106
  market 1
107
+ members 1
110
108
  members, 6
111
109
  mercosul 1
112
110
  mercosur 1
@@ -114,6 +112,10 @@ middle 2
114
112
  n.a.t.o. 1
115
113
  nations 3
116
114
  nato 1
115
+ non-dac 3
116
+ non-dac countries 1
117
+ non-dac members 1
118
+ non-dac providers 1
117
119
  north 1
118
120
  north atlantic treaty organization 1
119
121
  o.e.c.d. 1
@@ -131,6 +133,7 @@ organization for economic co-operation and development 1
131
133
  organization of the petroleum exporting countries 1
132
134
  petroleum 2
133
135
  post-brexit) 1
136
+ providers 1
134
137
  schengen 1
135
138
  schengen area 1
136
139
  seven 1
@@ -10,7 +10,7 @@
10
10
  "fts": "fts5",
11
11
  "symspell": "symspell.dict"
12
12
  },
13
- "build_timestamp": "2026-06-07T17:57:36.514718+00:00",
13
+ "build_timestamp": "2026-06-14T08:09:34.182874+00:00",
14
14
  "source_datasets": [
15
15
  "seed"
16
16
  ],
@@ -19,7 +19,7 @@
19
19
  },
20
20
  "description": null,
21
21
  "checksums": {
22
- "sqlite": "3e5efd12f749319d61cdd7554733bee76117176d46fd88ac2523fad938c5c3ec",
22
+ "sqlite": "862e19bb89e083d3a86505377015d769d4b61366c9616c55e4fa3df20d0845de",
23
23
  "symspell": "d61c6ea1750ca00fb06efeb2a40b9b0030562ef6c02f1f23d9277c44e9f569db"
24
24
  },
25
25
  "distribution": "bundled",
@@ -33,12 +33,12 @@
33
33
  "base_module_ids": null,
34
34
  "allow_new_entities": false,
35
35
  "quality_metrics": {
36
- "codes_count": 16,
37
- "codes_coverage": 1.0,
38
- "entity_count": 8,
39
- "names_count": 70,
40
- "names_coverage": 1.0,
36
+ "entity_count": 9,
37
+ "names_count": 71,
38
+ "codes_count": 18,
41
39
  "relations_count": 2,
42
- "relations_density": 0.25
40
+ "names_coverage": 1.0,
41
+ "codes_coverage": 1.0,
42
+ "relations_density": 0.2222222222222222
43
43
  }
44
44
  }
@@ -0,0 +1,7 @@
1
+ {
2
+ "method": "platt",
3
+ "a": -11.57212302560693,
4
+ "b": 8.111533724426694,
5
+ "domain": "geo",
6
+ "fit_n_samples": 12665
7
+ }
@@ -13,7 +13,7 @@
13
13
  "fts": "fts5",
14
14
  "symspell": "symspell.dict"
15
15
  },
16
- "build_timestamp": "2026-06-11T21:35:44.579025+00:00",
16
+ "build_timestamp": "2026-06-14T09:06:59.216025+00:00",
17
17
  "source_datasets": [
18
18
  "datacommons"
19
19
  ],
@@ -23,9 +23,9 @@
23
23
  },
24
24
  "description": null,
25
25
  "checksums": {
26
- "sqlite": "b37f34de8e4f70ff907281424466a759a13505170fef910e25996b2eece479e8",
27
- "symspell": "84a1c9985f13522d95729044cd927b87ac5ac9234514e7654cbe6eaae9195d09",
28
- "calibrator": "81f42e1038c555e4ad6036a842fd4e6ddae1fa94f02fc0cb6dd404cca175e995"
26
+ "sqlite": "09bafabd3f00182cf067884cb64d60c6761bd5400958967d204eae9385c10192",
27
+ "symspell": "a8254c4a5a18e45adf3e30d4b8d239e6c02a9876baff50c05c0d8c8153e1e815",
28
+ "calibrator": "900c09348742718985f3236f270d0cdc2d4941cc38fade9b7310185d6cf845a7"
29
29
  },
30
30
  "distribution": "bundled",
31
31
  "remote_artifacts": null,
@@ -38,12 +38,12 @@
38
38
  "base_module_ids": null,
39
39
  "allow_new_entities": false,
40
40
  "quality_metrics": {
41
- "entity_count": 239,
42
- "names_count": 4327,
43
- "codes_count": 9125,
44
- "relations_count": 1889,
41
+ "entity_count": 241,
42
+ "names_count": 4355,
43
+ "codes_count": 9129,
44
+ "relations_count": 1911,
45
45
  "names_coverage": 1.0,
46
46
  "codes_coverage": 1.0,
47
- "relations_density": 7.903765690376569
47
+ "relations_density": 7.929460580912863
48
48
  }
49
49
  }