bnc-lookup 1.0.5__py3-none-any.whl

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 (263) hide show
  1. bnc_lookup/__init__.py +5 -0
  2. bnc_lookup/find_bnc.py +49 -0
  3. bnc_lookup/hs/__init__.py +519 -0
  4. bnc_lookup/hs/h_00.py +2549 -0
  5. bnc_lookup/hs/h_01.py +2645 -0
  6. bnc_lookup/hs/h_02.py +2650 -0
  7. bnc_lookup/hs/h_03.py +2578 -0
  8. bnc_lookup/hs/h_04.py +2724 -0
  9. bnc_lookup/hs/h_05.py +2570 -0
  10. bnc_lookup/hs/h_06.py +2631 -0
  11. bnc_lookup/hs/h_07.py +2637 -0
  12. bnc_lookup/hs/h_08.py +2526 -0
  13. bnc_lookup/hs/h_09.py +2680 -0
  14. bnc_lookup/hs/h_0a.py +2602 -0
  15. bnc_lookup/hs/h_0b.py +2634 -0
  16. bnc_lookup/hs/h_0c.py +2653 -0
  17. bnc_lookup/hs/h_0d.py +2534 -0
  18. bnc_lookup/hs/h_0e.py +2603 -0
  19. bnc_lookup/hs/h_0f.py +2550 -0
  20. bnc_lookup/hs/h_10.py +2645 -0
  21. bnc_lookup/hs/h_11.py +2644 -0
  22. bnc_lookup/hs/h_12.py +2647 -0
  23. bnc_lookup/hs/h_13.py +2538 -0
  24. bnc_lookup/hs/h_14.py +2569 -0
  25. bnc_lookup/hs/h_15.py +2638 -0
  26. bnc_lookup/hs/h_16.py +2573 -0
  27. bnc_lookup/hs/h_17.py +2582 -0
  28. bnc_lookup/hs/h_18.py +2637 -0
  29. bnc_lookup/hs/h_19.py +2608 -0
  30. bnc_lookup/hs/h_1a.py +2625 -0
  31. bnc_lookup/hs/h_1b.py +2623 -0
  32. bnc_lookup/hs/h_1c.py +2601 -0
  33. bnc_lookup/hs/h_1d.py +2639 -0
  34. bnc_lookup/hs/h_1e.py +2654 -0
  35. bnc_lookup/hs/h_1f.py +2553 -0
  36. bnc_lookup/hs/h_20.py +2620 -0
  37. bnc_lookup/hs/h_21.py +2595 -0
  38. bnc_lookup/hs/h_22.py +2596 -0
  39. bnc_lookup/hs/h_23.py +2639 -0
  40. bnc_lookup/hs/h_24.py +2575 -0
  41. bnc_lookup/hs/h_25.py +2624 -0
  42. bnc_lookup/hs/h_26.py +2606 -0
  43. bnc_lookup/hs/h_27.py +2641 -0
  44. bnc_lookup/hs/h_28.py +2679 -0
  45. bnc_lookup/hs/h_29.py +2616 -0
  46. bnc_lookup/hs/h_2a.py +2571 -0
  47. bnc_lookup/hs/h_2b.py +2660 -0
  48. bnc_lookup/hs/h_2c.py +2638 -0
  49. bnc_lookup/hs/h_2d.py +2698 -0
  50. bnc_lookup/hs/h_2e.py +2660 -0
  51. bnc_lookup/hs/h_2f.py +2581 -0
  52. bnc_lookup/hs/h_30.py +2743 -0
  53. bnc_lookup/hs/h_31.py +2607 -0
  54. bnc_lookup/hs/h_32.py +2605 -0
  55. bnc_lookup/hs/h_33.py +2624 -0
  56. bnc_lookup/hs/h_34.py +2463 -0
  57. bnc_lookup/hs/h_35.py +2699 -0
  58. bnc_lookup/hs/h_36.py +2668 -0
  59. bnc_lookup/hs/h_37.py +2683 -0
  60. bnc_lookup/hs/h_38.py +2467 -0
  61. bnc_lookup/hs/h_39.py +2621 -0
  62. bnc_lookup/hs/h_3a.py +2613 -0
  63. bnc_lookup/hs/h_3b.py +2607 -0
  64. bnc_lookup/hs/h_3c.py +2558 -0
  65. bnc_lookup/hs/h_3d.py +2698 -0
  66. bnc_lookup/hs/h_3e.py +2578 -0
  67. bnc_lookup/hs/h_3f.py +2576 -0
  68. bnc_lookup/hs/h_40.py +2680 -0
  69. bnc_lookup/hs/h_41.py +2712 -0
  70. bnc_lookup/hs/h_42.py +2615 -0
  71. bnc_lookup/hs/h_43.py +2624 -0
  72. bnc_lookup/hs/h_44.py +2605 -0
  73. bnc_lookup/hs/h_45.py +2642 -0
  74. bnc_lookup/hs/h_46.py +2597 -0
  75. bnc_lookup/hs/h_47.py +2580 -0
  76. bnc_lookup/hs/h_48.py +2588 -0
  77. bnc_lookup/hs/h_49.py +2553 -0
  78. bnc_lookup/hs/h_4a.py +2644 -0
  79. bnc_lookup/hs/h_4b.py +2593 -0
  80. bnc_lookup/hs/h_4c.py +2656 -0
  81. bnc_lookup/hs/h_4d.py +2475 -0
  82. bnc_lookup/hs/h_4e.py +2690 -0
  83. bnc_lookup/hs/h_4f.py +2659 -0
  84. bnc_lookup/hs/h_50.py +2658 -0
  85. bnc_lookup/hs/h_51.py +2625 -0
  86. bnc_lookup/hs/h_52.py +2616 -0
  87. bnc_lookup/hs/h_53.py +2555 -0
  88. bnc_lookup/hs/h_54.py +2642 -0
  89. bnc_lookup/hs/h_55.py +2631 -0
  90. bnc_lookup/hs/h_56.py +2615 -0
  91. bnc_lookup/hs/h_57.py +2653 -0
  92. bnc_lookup/hs/h_58.py +2657 -0
  93. bnc_lookup/hs/h_59.py +2687 -0
  94. bnc_lookup/hs/h_5a.py +2545 -0
  95. bnc_lookup/hs/h_5b.py +2683 -0
  96. bnc_lookup/hs/h_5c.py +2621 -0
  97. bnc_lookup/hs/h_5d.py +2621 -0
  98. bnc_lookup/hs/h_5e.py +2571 -0
  99. bnc_lookup/hs/h_5f.py +2680 -0
  100. bnc_lookup/hs/h_60.py +2633 -0
  101. bnc_lookup/hs/h_61.py +2652 -0
  102. bnc_lookup/hs/h_62.py +2680 -0
  103. bnc_lookup/hs/h_63.py +2651 -0
  104. bnc_lookup/hs/h_64.py +2635 -0
  105. bnc_lookup/hs/h_65.py +2625 -0
  106. bnc_lookup/hs/h_66.py +2588 -0
  107. bnc_lookup/hs/h_67.py +2532 -0
  108. bnc_lookup/hs/h_68.py +2702 -0
  109. bnc_lookup/hs/h_69.py +2536 -0
  110. bnc_lookup/hs/h_6a.py +2717 -0
  111. bnc_lookup/hs/h_6b.py +2601 -0
  112. bnc_lookup/hs/h_6c.py +2661 -0
  113. bnc_lookup/hs/h_6d.py +2550 -0
  114. bnc_lookup/hs/h_6e.py +2660 -0
  115. bnc_lookup/hs/h_6f.py +2611 -0
  116. bnc_lookup/hs/h_70.py +2673 -0
  117. bnc_lookup/hs/h_71.py +2591 -0
  118. bnc_lookup/hs/h_72.py +2661 -0
  119. bnc_lookup/hs/h_73.py +2652 -0
  120. bnc_lookup/hs/h_74.py +2689 -0
  121. bnc_lookup/hs/h_75.py +2569 -0
  122. bnc_lookup/hs/h_76.py +2561 -0
  123. bnc_lookup/hs/h_77.py +2621 -0
  124. bnc_lookup/hs/h_78.py +2691 -0
  125. bnc_lookup/hs/h_79.py +2596 -0
  126. bnc_lookup/hs/h_7a.py +2564 -0
  127. bnc_lookup/hs/h_7b.py +2609 -0
  128. bnc_lookup/hs/h_7c.py +2649 -0
  129. bnc_lookup/hs/h_7d.py +2679 -0
  130. bnc_lookup/hs/h_7e.py +2625 -0
  131. bnc_lookup/hs/h_7f.py +2662 -0
  132. bnc_lookup/hs/h_80.py +2682 -0
  133. bnc_lookup/hs/h_81.py +2614 -0
  134. bnc_lookup/hs/h_82.py +2573 -0
  135. bnc_lookup/hs/h_83.py +2735 -0
  136. bnc_lookup/hs/h_84.py +2638 -0
  137. bnc_lookup/hs/h_85.py +2600 -0
  138. bnc_lookup/hs/h_86.py +2602 -0
  139. bnc_lookup/hs/h_87.py +2566 -0
  140. bnc_lookup/hs/h_88.py +2616 -0
  141. bnc_lookup/hs/h_89.py +2603 -0
  142. bnc_lookup/hs/h_8a.py +2592 -0
  143. bnc_lookup/hs/h_8b.py +2692 -0
  144. bnc_lookup/hs/h_8c.py +2594 -0
  145. bnc_lookup/hs/h_8d.py +2565 -0
  146. bnc_lookup/hs/h_8e.py +2615 -0
  147. bnc_lookup/hs/h_8f.py +2634 -0
  148. bnc_lookup/hs/h_90.py +2622 -0
  149. bnc_lookup/hs/h_91.py +2614 -0
  150. bnc_lookup/hs/h_92.py +2596 -0
  151. bnc_lookup/hs/h_93.py +2620 -0
  152. bnc_lookup/hs/h_94.py +2591 -0
  153. bnc_lookup/hs/h_95.py +2599 -0
  154. bnc_lookup/hs/h_96.py +2538 -0
  155. bnc_lookup/hs/h_97.py +2681 -0
  156. bnc_lookup/hs/h_98.py +2655 -0
  157. bnc_lookup/hs/h_99.py +2519 -0
  158. bnc_lookup/hs/h_9a.py +2647 -0
  159. bnc_lookup/hs/h_9b.py +2593 -0
  160. bnc_lookup/hs/h_9c.py +2622 -0
  161. bnc_lookup/hs/h_9d.py +2695 -0
  162. bnc_lookup/hs/h_9e.py +2728 -0
  163. bnc_lookup/hs/h_9f.py +2568 -0
  164. bnc_lookup/hs/h_a0.py +2758 -0
  165. bnc_lookup/hs/h_a1.py +2587 -0
  166. bnc_lookup/hs/h_a2.py +2549 -0
  167. bnc_lookup/hs/h_a3.py +2616 -0
  168. bnc_lookup/hs/h_a4.py +2552 -0
  169. bnc_lookup/hs/h_a5.py +2562 -0
  170. bnc_lookup/hs/h_a6.py +2676 -0
  171. bnc_lookup/hs/h_a7.py +2625 -0
  172. bnc_lookup/hs/h_a8.py +2636 -0
  173. bnc_lookup/hs/h_a9.py +2555 -0
  174. bnc_lookup/hs/h_aa.py +2614 -0
  175. bnc_lookup/hs/h_ab.py +2636 -0
  176. bnc_lookup/hs/h_ac.py +2530 -0
  177. bnc_lookup/hs/h_ad.py +2529 -0
  178. bnc_lookup/hs/h_ae.py +2549 -0
  179. bnc_lookup/hs/h_af.py +2617 -0
  180. bnc_lookup/hs/h_b0.py +2625 -0
  181. bnc_lookup/hs/h_b1.py +2588 -0
  182. bnc_lookup/hs/h_b2.py +2655 -0
  183. bnc_lookup/hs/h_b3.py +2631 -0
  184. bnc_lookup/hs/h_b4.py +2690 -0
  185. bnc_lookup/hs/h_b5.py +2610 -0
  186. bnc_lookup/hs/h_b6.py +2677 -0
  187. bnc_lookup/hs/h_b7.py +2716 -0
  188. bnc_lookup/hs/h_b8.py +2668 -0
  189. bnc_lookup/hs/h_b9.py +2600 -0
  190. bnc_lookup/hs/h_ba.py +2578 -0
  191. bnc_lookup/hs/h_bb.py +2690 -0
  192. bnc_lookup/hs/h_bc.py +2594 -0
  193. bnc_lookup/hs/h_bd.py +2620 -0
  194. bnc_lookup/hs/h_be.py +2684 -0
  195. bnc_lookup/hs/h_bf.py +2657 -0
  196. bnc_lookup/hs/h_c0.py +2691 -0
  197. bnc_lookup/hs/h_c1.py +2694 -0
  198. bnc_lookup/hs/h_c2.py +2594 -0
  199. bnc_lookup/hs/h_c3.py +2600 -0
  200. bnc_lookup/hs/h_c4.py +2545 -0
  201. bnc_lookup/hs/h_c5.py +2610 -0
  202. bnc_lookup/hs/h_c6.py +2676 -0
  203. bnc_lookup/hs/h_c7.py +2664 -0
  204. bnc_lookup/hs/h_c8.py +2626 -0
  205. bnc_lookup/hs/h_c9.py +2552 -0
  206. bnc_lookup/hs/h_ca.py +2497 -0
  207. bnc_lookup/hs/h_cb.py +2692 -0
  208. bnc_lookup/hs/h_cc.py +2649 -0
  209. bnc_lookup/hs/h_cd.py +2496 -0
  210. bnc_lookup/hs/h_ce.py +2637 -0
  211. bnc_lookup/hs/h_cf.py +2666 -0
  212. bnc_lookup/hs/h_d0.py +2592 -0
  213. bnc_lookup/hs/h_d1.py +2634 -0
  214. bnc_lookup/hs/h_d2.py +2628 -0
  215. bnc_lookup/hs/h_d3.py +2692 -0
  216. bnc_lookup/hs/h_d4.py +2608 -0
  217. bnc_lookup/hs/h_d5.py +2581 -0
  218. bnc_lookup/hs/h_d6.py +2618 -0
  219. bnc_lookup/hs/h_d7.py +2690 -0
  220. bnc_lookup/hs/h_d8.py +2600 -0
  221. bnc_lookup/hs/h_d9.py +2623 -0
  222. bnc_lookup/hs/h_da.py +2611 -0
  223. bnc_lookup/hs/h_db.py +2675 -0
  224. bnc_lookup/hs/h_dc.py +2557 -0
  225. bnc_lookup/hs/h_dd.py +2565 -0
  226. bnc_lookup/hs/h_de.py +2568 -0
  227. bnc_lookup/hs/h_df.py +2726 -0
  228. bnc_lookup/hs/h_e0.py +2531 -0
  229. bnc_lookup/hs/h_e1.py +2505 -0
  230. bnc_lookup/hs/h_e2.py +2600 -0
  231. bnc_lookup/hs/h_e3.py +2546 -0
  232. bnc_lookup/hs/h_e4.py +2615 -0
  233. bnc_lookup/hs/h_e5.py +2609 -0
  234. bnc_lookup/hs/h_e6.py +2610 -0
  235. bnc_lookup/hs/h_e7.py +2689 -0
  236. bnc_lookup/hs/h_e8.py +2527 -0
  237. bnc_lookup/hs/h_e9.py +2561 -0
  238. bnc_lookup/hs/h_ea.py +2599 -0
  239. bnc_lookup/hs/h_eb.py +2685 -0
  240. bnc_lookup/hs/h_ec.py +2742 -0
  241. bnc_lookup/hs/h_ed.py +2683 -0
  242. bnc_lookup/hs/h_ee.py +2576 -0
  243. bnc_lookup/hs/h_ef.py +2644 -0
  244. bnc_lookup/hs/h_f0.py +2689 -0
  245. bnc_lookup/hs/h_f1.py +2646 -0
  246. bnc_lookup/hs/h_f2.py +2528 -0
  247. bnc_lookup/hs/h_f3.py +2665 -0
  248. bnc_lookup/hs/h_f4.py +2627 -0
  249. bnc_lookup/hs/h_f5.py +2682 -0
  250. bnc_lookup/hs/h_f6.py +2598 -0
  251. bnc_lookup/hs/h_f7.py +2664 -0
  252. bnc_lookup/hs/h_f8.py +2623 -0
  253. bnc_lookup/hs/h_f9.py +2557 -0
  254. bnc_lookup/hs/h_fa.py +2621 -0
  255. bnc_lookup/hs/h_fb.py +2658 -0
  256. bnc_lookup/hs/h_fc.py +2667 -0
  257. bnc_lookup/hs/h_fd.py +2578 -0
  258. bnc_lookup/hs/h_fe.py +2656 -0
  259. bnc_lookup/hs/h_ff.py +2782 -0
  260. bnc_lookup-1.0.5.dist-info/LICENSE +46 -0
  261. bnc_lookup-1.0.5.dist-info/METADATA +169 -0
  262. bnc_lookup-1.0.5.dist-info/RECORD +263 -0
  263. bnc_lookup-1.0.5.dist-info/WHEEL +4 -0
@@ -0,0 +1,46 @@
1
+ BNC-LOOKUP LICENSE
2
+
3
+ This package contains two components with different licenses:
4
+
5
+ ===============================================================================
6
+ 1. SOFTWARE LICENSE (MIT)
7
+ ===============================================================================
8
+
9
+ Copyright (c) 2026 Craig Trim
10
+
11
+ Permission is hereby granted, free of charge, to any person obtaining a copy
12
+ of this software and associated documentation files (the "Software"), to deal
13
+ in the Software without restriction, including without limitation the rights
14
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15
+ copies of the Software, and to permit persons to whom the Software is
16
+ furnished to do so, subject to the following conditions:
17
+
18
+ The above copyright notice and this permission notice shall be included in all
19
+ copies or substantial portions of the Software.
20
+
21
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27
+ SOFTWARE.
28
+
29
+ ===============================================================================
30
+ 2. BNC DATA LICENSE
31
+ ===============================================================================
32
+
33
+ This package contains data derived from the British National Corpus frequency
34
+ lists compiled by Adam Kilgarriff.
35
+
36
+ Source: https://www.kilgarriff.co.uk/BNClists/all.num.gz
37
+
38
+ The British National Corpus, version 3 (BNC XML Edition). 2007. Distributed by
39
+ Bodleian Libraries, University of Oxford, on behalf of the BNC Consortium.
40
+
41
+ The BNC frequency data is used in accordance with standard academic citation
42
+ practices. Users of this package should cite the BNC appropriately in any
43
+ published work.
44
+
45
+ For licensing information regarding the full British National Corpus, see:
46
+ http://www.natcorp.ox.ac.uk/corpus/licence.html
@@ -0,0 +1,169 @@
1
+ Metadata-Version: 2.1
2
+ Name: bnc-lookup
3
+ Version: 1.0.5
4
+ Summary: Static Hash-Based Lookup for BNC Terms
5
+ Home-page: https://github.com/craigtrim/bnc-lookup
6
+ License: MIT
7
+ Keywords: bnc,lexicon,nlp,natural-language-processing,dictionary,vocabulary,validation,linguistics
8
+ Author: Craig Trim
9
+ Author-email: craigtrim@gmail.com
10
+ Maintainer: Craig Trim
11
+ Maintainer-email: craigtrim@gmail.com
12
+ Requires-Python: >=3.7,<4.0
13
+ Classifier: Development Status :: 4 - Beta
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: Intended Audience :: Science/Research
16
+ Classifier: License :: OSI Approved :: MIT License
17
+ Classifier: Natural Language :: English
18
+ Classifier: Operating System :: OS Independent
19
+ Classifier: Programming Language :: Python :: 3
20
+ Classifier: Programming Language :: Python :: 3.7
21
+ Classifier: Programming Language :: Python :: 3.8
22
+ Classifier: Programming Language :: Python :: 3.9
23
+ Classifier: Programming Language :: Python :: 3.10
24
+ Classifier: Programming Language :: Python :: 3.11
25
+ Classifier: Programming Language :: Python :: 3.12
26
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
27
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
28
+ Classifier: Topic :: Text Processing :: Linguistic
29
+ Project-URL: Repository, https://github.com/craigtrim/bnc-lookup
30
+ Description-Content-Type: text/markdown
31
+
32
+ # BNC Lookup
33
+
34
+ [![PyPI version](https://img.shields.io/pypi/v/bnc-lookup.svg)](https://pypi.org/project/bnc-lookup/)
35
+ [![PyPI downloads](https://img.shields.io/pypi/dm/bnc-lookup.svg)](https://pypi.org/project/bnc-lookup/)
36
+ [![Python versions](https://img.shields.io/pypi/pyversions/bnc-lookup.svg)](https://pypi.org/project/bnc-lookup/)
37
+ [![License](https://img.shields.io/badge/License-MIT%20%2B%20BNC-yellow.svg)](LICENSE)
38
+ [![Code style: ruff](https://img.shields.io/badge/code%20style-ruff-000000.svg)](https://github.com/astral-sh/ruff)
39
+ [![Pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit)
40
+ [![Tests](https://img.shields.io/badge/tests-passing-brightgreen.svg)](https://github.com/craigtrim/bnc-lookup)
41
+
42
+ **Is this token a word? O(1) answer. No setup. No dependencies.**
43
+
44
+ A simple question deserves a simple answer. This library gives you instant yes/no validation against 669,000 word forms from the British National Corpus.
45
+
46
+ ## Quick Start
47
+
48
+ ```bash
49
+ pip install bnc-lookup
50
+ ```
51
+
52
+ ```python
53
+ from bnc_lookup import is_bnc_term
54
+
55
+ # That's it. Start validating.
56
+ is_bnc_term('the') # True
57
+ is_bnc_term('however') # True
58
+ is_bnc_term('nonetheless') # True
59
+ is_bnc_term('xyzabc123') # False
60
+
61
+ # Handles plurals automatically
62
+ is_bnc_term('computers') # True
63
+
64
+ # Case insensitive
65
+ is_bnc_term('THE') # True
66
+ ```
67
+
68
+ ## Features
69
+
70
+ - **Zero Dependencies** - Pure Python, no external packages
71
+ - **Zero I/O** - No filesystem access, no database queries
72
+ - **Zero Setup** - No corpus downloads or configuration
73
+ - **Microsecond Lookups** - O(1) dictionary access
74
+ - **Smart Plurals** - Automatically checks singular forms
75
+ - **Simple API** - One function does it all
76
+
77
+ ## The Problem This Solves
78
+
79
+ In NLP, you frequently need to answer the question: **"Is this token a real word?"**
80
+
81
+ Not "what does it mean?" Not "give me synonyms." Just: is this a word?
82
+
83
+ <table>
84
+ <tr>
85
+ <td align="center"><code>is_bnc_term('computer')</code></td>
86
+ <td align="center"><code>is_bnc_term('asdfgh')</code></td>
87
+ </tr>
88
+ <tr>
89
+ <td align="center"><img src="docs/images/yes-hot-dog.png" width="180"></td>
90
+ <td align="center"><img src="docs/images/not-hot-dog.png" width="180"></td>
91
+ </tr>
92
+ <tr>
93
+ <td align="center"><code>True</code></td>
94
+ <td align="center"><code>False</code></td>
95
+ </tr>
96
+ </table>
97
+
98
+ That's it. O(1) response. No ambiguity.
99
+
100
+ ## Why BNC?
101
+
102
+ The British National Corpus isn't an academic wordlist (too narrow). It's not a web scrape (too noisy). It's not slang (too ephemeral).
103
+
104
+ It's a **100-million-word corpus of real British English** collected from written and spoken sources between 1991-1994. Books, newspapers, academic papers, conversations. The BNC frequency list captures ~669,000 unique word forms actually used by native speakers.
105
+
106
+ If a token passes the BNC test, you can be confident it's a word that real people actually use.
107
+
108
+ ## When to Use This
109
+
110
+ - **Tokenization filtering**: Keep real words, discard garbage
111
+ - **Input validation**: Reject nonsense in user input
112
+ - **NLP preprocessing**: Filter candidates before expensive operations
113
+ - **Spell-check pre-filtering**: Quick reject obvious non-words before fuzzy matching
114
+ - **Data cleaning**: Identify malformed or corrupted text
115
+
116
+ ## What This Doesn't Do
117
+
118
+ - No definitions, synonyms, or semantic relationships (use spaCy for that)
119
+ - No frequency counts or rankings (just yes/no)
120
+ - No spell-checking or suggestions (just existence check)
121
+
122
+ ## Documentation
123
+
124
+ For detailed usage, performance benchmarks, and advanced features, see the [API Documentation](docs/API.md).
125
+
126
+ ## How It Works
127
+
128
+ BNC terms are stored as MD5 hash suffixes in 256 `frozenset` buckets (by first two hex characters of the hash). Lookups hash the input, route to the correct bucket, and perform O(1) set membership. Modules are lazy-loaded on first access per bucket.
129
+
130
+ For the gory details, see [Implementation Notes](docs/IMPLEMENTATION.md).
131
+
132
+ ## Development
133
+
134
+ ```bash
135
+ git clone https://github.com/craigtrim/bnc-lookup.git
136
+ cd bnc-lookup
137
+ make install # Install dependencies
138
+ make test # Run tests
139
+ make all # Full build pipeline
140
+ ```
141
+
142
+ See [API Documentation](docs/API.md) for detailed development information.
143
+
144
+ ## License
145
+
146
+ This package is dual-licensed:
147
+ - **Software**: MIT License
148
+ - **BNC Data**: BNC User Licence
149
+
150
+ See [LICENSE](LICENSE) for complete terms.
151
+
152
+ ## Attribution
153
+
154
+ This package contains data derived from the British National Corpus frequency lists:
155
+
156
+ > BNC frequency lists compiled by Adam Kilgarriff.
157
+ > Source: https://www.kilgarriff.co.uk/BNClists/all.num.gz
158
+ >
159
+ > The British National Corpus, version 3 (BNC XML Edition). 2007. Distributed by Bodleian Libraries, University of Oxford, on behalf of the BNC Consortium.
160
+
161
+ **Note:** This is a static snapshot of BNC frequency data. The data is not automatically updated.
162
+
163
+ ## Links
164
+
165
+ - **Repository**: [github.com/craigtrim/bnc-lookup](https://github.com/craigtrim/bnc-lookup)
166
+ - **PyPI**: [pypi.org/project/bnc-lookup](https://pypi.org/project/bnc-lookup)
167
+ - **BNC**: [natcorp.ox.ac.uk](http://www.natcorp.ox.ac.uk)
168
+ - **Author**: Craig Trim ([craigtrim@gmail.com](mailto:craigtrim@gmail.com))
169
+
@@ -0,0 +1,263 @@
1
+ bnc_lookup/__init__.py,sha256=MDAB8IF-8HxVzXdsASGP8UEG95QD6GmAl7__ZhvtjIc,124
2
+ bnc_lookup/find_bnc.py,sha256=vFGCHyGrN-TyB34ptEL5NVbP_0yjWaLJfIB6LMHd9-I,1166
3
+ bnc_lookup/hs/__init__.py,sha256=WFxdmqxtEyR0kuATB1xMC91Cc_W6HJ2jFtIubBsK9yI,11615
4
+ bnc_lookup/hs/h_00.py,sha256=3RYXriyzdPp17edIv1Jf1xXF4hRPajeaNgIKTnxM9EY,96741
5
+ bnc_lookup/hs/h_01.py,sha256=d1pGfRxlwfjgcdpVkQjgAoC35Y2AQRZDbi3LujHGh00,100389
6
+ bnc_lookup/hs/h_02.py,sha256=L92crHVHrR6xCieDiGuQyfwP_y47Co4gH4FiHWlyZao,100579
7
+ bnc_lookup/hs/h_03.py,sha256=i1Ju6YSYNUGyIhQBgiYsIgzyDrf92ehhGbmt0USxR0o,97843
8
+ bnc_lookup/hs/h_04.py,sha256=nSg8iHpojdt6_y92G0bMwPj2aiCncZ0iRAIvs7Q3ZAo,103391
9
+ bnc_lookup/hs/h_05.py,sha256=EC9F02GaQKbCH9aN9GZjOCeZlBBDIC7UuvU92h7i258,97539
10
+ bnc_lookup/hs/h_06.py,sha256=kQrvUtwCdUa1n9DjkIwb7usgiDN8aFqVYJa_9MKVZn8,99857
11
+ bnc_lookup/hs/h_07.py,sha256=wO-ROol8hI_dW9USYh3IT9VJ3aa_IsgF2dEB2zD65eg,100085
12
+ bnc_lookup/hs/h_08.py,sha256=Gk6feCp9ZHyj5Cn0X6aPE7ofal0jDncHamH0j8Ved7Y,95867
13
+ bnc_lookup/hs/h_09.py,sha256=sumS68U5HU-Z7saGonwTP-2eFYdKsk2k_vtQadNKSLs,101719
14
+ bnc_lookup/hs/h_0a.py,sha256=j8OelKkE5YQ4gU4dzh2jK284PBfvNr94qC4sJ-hy0KE,98755
15
+ bnc_lookup/hs/h_0b.py,sha256=MjYzFsA_ixeG-Hop9YtmH-K1AXu0lst57TPe7NEBKSU,99971
16
+ bnc_lookup/hs/h_0c.py,sha256=L2QfTku1dkoCegivusT1WT4gXZOenelLE2pOvcPGdG0,100693
17
+ bnc_lookup/hs/h_0d.py,sha256=dD-g4nlsczCQSt2lfag--SRgcGxQtpVSTXGB0Y_YpkM,96171
18
+ bnc_lookup/hs/h_0e.py,sha256=lqb_R0_Mj0__jSfAG447Wk1X95_N2fJloDRA8OSvHfU,98793
19
+ bnc_lookup/hs/h_0f.py,sha256=rpJvybsIxe-JPCll8U3cvzjYypBvUfZOIhXpp8p1eMM,96779
20
+ bnc_lookup/hs/h_10.py,sha256=GT8M5Y5rZR4diqSyjZ_VKe7v537KjscfitIcmCKDMN0,100389
21
+ bnc_lookup/hs/h_11.py,sha256=s-qqLErWYOiKrKkEJH2V765zarMDw4MNxjv1pX7pMsc,100351
22
+ bnc_lookup/hs/h_12.py,sha256=3ORWzeS_VvhIzdLpKnwL2CDv6YZSmhFQSRy5cdywHvU,100465
23
+ bnc_lookup/hs/h_13.py,sha256=C8CkIEPL9hNBL0rCPQFmoSQ7tFIxWMbrnAjsXJImJLw,96323
24
+ bnc_lookup/hs/h_14.py,sha256=B__S5VQWixyNuC2ahTVXHHmdLj9Jzd4i6_cvbjrSHIc,97501
25
+ bnc_lookup/hs/h_15.py,sha256=_Z3kHvW2m5T7-cL82p-bu-_WavSzRh7ROGoWPBEo-_E,100123
26
+ bnc_lookup/hs/h_16.py,sha256=2BYyMTUcHzy6ypnPOAinaWqSlWeH5_-CT5ONoyjDOQc,97653
27
+ bnc_lookup/hs/h_17.py,sha256=1Bu8oTE5QAQ43kL29M5IurCQh0JpMvJDUNYvZa5n8mQ,97995
28
+ bnc_lookup/hs/h_18.py,sha256=0RvFxqnVKuRlKKJT6YaLXxJT5tl1DumTwsokK4dJbV0,100085
29
+ bnc_lookup/hs/h_19.py,sha256=KYHMpAU_uy6GCB8fDqrGxeJau8JplibVNtO9T30ap1k,98983
30
+ bnc_lookup/hs/h_1a.py,sha256=-YqJnwXC2P8cL8sP01zvjDJMe_YV4kUaTL6rUKEJG6U,99629
31
+ bnc_lookup/hs/h_1b.py,sha256=jCdGz4dtJ-OgrBad0jL7anLJIKBEu9tTmEWZq0nZqA8,99553
32
+ bnc_lookup/hs/h_1c.py,sha256=7L9XygsagLzuWd2s0vI-WKd9Ee6OwW3UaMZPXvs1XMg,98717
33
+ bnc_lookup/hs/h_1d.py,sha256=rKfOnd-3W5wzREqNDnL728oMSbmzF6AfTRK0M03NZHE,100161
34
+ bnc_lookup/hs/h_1e.py,sha256=6d4noQ211cSTyCgUljonOR_x22LdbBLnHr4mzVEfHF8,100731
35
+ bnc_lookup/hs/h_1f.py,sha256=GTUFIY76vSEaQnn7ZlNs7f1yS_iSpt-OlkT9HyJ4OcY,96893
36
+ bnc_lookup/hs/h_20.py,sha256=shled1p7U4QsoaJYh7B7MMVXWDxAyUQ89b3GRtm_O7c,99439
37
+ bnc_lookup/hs/h_21.py,sha256=eQdPdQW80wX5Pdmqt_rnbJVKZ80YdW9NCWLYaSwac8E,98489
38
+ bnc_lookup/hs/h_22.py,sha256=5OiVHka0hjrlpJ1FsWtIjTNEgVmy0lLNZyKu9GMGEnY,98527
39
+ bnc_lookup/hs/h_23.py,sha256=yWvairA8RhXLRr-gFOdCt9VTrI1VobDIB9NdbItIFAI,100161
40
+ bnc_lookup/hs/h_24.py,sha256=w_8joUzmZE8AMFOd3v2HXsd38c5f8uuXUuGFEnU9Cm4,97729
41
+ bnc_lookup/hs/h_25.py,sha256=zKn9-P6Q3wfYa_gUeYtdBOZqbPEj92oy-SLAdUhGYOg,99591
42
+ bnc_lookup/hs/h_26.py,sha256=W_SnTGxZM-E2cTjMXvDZUHhhLl7jg6Eflh4WYXKL-QE,98907
43
+ bnc_lookup/hs/h_27.py,sha256=SzFL4Mww6wUrL9xGb4fAOD9tWmL_usNPywX0h4nRFGg,100237
44
+ bnc_lookup/hs/h_28.py,sha256=jX2Zdo2x6yftFAMN-S8zWcVHhcAl1lPpC1A_Cz-9Z6M,101681
45
+ bnc_lookup/hs/h_29.py,sha256=JICFww2buRp0EK6Kj2RcFkjZSRQA6QXI1RI0z_mVB_o,99287
46
+ bnc_lookup/hs/h_2a.py,sha256=u_jMoA5dLRL1AXL2HhRhBDzZNQK2CPL1loOqqaXeXow,97577
47
+ bnc_lookup/hs/h_2b.py,sha256=MoKMS1l522bbZJcR7Z-kh3ib2HvL_gkcrvc2NJOnwx0,100959
48
+ bnc_lookup/hs/h_2c.py,sha256=9PUMyEF-Jvea5OWxWvcrNlFXsd_NHbo0XvUyus0JM-Y,100123
49
+ bnc_lookup/hs/h_2d.py,sha256=5-aV9MQmwejGnUZluQyozQsgOR_KFJuqlvnKw88Qf38,102403
50
+ bnc_lookup/hs/h_2e.py,sha256=pRnKm9IoV2Bp9L1ixWj1-Egt_bR0it8xzHZxAfLCNTI,100959
51
+ bnc_lookup/hs/h_2f.py,sha256=r1Kae2LgaMPWE-WJWlQQR25FGfSwiZ6E5PwTR-b6_Rg,97957
52
+ bnc_lookup/hs/h_30.py,sha256=cck3ZqJXg3NPdV9gftVhnNHjC5G23OkcK6sU1bvdOQk,104113
53
+ bnc_lookup/hs/h_31.py,sha256=EfRfz9GLhKvllg3KHiANrMLlWYOtw15Fg9F9dUuY4aA,98945
54
+ bnc_lookup/hs/h_32.py,sha256=ZyEVOgMgt4cml3eQ1N7p6I5erk8cHp-VWvvIDfl448Q,98869
55
+ bnc_lookup/hs/h_33.py,sha256=KjmQ4nsZsF4qaTWTpldwziOvTLYDVCltvhjQ40evWcA,99591
56
+ bnc_lookup/hs/h_34.py,sha256=V5dfZZRYOukXEl89KbZtyW61Nh380Ggzu5vyaLHeWrg,93473
57
+ bnc_lookup/hs/h_35.py,sha256=xrqG3GO8REOB_NXXQv53fTUDPd8HNNK_Ou4agTTbE68,102441
58
+ bnc_lookup/hs/h_36.py,sha256=EH-zCh12UhNVDYjjSCAETrnmmTtJlOmfv6znEqMRInY,101263
59
+ bnc_lookup/hs/h_37.py,sha256=1t4Z8zBWi8E3A2V7wMlmGSn8q9npEPv06kS1tQW6tXc,101833
60
+ bnc_lookup/hs/h_38.py,sha256=WaWRSQhaIDkQxiTrQTMlhEJj_BQh6h_dJ-X4DRy6JOk,93625
61
+ bnc_lookup/hs/h_39.py,sha256=7TdcJ5gJCo-7VqKeeTaLcTnlau8l2N73fJUWTzqcu28,99477
62
+ bnc_lookup/hs/h_3a.py,sha256=VOeBNi4aDFeuDHxuGB2Q7Arft-0o4uqaqhxYDXJw9ic,99173
63
+ bnc_lookup/hs/h_3b.py,sha256=YE4QFAcVCpdbXWIHpoKpUCXtQu-iMdbV2M1Qmi0QzDM,98945
64
+ bnc_lookup/hs/h_3c.py,sha256=sGtDW1tRf4c9Vv3qtZfKECa4gASZAykxOGXm6TO6z_I,97083
65
+ bnc_lookup/hs/h_3d.py,sha256=TamPrZeV-fKRXdh6ntIiDBwpIzc_8YV8obF1uWjcXDw,102403
66
+ bnc_lookup/hs/h_3e.py,sha256=6n2bgPx2m4ZUsVj8vPIDpBpdGzkAQQ_SR2I0oeIhok4,97843
67
+ bnc_lookup/hs/h_3f.py,sha256=kzrFn6UKqhQKsalLuePkLnbjampxv6udt278-_vrwgk,97767
68
+ bnc_lookup/hs/h_40.py,sha256=MDdFEziWKUjSFQ3GQnAYEyu-2iZ9AD8yMXS3ikGwIi4,101719
69
+ bnc_lookup/hs/h_41.py,sha256=DL9EWFBNt9WcPdekwwkuUo6kUi8aPk28cyWvKJiL_PM,102935
70
+ bnc_lookup/hs/h_42.py,sha256=ZRUN_6fjdssZtchMW5cZi8pkdIwKi7KjdkOm752-GV4,99249
71
+ bnc_lookup/hs/h_43.py,sha256=IYr3qV0vZqBxkT13-AQxEHMb-kdoYf-twaBb-uZy6qI,99591
72
+ bnc_lookup/hs/h_44.py,sha256=A8xQXFr15TvuSPo2CmlXC_-F5AWknKATOTmNIvzx7Io,98869
73
+ bnc_lookup/hs/h_45.py,sha256=51OpHXF0Ub-LNQwtKzumlGZnrZCYbCtfiUgv7uRMBTM,100275
74
+ bnc_lookup/hs/h_46.py,sha256=DGgCkmmh-_PsHD74-lzB5-C5bQ1oFhJsIJVfTQ09DNc,98565
75
+ bnc_lookup/hs/h_47.py,sha256=HNiYkzN_bbB-DUba_d6GvH1qwcAkCoWRNF7ZE14deZk,97919
76
+ bnc_lookup/hs/h_48.py,sha256=M3D8zobo_aRvhfCytUgyT3ro1Ym3o0jN3DEPivBZ05M,98223
77
+ bnc_lookup/hs/h_49.py,sha256=xNVpnWr4SbAn4Pr4W_3vUG5DCRK2WesKHYtHNxhbblk,96893
78
+ bnc_lookup/hs/h_4a.py,sha256=RvP1hosjlgRr3KImFxF_774SyLl6z58gKc8OwClkUQ8,100351
79
+ bnc_lookup/hs/h_4b.py,sha256=b88rYQ8jCHtqQanfhtGK4qAZNYOoCBxhhtyUiso4TUc,98413
80
+ bnc_lookup/hs/h_4c.py,sha256=wJFLvXnnvby4nBcDH_b44U1Bo2ZHVCx6XCvhg5IdG_Y,100807
81
+ bnc_lookup/hs/h_4d.py,sha256=yXaBfrCKk5T-TZPhrQavydHPLNtsp3PxtZuNhN_VP2Q,93929
82
+ bnc_lookup/hs/h_4e.py,sha256=03FWG9a8cE3m636LbW-gl8MAa_H5cDu5FP3mTT5B3Ds,102099
83
+ bnc_lookup/hs/h_4f.py,sha256=IJoVTG6-YoDmBktHpIudxEXRVPGP3yZdzc46CKIfDts,100921
84
+ bnc_lookup/hs/h_50.py,sha256=0VuM3aMCnF05K0T6uvkjcGwmg8HsWJGo3URAiH633OY,100883
85
+ bnc_lookup/hs/h_51.py,sha256=HU7H8cUE1nys-HDtNrN9W0jQIkfTlnFfbNcfFSzrwFM,99629
86
+ bnc_lookup/hs/h_52.py,sha256=fRNkipSGUZ7rKser3pUJ6qLZtpnBwUUhlNG-Wyg5Imk,99287
87
+ bnc_lookup/hs/h_53.py,sha256=Pbc7z8_9YG7Fqo5e9VD0wIHOh5n0C9v-k_LZGG3gLqs,96969
88
+ bnc_lookup/hs/h_54.py,sha256=3JQWVmINaj2U039xsXlDyfqw3eMkr_nrMi1MMKgnPbQ,100275
89
+ bnc_lookup/hs/h_55.py,sha256=Cdw5WEMOMZ7rnwoxjWQ0FNQHdJu70z4oleCLfxiTeTE,99857
90
+ bnc_lookup/hs/h_56.py,sha256=QMGCAcwrHOUxlAlhA3MHrD0ODiFjFEsF3SHUE-_r-J4,99249
91
+ bnc_lookup/hs/h_57.py,sha256=JmCbs_WU6P3SFjFNzpowq9xGehGeOo9WiOgBm9icFns,100693
92
+ bnc_lookup/hs/h_58.py,sha256=Xe4mOzMRSV6P_-ErZr79oU2qwtkP9T3siISLrBnqgp0,100845
93
+ bnc_lookup/hs/h_59.py,sha256=ckwXVvNQiYALlzIePwtXupVr_ZCfdtw-k30mwENlrvA,101985
94
+ bnc_lookup/hs/h_5a.py,sha256=SIoQdr2Sn5ZZxV83Y5ShUG_xRWzPC-4GggJVMbVewgI,96589
95
+ bnc_lookup/hs/h_5b.py,sha256=xUgBd27aRg6uBktdUTN6y9yBl41L0PdR_Japm5NwdHo,101833
96
+ bnc_lookup/hs/h_5c.py,sha256=MDAMcRlqkX85jsQn4C2d-pPtvVHfkZcYxi1ghYgZnow,99477
97
+ bnc_lookup/hs/h_5d.py,sha256=LtPiCPcRxBOnL7L2gKnD5areiCSfGDazSlXbWncGQzE,99477
98
+ bnc_lookup/hs/h_5e.py,sha256=C1kVt1gTb7gz3fYmQsnW2gZkcQrpPbMAOCR1qDa1q8Y,97577
99
+ bnc_lookup/hs/h_5f.py,sha256=g9FXYJALo2PzBvtvTuBQmCzQX-8tjwUrhNm9i4QeoCY,101719
100
+ bnc_lookup/hs/h_60.py,sha256=6bUsDXdPJJqMPas6PvFf3ih0uFQ2zWpNYwbkhLqxMOA,99933
101
+ bnc_lookup/hs/h_61.py,sha256=8QhdzyZkHNh-b2QGDTP67Xi0fDbzSZGSFsuUsU5iXj0,100655
102
+ bnc_lookup/hs/h_62.py,sha256=nScchc2OyRx1vCLjGzM27ssa2KMYQhBh5gCFe4kzffQ,101719
103
+ bnc_lookup/hs/h_63.py,sha256=I9J8dBba2-cnVnsmxPG2W8cxZCw4Xn6OdIIwxoxmU0w,100617
104
+ bnc_lookup/hs/h_64.py,sha256=ZmOM7Hg9yhxONrH08hexOck1s9HKD8zNarPcU0heqFU,100009
105
+ bnc_lookup/hs/h_65.py,sha256=upx2WuHgun6zTtMEgi_J1iSY1-K2rtkhMsolmcntTj4,99629
106
+ bnc_lookup/hs/h_66.py,sha256=fZd4bKIYvZKEMKJebLKEC2H9BbPGDr60WHWps0CTieo,98223
107
+ bnc_lookup/hs/h_67.py,sha256=WGB4rXFifbl4IFmCStN7dQ_LD7crXLNYRtMxaApDkQs,96095
108
+ bnc_lookup/hs/h_68.py,sha256=uio-_gJKcf8ehkP4WYzIgqW-_v80ke8qiIb7gmGgX2g,102555
109
+ bnc_lookup/hs/h_69.py,sha256=MQAlMLEuk9AC16SGOFJV1XkLkXBqnUEclwnDkIhirxo,96247
110
+ bnc_lookup/hs/h_6a.py,sha256=t7dmTnlax1jgpmdk9mXV-BmzVjbgwjq8rYikk_wwJoU,103125
111
+ bnc_lookup/hs/h_6b.py,sha256=16A_cgEeiswQesW062Gxejv9AYEA9va1L-vZ1ETd3YY,98717
112
+ bnc_lookup/hs/h_6c.py,sha256=tKCHj7fMWfZGkxYshp13JpEnQzhgY6TRXCFH8Pzb-nQ,100997
113
+ bnc_lookup/hs/h_6d.py,sha256=8LlBNyoICdGw1veLFdLkcTNGxFXP_ikl3IdzLVJYJfg,96779
114
+ bnc_lookup/hs/h_6e.py,sha256=4RgJ1YSoyPkSimja0NLeLNPN2ebhYqMLfnv76JjnRTw,100959
115
+ bnc_lookup/hs/h_6f.py,sha256=uoZVayXrlv4BSw1MclSibq50i-afaGBeD_hGgYRSH3U,99097
116
+ bnc_lookup/hs/h_70.py,sha256=ER_-3ILiWln5oCImCJGtLDyrGP8HbBomJ6e4FNle9bE,101453
117
+ bnc_lookup/hs/h_71.py,sha256=HSNp6TXMMsUqK2e9Xu_mewR7ADEla4vRVG7aGnJL9Mk,98337
118
+ bnc_lookup/hs/h_72.py,sha256=KVeclmzDAKgVljuPC_lWWBD2ACARxVpdkF_3R919ZT0,100997
119
+ bnc_lookup/hs/h_73.py,sha256=0jrKG5Mtf-z3XjuN1KdgOG6vgKD7FvJunLmdgnBhUMM,100655
120
+ bnc_lookup/hs/h_74.py,sha256=OUilV3zCy29ttwwHPDCjq5pBx39LqyVNa1YOqfYX2N4,102061
121
+ bnc_lookup/hs/h_75.py,sha256=WHGqRCY1506YfasmfqhmZ0SvtlzTd6rP9Io0VNxCSDo,97501
122
+ bnc_lookup/hs/h_76.py,sha256=Hi1h8ub_Y_hKji3K1vsg0_Mbd3c3uJWh1QmrrhDZoUM,97197
123
+ bnc_lookup/hs/h_77.py,sha256=SDmzrXq7UjacDert-hrtx-QDCssC6RUIB8K4H8rxZ_0,99477
124
+ bnc_lookup/hs/h_78.py,sha256=W8nHwtfJUoHMEKbJe5A9sr8-UUKw4gzKmJ-SsMhXS70,102137
125
+ bnc_lookup/hs/h_79.py,sha256=WINiHv_Bkv-Zy_aV_y1OGR7rSwuKbimCUdAW_oIvUUc,98527
126
+ bnc_lookup/hs/h_7a.py,sha256=UaLzYiS_0rUINBl26CRQZH2TferAoLNq15s5C9hZLBs,97311
127
+ bnc_lookup/hs/h_7b.py,sha256=8V0IlziJRBxmhAE3MeuyeQvhDrQCeI7dfwYed4iYHEQ,99021
128
+ bnc_lookup/hs/h_7c.py,sha256=nxpzUsM3HiNRXKaY9LEEz4ufjASr6w-IyV8-a91FPjw,100541
129
+ bnc_lookup/hs/h_7d.py,sha256=nMDlTXfBHTy4ZyripRmIosiSmNK_uIEOAXegJtfZe8M,101681
130
+ bnc_lookup/hs/h_7e.py,sha256=jfF1LU97XAhTTadINh_XNWfn8LsHuG_E8fFAaaHosxc,99629
131
+ bnc_lookup/hs/h_7f.py,sha256=ddULwV0LuhBJBAcwy7t3cSn1c9LvLYUBQiCXTimjyT4,101035
132
+ bnc_lookup/hs/h_80.py,sha256=lltjX6fYYRqZh3Je-PsOw3GDzRGyJLkIl8DLhL-KPig,101795
133
+ bnc_lookup/hs/h_81.py,sha256=4nffN1zcIEpSsqiJHYefbCtPw4S6eDoxCFdqNHVznA4,99211
134
+ bnc_lookup/hs/h_82.py,sha256=otIYZA2vVUrAghfGLhz400VkGu7tfpMs_1JEmxgJHRw,97653
135
+ bnc_lookup/hs/h_83.py,sha256=6HCEcsMGmkrvUg4VEw6Y_SJgZAp8XTBzeYPwHUyItZw,103809
136
+ bnc_lookup/hs/h_84.py,sha256=giTWh_5jI0LIwEK8VquQALWoCR8jSTHe8DJAJougcmE,100123
137
+ bnc_lookup/hs/h_85.py,sha256=bHh3bpLJKwICLM5NAWRqQKlsStEF6sM-VB-JCqnwBT8,98679
138
+ bnc_lookup/hs/h_86.py,sha256=PPFx6t2ZuzsShKhm6KrqdQOO5AKs36-QXSFrI_4IaSY,98755
139
+ bnc_lookup/hs/h_87.py,sha256=0-JCJsEUVkldcjYUcMcPcXVzqGT7T4ExuR5LaImfiAw,97387
140
+ bnc_lookup/hs/h_88.py,sha256=d3VHODf8wf8D7GePdGHSqYLPjNSqFUKpD22rBWrz0WM,99287
141
+ bnc_lookup/hs/h_89.py,sha256=AN9CHgFD1O8kVxfGDtw0DBNSQbIVRQ5ywM1vfhunKMY,98793
142
+ bnc_lookup/hs/h_8a.py,sha256=BY1_M_UtL8ka07JcSVZNn8ljW2wqnQQ7uhRIBniI86Q,98375
143
+ bnc_lookup/hs/h_8b.py,sha256=m_cCF5NxD_mqCP_4hXVcXjxP7HcpPvsjCvMsFRxf7c0,102175
144
+ bnc_lookup/hs/h_8c.py,sha256=r4f9HGxzEcFoS8dsL24xYlxi3y4X98p2ixJOmUlToRI,98451
145
+ bnc_lookup/hs/h_8d.py,sha256=gegj-KsxF6WxhHoFyLGe0WwjpNuDkAsc-1bUsTCJJ_o,97349
146
+ bnc_lookup/hs/h_8e.py,sha256=TpNG-5TOlkmpUIwYbY8-uMPcEuAruEKlHOpoKo0vt38,99249
147
+ bnc_lookup/hs/h_8f.py,sha256=AS34Cqt2MhNZZC3-Q9wNkGMu4yw-3IuBFUKOhc_YQqI,99971
148
+ bnc_lookup/hs/h_90.py,sha256=DBkvYhC90TqkINqdOFw4rFt59Vvw_iBhgP7dmt7bqZM,99515
149
+ bnc_lookup/hs/h_91.py,sha256=3uG-LRra_ssN0yk4P2nXa4vjafR8LaX1De_5HMaGE4c,99211
150
+ bnc_lookup/hs/h_92.py,sha256=9p-kWjpbf1Wlw7iE71kp4KpUbCuJinlWaKaWE3Ecygc,98527
151
+ bnc_lookup/hs/h_93.py,sha256=ni-q0B_Zevif5TICWr9eR6OW9IoSC6IjNvV5f2c4JDY,99439
152
+ bnc_lookup/hs/h_94.py,sha256=luuYvRAnM_QSO62N0nKuUpjLexkkwD5ndbKdeSiApk0,98337
153
+ bnc_lookup/hs/h_95.py,sha256=YyKEVw_2Al8wiwFC5zH9ZxmJbO71VK2tthOk_53Y_d8,98641
154
+ bnc_lookup/hs/h_96.py,sha256=y6DsfgF93EYtq80nWPs-wtDsUDo9j7OMGCWNnoTJ2Uc,96323
155
+ bnc_lookup/hs/h_97.py,sha256=HMo0_kEYollCpeTMr5O1hlvT0eJhGfcxpzjNNkol0O8,101757
156
+ bnc_lookup/hs/h_98.py,sha256=BnpzzxwWaERDHuE7wCS42DQWSXC8H5kKA3B1Udyxzv4,100769
157
+ bnc_lookup/hs/h_99.py,sha256=LeWeyqv1kLHnxFYmpWmaVwfDjSuom4UE-pRHSsEtboM,95601
158
+ bnc_lookup/hs/h_9a.py,sha256=egIaiN5ann95ekP3DZ8XxtknFCpAZqjPIyL0dHhSc3I,100465
159
+ bnc_lookup/hs/h_9b.py,sha256=cI6NDYdO61hQAQ4v795PjcM6qnN8dWoAtZ1y4jrDQtE,98413
160
+ bnc_lookup/hs/h_9c.py,sha256=HqNiDVt5jPaFVrgH10jYMnyHptcyUGnshpwBR8QtxqI,99515
161
+ bnc_lookup/hs/h_9d.py,sha256=f-eQdk4kNUvBtyq18iVIL354KmtA0niibSiPWHSJX2Y,102289
162
+ bnc_lookup/hs/h_9e.py,sha256=7dEeAjPnc6mTn72sQxRFFIXBzuB6Ptv-BXJAsc_DDkA,103543
163
+ bnc_lookup/hs/h_9f.py,sha256=Oj-doK-z4t6lWuuwB16JXHsEvLp8ashcYgzjDE8gGyQ,97463
164
+ bnc_lookup/hs/h_a0.py,sha256=gJTbHoWcixI_3cnptQ-vwtixS3Ovpkat_Ozf01ngU08,104683
165
+ bnc_lookup/hs/h_a1.py,sha256=tYeAdTggim6JCISzgfVTUMfzzXA73e1uYeVRWoPBis8,98185
166
+ bnc_lookup/hs/h_a2.py,sha256=1Vv58hQbnZqrqeS12lEoHTzfewgqiBOlWjm_Q6gEVEQ,96741
167
+ bnc_lookup/hs/h_a3.py,sha256=4z_pyeD-YA_pSPNN9isPgYCQfL3MkpbO9yCuUETCgPg,99287
168
+ bnc_lookup/hs/h_a4.py,sha256=MZVSTxXE8y1Qckfg0Q8ZSW-WoVMZR_OQq0PeWy3qVKk,96855
169
+ bnc_lookup/hs/h_a5.py,sha256=U0nc7xQKccdn5jxLerqA_z4S59dNDOIFKFyeQLc52wo,97235
170
+ bnc_lookup/hs/h_a6.py,sha256=y1DpGdSaFwHwlkSeA-GZMYcZ3pCC-KadMEAXJbv54xs,101567
171
+ bnc_lookup/hs/h_a7.py,sha256=olBVMQ2zIFyZ9bITjoxDe4kXpTJKkKky8dLB5V36jlc,99629
172
+ bnc_lookup/hs/h_a8.py,sha256=ya-fichqoBjVYYZNUCgHBxjbCJMAQO6jGHAWGS5eGhc,100047
173
+ bnc_lookup/hs/h_a9.py,sha256=-QeB2kCTXropW4guDFARi3-KGczZGuKGggE0m0OFpps,96969
174
+ bnc_lookup/hs/h_aa.py,sha256=nK85_shYDeCW4BCNR9DksWoY4Lu45eH2NgQajCRXr8c,99211
175
+ bnc_lookup/hs/h_ab.py,sha256=B-KF-3ylkyY-gWe5cHS2ryJSy4GtxO2EhWANfBOK5S8,100047
176
+ bnc_lookup/hs/h_ac.py,sha256=UmKfL_qDz-4Y27THGQ_QrPnZi2Fhp4BpRxjt1vq1L6o,96019
177
+ bnc_lookup/hs/h_ad.py,sha256=No_m7LHarIX03sl4LDHHHaNiMjPlrXcPUQ-sOsONUWU,95981
178
+ bnc_lookup/hs/h_ae.py,sha256=DQHP7mimoPnXtRsFPb5oduy8BDQjkuzgUeZP69JyA0g,96741
179
+ bnc_lookup/hs/h_af.py,sha256=_10eJvgJy5dNvRh6QknhnP7D_qA8JenIUd6UWMihwGM,99325
180
+ bnc_lookup/hs/h_b0.py,sha256=M856AXyyjEhkz8A4XqqaiHP3rwq9_hBua5r89vv8YQE,99629
181
+ bnc_lookup/hs/h_b1.py,sha256=3hZ1L3ovozBQ7NgRAsZgPNTJif2GHfVrL6M4Fxc_lII,98223
182
+ bnc_lookup/hs/h_b2.py,sha256=jP6uJCHSQzFkRzizoam0SHC7HEVYmXXT2KqQeA3fTUQ,100769
183
+ bnc_lookup/hs/h_b3.py,sha256=bjFIk_82aFuNjhtBYWfoCToVm6aQHc4BQVOqbgxVx44,99857
184
+ bnc_lookup/hs/h_b4.py,sha256=flCPDEIgKnq9IFJihieNlkdtJxoJQIpYqk3eLJspqmU,102099
185
+ bnc_lookup/hs/h_b5.py,sha256=m67DDs_5LuxTBpe4WYVgChTOVtxHpuNH8A1JNxgg69Q,99059
186
+ bnc_lookup/hs/h_b6.py,sha256=28PeQXHNrFeHqy2CIWdWxQeU5G5WUosWct8DUHqO3aA,101605
187
+ bnc_lookup/hs/h_b7.py,sha256=e99UtLMmhYETS3yC-7dr8lNOWZb8-PVHw0nX7VXiTYs,103087
188
+ bnc_lookup/hs/h_b8.py,sha256=tocAhStWqPJeqn265Jv0_mPAEi0NPxb6FNofqrru6U0,101263
189
+ bnc_lookup/hs/h_b9.py,sha256=Eq_DvQY3B-ko8xUkECUkPKnLr2e4cSVdtrXRqJMQKD0,98679
190
+ bnc_lookup/hs/h_ba.py,sha256=KUybMeOBE9o14Ky_tPY3Pj2ousLE4OEc3coDFGYJ1A4,97843
191
+ bnc_lookup/hs/h_bb.py,sha256=HTyeOcOoQ4xtoZiHQiW1zRYU_zb0uqJLFuqdedwe9ow,102099
192
+ bnc_lookup/hs/h_bc.py,sha256=owess93XDfbb6uLcyV0NXIXeCrG0vwTE9j6lsBWTrwg,98451
193
+ bnc_lookup/hs/h_bd.py,sha256=oGxM6pPZgPR-pl_y6duRZVEsfmyZ9WWT4JW6OqPkpuk,99439
194
+ bnc_lookup/hs/h_be.py,sha256=xYIGWf-kwW0CU59YuA3QV_ErKVHRfCA9wC-fwfHJYfM,101871
195
+ bnc_lookup/hs/h_bf.py,sha256=b0IJ-qVQIhxc9-VTOzpClfHS6Hn6dZAzhrsTectm-UY,100845
196
+ bnc_lookup/hs/h_c0.py,sha256=0nonHIgA1sPknToXLJ4clWV6iLNz6Mu5VkLivY5UMGA,102137
197
+ bnc_lookup/hs/h_c1.py,sha256=Tlhzj7sh-_zfDAzkuuhboWY5UILinOwuDtyXbiWqLXU,102251
198
+ bnc_lookup/hs/h_c2.py,sha256=Ldn4fV_hfX08xKvEsGOhzQFkXlwAUwvaLenIgt5yIkE,98451
199
+ bnc_lookup/hs/h_c3.py,sha256=1FBGVELrs3hMD9k461HBKa_k1a5Y55Wom7E9LgplCIE,98679
200
+ bnc_lookup/hs/h_c4.py,sha256=VEFDd2JTL4wpuj2rLTClOICuo5RRAgvDq_FiKG1h5V8,96589
201
+ bnc_lookup/hs/h_c5.py,sha256=k2YRUsZWeZ7bT4lXJueQ5luPMMuyxpObIxTfeLT2VzA,99059
202
+ bnc_lookup/hs/h_c6.py,sha256=VR8SP4NSbx9JvKAZQcpJnTVXRJyjaOIzd2T91Qk8qv0,101567
203
+ bnc_lookup/hs/h_c7.py,sha256=Sinyb78sDSB4eke5K6NCcvMFJaHQrs2d4QexRDYR6c4,101111
204
+ bnc_lookup/hs/h_c8.py,sha256=hn4_lTv0cjW63U1S5mNRzU0opzDnnBubksmAXkE_u0U,99667
205
+ bnc_lookup/hs/h_c9.py,sha256=Jo1mR5Ey_fJBaoRwvTPkC4OZHZ9xJns3x93K_Eyjsj4,96855
206
+ bnc_lookup/hs/h_ca.py,sha256=dDccARTSWsBlLvBsppuxrZ1SwlcxPALwuHSYJ6l__lw,94765
207
+ bnc_lookup/hs/h_cb.py,sha256=gRuEht78Rg1I7O4h5bNhnDs_9O0E8sct_AqyC0FqhZ0,102175
208
+ bnc_lookup/hs/h_cc.py,sha256=6liCy2vZVJTZowqE97JSsXckMw7ahYwoGZ0BgnGporU,100541
209
+ bnc_lookup/hs/h_cd.py,sha256=3Krh66IhW-Gtar6_3yrDQNUIvXfH9F-ymSLoD25v3Wg,94727
210
+ bnc_lookup/hs/h_ce.py,sha256=lBlda06yvZ8FJG_5rUmYG6XohNrJXhE3Kdq8FBVw2yI,100085
211
+ bnc_lookup/hs/h_cf.py,sha256=E15kJJiMGArhJxPC2dVkQFwBjTXVno0qgewB1WImzyU,101187
212
+ bnc_lookup/hs/h_d0.py,sha256=i7VUyJ_zOs1dlg8A4VtyQMW0c9SOKvRN_V2m3KqOBcU,98375
213
+ bnc_lookup/hs/h_d1.py,sha256=L8yWHrAymeket6QiYoxsVPTzmtW6my_eWeebn0TZu7E,99971
214
+ bnc_lookup/hs/h_d2.py,sha256=VwSSgtNWECXtWMIjfTsxMfQB1QO04Xn55crpEZ3EoxQ,99743
215
+ bnc_lookup/hs/h_d3.py,sha256=e8TdFkJJfPPxeeJJFkCbsu3iAy-CjmGHWD7pvYog5W4,102175
216
+ bnc_lookup/hs/h_d4.py,sha256=fnP9BeBgT7Vsd2rTxKHZpqa0Mvn1zxnPwszZv7iPxZk,98983
217
+ bnc_lookup/hs/h_d5.py,sha256=lvZ9cfLVPMPueMG7eOKcLV-ybXaSIt9btWcBn2-mCFM,97957
218
+ bnc_lookup/hs/h_d6.py,sha256=AXFxpq_tfaF1otXfehWmcs7OGwVKTtEyaDkp4Hwgh3g,99363
219
+ bnc_lookup/hs/h_d7.py,sha256=dh03xKge9tg9SZ7UDcUKrZLqPO1qBrrbHSxYx10J_8U,102099
220
+ bnc_lookup/hs/h_d8.py,sha256=rrRETi2xBOA42tRi2vn8xVL5Q-kguUDzQrKX-Vofu-o,98679
221
+ bnc_lookup/hs/h_d9.py,sha256=EbsG-8XQpm0JuYxq-JLrb-NNglbhMhmHYhkHy0TjOd4,99553
222
+ bnc_lookup/hs/h_da.py,sha256=9LH5Hcigq98mN-kjud1xnvXKpqU1OLRqoE6TV6Cz9B8,99097
223
+ bnc_lookup/hs/h_db.py,sha256=6-I3UitxWG3S_PgWuYgLIQbu7Rd3ZjzL46r5KjvC0GA,101529
224
+ bnc_lookup/hs/h_dc.py,sha256=igqefYvrUFUXnh_4RQDBxXc1g0wOguBZmMLxneKHpSI,97045
225
+ bnc_lookup/hs/h_dd.py,sha256=k0aid7aYcFBvRnxJKCENwhSBaBqzaDQssP-XY48QZD4,97349
226
+ bnc_lookup/hs/h_de.py,sha256=LoQvoWoXbuG56lbsJ7Ix43YN2kcD2lLCggq6NKb0O0Q,97463
227
+ bnc_lookup/hs/h_df.py,sha256=oXcX_axva8_rGnlZdtWZTgiwzHRjT0FXq9TkCCt6nOw,103467
228
+ bnc_lookup/hs/h_e0.py,sha256=ftguyLr23nxpdvkiQM0SdTFHf7AHAo0Al1HXK1Ws6F8,96057
229
+ bnc_lookup/hs/h_e1.py,sha256=_gMT-Wh6IjIaj67NtNuhej29UHLMP3PUD6VOqXXkrHU,95069
230
+ bnc_lookup/hs/h_e2.py,sha256=o18qJHT1Mmm3ls7FHC7shoSDzM4j7EtEJ6Y_y0J5wKo,98679
231
+ bnc_lookup/hs/h_e3.py,sha256=3r9xNXMow89Cd3lg_NVm_Qn_c-8940YMfN0nfsCOzmg,96627
232
+ bnc_lookup/hs/h_e4.py,sha256=ZT0OYA34Mm4BRdx58hpKD8CUv25SOd6NaALGcq_Eqk4,99249
233
+ bnc_lookup/hs/h_e5.py,sha256=KPc7PEQgZ88pL7HTMRYHwg5Rc67ZCSSDHv3ygGNCIN0,99021
234
+ bnc_lookup/hs/h_e6.py,sha256=JKWHv38oDPg1eNAgb_CZkgByvOQqXexXBT2ZR8vaucA,99059
235
+ bnc_lookup/hs/h_e7.py,sha256=sZxzWjPpxsDfsFWCdbhrGD4bqrfG0MM_TntmVY7wKRc,102061
236
+ bnc_lookup/hs/h_e8.py,sha256=7J15TR498rxJ_CuX_FSsj-S5T5IK5O1J2QP_HFU6jNI,95905
237
+ bnc_lookup/hs/h_e9.py,sha256=CWOLpXbE32oRJhbpzvg1LVZUJoroNsNHibu8yJA_i_c,97197
238
+ bnc_lookup/hs/h_ea.py,sha256=QMfc-cRySRJzR_YVcRaN7DtFtQTExaRIr6GRk28_a8I,98641
239
+ bnc_lookup/hs/h_eb.py,sha256=QG_we-N4zO3DWc0xVHsFVLCn33h8SwrKNx-VOu7_Dvc,101909
240
+ bnc_lookup/hs/h_ec.py,sha256=MIzaxYzxF_tjkfvQnXKZI3dowEt4GeCGuDXrFPkfADs,104075
241
+ bnc_lookup/hs/h_ed.py,sha256=_89GfCHMb7EBC6pCYgHB89j-Bo5TB92C2sTKN8xeTV8,101833
242
+ bnc_lookup/hs/h_ee.py,sha256=_iYMr1ENqKNi-xs_vW_qiPxEHW6ds3fCXzO5j0vxbNA,97767
243
+ bnc_lookup/hs/h_ef.py,sha256=NOYydWZ1vAi7zDFC6NtisixlwG4DHldb7DI1uI6ACzo,100351
244
+ bnc_lookup/hs/h_f0.py,sha256=HBZ-fNixRFlqsfjxHZfxuhtdXV7l1ocbu6ZmLV-I_uQ,102061
245
+ bnc_lookup/hs/h_f1.py,sha256=N6Ou7zlKw1ggjeufi3_QCO5PvNwMlkl7E7MsX_KU8z0,100427
246
+ bnc_lookup/hs/h_f2.py,sha256=DzhFKXTtEhwr2xpKCcdoJX7VTQFUHhfrq371HM1YmqU,95943
247
+ bnc_lookup/hs/h_f3.py,sha256=fVavAPJN_44r53fdxcufsGTbi6uouw-pg6T50mbukaI,101149
248
+ bnc_lookup/hs/h_f4.py,sha256=1_hBCEN44LzYAYp748TNa8gyspK50hQDxP83tkmhRlo,99705
249
+ bnc_lookup/hs/h_f5.py,sha256=ggcAqYfKZQCAOw2IUepyFW3i-XfGhLMmI_8HA8dPMr0,101795
250
+ bnc_lookup/hs/h_f6.py,sha256=u-6CQTxCL2EBEdUgGwxhY1OHtjluk1btRmhP5sqC46c,98603
251
+ bnc_lookup/hs/h_f7.py,sha256=v8DZwc_H7AYXxZU8ayc4tIIjCxRCscM1XooFI8b7yqM,101111
252
+ bnc_lookup/hs/h_f8.py,sha256=X8LK2yjBt0qgwY7yoc6Km_ast9Mj1bcPhANnnSGpLqU,99553
253
+ bnc_lookup/hs/h_f9.py,sha256=W_WhQUBhVZFBWwaLDijXS-h5YWjwvlRo2bjjXhUyig8,97045
254
+ bnc_lookup/hs/h_fa.py,sha256=Xa-tU4U4srdQfvuuvDtDXwZbbPqOjUA2GKL4XEJkrho,99477
255
+ bnc_lookup/hs/h_fb.py,sha256=3-4mDUmQ8JQWWuVeddQtmY_0fLbXHjowMFXBuMY5gSU,100883
256
+ bnc_lookup/hs/h_fc.py,sha256=36PmEBdpRmYq8PCEL7g9m08mCLCQuq50uMUllCAuUdI,101225
257
+ bnc_lookup/hs/h_fd.py,sha256=N2Sh5oNn6mEBf1FKfSF9V9jWXsaCMOrj3cWgeVHvRUE,97843
258
+ bnc_lookup/hs/h_fe.py,sha256=90Vr4qZcGfni2nxaGUR4MxuF6Z6aRar8awM5g-Z61T0,100807
259
+ bnc_lookup/hs/h_ff.py,sha256=vwrosNEVBRctHXd3lC0bsY0bKMUiJnNhOLLv9Be2ouY,105595
260
+ bnc_lookup-1.0.5.dist-info/LICENSE,sha256=AYOkuUBnkCcFiW6x4tIrmFPNbW7EG2T5HkGYtxD6cFo,2124
261
+ bnc_lookup-1.0.5.dist-info/METADATA,sha256=wvAzV2MdrU75b5w5lbSO1LZ3lkOhlUN0at6a4OsmhKk,6472
262
+ bnc_lookup-1.0.5.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
263
+ bnc_lookup-1.0.5.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: poetry-core 1.9.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any