PySDD 0.2.12__tar.gz → 1.0.1__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 (119) hide show
  1. {pysdd-0.2.12 → pysdd-1.0.1}/PKG-INFO +45 -56
  2. {pysdd-0.2.12 → pysdd-1.0.1}/PySDD.egg-info/PKG-INFO +45 -56
  3. {pysdd-0.2.12 → pysdd-1.0.1}/PySDD.egg-info/SOURCES.txt +0 -31
  4. pysdd-1.0.1/PySDD.egg-info/requires.txt +5 -0
  5. {pysdd-0.2.12 → pysdd-1.0.1}/README.rst +18 -39
  6. pysdd-1.0.1/pyproject.toml +122 -0
  7. pysdd-1.0.1/pysdd/__init__.py +1 -0
  8. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/basic/hash.c +1 -0
  9. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/basic/memory.c +1 -0
  10. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/manager/interface.c +1 -0
  11. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/sdds/exists_multiple.c +1 -0
  12. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/sdds/io.c +1 -0
  13. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/util.c +1 -0
  14. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/version.c +1 -1
  15. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/vtrees/compare.c +1 -0
  16. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/vtrees/static.c +1 -0
  17. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/sdd-2.0/src/fnf/compiler.c +1 -0
  18. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/sdd-2.0/src/fnf/fnf.c +1 -0
  19. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/sdd-2.0/src/fnf/io.c +1 -0
  20. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/sdd-2.0/src/fnf/utils.c +1 -0
  21. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/sdd.pyx +5 -4
  22. {pysdd-0.2.12 → pysdd-1.0.1}/setup.cfg +0 -3
  23. pysdd-0.2.12/MANIFEST.in +0 -2
  24. pysdd-0.2.12/PySDD.egg-info/not-zip-safe +0 -1
  25. pysdd-0.2.12/PySDD.egg-info/requires.txt +0 -9
  26. pysdd-0.2.12/pyproject.toml +0 -4
  27. pysdd-0.2.12/pysdd/__init__.py +0 -1
  28. pysdd-0.2.12/pysdd/compiler_c.pxd +0 -37
  29. pysdd-0.2.12/pysdd/fnf_c.pxd +0 -17
  30. pysdd-0.2.12/pysdd/io_c.pxd +0 -22
  31. pysdd-0.2.12/pysdd/lib/libsdd-2.0/include/iterators.h +0 -243
  32. pysdd-0.2.12/pysdd/lib/libsdd-2.0/include/macros.h +0 -272
  33. pysdd-0.2.12/pysdd/lib/libsdd-2.0/include/parameters.h +0 -71
  34. pysdd-0.2.12/pysdd/lib/libsdd-2.0/include/sdd.h +0 -822
  35. pysdd-0.2.12/pysdd/lib/libsdd-2.0/include/stacks.h +0 -86
  36. pysdd-0.2.12/pysdd/lib/libsdd-2.0/sddapi.h +0 -247
  37. pysdd-0.2.12/pysdd/lib/libsdd-2.0/src/fnf/io.c +0 -125
  38. pysdd-0.2.12/pysdd/lib/libsdd-2.0/src/vtree_operations/vtree_ops.h +0 -48
  39. pysdd-0.2.12/pysdd/lib/sdd-2.0/include/compiler.h +0 -103
  40. pysdd-0.2.12/pysdd/lib/sdd-2.0/include/fnf.h +0 -13
  41. pysdd-0.2.12/pysdd/lib/sdd-2.0/include/io.h +0 -11
  42. pysdd-0.2.12/pysdd/lib/sdd-2.0/include/sddapi.h +0 -340
  43. pysdd-0.2.12/pysdd/lib/sdd-2.0/lib/Darwin/libsdd.a +0 -0
  44. pysdd-0.2.12/pysdd/lib/sdd-2.0/lib/Darwin-arm/libsdd.a +0 -0
  45. pysdd-0.2.12/pysdd/lib/sdd-2.0/lib/Linux/libsdd.a +0 -0
  46. pysdd-0.2.12/pysdd/lib/sdd-2.0/lib/Linux/libsdd.so +0 -0
  47. pysdd-0.2.12/pysdd/lib/sdd-2.0/lib/Windows/sdd.dll +0 -0
  48. pysdd-0.2.12/pysdd/lib/sdd-2.0/lib/Windows/sdd.lib +0 -0
  49. pysdd-0.2.12/pysdd/lib/sdd-2.0/src/getopt.c +0 -146
  50. pysdd-0.2.12/pysdd/lib/sdd-2.0/src/main.c +0 -159
  51. pysdd-0.2.12/pysdd/lib/sdd_extra/include/sddapi_extra.h +0 -22
  52. pysdd-0.2.12/pysdd/sdd.c +0 -84268
  53. pysdd-0.2.12/pysdd/sdd.dll +0 -0
  54. pysdd-0.2.12/pysdd/sddapi_c.pxd +0 -240
  55. pysdd-0.2.12/setup.py +0 -281
  56. {pysdd-0.2.12 → pysdd-1.0.1}/LICENSE +0 -0
  57. {pysdd-0.2.12 → pysdd-1.0.1}/PySDD.egg-info/dependency_links.txt +0 -0
  58. {pysdd-0.2.12 → pysdd-1.0.1}/PySDD.egg-info/entry_points.txt +0 -0
  59. {pysdd-0.2.12 → pysdd-1.0.1}/PySDD.egg-info/top_level.txt +0 -0
  60. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/__main__.py +0 -0
  61. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/cli.py +0 -0
  62. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/iterator.py +0 -0
  63. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/basic/computed.c +0 -0
  64. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/basic/count_and_size.c +0 -0
  65. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/basic/gc.c +0 -0
  66. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/basic/multiply.c +0 -0
  67. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/basic/nodes.c +0 -0
  68. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/basic/partitions.c +0 -0
  69. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/basic/references.c +0 -0
  70. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/basic/replace.c +0 -0
  71. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/basic/shadows.c +0 -0
  72. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/basic/sort.c +0 -0
  73. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/manager/copy.c +0 -0
  74. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/manager/manager.c +0 -0
  75. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/manager/stats.c +0 -0
  76. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/manager/variables.c +0 -0
  77. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/sdds/apply.c +0 -0
  78. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/sdds/bits.c +0 -0
  79. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/sdds/cardinality.c +0 -0
  80. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/sdds/condition.c +0 -0
  81. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/sdds/copy.c +0 -0
  82. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/sdds/count.c +0 -0
  83. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/sdds/essential_vars.c +0 -0
  84. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/sdds/exists.c +0 -0
  85. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/sdds/exists_multiple_static.c +0 -0
  86. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/sdds/forall.c +0 -0
  87. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/sdds/model_count.c +0 -0
  88. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/sdds/rename_vars.c +0 -0
  89. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/sdds/size.c +0 -0
  90. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/sdds/wmc.c +0 -0
  91. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/verify.c +0 -0
  92. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/vtree_fragments/construction.c +0 -0
  93. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/vtree_fragments/moves.c +0 -0
  94. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/vtree_fragments/operations.c +0 -0
  95. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/vtree_operations/cartesian_product.c +0 -0
  96. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/vtree_operations/dissect.c +0 -0
  97. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/vtree_operations/limits.c +0 -0
  98. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/vtree_operations/op_left_rotate.c +0 -0
  99. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/vtree_operations/op_right_rotate.c +0 -0
  100. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/vtree_operations/op_swap.c +0 -0
  101. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/vtree_operations/rollback.c +0 -0
  102. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/vtree_operations/split.c +0 -0
  103. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/vtree_search/auto.c +0 -0
  104. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/vtree_search/search.c +0 -0
  105. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/vtree_search/state.c +0 -0
  106. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/vtrees/edit.c +0 -0
  107. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/vtrees/io.c +0 -0
  108. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/vtrees/maps.c +0 -0
  109. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/vtrees/moves.c +0 -0
  110. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/lib/libsdd-2.0/src/vtrees/vtree.c +0 -0
  111. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/util.py +0 -0
  112. {pysdd-0.2.12 → pysdd-1.0.1}/pysdd/wmcstochastic.py +0 -0
  113. {pysdd-0.2.12 → pysdd-1.0.1}/tests/test_iterator.py +0 -0
  114. {pysdd-0.2.12 → pysdd-1.0.1}/tests/test_minimize.py +0 -0
  115. {pysdd-0.2.12 → pysdd-1.0.1}/tests/test_nnf.py +0 -0
  116. {pysdd-0.2.12 → pysdd-1.0.1}/tests/test_psdd.py +0 -0
  117. {pysdd-0.2.12 → pysdd-1.0.1}/tests/test_util.py +0 -0
  118. {pysdd-0.2.12 → pysdd-1.0.1}/tests/test_vtree.py +0 -0
  119. {pysdd-0.2.12 → pysdd-1.0.1}/tests/test_wmcstochastic.py +0 -0
@@ -1,53 +1,46 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: PySDD
3
- Version: 0.2.12
3
+ Version: 1.0.1
4
4
  Summary: Sentential Decision Diagrams
5
- Home-page: https://github.com/wannesm/PySDD
6
- Author: Wannes Meert, Arthur Choi
7
- Author-email: wannes.meert@cs.kuleuven.be
8
- License: Apache 2.0
9
- Project-URL: PySDD documentation, https://pysdd.readthedocs.io/en/latest/
10
- Project-URL: PySDD source, https://github.com/wannesm/PySDD
11
- Keywords: sdd,knowledge compilation
5
+ Author: Arthur Choi
6
+ Author-email: Wannes Meert <wannes.meert@cs.kuleuven.be>
7
+ License: Copyright 2018, KU Leuven and Regents of the University of California
8
+
9
+ Licensed under the Apache License, Version 2.0 (the "License");
10
+ you may not use this file except in compliance with the License.
11
+ You may obtain a copy of the License at
12
+
13
+ http://www.apache.org/licenses/LICENSE-2.0
14
+
15
+ Unless required by applicable law or agreed to in writing, software
16
+ distributed under the License is distributed on an "AS IS" BASIS,
17
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
+ See the License for the specific language governing permissions and
19
+ limitations under the License.
20
+
21
+ Project-URL: Homepage, https://github.com/wannesm/PySDD
22
+ Project-URL: Documentation, https://pysdd.readthedocs.io/en/latest/
23
+ Keywords: sdd, knowledge compilation
12
24
  Classifier: Intended Audience :: Developers
13
25
  Classifier: License :: OSI Approved :: Apache Software License
14
26
  Classifier: Programming Language :: Python :: 3
15
27
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
16
- Requires-Python: >=3.6
28
+ Requires-Python: >=3.8
29
+ Description-Content-Type: text/x-rst
17
30
  License-File: LICENSE
18
- Requires-Dist: cython>=3.0.0
19
- Provides-Extra: all
20
- Requires-Dist: cysignals; extra == "all"
21
- Requires-Dist: numpy; extra == "all"
22
- Provides-Extra: dev
23
- Requires-Dist: pytest; extra == "dev"
24
- Requires-Dist: cython>=3.0.0; extra == "dev"
31
+ Requires-Dist: cython
32
+ Requires-Dist: numpy
33
+ Provides-Extra: tests
34
+ Requires-Dist: pytest; extra == "tests"
25
35
 
26
36
  =====
27
37
  PySDD
28
38
  =====
29
39
 
30
- Python wrapper package to interactively use `Sententical Decision Diagrams (SDD) <http://reasoning.cs.ucla.edu/sdd/>`_.
40
+ Python wrapper package to interactively use `Sentential Decision Diagrams (SDD) <http://reasoning.cs.ucla.edu/sdd/>`_.
31
41
 
32
42
  Full documentation available on http://pysdd.readthedocs.io.
33
43
 
34
- ------------
35
- Dependencies
36
- ------------
37
-
38
- * Python >=3.6
39
- * Cython
40
-
41
- Optional:
42
-
43
- * cysignals
44
- * numpy
45
-
46
- Make sure to have the correct development tools installed:
47
-
48
- * C compiler (see `Installing Cython <https://cython.readthedocs.io/en/latest/src/quickstart/install.html>`_)
49
- * The Python development version that includes Python header files and static library (e.g. libpython3-dev, python-dev, ...)
50
-
51
44
  ------------
52
45
  Installation
53
46
  ------------
@@ -153,31 +146,27 @@ perform memory management.
153
146
  Compilation from source
154
147
  -----------------------
155
148
 
149
+ To install from source, make sure to have the correct development tools installed:
150
+
151
+ * C compiler (see `Installing Cython <https://cython.readthedocs.io/en/latest/src/quickstart/install.html>`_)
152
+ * The Python development version that includes Python header files and static library (e.g. libpython3-dev, python-dev, ...)
153
+
154
+ The build process will download Cython and numpy in an isolated environment.
155
+
156
+ Then run:
157
+
156
158
  .. code-block:: shell
157
159
 
158
- $ pip install git+https://github.com/wannesm/PySDD.git#egg=PySDD
160
+ $ pip install build
161
+ $ python -m build
159
162
 
160
- The repository should contain all the required files and libraries (unless
161
- you use Windows). If you want to compile from source, note that some c-source
162
- files from the SDD package have been updated to work with this wrapper and are
163
- included in this repository. Do not overwrite these new files with the original
164
- files.
165
163
 
166
- * Download the SDD package from http://reasoning.cs.ucla.edu/sdd/.
167
- * Install the SDD package in the PySDD package in directories
168
- ``pysdd/lib/sdd-2.0`` and ``pysdd/lib/sddlib-2.0`` without overwriting
169
- the already available files.
170
- * Run ``python3 setup.py build_ext --inplace`` or ``make build`` to compile the
171
- library in the current directory. If you want to install the library such
172
- that the library is available for your local installation or in your virtual
173
- environment, use ``python3 setup.py install``.
164
+ To install the main branch:
174
165
 
175
- For some Linux platforms, it might be necessary to recompile the libsdd-2.0 code with
176
- the gcc option ``-fPIC`` and replace the ``pysdd/lib/sdd-2.0/lib/Linux/libsdd.a``
177
- library with your newly compiled version.
166
+ .. code-block:: shell
167
+
168
+ $ pip install git+https://github.com/wannesm/PySDD.git#egg=PySDD
178
169
 
179
- The Windows platform is not supported. There is some initial support but we cannot
180
- offer guarantees or detailed instructions (but are happy to accept pull requests).
181
170
 
182
171
 
183
172
  ----------
@@ -189,7 +178,7 @@ programming language `ProbLog <https://dtai.cs.kuleuven.be/problog/>`_.
189
178
 
190
179
  References:
191
180
 
192
- * Wannes Meert, PySDD,
181
+ * Wannes Meert & Arthur Choi, PySDD,
193
182
  in `Recent Trends in Knowledge Compilation
194
183
  <http://drops.dagstuhl.de/opus/volltexte/2018/8589/pdf/dagrep_v007_i009_p062_17381.pdf>`_,
195
184
  Report from Dagstuhl Seminar 17381, Sep 2017.
@@ -215,7 +204,7 @@ License
215
204
 
216
205
  Python SDD wrapper:
217
206
 
218
- Copyright 2017-2018, KU Leuven and Regents of the University of California.
207
+ Copyright 2017-2024, KU Leuven and Regents of the University of California.
219
208
  Licensed under the Apache License, Version 2.0.
220
209
 
221
210
 
@@ -1,53 +1,46 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: PySDD
3
- Version: 0.2.12
3
+ Version: 1.0.1
4
4
  Summary: Sentential Decision Diagrams
5
- Home-page: https://github.com/wannesm/PySDD
6
- Author: Wannes Meert, Arthur Choi
7
- Author-email: wannes.meert@cs.kuleuven.be
8
- License: Apache 2.0
9
- Project-URL: PySDD documentation, https://pysdd.readthedocs.io/en/latest/
10
- Project-URL: PySDD source, https://github.com/wannesm/PySDD
11
- Keywords: sdd,knowledge compilation
5
+ Author: Arthur Choi
6
+ Author-email: Wannes Meert <wannes.meert@cs.kuleuven.be>
7
+ License: Copyright 2018, KU Leuven and Regents of the University of California
8
+
9
+ Licensed under the Apache License, Version 2.0 (the "License");
10
+ you may not use this file except in compliance with the License.
11
+ You may obtain a copy of the License at
12
+
13
+ http://www.apache.org/licenses/LICENSE-2.0
14
+
15
+ Unless required by applicable law or agreed to in writing, software
16
+ distributed under the License is distributed on an "AS IS" BASIS,
17
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
+ See the License for the specific language governing permissions and
19
+ limitations under the License.
20
+
21
+ Project-URL: Homepage, https://github.com/wannesm/PySDD
22
+ Project-URL: Documentation, https://pysdd.readthedocs.io/en/latest/
23
+ Keywords: sdd, knowledge compilation
12
24
  Classifier: Intended Audience :: Developers
13
25
  Classifier: License :: OSI Approved :: Apache Software License
14
26
  Classifier: Programming Language :: Python :: 3
15
27
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
16
- Requires-Python: >=3.6
28
+ Requires-Python: >=3.8
29
+ Description-Content-Type: text/x-rst
17
30
  License-File: LICENSE
18
- Requires-Dist: cython>=3.0.0
19
- Provides-Extra: all
20
- Requires-Dist: cysignals; extra == "all"
21
- Requires-Dist: numpy; extra == "all"
22
- Provides-Extra: dev
23
- Requires-Dist: pytest; extra == "dev"
24
- Requires-Dist: cython>=3.0.0; extra == "dev"
31
+ Requires-Dist: cython
32
+ Requires-Dist: numpy
33
+ Provides-Extra: tests
34
+ Requires-Dist: pytest; extra == "tests"
25
35
 
26
36
  =====
27
37
  PySDD
28
38
  =====
29
39
 
30
- Python wrapper package to interactively use `Sententical Decision Diagrams (SDD) <http://reasoning.cs.ucla.edu/sdd/>`_.
40
+ Python wrapper package to interactively use `Sentential Decision Diagrams (SDD) <http://reasoning.cs.ucla.edu/sdd/>`_.
31
41
 
32
42
  Full documentation available on http://pysdd.readthedocs.io.
33
43
 
34
- ------------
35
- Dependencies
36
- ------------
37
-
38
- * Python >=3.6
39
- * Cython
40
-
41
- Optional:
42
-
43
- * cysignals
44
- * numpy
45
-
46
- Make sure to have the correct development tools installed:
47
-
48
- * C compiler (see `Installing Cython <https://cython.readthedocs.io/en/latest/src/quickstart/install.html>`_)
49
- * The Python development version that includes Python header files and static library (e.g. libpython3-dev, python-dev, ...)
50
-
51
44
  ------------
52
45
  Installation
53
46
  ------------
@@ -153,31 +146,27 @@ perform memory management.
153
146
  Compilation from source
154
147
  -----------------------
155
148
 
149
+ To install from source, make sure to have the correct development tools installed:
150
+
151
+ * C compiler (see `Installing Cython <https://cython.readthedocs.io/en/latest/src/quickstart/install.html>`_)
152
+ * The Python development version that includes Python header files and static library (e.g. libpython3-dev, python-dev, ...)
153
+
154
+ The build process will download Cython and numpy in an isolated environment.
155
+
156
+ Then run:
157
+
156
158
  .. code-block:: shell
157
159
 
158
- $ pip install git+https://github.com/wannesm/PySDD.git#egg=PySDD
160
+ $ pip install build
161
+ $ python -m build
159
162
 
160
- The repository should contain all the required files and libraries (unless
161
- you use Windows). If you want to compile from source, note that some c-source
162
- files from the SDD package have been updated to work with this wrapper and are
163
- included in this repository. Do not overwrite these new files with the original
164
- files.
165
163
 
166
- * Download the SDD package from http://reasoning.cs.ucla.edu/sdd/.
167
- * Install the SDD package in the PySDD package in directories
168
- ``pysdd/lib/sdd-2.0`` and ``pysdd/lib/sddlib-2.0`` without overwriting
169
- the already available files.
170
- * Run ``python3 setup.py build_ext --inplace`` or ``make build`` to compile the
171
- library in the current directory. If you want to install the library such
172
- that the library is available for your local installation or in your virtual
173
- environment, use ``python3 setup.py install``.
164
+ To install the main branch:
174
165
 
175
- For some Linux platforms, it might be necessary to recompile the libsdd-2.0 code with
176
- the gcc option ``-fPIC`` and replace the ``pysdd/lib/sdd-2.0/lib/Linux/libsdd.a``
177
- library with your newly compiled version.
166
+ .. code-block:: shell
167
+
168
+ $ pip install git+https://github.com/wannesm/PySDD.git#egg=PySDD
178
169
 
179
- The Windows platform is not supported. There is some initial support but we cannot
180
- offer guarantees or detailed instructions (but are happy to accept pull requests).
181
170
 
182
171
 
183
172
  ----------
@@ -189,7 +178,7 @@ programming language `ProbLog <https://dtai.cs.kuleuven.be/problog/>`_.
189
178
 
190
179
  References:
191
180
 
192
- * Wannes Meert, PySDD,
181
+ * Wannes Meert & Arthur Choi, PySDD,
193
182
  in `Recent Trends in Knowledge Compilation
194
183
  <http://drops.dagstuhl.de/opus/volltexte/2018/8589/pdf/dagrep_v007_i009_p062_17381.pdf>`_,
195
184
  Report from Dagstuhl Seminar 17381, Sep 2017.
@@ -215,7 +204,7 @@ License
215
204
 
216
205
  Python SDD wrapper:
217
206
 
218
- Copyright 2017-2018, KU Leuven and Regents of the University of California.
207
+ Copyright 2017-2024, KU Leuven and Regents of the University of California.
219
208
  Licensed under the Apache License, Version 2.0.
220
209
 
221
210
 
@@ -1,35 +1,19 @@
1
1
  LICENSE
2
- MANIFEST.in
3
2
  README.rst
4
3
  pyproject.toml
5
- setup.cfg
6
- setup.py
7
4
  PySDD.egg-info/PKG-INFO
8
5
  PySDD.egg-info/SOURCES.txt
9
6
  PySDD.egg-info/dependency_links.txt
10
7
  PySDD.egg-info/entry_points.txt
11
- PySDD.egg-info/not-zip-safe
12
8
  PySDD.egg-info/requires.txt
13
9
  PySDD.egg-info/top_level.txt
14
10
  pysdd/__init__.py
15
11
  pysdd/__main__.py
16
12
  pysdd/cli.py
17
- pysdd/compiler_c.pxd
18
- pysdd/fnf_c.pxd
19
- pysdd/io_c.pxd
20
13
  pysdd/iterator.py
21
- pysdd/sdd.c
22
- pysdd/sdd.dll
23
14
  pysdd/sdd.pyx
24
- pysdd/sddapi_c.pxd
25
15
  pysdd/util.py
26
16
  pysdd/wmcstochastic.py
27
- pysdd/lib/libsdd-2.0/sddapi.h
28
- pysdd/lib/libsdd-2.0/include/iterators.h
29
- pysdd/lib/libsdd-2.0/include/macros.h
30
- pysdd/lib/libsdd-2.0/include/parameters.h
31
- pysdd/lib/libsdd-2.0/include/sdd.h
32
- pysdd/lib/libsdd-2.0/include/stacks.h
33
17
  pysdd/lib/libsdd-2.0/src/util.c
34
18
  pysdd/lib/libsdd-2.0/src/verify.c
35
19
  pysdd/lib/libsdd-2.0/src/version.c
@@ -45,7 +29,6 @@ pysdd/lib/libsdd-2.0/src/basic/references.c
45
29
  pysdd/lib/libsdd-2.0/src/basic/replace.c
46
30
  pysdd/lib/libsdd-2.0/src/basic/shadows.c
47
31
  pysdd/lib/libsdd-2.0/src/basic/sort.c
48
- pysdd/lib/libsdd-2.0/src/fnf/io.c
49
32
  pysdd/lib/libsdd-2.0/src/manager/copy.c
50
33
  pysdd/lib/libsdd-2.0/src/manager/interface.c
51
34
  pysdd/lib/libsdd-2.0/src/manager/manager.c
@@ -78,7 +61,6 @@ pysdd/lib/libsdd-2.0/src/vtree_operations/op_right_rotate.c
78
61
  pysdd/lib/libsdd-2.0/src/vtree_operations/op_swap.c
79
62
  pysdd/lib/libsdd-2.0/src/vtree_operations/rollback.c
80
63
  pysdd/lib/libsdd-2.0/src/vtree_operations/split.c
81
- pysdd/lib/libsdd-2.0/src/vtree_operations/vtree_ops.h
82
64
  pysdd/lib/libsdd-2.0/src/vtree_search/auto.c
83
65
  pysdd/lib/libsdd-2.0/src/vtree_search/search.c
84
66
  pysdd/lib/libsdd-2.0/src/vtree_search/state.c
@@ -89,23 +71,10 @@ pysdd/lib/libsdd-2.0/src/vtrees/maps.c
89
71
  pysdd/lib/libsdd-2.0/src/vtrees/moves.c
90
72
  pysdd/lib/libsdd-2.0/src/vtrees/static.c
91
73
  pysdd/lib/libsdd-2.0/src/vtrees/vtree.c
92
- pysdd/lib/sdd-2.0/include/compiler.h
93
- pysdd/lib/sdd-2.0/include/fnf.h
94
- pysdd/lib/sdd-2.0/include/io.h
95
- pysdd/lib/sdd-2.0/include/sddapi.h
96
- pysdd/lib/sdd-2.0/lib/Darwin/libsdd.a
97
- pysdd/lib/sdd-2.0/lib/Darwin-arm/libsdd.a
98
- pysdd/lib/sdd-2.0/lib/Linux/libsdd.a
99
- pysdd/lib/sdd-2.0/lib/Linux/libsdd.so
100
- pysdd/lib/sdd-2.0/lib/Windows/sdd.dll
101
- pysdd/lib/sdd-2.0/lib/Windows/sdd.lib
102
- pysdd/lib/sdd-2.0/src/getopt.c
103
- pysdd/lib/sdd-2.0/src/main.c
104
74
  pysdd/lib/sdd-2.0/src/fnf/compiler.c
105
75
  pysdd/lib/sdd-2.0/src/fnf/fnf.c
106
76
  pysdd/lib/sdd-2.0/src/fnf/io.c
107
77
  pysdd/lib/sdd-2.0/src/fnf/utils.c
108
- pysdd/lib/sdd_extra/include/sddapi_extra.h
109
78
  tests/test_iterator.py
110
79
  tests/test_minimize.py
111
80
  tests/test_nnf.py
@@ -0,0 +1,5 @@
1
+ cython
2
+ numpy
3
+
4
+ [tests]
5
+ pytest
@@ -2,27 +2,10 @@
2
2
  PySDD
3
3
  =====
4
4
 
5
- Python wrapper package to interactively use `Sententical Decision Diagrams (SDD) <http://reasoning.cs.ucla.edu/sdd/>`_.
5
+ Python wrapper package to interactively use `Sentential Decision Diagrams (SDD) <http://reasoning.cs.ucla.edu/sdd/>`_.
6
6
 
7
7
  Full documentation available on http://pysdd.readthedocs.io.
8
8
 
9
- ------------
10
- Dependencies
11
- ------------
12
-
13
- * Python >=3.6
14
- * Cython
15
-
16
- Optional:
17
-
18
- * cysignals
19
- * numpy
20
-
21
- Make sure to have the correct development tools installed:
22
-
23
- * C compiler (see `Installing Cython <https://cython.readthedocs.io/en/latest/src/quickstart/install.html>`_)
24
- * The Python development version that includes Python header files and static library (e.g. libpython3-dev, python-dev, ...)
25
-
26
9
  ------------
27
10
  Installation
28
11
  ------------
@@ -128,31 +111,27 @@ perform memory management.
128
111
  Compilation from source
129
112
  -----------------------
130
113
 
114
+ To install from source, make sure to have the correct development tools installed:
115
+
116
+ * C compiler (see `Installing Cython <https://cython.readthedocs.io/en/latest/src/quickstart/install.html>`_)
117
+ * The Python development version that includes Python header files and static library (e.g. libpython3-dev, python-dev, ...)
118
+
119
+ The build process will download Cython and numpy in an isolated environment.
120
+
121
+ Then run:
122
+
131
123
  .. code-block:: shell
132
124
 
133
- $ pip install git+https://github.com/wannesm/PySDD.git#egg=PySDD
125
+ $ pip install build
126
+ $ python -m build
134
127
 
135
- The repository should contain all the required files and libraries (unless
136
- you use Windows). If you want to compile from source, note that some c-source
137
- files from the SDD package have been updated to work with this wrapper and are
138
- included in this repository. Do not overwrite these new files with the original
139
- files.
140
128
 
141
- * Download the SDD package from http://reasoning.cs.ucla.edu/sdd/.
142
- * Install the SDD package in the PySDD package in directories
143
- ``pysdd/lib/sdd-2.0`` and ``pysdd/lib/sddlib-2.0`` without overwriting
144
- the already available files.
145
- * Run ``python3 setup.py build_ext --inplace`` or ``make build`` to compile the
146
- library in the current directory. If you want to install the library such
147
- that the library is available for your local installation or in your virtual
148
- environment, use ``python3 setup.py install``.
129
+ To install the main branch:
149
130
 
150
- For some Linux platforms, it might be necessary to recompile the libsdd-2.0 code with
151
- the gcc option ``-fPIC`` and replace the ``pysdd/lib/sdd-2.0/lib/Linux/libsdd.a``
152
- library with your newly compiled version.
131
+ .. code-block:: shell
132
+
133
+ $ pip install git+https://github.com/wannesm/PySDD.git#egg=PySDD
153
134
 
154
- The Windows platform is not supported. There is some initial support but we cannot
155
- offer guarantees or detailed instructions (but are happy to accept pull requests).
156
135
 
157
136
 
158
137
  ----------
@@ -164,7 +143,7 @@ programming language `ProbLog <https://dtai.cs.kuleuven.be/problog/>`_.
164
143
 
165
144
  References:
166
145
 
167
- * Wannes Meert, PySDD,
146
+ * Wannes Meert & Arthur Choi, PySDD,
168
147
  in `Recent Trends in Knowledge Compilation
169
148
  <http://drops.dagstuhl.de/opus/volltexte/2018/8589/pdf/dagrep_v007_i009_p062_17381.pdf>`_,
170
149
  Report from Dagstuhl Seminar 17381, Sep 2017.
@@ -190,7 +169,7 @@ License
190
169
 
191
170
  Python SDD wrapper:
192
171
 
193
- Copyright 2017-2018, KU Leuven and Regents of the University of California.
172
+ Copyright 2017-2024, KU Leuven and Regents of the University of California.
194
173
  Licensed under the Apache License, Version 2.0.
195
174
 
196
175
 
@@ -0,0 +1,122 @@
1
+ [build-system]
2
+ requires = ["setuptools", "cython"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "PySDD"
7
+ version = "1.0.1"
8
+ description = "Sentential Decision Diagrams"
9
+ authors = [
10
+ { name = "Wannes Meert", email = "wannes.meert@cs.kuleuven.be" },
11
+ { name = "Arthur Choi" },
12
+ ]
13
+ readme = "README.rst"
14
+ license = { file = "LICENSE" }
15
+ requires-python = ">=3.8"
16
+ dependencies = [
17
+ "cython",
18
+ "numpy",
19
+ ]
20
+ keywords = ["sdd, knowledge compilation"]
21
+ classifiers = [
22
+ "Intended Audience :: Developers",
23
+ "License :: OSI Approved :: Apache Software License",
24
+ "Programming Language :: Python :: 3",
25
+ "Topic :: Scientific/Engineering :: Artificial Intelligence"
26
+ ]
27
+
28
+ [project.optional-dependencies]
29
+ tests = ["pytest"]
30
+
31
+
32
+
33
+ [project.urls]
34
+ Homepage = "https://github.com/wannesm/PySDD"
35
+ Documentation = "https://pysdd.readthedocs.io/en/latest/"
36
+
37
+ [project.entry-points."console_scripts"]
38
+ pysdd = "pysdd.cli:main"
39
+
40
+ [tool.setuptools]
41
+ packages=["pysdd"]
42
+
43
+ [[tool.setuptools.ext-modules]]
44
+ name = "pysdd.sdd"
45
+ sources = [
46
+ "pysdd/sdd.pyx",
47
+ "pysdd/lib/libsdd-2.0/src/util.c",
48
+ "pysdd/lib/libsdd-2.0/src/verify.c",
49
+ "pysdd/lib/libsdd-2.0/src/version.c",
50
+ "pysdd/lib/libsdd-2.0/src/basic/computed.c",
51
+ "pysdd/lib/libsdd-2.0/src/basic/count_and_size.c",
52
+ "pysdd/lib/libsdd-2.0/src/basic/gc.c",
53
+ "pysdd/lib/libsdd-2.0/src/basic/hash.c",
54
+ "pysdd/lib/libsdd-2.0/src/basic/memory.c",
55
+ "pysdd/lib/libsdd-2.0/src/basic/multiply.c",
56
+ "pysdd/lib/libsdd-2.0/src/basic/nodes.c",
57
+ "pysdd/lib/libsdd-2.0/src/basic/partitions.c",
58
+ "pysdd/lib/libsdd-2.0/src/basic/references.c",
59
+ "pysdd/lib/libsdd-2.0/src/basic/replace.c",
60
+ "pysdd/lib/libsdd-2.0/src/basic/shadows.c",
61
+ "pysdd/lib/libsdd-2.0/src/basic/sort.c",
62
+ "pysdd/lib/libsdd-2.0/src/manager/copy.c",
63
+ "pysdd/lib/libsdd-2.0/src/manager/interface.c",
64
+ "pysdd/lib/libsdd-2.0/src/manager/manager.c",
65
+ "pysdd/lib/libsdd-2.0/src/manager/stats.c",
66
+ "pysdd/lib/libsdd-2.0/src/manager/variables.c",
67
+ "pysdd/lib/libsdd-2.0/src/sdds/apply.c",
68
+ "pysdd/lib/libsdd-2.0/src/sdds/bits.c",
69
+ "pysdd/lib/libsdd-2.0/src/sdds/cardinality.c",
70
+ "pysdd/lib/libsdd-2.0/src/sdds/condition.c",
71
+ "pysdd/lib/libsdd-2.0/src/sdds/copy.c",
72
+ "pysdd/lib/libsdd-2.0/src/sdds/count.c",
73
+ "pysdd/lib/libsdd-2.0/src/sdds/essential_vars.c",
74
+ "pysdd/lib/libsdd-2.0/src/sdds/exists.c",
75
+ "pysdd/lib/libsdd-2.0/src/sdds/exists_multiple.c",
76
+ "pysdd/lib/libsdd-2.0/src/sdds/exists_multiple_static.c",
77
+ "pysdd/lib/libsdd-2.0/src/sdds/forall.c",
78
+ "pysdd/lib/libsdd-2.0/src/sdds/io.c",
79
+ "pysdd/lib/libsdd-2.0/src/sdds/model_count.c",
80
+ "pysdd/lib/libsdd-2.0/src/sdds/rename_vars.c",
81
+ "pysdd/lib/libsdd-2.0/src/sdds/size.c",
82
+ "pysdd/lib/libsdd-2.0/src/sdds/wmc.c",
83
+ "pysdd/lib/libsdd-2.0/src/vtree_fragments/construction.c",
84
+ "pysdd/lib/libsdd-2.0/src/vtree_fragments/moves.c",
85
+ "pysdd/lib/libsdd-2.0/src/vtree_fragments/operations.c",
86
+ "pysdd/lib/libsdd-2.0/src/vtree_operations/cartesian_product.c",
87
+ "pysdd/lib/libsdd-2.0/src/vtree_operations/dissect.c",
88
+ "pysdd/lib/libsdd-2.0/src/vtree_operations/limits.c",
89
+ "pysdd/lib/libsdd-2.0/src/vtree_operations/op_left_rotate.c",
90
+ "pysdd/lib/libsdd-2.0/src/vtree_operations/op_right_rotate.c",
91
+ "pysdd/lib/libsdd-2.0/src/vtree_operations/op_swap.c",
92
+ "pysdd/lib/libsdd-2.0/src/vtree_operations/rollback.c",
93
+ "pysdd/lib/libsdd-2.0/src/vtree_operations/split.c",
94
+ "pysdd/lib/libsdd-2.0/src/vtree_search/auto.c",
95
+ "pysdd/lib/libsdd-2.0/src/vtree_search/search.c",
96
+ "pysdd/lib/libsdd-2.0/src/vtree_search/state.c",
97
+ "pysdd/lib/libsdd-2.0/src/vtrees/compare.c",
98
+ "pysdd/lib/libsdd-2.0/src/vtrees/edit.c",
99
+ "pysdd/lib/libsdd-2.0/src/vtrees/io.c",
100
+ "pysdd/lib/libsdd-2.0/src/vtrees/maps.c",
101
+ "pysdd/lib/libsdd-2.0/src/vtrees/moves.c",
102
+ "pysdd/lib/libsdd-2.0/src/vtrees/static.c",
103
+ "pysdd/lib/libsdd-2.0/src/vtrees/vtree.c",
104
+ "pysdd/lib/sdd-2.0/src/fnf/compiler.c",
105
+ "pysdd/lib/sdd-2.0/src/fnf/fnf.c",
106
+ "pysdd/lib/sdd-2.0/src/fnf/io.c",
107
+ "pysdd/lib/sdd-2.0/src/fnf/utils.c",
108
+ ]
109
+ include-dirs = [
110
+ "pysdd/lib/libsdd-2.0/include",
111
+ "pysdd/lib/sdd-2.0/include",
112
+ "pysdd/lib/sdd_extra/include",
113
+ ]
114
+
115
+ [tool.cibuildwheel]
116
+ environment = {CFLAGS="-std=c99 -O2 -finline-functions" }
117
+ test-requires = "pytest"
118
+ test-command = "pytest {project}/tests"
119
+
120
+ [tool.cibuildwheel.windows]
121
+ environment = {CL = "/O2"}
122
+
@@ -0,0 +1 @@
1
+ __version__ = "1.0.0"
@@ -2,6 +2,7 @@
2
2
  * The Sentential Decision Diagram Package
3
3
  * sdd version 2.0, January 8, 2018
4
4
  * http://reasoning.cs.ucla.edu/sdd
5
+ * Modified by DTAI.
5
6
  ****************************************************************************************/
6
7
 
7
8
  #include "sdd.h"
@@ -2,6 +2,7 @@
2
2
  * The Sentential Decision Diagram Package
3
3
  * sdd version 2.0, January 8, 2018
4
4
  * http://reasoning.cs.ucla.edu/sdd
5
+ * Modified by DTAI.
5
6
  ****************************************************************************************/
6
7
 
7
8
  #include "sdd.h"
@@ -2,6 +2,7 @@
2
2
  * The Sentential Decision Diagram Package
3
3
  * sdd version 2.0, January 8, 2018
4
4
  * http://reasoning.cs.ucla.edu/sdd
5
+ * Modified by DTAI.
5
6
  ****************************************************************************************/
6
7
 
7
8
  #include "sdd.h"
@@ -2,6 +2,7 @@
2
2
  * The Sentential Decision Diagram Package
3
3
  * sdd version 2.0, January 8, 2018
4
4
  * http://reasoning.cs.ucla.edu/sdd
5
+ * Modified by DTAI.
5
6
  ****************************************************************************************/
6
7
 
7
8
  #include "sdd.h"
@@ -2,6 +2,7 @@
2
2
  * The Sentential Decision Diagram Package
3
3
  * sdd version 2.0, January 8, 2018
4
4
  * http://reasoning.cs.ucla.edu/sdd
5
+ * Modified by DTAI.
5
6
  ****************************************************************************************/
6
7
 
7
8
  #include "sdd.h"
@@ -2,6 +2,7 @@
2
2
  * The Sentential Decision Diagram Package
3
3
  * sdd version 2.0, January 8, 2018
4
4
  * http://reasoning.cs.ucla.edu/sdd
5
+ * Modified by DTAI.
5
6
  ****************************************************************************************/
6
7
 
7
8
  #include <signal.h>
@@ -2,10 +2,10 @@
2
2
  * The Sentential Decision Diagram Package
3
3
  * sdd version 2.0, January 8, 2018
4
4
  * http://reasoning.cs.ucla.edu/sdd
5
+ * Modified by DTAI.
5
6
  ****************************************************************************************/
6
7
 
7
8
  const char* libsdd_version() {
8
- /* return "libsdd version " SDD_VERSION ", " SDD_DATE; */
9
9
  return "libsdd version 2.0";
10
10
  }
11
11