compiled-knowledge 4.0.0a16__cp312-cp312-win_amd64.whl → 4.0.0a17__cp312-cp312-win_amd64.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.

Potentially problematic release.


This version of compiled-knowledge might be problematic. Click here for more details.

Files changed (29) hide show
  1. ck/circuit/__init__.py +2 -2
  2. ck/circuit/_circuit_cy.cp312-win_amd64.pyd +0 -0
  3. ck/circuit/{circuit.pyx → _circuit_cy.pyx} +65 -57
  4. ck/circuit/{circuit_py.py → _circuit_py.py} +14 -6
  5. ck/circuit_compiler/cython_vm_compiler/_compiler.c +1603 -2030
  6. ck/circuit_compiler/cython_vm_compiler/_compiler.cp312-win_amd64.pyd +0 -0
  7. ck/circuit_compiler/cython_vm_compiler/_compiler.pyx +85 -58
  8. ck/circuit_compiler/named_circuit_compilers.py +1 -1
  9. ck/pgm_compiler/factor_elimination.py +23 -13
  10. ck/pgm_compiler/support/circuit_table/__init__.py +2 -2
  11. ck/pgm_compiler/support/circuit_table/_circuit_table_cy.cp312-win_amd64.pyd +0 -0
  12. ck/pgm_compiler/support/circuit_table/{circuit_table.pyx → _circuit_table_cy.pyx} +9 -9
  13. ck/pgm_compiler/support/circuit_table/{circuit_table_py.py → _circuit_table_py.py} +5 -5
  14. ck/pgm_compiler/support/clusters.py +16 -4
  15. ck/pgm_compiler/support/factor_tables.py +1 -1
  16. ck/pgm_compiler/support/join_tree.py +67 -10
  17. ck/pgm_compiler/variable_elimination.py +2 -0
  18. ck_demos/pgm_compiler/demo_compiler_dump.py +10 -0
  19. ck_demos/pgm_compiler/time_fe_compiler.py +93 -0
  20. {compiled_knowledge-4.0.0a16.dist-info → compiled_knowledge-4.0.0a17.dist-info}/METADATA +1 -1
  21. {compiled_knowledge-4.0.0a16.dist-info → compiled_knowledge-4.0.0a17.dist-info}/RECORD +24 -26
  22. ck/circuit/circuit.c +0 -38861
  23. ck/circuit/circuit.cp312-win_amd64.pyd +0 -0
  24. ck/circuit/circuit_node.pyx +0 -138
  25. ck/pgm_compiler/support/circuit_table/circuit_table.c +0 -16042
  26. ck/pgm_compiler/support/circuit_table/circuit_table.cp312-win_amd64.pyd +0 -0
  27. {compiled_knowledge-4.0.0a16.dist-info → compiled_knowledge-4.0.0a17.dist-info}/WHEEL +0 -0
  28. {compiled_knowledge-4.0.0a16.dist-info → compiled_knowledge-4.0.0a17.dist-info}/licenses/LICENSE.txt +0 -0
  29. {compiled_knowledge-4.0.0a16.dist-info → compiled_knowledge-4.0.0a17.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,93 @@
1
+ from ck import example
2
+ from ck.circuit import CircuitNode, Circuit
3
+ from ck.circuit_compiler import DEFAULT_CIRCUIT_COMPILER
4
+ from ck.pgm import PGM
5
+ from ck.pgm_circuit import PGMCircuit
6
+ from ck.pgm_compiler.factor_elimination import DEFAULT_PRODUCT_SEARCH_LIMIT, _circuit_tables_from_join_tree
7
+ from ck.pgm_compiler.support.circuit_table import CircuitTable
8
+ from ck.pgm_compiler.support.clusters import min_degree, Clusters
9
+ from ck.pgm_compiler.support.factor_tables import FactorTables, make_factor_tables
10
+ from ck.pgm_compiler.support.join_tree import JoinTree, clusters_to_join_tree
11
+ from ck.program import ProgramBuffer, RawProgram
12
+ from ck_demos.utils.stop_watch import timer
13
+
14
+
15
+ def main() -> None:
16
+ """
17
+ Time components of the compilation chain for factor elimination.
18
+
19
+ Process:
20
+ example -> PGM
21
+ min_degree -> Clusters
22
+ clusters_to_join_tree -> JoinTree
23
+ join_tree_to_circuit -> PGMCircuit
24
+ default circuit compiler -> RawProgram
25
+ execute program
26
+ """
27
+ with timer('make PGM') as make_pgm_time:
28
+ pgm: PGM = example.Mildew()
29
+
30
+ with timer('make clusters') as make_clusters_time:
31
+ clusters: Clusters = min_degree(pgm)
32
+
33
+ with timer('make join tree') as make_join_tree_time:
34
+ join_tree: JoinTree = clusters_to_join_tree(clusters)
35
+
36
+ with timer('make factor tables') as make_factor_tables_time:
37
+ factor_tables: FactorTables = make_factor_tables(
38
+ pgm=pgm,
39
+ const_parameters=True,
40
+ multiply_indicators=True,
41
+ pre_prune_factor_tables=False,
42
+ )
43
+
44
+ with timer('make circuit tables') as make_circuit_tables_time:
45
+ top_table: CircuitTable = _circuit_tables_from_join_tree(
46
+ factor_tables,
47
+ join_tree,
48
+ DEFAULT_PRODUCT_SEARCH_LIMIT,
49
+ )
50
+ top: CircuitNode = top_table.top()
51
+ circuit: Circuit = top.circuit
52
+
53
+ orig_size = circuit.number_of_op_nodes
54
+ with timer('remove unreachable nodes') as remove_unreachable_time:
55
+ circuit.remove_unreachable_op_nodes(top)
56
+ print(f' saving {orig_size - circuit.number_of_op_nodes:10,}')
57
+ print(f' leaving {circuit.number_of_op_nodes:10,}')
58
+
59
+ with timer('make PGMCircuit') as make_pgm_time:
60
+ pgm_circuit = PGMCircuit(
61
+ rvs=tuple(pgm.rvs),
62
+ conditions=(),
63
+ circuit_top=top,
64
+ number_of_indicators=factor_tables.number_of_indicators,
65
+ number_of_parameters=factor_tables.number_of_parameters,
66
+ slot_map=factor_tables.slot_map,
67
+ parameter_values=factor_tables.parameter_values,
68
+ )
69
+
70
+ with timer('make program') as make_program_time:
71
+ program: RawProgram = DEFAULT_CIRCUIT_COMPILER(pgm_circuit.circuit_top)
72
+
73
+ program_buffer = ProgramBuffer(program)
74
+ with timer('execute program') as execute_program_time:
75
+ program_buffer.compute()
76
+
77
+ print()
78
+ print(f'make PGM {make_pgm_time.seconds():5.2f}')
79
+ print(f'make clusters {make_clusters_time.seconds():5.2f}')
80
+ print(f'make join_tree {make_join_tree_time.seconds():5.2f}')
81
+ print(f'make factor tables {make_factor_tables_time.seconds():5.2f}')
82
+ print(f'make circuit tables {make_circuit_tables_time.seconds():5.2f}')
83
+ print(f'remove unreachables {remove_unreachable_time.seconds():5.2f}')
84
+ print(f'make PGM circuit {make_pgm_time.seconds():5.2f}')
85
+ print(f'make program {make_program_time.seconds():5.2f}')
86
+ print(f'execute program {execute_program_time.seconds():5.2f}')
87
+
88
+ print()
89
+ print('Done.')
90
+
91
+
92
+ if __name__ == '__main__':
93
+ main()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: compiled-knowledge
3
- Version: 4.0.0a16
3
+ Version: 4.0.0a17
4
4
  Summary: A Python package for compiling and querying discrete probabilistic graphical models.
5
5
  Author-email: Barry Drake <barry@compiledknowledge.org>
6
6
  License-Expression: MIT
@@ -1,22 +1,20 @@
1
1
  ck/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  ck/pgm.py,sha256=rbqgP-clfSvgpzUXxVjk_6SdM9neHmpChku6qpyeidk,120700
3
- ck/circuit/__init__.py,sha256=tozFNNVzsgQDwFrtGzrgcFS4XTszhgyFmbMGfV5pimc,212
4
- ck/circuit/circuit.c,sha256=_DN78mWLcGdXOKoZv6Eq-m50KLpOP0SY_GjFrhLJoj0,1773051
5
- ck/circuit/circuit.cp312-win_amd64.pyd,sha256=T0hYyLn7cjYZ54ki85-HaKltQZcuO6oSWBtx3DNe4iI,252416
6
- ck/circuit/circuit.pyx,sha256=Y35CZMalySX8_uhNH6wIaZzS6ACn3rh3L99bog1lQx8,28060
7
- ck/circuit/circuit_node.pyx,sha256=8RuEC1ngYxnsGryzQ1lOEPc4ewTxvKwc56sOxWLB9zs,4103
8
- ck/circuit/circuit_py.py,sha256=_k8H1yZsfp2vERkX_CIo8VxxOf1ICw2zL8i2ckoaSlE,28127
3
+ ck/circuit/__init__.py,sha256=pMe0M2WI0A1Kr8TCty82oRKrHnDeTjL1rr0Wy03shY0,217
4
+ ck/circuit/_circuit_cy.cp312-win_amd64.pyd,sha256=Pyd-NonuBw-XvnguxnsZBqf3P4O1W9Tdlt3T4p4OWG4,248320
5
+ ck/circuit/_circuit_cy.pyx,sha256=wFu81taNG3M-SLJivhVoJwZVX_50eHyBVduIx5vtHFw,28453
6
+ ck/circuit/_circuit_py.py,sha256=9C-5PuKEnU8eTgdCZysTAsbvHDOLTcsSjzcXdIHH-Ow,28339
9
7
  ck/circuit/tmp_const.py,sha256=dG9FuGfoAG5qjYG1rNwekqKiea_KmVfxHMTOgCPbBiQ,2372
10
8
  ck/circuit_compiler/__init__.py,sha256=T0Igyp5jPgnIXv4oRcIYhmsOdcNOb3L4Za6dK6eYk7g,132
11
9
  ck/circuit_compiler/circuit_compiler.py,sha256=8BLB8DUnPbpl5PXZsIopydPbItytdn2rzRfM2U1EC84,1018
12
10
  ck/circuit_compiler/interpret_compiler.py,sha256=Vlu4VnZ_VWGoBb4yx6wuJOlhJ2nGVhkzQpIyJ8xyjbI,7350
13
11
  ck/circuit_compiler/llvm_compiler.py,sha256=ejeNPkO5Og2FyjjyA5JAexxUl1f8IJ6mwU5Ng5EafAA,14009
14
12
  ck/circuit_compiler/llvm_vm_compiler.py,sha256=I46_XV5FrClDKO06zIjn8T3ME5XQ9RYJ_1aAE8e_YzM,21873
15
- ck/circuit_compiler/named_circuit_compilers.py,sha256=gKhRvYLflSCkk6CBI-CBQ2UwR-bhEhMxLvnefPm8288,2282
13
+ ck/circuit_compiler/named_circuit_compilers.py,sha256=snlD3JnhAZC-atKpf5GD0v4CGdvj2_ZhCZ3O-tsxzxc,2284
16
14
  ck/circuit_compiler/cython_vm_compiler/__init__.py,sha256=pEAwTleuZgdYhTAQMea2f9YsFK54eoNbZSbrWkW8aeE,49
17
- ck/circuit_compiler/cython_vm_compiler/_compiler.c,sha256=xpYybtj-aRcMJV1oKkB-p0kciZVW3gLRd0OJBfDg3sc,757006
18
- ck/circuit_compiler/cython_vm_compiler/_compiler.cp312-win_amd64.pyd,sha256=XSQU7oikafjfsOaiBfI70kS2cLn69kn2CJjKgs2i5cw,92160
19
- ck/circuit_compiler/cython_vm_compiler/_compiler.pyx,sha256=hHuNo99TbodNpWgQwQ8qzW1cTwGXZj5SW0tKAo9u6cw,7718
15
+ ck/circuit_compiler/cython_vm_compiler/_compiler.c,sha256=nL6nPNrlx6RfmGeK7ZFgw38PMrs7n4w0KFBV9ba_zcU,722307
16
+ ck/circuit_compiler/cython_vm_compiler/_compiler.cp312-win_amd64.pyd,sha256=JK43LQ7GVu7P_Lx5xO7-qdKi0z9baTTSthYg0Ra8XEQ,81920
17
+ ck/circuit_compiler/cython_vm_compiler/_compiler.pyx,sha256=c9NVKWtL2ctY_ja5MZg74hgw8hKKztLi7FB6S1kLTe4,8542
20
18
  ck/circuit_compiler/cython_vm_compiler/cython_vm_compiler.py,sha256=yUkBNr5HnoVXyWjJdXHp8lyAXFiIDYapvMvHtzKuhI8,3140
21
19
  ck/circuit_compiler/support/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
20
  ck/circuit_compiler/support/circuit_analyser.py,sha256=jM0QW2flucvpc6fqcT8mL00ZA0rPTUhaE-yFfFQMXgE,2722
@@ -74,23 +72,22 @@ ck/pgm_circuit/wmc_program.py,sha256=WtABU74FOCCJuKRCoDL4CyZ4CJXFmt9RSxiNNHsOhRY
74
72
  ck/pgm_circuit/support/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
75
73
  ck/pgm_circuit/support/compile_circuit.py,sha256=RuYzDCRpfXZcY96sSW8v7x6ev9ScQ4IZkVqMdJUoMp8,3484
76
74
  ck/pgm_compiler/__init__.py,sha256=XCK1AWBBB9UYi6kbFnxMFzBL9a25EWfHnz_yn3ZKYuM,112
77
- ck/pgm_compiler/factor_elimination.py,sha256=Eu7wJWYjRK4aTEsJP4P_femktbqqZkWN3aI-nqHyNzU,13247
75
+ ck/pgm_compiler/factor_elimination.py,sha256=6iMh_NdOQh4D5cuo8q1y7yUuj3glnM9I0OJ9vlJAGqU,13807
78
76
  ck/pgm_compiler/named_pgm_compilers.py,sha256=kYMomYlsW7xbL0hzTWQb41EckkugaCfuYHUJqbEWBBs,3421
79
77
  ck/pgm_compiler/pgm_compiler.py,sha256=F44PtlwqMG0FS6KzOYKZuyZT6olWAVtBH-QXZPzz4O8,616
80
78
  ck/pgm_compiler/recursive_conditioning.py,sha256=U0NdIns8yLQtYR_MOf1w__CChpOMDlgRCL2nFRhtnzU,7936
81
- ck/pgm_compiler/variable_elimination.py,sha256=YNBurWTz8_BoaZgRZFj-T9gRVGek7ZutGkvjegyLkCM,3460
79
+ ck/pgm_compiler/variable_elimination.py,sha256=irAZ5b0vRGL_WGq7UrfQpMXhYBZO5YI2U_jf1-YV92Q,3547
82
80
  ck/pgm_compiler/ace/__init__.py,sha256=BkZXAF32Pk8QU7jhkuKvHqtsFasPjf8gxiZbyrGDDbQ,82
83
81
  ck/pgm_compiler/ace/ace.py,sha256=iyDacqArXW1cVP6tBabxRmmLWIHabuPkCoq2tWBm2ww,10397
84
82
  ck/pgm_compiler/support/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
85
- ck/pgm_compiler/support/clusters.py,sha256=96Up5XUgERh-t6KzSIOF2gtP5T4Ul83JK_aPtIR72Ic,20821
86
- ck/pgm_compiler/support/factor_tables.py,sha256=N7BNBBA-BX6RN-eiDwENtMLczW3JAkV-qW0i0k8OZEM,15558
87
- ck/pgm_compiler/support/join_tree.py,sha256=tRHev655cwRsOSyLK9HYwfX8EEkubmlg1fw748Kztb4,10418
83
+ ck/pgm_compiler/support/clusters.py,sha256=7jsZfPqv29vZNxmtiHBCBo3mEfvLQ_ejYh69M_d-nmo,21381
84
+ ck/pgm_compiler/support/factor_tables.py,sha256=tV9qE2zC8iwEQxTuXE6qiE6lmMpz4-Vc80_w5woo1tk,15556
85
+ ck/pgm_compiler/support/join_tree.py,sha256=OGAuZVHzT0i4e6TJ03dOM7e3gbpuW9AyjZKvSBvKvJA,12894
88
86
  ck/pgm_compiler/support/named_compiler_maker.py,sha256=tQ79JOI8MknAziUiFhFGV9n4y6PPKrnbq3-quMmnrwY,974
89
- ck/pgm_compiler/support/circuit_table/__init__.py,sha256=eWMP5ywgd51RJexKkhcpKJb_8iEluL0C4_hyOpzlAvQ,167
90
- ck/pgm_compiler/support/circuit_table/circuit_table.c,sha256=aO3bq3V-FwbmJDzWVYwigOFeQUC6gFz-nAq091XQp2E,702527
91
- ck/pgm_compiler/support/circuit_table/circuit_table.cp312-win_amd64.pyd,sha256=D8n3mBrIXbSPyFVOWJUwKb7F3h1O1SXmdGq7igfQFpA,94720
92
- ck/pgm_compiler/support/circuit_table/circuit_table.pyx,sha256=jhzstay-3EUgu0CIbWKd0eNDNToX1tmm9IQxk0ZgpYM,11904
93
- ck/pgm_compiler/support/circuit_table/circuit_table_py.py,sha256=1WFCxgBFu4oaYRCdk_1uXeufFQu6PqMOsYIQ_SkXDS4,10156
87
+ ck/pgm_compiler/support/circuit_table/__init__.py,sha256=V_hwJxsHqGucmE1k1VYg6QGzB9zJeaFBc2LBUyof3dk,172
88
+ ck/pgm_compiler/support/circuit_table/_circuit_table_cy.cp312-win_amd64.pyd,sha256=m3OToh7KVIuOSxII_D0bbbDlnpUZ4bqjTOu9IoPH-DY,94720
89
+ ck/pgm_compiler/support/circuit_table/_circuit_table_cy.pyx,sha256=JLC4_nsRPb8xC3alHE0G9Ojie9K4oUULVPrulkQnhds,11886
90
+ ck/pgm_compiler/support/circuit_table/_circuit_table_py.py,sha256=Dr6R4BU_UGlDZYYq3jOlEdIwk_OilExaurSznIeajls,10146
94
91
  ck/probability/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
95
92
  ck/probability/empirical_probability_space.py,sha256=HoLxmigzlWFWQlcZQwDOYk-mjgf6RW1IPE-l0t8vMPw,1950
96
93
  ck/probability/pgm_probability_space.py,sha256=vK-drx145PWW2aYB8HttQcvhvqPfxVl72bPcFO8jw8M,1034
@@ -135,7 +132,7 @@ ck_demos/pgm/demo_pgm_string_rendering.py,sha256=JTf_M6pPwl9RtOLlpJFQIgNgGuHnsdd
135
132
  ck_demos/pgm/show_examples.py,sha256=KxK37hKqWD9w9k9RoMCdJgkBIMePf8udQbqaFs-s91c,461
136
133
  ck_demos/pgm_compiler/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
137
134
  ck_demos/pgm_compiler/compare_pgm_compilers.py,sha256=pG0OQBl2wjdCIUU0RM70j8TfCjYUxRU0i13OWpfXUHc,1611
138
- ck_demos/pgm_compiler/demo_compiler_dump.py,sha256=OlLJi1wwdFQxave5lpceyVx0-ihHEn2-d-0XFFTjowY,1370
135
+ ck_demos/pgm_compiler/demo_compiler_dump.py,sha256=Jz51szVxaa21cGzibWZ1rzON3U_fdUana87CdCfSoVE,1672
139
136
  ck_demos/pgm_compiler/demo_factor_elimination.py,sha256=KDzYwNZJ9HTcPoNxg6lxFoaXJ26QW-nnBI-0Ux_yWoM,1320
140
137
  ck_demos/pgm_compiler/demo_join_tree.py,sha256=E7ZqFrRuAmnSRmBTDqNGxD-KFlHOtd_jIju8UJssUfM,574
141
138
  ck_demos/pgm_compiler/demo_marginals_program.py,sha256=44-ZkA8KyWPXWBnbnRGQin6cP_hWY50OfQpy7LckWNo,1863
@@ -144,6 +141,7 @@ ck_demos/pgm_compiler/demo_pgm_compiler.py,sha256=LaBVSD5bXAVvEelQiT_PxA4U9AC76g
144
141
  ck_demos/pgm_compiler/demo_recursive_conditioning.py,sha256=kVZ4nQ_vlDM94a3ebjyX9sG4gAvsHdKzlVqUJ4dlxNc,862
145
142
  ck_demos/pgm_compiler/demo_variable_elimination.py,sha256=9zDPxTYr6pnxNDBGa989Ffr3tvQdKXioG2A6JPzKw4Y,858
146
143
  ck_demos/pgm_compiler/demo_wmc_program.py,sha256=SPyok8RqXY2q6NsQc6e2OW_WtyOw10etPfocRdGF1ng,818
144
+ ck_demos/pgm_compiler/time_fe_compiler.py,sha256=F6huBVmJ3jDdDDXOGt1BVTt5zmGGK127HnnV-RK2zbE,3700
147
145
  ck_demos/pgm_inference/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
148
146
  ck_demos/pgm_inference/demo_inferencing_basic.py,sha256=qrai48Kn7fbpGb_RF5olUsavqzjyZ0JOpk3DvovS18I,5774
149
147
  ck_demos/pgm_inference/demo_inferencing_mpe_cancer.py,sha256=HJ3QHUqe090HEbhXHLCtkwDBdcIxec9zbZYDuaWZMW8,1599
@@ -166,8 +164,8 @@ ck_demos/utils/compare.py,sha256=MwigxgMqeV7slrzdIJYVJ340QBCCXOeUzUKOJkkd98w,497
166
164
  ck_demos/utils/convert_network.py,sha256=TSKj8q7L7J5rhrvwjaDkdYZ0Sg8vV5FRL_vCanX1CQw,1363
167
165
  ck_demos/utils/sample_model.py,sha256=in-Nlv-iuNIu6y9fDuMyo7nzgimBuTAnCWcpnVqvqDQ,8839
168
166
  ck_demos/utils/stop_watch.py,sha256=VzXHRWx0V8vPSD-bLgLlEYkCkR2FA0-KmM_pfKx-Pxo,13205
169
- compiled_knowledge-4.0.0a16.dist-info/licenses/LICENSE.txt,sha256=uMYx7tmroEKNASizbCOwPveMQsD5UErLDC1_SANmNn8,1089
170
- compiled_knowledge-4.0.0a16.dist-info/METADATA,sha256=5y-1ZXcu9vGc2PE6lccfgtWTwjOstq_vY0Uk6OT9AQc,1838
171
- compiled_knowledge-4.0.0a16.dist-info/WHEEL,sha256=b7PoVIxzH_MOHKjftqMzQiGKfdHRlRFepVBVPg0y3vc,101
172
- compiled_knowledge-4.0.0a16.dist-info/top_level.txt,sha256=Cf8DAfd2vcnLiA7HlxoduOzV0Q-8surE3kzX8P9qdks,12
173
- compiled_knowledge-4.0.0a16.dist-info/RECORD,,
167
+ compiled_knowledge-4.0.0a17.dist-info/licenses/LICENSE.txt,sha256=uMYx7tmroEKNASizbCOwPveMQsD5UErLDC1_SANmNn8,1089
168
+ compiled_knowledge-4.0.0a17.dist-info/METADATA,sha256=tOzAP4I8J_GgurONBokeDJvcG1Ycdizt7uW3pDqcM7Y,1838
169
+ compiled_knowledge-4.0.0a17.dist-info/WHEEL,sha256=b7PoVIxzH_MOHKjftqMzQiGKfdHRlRFepVBVPg0y3vc,101
170
+ compiled_knowledge-4.0.0a17.dist-info/top_level.txt,sha256=Cf8DAfd2vcnLiA7HlxoduOzV0Q-8surE3kzX8P9qdks,12
171
+ compiled_knowledge-4.0.0a17.dist-info/RECORD,,