resolvekit 0.1.3__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 (341) hide show
  1. {resolvekit-0.1.3 → resolvekit-0.1.4}/PKG-INFO +1 -1
  2. {resolvekit-0.1.3 → resolvekit-0.1.4}/pyproject.toml +1 -1
  3. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/engine/suggest_rank.py +25 -7
  4. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/shared/sources/symspell_base.py +12 -0
  5. {resolvekit-0.1.3 → resolvekit-0.1.4}/LICENSE +0 -0
  6. {resolvekit-0.1.3 → resolvekit-0.1.4}/README.md +0 -0
  7. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/NOTICE.md +0 -0
  8. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/__init__.py +0 -0
  9. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_convenience.py +0 -0
  10. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/geo/admin1/metadata.json +0 -0
  11. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/geo/admin2/metadata.json +0 -0
  12. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/geo/admin3/metadata.json +0 -0
  13. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/geo/admin4/metadata.json +0 -0
  14. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/geo/admin5/metadata.json +0 -0
  15. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/geo/cities/metadata.json +0 -0
  16. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/geo/continental_unions/entities.sqlite +0 -0
  17. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/geo/continental_unions/metadata.json +0 -0
  18. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/geo/continental_unions/symspell.dict +0 -0
  19. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/geo/continents/entities.sqlite +0 -0
  20. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/geo/continents/metadata.json +0 -0
  21. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/geo/continents/symspell.dict +0 -0
  22. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/geo/countries/entities.sqlite +0 -0
  23. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/geo/countries/geo_calibrator.json +0 -0
  24. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/geo/countries/metadata.json +0 -0
  25. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/geo/countries/symspell.dict +0 -0
  26. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/geo/regions/entities.sqlite +0 -0
  27. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/geo/regions/metadata.json +0 -0
  28. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/geo/regions/symspell.dict +0 -0
  29. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/manifest.json +0 -0
  30. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/org/companies/entities.sqlite +0 -0
  31. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/org/companies/metadata.json +0 -0
  32. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/org/companies/symspell.dict +0 -0
  33. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/org/data_sources/entities.sqlite +0 -0
  34. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/org/data_sources/metadata.json +0 -0
  35. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/org/data_sources/symspell.dict +0 -0
  36. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/org/governments/entities.sqlite +0 -0
  37. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/org/governments/metadata.json +0 -0
  38. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/org/governments/symspell.dict +0 -0
  39. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/org/lenders/entities.sqlite +0 -0
  40. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/org/lenders/metadata.json +0 -0
  41. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/org/lenders/symspell.dict +0 -0
  42. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/org/political_parties/entities.sqlite +0 -0
  43. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/org/political_parties/metadata.json +0 -0
  44. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/org/political_parties/symspell.dict +0 -0
  45. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/org/providers/entities.sqlite +0 -0
  46. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/org/providers/metadata.json +0 -0
  47. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/org/providers/symspell.dict +0 -0
  48. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_data/parse/deny_list.json +0 -0
  49. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_pandas_integration.py +0 -0
  50. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/_polars_integration.py +0 -0
  51. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/__init__.py +0 -0
  52. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/_outcomes.py +0 -0
  53. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/api.py +0 -0
  54. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/containment.py +0 -0
  55. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/country_geonames_aliases.py +0 -0
  56. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/datapack_layout.py +0 -0
  57. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/entity_validity.py +0 -0
  58. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/formal_names.py +0 -0
  59. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/geo_shared.py +0 -0
  60. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/groups.py +0 -0
  61. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/inspection.py +0 -0
  62. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/models.py +0 -0
  63. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/module_catalog.py +0 -0
  64. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/oecd_dac.py +0 -0
  65. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/pipeline/__init__.py +0 -0
  66. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/pipeline/build_report.py +0 -0
  67. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/pipeline/changelog.py +0 -0
  68. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/pipeline/chunk.py +0 -0
  69. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/pipeline/contribution.py +0 -0
  70. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/pipeline/core.py +0 -0
  71. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/pipeline/discover.py +0 -0
  72. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/pipeline/enrich.py +0 -0
  73. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/pipeline/geo_staging.py +0 -0
  74. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/pipeline/packaging.py +0 -0
  75. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/pipeline/promote.py +0 -0
  76. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/pipeline/qa.py +0 -0
  77. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/pipeline/reconcile.py +0 -0
  78. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/pipeline/stages.py +0 -0
  79. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/pipeline/types.py +0 -0
  80. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/presets.py +0 -0
  81. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/registry.py +0 -0
  82. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/__init__.py +0 -0
  83. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/datacommons/__init__.py +0 -0
  84. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/datacommons/adapter.py +0 -0
  85. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/datacommons/base_dc_api.py +0 -0
  86. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/datacommons/bundle.py +0 -0
  87. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/datacommons/canonicalize.py +0 -0
  88. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/datacommons/client.py +0 -0
  89. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/datacommons/constants.py +0 -0
  90. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/datacommons/geo/__init__.py +0 -0
  91. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/datacommons/geo/_admin_walk.py +0 -0
  92. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/datacommons/geo/_chunk_callback.py +0 -0
  93. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/datacommons/geo/_geo_regions.py +0 -0
  94. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/datacommons/geo/_ordered_emitter.py +0 -0
  95. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/datacommons/geo/_progress_context.py +0 -0
  96. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/datacommons/geo/_streaming.py +0 -0
  97. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/datacommons/geo/_type_mappings.py +0 -0
  98. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/datacommons/geo/adapter.py +0 -0
  99. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/datacommons/geo/dc_api.py +0 -0
  100. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/datacommons/geo/discovery.py +0 -0
  101. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/datacommons/geo/fetch.py +0 -0
  102. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/datacommons/geo/mappings.py +0 -0
  103. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/datacommons/geo/profile.py +0 -0
  104. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/datacommons/geo/prominence.py +0 -0
  105. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/datacommons/models.py +0 -0
  106. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/datacommons/node.py +0 -0
  107. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/datacommons/org/__init__.py +0 -0
  108. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/datacommons/org/adapter.py +0 -0
  109. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/datacommons/org/dc_api.py +0 -0
  110. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/datacommons/org/discovery.py +0 -0
  111. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/datacommons/org/fetch.py +0 -0
  112. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/datacommons/org/mappings.py +0 -0
  113. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/datacommons/org/profile.py +0 -0
  114. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/datacommons/rows.py +0 -0
  115. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/datacommons/specs.py +0 -0
  116. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/datacommons/text.py +0 -0
  117. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/discovery_events.py +0 -0
  118. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/protocol.py +0 -0
  119. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/seed/__init__.py +0 -0
  120. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/seed/continents.py +0 -0
  121. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/seed/m49.py +0 -0
  122. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/wikidata/__init__.py +0 -0
  123. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/wikidata/aliases.py +0 -0
  124. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sources/wikidata/sitelinks.py +0 -0
  125. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sqlite/__init__.py +0 -0
  126. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sqlite/constants.py +0 -0
  127. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sqlite/context.py +0 -0
  128. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sqlite/diff.py +0 -0
  129. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sqlite/export.py +0 -0
  130. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sqlite/specs.py +0 -0
  131. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sqlite/validate.py +0 -0
  132. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/sqlite/write.py +0 -0
  133. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/state.py +0 -0
  134. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/builder/utils.py +0 -0
  135. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/calibration/__init__.py +0 -0
  136. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/calibration/adapters/__init__.py +0 -0
  137. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/calibration/adapters/_cldr_source.py +0 -0
  138. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/calibration/adapters/_latin_filter.py +0 -0
  139. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/calibration/adapters/_wikidata_client.py +0 -0
  140. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/calibration/adapters/cldr.py +0 -0
  141. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/calibration/adapters/geonames.py +0 -0
  142. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/calibration/adapters/multilingual_names.py +0 -0
  143. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/calibration/adapters/synthetic.py +0 -0
  144. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/calibration/adapters/wikidata.py +0 -0
  145. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/calibration/dataset.py +0 -0
  146. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/calibration/evaluation.py +0 -0
  147. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/calibration/fitting.py +0 -0
  148. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/calibration/models.py +0 -0
  149. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/calibration/scoring_model.py +0 -0
  150. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/calibration/train.py +0 -0
  151. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/calibration/vectorize.py +0 -0
  152. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/__init__.py +0 -0
  153. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/api/__init__.py +0 -0
  154. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/api/_byod.py +0 -0
  155. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/api/_pivot.py +0 -0
  156. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/api/batch.py +0 -0
  157. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/api/bulk.py +0 -0
  158. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/api/cache.py +0 -0
  159. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/api/code_lookup.py +0 -0
  160. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/api/containment_api.py +0 -0
  161. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/api/context_input.py +0 -0
  162. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/api/diagnostics.py +0 -0
  163. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/api/entity_lookup.py +0 -0
  164. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/api/group_api.py +0 -0
  165. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/api/info.py +0 -0
  166. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/api/inspect.py +0 -0
  167. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/api/loading/__init__.py +0 -0
  168. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/api/loading/module_catalog.py +0 -0
  169. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/api/loading/pack_loader.py +0 -0
  170. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/api/loading/paths.py +0 -0
  171. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/api/loading/store_builder.py +0 -0
  172. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/api/modules.py +0 -0
  173. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/api/output_spec.py +0 -0
  174. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/api/output_view.py +0 -0
  175. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/api/query_prep.py +0 -0
  176. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/api/resolve_flow.py +0 -0
  177. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/api/resolver.py +0 -0
  178. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/api/snap.py +0 -0
  179. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/api/suggest_flow.py +0 -0
  180. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/byod/__init__.py +0 -0
  181. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/byod/build.py +0 -0
  182. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/byod/builder.py +0 -0
  183. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/byod/cache.py +0 -0
  184. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/byod/intake.py +0 -0
  185. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/byod/result.py +0 -0
  186. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/config.py +0 -0
  187. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/datapack.py +0 -0
  188. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/download_api.py +0 -0
  189. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/engine/__init__.py +0 -0
  190. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/engine/_stages.py +0 -0
  191. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/engine/config.py +0 -0
  192. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/engine/decision.py +0 -0
  193. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/engine/enrichment.py +0 -0
  194. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/engine/interfaces.py +0 -0
  195. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/engine/multi_runner.py +0 -0
  196. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/engine/router.py +0 -0
  197. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/engine/runner.py +0 -0
  198. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/engine/tier_utils.py +0 -0
  199. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/errors.py +0 -0
  200. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/errors_base.py +0 -0
  201. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/explain/__init__.py +0 -0
  202. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/explain/events.py +0 -0
  203. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/explain/feature_text.py +0 -0
  204. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/explain/helpers.py +0 -0
  205. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/explain/protocol.py +0 -0
  206. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/explain/renderers.py +0 -0
  207. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/explain/result_html.py +0 -0
  208. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/explain/result_types.py +0 -0
  209. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/explain/scorecard.py +0 -0
  210. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/explain/sink.py +0 -0
  211. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/linking/__init__.py +0 -0
  212. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/linking/base_linker.py +0 -0
  213. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/linking/base_normalizer.py +0 -0
  214. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/linking/linker.py +0 -0
  215. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/linking/normalizer.py +0 -0
  216. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/merge.py +0 -0
  217. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/model/__init__.py +0 -0
  218. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/model/_repr.py +0 -0
  219. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/model/bulk_result.py +0 -0
  220. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/model/candidate.py +0 -0
  221. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/model/crosswalk.py +0 -0
  222. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/model/entity.py +0 -0
  223. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/model/entity_attributes.py +0 -0
  224. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/model/features.py +0 -0
  225. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/model/generation.py +0 -0
  226. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/model/inspection.py +0 -0
  227. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/model/name_grammar.py +0 -0
  228. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/model/query.py +0 -0
  229. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/model/result.py +0 -0
  230. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/module_registry.py +0 -0
  231. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/overlay_loader.py +0 -0
  232. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/parse/__init__.py +0 -0
  233. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/parse/_pivot.py +0 -0
  234. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/parse/automaton.py +0 -0
  235. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/parse/denylist.py +0 -0
  236. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/parse/detect.py +0 -0
  237. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/parse/engine.py +0 -0
  238. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/parse/link.py +0 -0
  239. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/parse/offsets.py +0 -0
  240. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/parse/result.py +0 -0
  241. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/registry.py +0 -0
  242. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/remote.py +0 -0
  243. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/store/__init__.py +0 -0
  244. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/store/composed_sqlite.py +0 -0
  245. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/store/composite.py +0 -0
  246. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/store/interface.py +0 -0
  247. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/store/merging.py +0 -0
  248. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/store/sqlite.py +0 -0
  249. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/store/sqlite_helpers.py +0 -0
  250. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/store/store_view.py +0 -0
  251. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/util/__init__.py +0 -0
  252. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/util/iso_codes.py +0 -0
  253. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/util/normalization.py +0 -0
  254. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/util/sentinel.py +0 -0
  255. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/core/version.py +0 -0
  256. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/diagnostics/__init__.py +0 -0
  257. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/errors/__init__.py +0 -0
  258. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/extensions.py +0 -0
  259. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/__init__.py +0 -0
  260. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/_artifacts.py +0 -0
  261. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/custom/__init__.py +0 -0
  262. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/custom/decision.py +0 -0
  263. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/custom/extractor.py +0 -0
  264. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/custom/features.py +0 -0
  265. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/custom/normalizer.py +0 -0
  266. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/custom/pack.py +0 -0
  267. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/custom/scoring.py +0 -0
  268. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/custom/sources/__init__.py +0 -0
  269. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/custom/sources/exact_code.py +0 -0
  270. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/custom/sources/exact_name.py +0 -0
  271. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/custom/sources/fts.py +0 -0
  272. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/custom/sources/fuzzy.py +0 -0
  273. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/geo/__init__.py +0 -0
  274. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/geo/_specificity.py +0 -0
  275. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/geo/build/__init__.py +0 -0
  276. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/geo/build/builder.py +0 -0
  277. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/geo/constraints/__init__.py +0 -0
  278. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/geo/constraints/containment.py +0 -0
  279. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/geo/constraints/membership.py +0 -0
  280. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/geo/constraints/temporal.py +0 -0
  281. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/geo/constraints/type_constraint.py +0 -0
  282. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/geo/data/.gitkeep +0 -0
  283. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/geo/decision.py +0 -0
  284. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/geo/extractor.py +0 -0
  285. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/geo/features.py +0 -0
  286. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/geo/linker.py +0 -0
  287. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/geo/normalizer.py +0 -0
  288. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/geo/pack.py +0 -0
  289. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/geo/routing.py +0 -0
  290. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/geo/scoring.py +0 -0
  291. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/geo/sources/__init__.py +0 -0
  292. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/geo/sources/_short_input.py +0 -0
  293. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/geo/sources/exact_code.py +0 -0
  294. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/geo/sources/exact_name.py +0 -0
  295. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/geo/sources/fts.py +0 -0
  296. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/geo/sources/fuzzy.py +0 -0
  297. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/geo/sources/fuzzy_retrieval.py +0 -0
  298. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/geo/sources/query_shapes.py +0 -0
  299. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/geo/sources/symspell.py +0 -0
  300. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/org/__init__.py +0 -0
  301. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/org/_acronym.py +0 -0
  302. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/org/build/__init__.py +0 -0
  303. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/org/build/builder.py +0 -0
  304. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/org/constraints/__init__.py +0 -0
  305. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/org/constraints/country_relevance.py +0 -0
  306. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/org/constraints/parent_org.py +0 -0
  307. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/org/constraints/temporal.py +0 -0
  308. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/org/constraints/type_constraint.py +0 -0
  309. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/org/data/.gitkeep +0 -0
  310. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/org/decision.py +0 -0
  311. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/org/feature_extractor.py +0 -0
  312. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/org/features.py +0 -0
  313. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/org/linker.py +0 -0
  314. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/org/normalizer.py +0 -0
  315. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/org/pack.py +0 -0
  316. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/org/routing.py +0 -0
  317. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/org/scoring.py +0 -0
  318. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/org/sources/__init__.py +0 -0
  319. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/org/sources/acronym.py +0 -0
  320. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/org/sources/exact_code.py +0 -0
  321. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/org/sources/exact_name.py +0 -0
  322. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/org/sources/fts.py +0 -0
  323. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/org/sources/fuzzy.py +0 -0
  324. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/packs/org/sources/symspell.py +0 -0
  325. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/pandas/__init__.py +0 -0
  326. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/polars/__init__.py +0 -0
  327. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/py.typed +0 -0
  328. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/shared/__init__.py +0 -0
  329. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/shared/build/__init__.py +0 -0
  330. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/shared/build/base_builder.py +0 -0
  331. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/shared/build/schema.py +0 -0
  332. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/shared/constraints/__init__.py +0 -0
  333. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/shared/constraints/temporal_constraint.py +0 -0
  334. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/shared/constraints/type_constraint.py +0 -0
  335. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/shared/scoring_base.py +0 -0
  336. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/shared/sources/__init__.py +0 -0
  337. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/shared/sources/code_helpers.py +0 -0
  338. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/shared/sources/fts_base.py +0 -0
  339. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/shared/sources/fuzzy_base.py +0 -0
  340. {resolvekit-0.1.3 → resolvekit-0.1.4}/src/resolvekit/shared/sources/fuzzy_retrieval_base.py +0 -0
  341. {resolvekit-0.1.3 → 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.3
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.3"
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
 
@@ -49,15 +49,26 @@ PROMINENCE_LIVE_TYPE_PREFIXES: Final[frozenset[str]] = frozenset(
49
49
  "geo.subregion",
50
50
  "geo.region",
51
51
  "geo.continental_union",
52
- # City and admin2 tiers gain live Wikidata sitelink / DC population
53
- # prominence once the full geo build includes those tiers. The prefix
54
- # is added here so ``ranking_quality`` reports ``"ranked"`` as soon as
55
- # the data ships, without a follow-on code change.
52
+ # City and all sub-country admin tiers carry live prominence in the
53
+ # shipped remote packs (Wikidata sitelinks with DC population
54
+ # fallback for admin3/admin4).
56
55
  "geo.city",
56
+ "geo.admin1",
57
57
  "geo.admin2",
58
+ "geo.admin3",
59
+ "geo.admin4",
60
+ "geo.admin5",
58
61
  }
59
62
  )
60
63
 
64
+ # Prominence floor for the exact-match lift on prominence-ranked tiers. An
65
+ # exact full-name hit from a ranked tier below this floor loses its lift: an
66
+ # obscure place whose name merely coincides with the prefix ("Germ", a French
67
+ # commune) must not outrank a famous completion ("Germany"). Unranked tiers
68
+ # (orgs — no prominence data) always keep the lift, so typed acronyms ("UN",
69
+ # "NATO") still surface first.
70
+ EXACT_MATCH_MIN_PROMINENCE: Final[float] = 0.3
71
+
61
72
  # Numeric rank for each MatchClass (lower = better).
62
73
  MATCH_CLASS_RANK: Final[dict[MatchClass, int]] = {
63
74
  MatchClass.EXACT_PREFIX: 0,
@@ -143,15 +154,22 @@ def sort_key(
143
154
  ``exact_match_rank`` is 0 when the user's query equals the matched name in
144
155
  full (``exact_match=True``) and 1 otherwise. This lifts entities whose
145
156
  complete short name was typed (e.g. "EU", "NATO") above longer-named
146
- entities that merely *start with* those letters, even when those entities
147
- carry higher prominence scores.
157
+ entities that merely *start with* those letters with one exception:
158
+ a candidate from a prominence-ranked tier whose prominence falls below
159
+ ``EXACT_MATCH_MIN_PROMINENCE`` loses the lift, so an obscure place whose
160
+ full name coincides with the prefix ("Germ") cannot outrank a famous
161
+ completion ("Germany"). Unranked tiers always keep the lift.
148
162
 
149
163
  The final ``entity_id`` field gives a total order so that equal inputs
150
164
  always produce the same sequence.
151
165
  """
166
+ exact_lift = c.exact_match and (
167
+ ranking_quality(c.entity_type) == "unranked"
168
+ or c.prominence >= EXACT_MATCH_MIN_PROMINENCE
169
+ )
152
170
  return (
153
171
  MATCH_CLASS_RANK[c.match_class],
154
- 0 if c.exact_match else 1,
172
+ 0 if exact_lift else 1,
155
173
  c.typo_count,
156
174
  -c.prominence,
157
175
  c.name_kind_rank,
@@ -34,6 +34,13 @@ SYMSPELL_BASE_SCORE = 0.9
34
34
  SYMSPELL_DISTANCE_PENALTY = 0.15
35
35
  SYMSPELL_MIN_SCORE = 0.5
36
36
 
37
+ # Queries this short get a tighter edit-distance bound: two edits in a ≤6-char
38
+ # string rewrite a third of it, which surfaces unrelated short names as
39
+ # candidates ("paris" → "moris"/Mauritius at distance 2) rather than fixing
40
+ # typos. Longer queries keep the source's configured max distance.
41
+ SYMSPELL_SHORT_QUERY_MAX_LENGTH = 6
42
+ SYMSPELL_SHORT_QUERY_MAX_DISTANCE = 1
43
+
37
44
  # Temp cache files older than this are presumed leaked by a crashed writer and
38
45
  # safe to reap; live builds finish in seconds.
39
46
  _STALE_TMP_AGE_SECONDS = 3600.0
@@ -645,6 +652,11 @@ class SymSpellSource(CandidateSource):
645
652
  edit_distance = suggestion.distance
646
653
  if corrected == text_norm:
647
654
  continue
655
+ if (
656
+ len(text_norm) <= SYMSPELL_SHORT_QUERY_MAX_LENGTH
657
+ and edit_distance > SYMSPELL_SHORT_QUERY_MAX_DISTANCE
658
+ ):
659
+ continue
648
660
  entity_ids = store.lookup_name_exact(corrected, name_kinds=self._name_kinds)
649
661
  for entity_id in entity_ids:
650
662
  rank += 1
File without changes
File without changes