PySMT 0.9.7.dev485__tar.gz → 0.9.7.dev489__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.
- {pysmt-0.9.7.dev485/PySMT.egg-info → pysmt-0.9.7.dev489}/PKG-INFO +3 -1
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489/PySMT.egg-info}/PKG-INFO +3 -1
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/PySMT.egg-info/SOURCES.txt +2 -0
- pysmt-0.9.7.dev489/PySMT.egg-info/requires.txt +1 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/docs/CHANGES.rst +8 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/__init__.py +1 -1
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/cmd/install.py +2 -2
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/cmd/installers/base.py +4 -3
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/cmd/installers/bdd.py +5 -18
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/cmd/installers/btor.py +1 -1
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/cmd/installers/cvcfive.py +1 -1
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/cmd/installers/msat.py +1 -2
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/cmd/installers/yices.py +3 -3
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/cmd/installers/z3.py +1 -1
- pysmt-0.9.7.dev489/pysmt/test/test_installers.py +22 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/setup.py +2 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/LICENSE +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/MANIFEST.in +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/NOTICE +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/PySMT.egg-info/dependency_links.txt +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/PySMT.egg-info/entry_points.txt +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/PySMT.egg-info/top_level.txt +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/README.rst +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/docs/api_ref.rst +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/docs/development.rst +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/docs/getting_started.rst +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/docs/index.rst +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/docs/tutorials/boolean_logic.rst +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/docs/tutorials.rst +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/__main__.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/cmd/__init__.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/cmd/check_version.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/cmd/installers/__init__.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/cmd/installers/cvcfour.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/cmd/installers/optimsat.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/cmd/installers/pico.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/cmd/shell.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/configuration.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/constants.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/decorators.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/environment.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/exceptions.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/factory.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/fnode.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/formula.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/logics.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/operators.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/optimization/__init__.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/optimization/goal.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/optimization/msat.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/optimization/optimizer.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/optimization/optimsat.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/optimization/yices.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/optimization/z3.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/oracles.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/parsing.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/printers.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/rewritings.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/shortcuts.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/simplifier.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/smtlib/__init__.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/smtlib/annotations.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/smtlib/commands.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/smtlib/parser/__init__.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/smtlib/parser/parser.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/smtlib/printers.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/smtlib/script.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/smtlib/solver.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/smtlib/utils.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/solvers/__init__.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/solvers/bdd.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/solvers/btor.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/solvers/cvcfive.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/solvers/cvcfour.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/solvers/dynmsat.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/solvers/eager.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/solvers/interpolation.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/solvers/msat.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/solvers/options.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/solvers/pico.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/solvers/portfolio.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/solvers/qelim.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/solvers/smtlib.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/solvers/solver.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/solvers/yices.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/solvers/z3.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/substituter.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/__init__.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/configs/config1.ini +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/configs/config_bad.ini +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/examples.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/omt_examples.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/optimization_utils.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/smtlib/__init__.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/smtlib/parser_utils.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/smtlib/test_annotations.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/smtlib/test_fuzzed.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/smtlib/test_generic_wrapper.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/smtlib/test_griggio.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/smtlib/test_model_validation.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/smtlib/test_omt_lib_solver.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/smtlib/test_parser_examples.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/smtlib/test_parser_extensibility.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/smtlib/test_parser_lra.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/smtlib/test_parser_omt.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/smtlib/test_parser_qf_arrays.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/smtlib/test_parser_qf_lia.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/smtlib/test_parser_qf_lira.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/smtlib/test_parser_qf_lra.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/smtlib/test_parser_qf_nia.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/smtlib/test_parser_qf_nra.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/smtlib/test_parser_qf_uf.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/smtlib/test_parser_qf_ufbv.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/smtlib/test_parser_type_error.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/smtlib/test_smtlibscript.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_array.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_back.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_bdd.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_bv.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_bv_simplification.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_cnf.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_configuration.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_constants.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_cvc_quantifiers.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_doc_snippets.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_dwf.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_eager_model.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_env.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_euf.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_formula.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_hr_parsing.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_imports.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_int.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_interpolation.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_lira.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_logics.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_models.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_native_qe.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_nia.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_nlira.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_optimization.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_optimizing.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_oracles.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_portfolio.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_printing.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_qe.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_regressions.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_rewritings.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_shannon_expansion.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_simplify.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_size.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_solving.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_sorts.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_string.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_typechecker.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_unsat_cores.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_walker_ext.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/test/test_walkers.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/type_checker.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/typing.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/utils.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/walkers/__init__.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/walkers/dag.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/walkers/generic.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/walkers/identitydag.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/pysmt/walkers/tree.py +0 -0
- {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev489}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: PySMT
|
|
3
|
-
Version: 0.9.7.
|
|
3
|
+
Version: 0.9.7.dev489
|
|
4
4
|
Summary: A solver-agnostic library for SMT Formulae manipulation and solving
|
|
5
5
|
Home-page: http://www.pysmt.org
|
|
6
6
|
Author: PySMT Team
|
|
@@ -8,12 +8,14 @@ Author-email: info@pysmt.org
|
|
|
8
8
|
License: APACHE
|
|
9
9
|
License-File: LICENSE
|
|
10
10
|
License-File: NOTICE
|
|
11
|
+
Requires-Dist: setuptools
|
|
11
12
|
Dynamic: author
|
|
12
13
|
Dynamic: author-email
|
|
13
14
|
Dynamic: description
|
|
14
15
|
Dynamic: home-page
|
|
15
16
|
Dynamic: license
|
|
16
17
|
Dynamic: license-file
|
|
18
|
+
Dynamic: requires-dist
|
|
17
19
|
Dynamic: summary
|
|
18
20
|
|
|
19
21
|
============================================================
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: PySMT
|
|
3
|
-
Version: 0.9.7.
|
|
3
|
+
Version: 0.9.7.dev489
|
|
4
4
|
Summary: A solver-agnostic library for SMT Formulae manipulation and solving
|
|
5
5
|
Home-page: http://www.pysmt.org
|
|
6
6
|
Author: PySMT Team
|
|
@@ -8,12 +8,14 @@ Author-email: info@pysmt.org
|
|
|
8
8
|
License: APACHE
|
|
9
9
|
License-File: LICENSE
|
|
10
10
|
License-File: NOTICE
|
|
11
|
+
Requires-Dist: setuptools
|
|
11
12
|
Dynamic: author
|
|
12
13
|
Dynamic: author-email
|
|
13
14
|
Dynamic: description
|
|
14
15
|
Dynamic: home-page
|
|
15
16
|
Dynamic: license
|
|
16
17
|
Dynamic: license-file
|
|
18
|
+
Dynamic: requires-dist
|
|
17
19
|
Dynamic: summary
|
|
18
20
|
|
|
19
21
|
============================================================
|
|
@@ -7,6 +7,7 @@ PySMT.egg-info/PKG-INFO
|
|
|
7
7
|
PySMT.egg-info/SOURCES.txt
|
|
8
8
|
PySMT.egg-info/dependency_links.txt
|
|
9
9
|
PySMT.egg-info/entry_points.txt
|
|
10
|
+
PySMT.egg-info/requires.txt
|
|
10
11
|
PySMT.egg-info/top_level.txt
|
|
11
12
|
docs/CHANGES.rst
|
|
12
13
|
docs/api_ref.rst
|
|
@@ -106,6 +107,7 @@ pysmt/test/test_euf.py
|
|
|
106
107
|
pysmt/test/test_formula.py
|
|
107
108
|
pysmt/test/test_hr_parsing.py
|
|
108
109
|
pysmt/test/test_imports.py
|
|
110
|
+
pysmt/test/test_installers.py
|
|
109
111
|
pysmt/test/test_int.py
|
|
110
112
|
pysmt/test/test_interpolation.py
|
|
111
113
|
pysmt/test/test_lira.py
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
setuptools
|
|
@@ -4,6 +4,14 @@ Change Log
|
|
|
4
4
|
(unreleased)
|
|
5
5
|
------------
|
|
6
6
|
|
|
7
|
+
* BDD: Upgrade to repycudd 3.0.1, which bundles CUDD 3.0.0 in place of
|
|
8
|
+
2.4.2 and builds with pip on Linux and 64-bit Windows.
|
|
9
|
+
``pysmt-install --bdd`` now works on Windows (it needs the Microsoft
|
|
10
|
+
C++ Build Tools), and no longer needs ``make`` or a system SWIG on
|
|
11
|
+
Linux. The repycudd API that pysmt uses is unchanged. Results that
|
|
12
|
+
depend on CUDD's heuristics, such as BDD sizes after reordering, may
|
|
13
|
+
differ.
|
|
14
|
+
|
|
7
15
|
* Fixed: MathSAT segfaulted in ``get_unsat_core()`` after solving under
|
|
8
16
|
a non-literal assumption, because reading the core popped the
|
|
9
17
|
assumption level and left MathSAT's core with dangling terms. Z3 did
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
from typing import Tuple, Union
|
|
20
20
|
|
|
21
21
|
|
|
22
|
-
VERSION: Union[Tuple[int, int, int], Tuple[int, int, int, str, int]] = (0, 9, 7, "dev",
|
|
22
|
+
VERSION: Union[Tuple[int, int, int], Tuple[int, int, int, str, int]] = (0, 9, 7, "dev", 489)
|
|
23
23
|
|
|
24
24
|
# Try to provide human-readable version of latest commit for dev versions
|
|
25
25
|
# E.g. v0.5.1-4-g49a49f2-wip
|
|
@@ -41,8 +41,8 @@ INSTALLERS = [
|
|
|
41
41
|
Installer(BtorInstaller, "3.2.3", {}),
|
|
42
42
|
Installer(PicoSATInstaller, "965",
|
|
43
43
|
{"pypicosat_minor_version" : "1708010052"}),
|
|
44
|
-
Installer(CuddInstaller, "
|
|
45
|
-
{"git_version" : "
|
|
44
|
+
Installer(CuddInstaller, "3.0.1",
|
|
45
|
+
{"git_version" : "b87421c596a1bc2cafeb10ec40fcceacc952eda2"}),
|
|
46
46
|
Installer(OptiMSatInstaller, "1.7.5", {})
|
|
47
47
|
]
|
|
48
48
|
|
|
@@ -197,8 +197,9 @@ class SolverInstaller(object):
|
|
|
197
197
|
if sys.executable:
|
|
198
198
|
interpreter = sys.executable
|
|
199
199
|
|
|
200
|
-
|
|
201
|
-
|
|
200
|
+
if isinstance(script, str):
|
|
201
|
+
script = script.split()
|
|
202
|
+
cmd = [interpreter] + script
|
|
202
203
|
return SolverInstaller.run(cmd, directory=directory,
|
|
203
204
|
env_variables=env_variables,
|
|
204
205
|
get_output=get_output)
|
|
@@ -296,7 +297,7 @@ class SolverInstaller(object):
|
|
|
296
297
|
env[k] = bindings_dir
|
|
297
298
|
|
|
298
299
|
try:
|
|
299
|
-
output = self.run_python(
|
|
300
|
+
output = self.run_python([check_version_script, package],
|
|
300
301
|
env_variables=env,
|
|
301
302
|
get_output=True)
|
|
302
303
|
output = output.strip()
|
|
@@ -11,8 +11,6 @@
|
|
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
|
-
import os
|
|
15
|
-
|
|
16
14
|
from pysmt.cmd.installers.base import SolverInstaller
|
|
17
15
|
|
|
18
16
|
|
|
@@ -34,22 +32,11 @@ class CuddInstaller(SolverInstaller):
|
|
|
34
32
|
|
|
35
33
|
|
|
36
34
|
def compile(self):
|
|
37
|
-
#
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
import sysconfig
|
|
43
|
-
PYTHON_INCLUDE_DIR = sysconfig.get_path("include")
|
|
44
|
-
SolverInstaller.run("make -C %s -f %s PYTHON_INCL=-I%s" %
|
|
45
|
-
(self.extract_path, makefile, PYTHON_INCLUDE_DIR))
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
def move(self):
|
|
49
|
-
SolverInstaller.mv(os.path.join(self.extract_path, "repycudd.py"),
|
|
50
|
-
self.bindings_dir)
|
|
51
|
-
SolverInstaller.mv(os.path.join(self.extract_path, "_repycudd.so"),
|
|
52
|
-
self.bindings_dir)
|
|
35
|
+
# repycudd's own build fetches SWIG from PyPI and compiles CUDD into
|
|
36
|
+
# the extension, so this is the same on every OS.
|
|
37
|
+
SolverInstaller.run_python(["-m", "pip", "install", "--no-deps",
|
|
38
|
+
"--upgrade", "--target", self.bindings_dir,
|
|
39
|
+
self.extract_path])
|
|
53
40
|
|
|
54
41
|
|
|
55
42
|
def get_installed_version(self):
|
|
@@ -79,7 +79,7 @@ class BtorInstaller(SolverInstaller):
|
|
|
79
79
|
f.write(CYTHON_PATCH.encode())
|
|
80
80
|
f.flush()
|
|
81
81
|
f.seek(0)
|
|
82
|
-
SolverInstaller.run("patch src/api/python/pyboolector.pyx -i
|
|
82
|
+
SolverInstaller.run(["patch", "src/api/python/pyboolector.pyx", "-i", f.name],
|
|
83
83
|
directory=self.extract_path)
|
|
84
84
|
|
|
85
85
|
# Build lingeling
|
|
@@ -35,7 +35,7 @@ class CVC5Installer(SolverInstaller):
|
|
|
35
35
|
pass
|
|
36
36
|
|
|
37
37
|
def compile(self):
|
|
38
|
-
SolverInstaller.run_python("-m pip install --upgrade --target
|
|
38
|
+
SolverInstaller.run_python(["-m", "pip", "install", "--upgrade", "--target", self.bindings_dir, "cvc5==%s" % self.solver_version])
|
|
39
39
|
|
|
40
40
|
def get_installed_version(self):
|
|
41
41
|
return self.get_installed_version_script(self.bindings_dir, "cvc5")
|
|
@@ -114,8 +114,7 @@ class MSatInstaller(SolverInstaller):
|
|
|
114
114
|
soname = glob.glob(self.bindings_dir + "/_mathsat*.so")[0]
|
|
115
115
|
old_path = "/Users/alb/src/release/build/libmathsat.dylib"
|
|
116
116
|
new_path = "%s/libmathsat.dylib" % self.bindings_dir
|
|
117
|
-
SolverInstaller.run("install_name_tool -change
|
|
118
|
-
(old_path, new_path, soname))
|
|
117
|
+
SolverInstaller.run(["install_name_tool", "-change", old_path, new_path, soname])
|
|
119
118
|
|
|
120
119
|
|
|
121
120
|
def get_installed_version(self):
|
|
@@ -44,15 +44,15 @@ class YicesInstaller(SolverInstaller):
|
|
|
44
44
|
|
|
45
45
|
SolverInstaller.run("autoconf", directory=self.extract_path)
|
|
46
46
|
|
|
47
|
-
SolverInstaller.run("bash configure --prefix
|
|
47
|
+
SolverInstaller.run(["bash", "configure", "--prefix", self.yices_path],
|
|
48
48
|
directory=self.extract_path)
|
|
49
49
|
SolverInstaller.run("make", directory=self.extract_path)
|
|
50
50
|
SolverInstaller.run("make install", directory=self.extract_path)
|
|
51
51
|
|
|
52
52
|
if self.yices_api_version is None:
|
|
53
|
-
SolverInstaller.run_python("-m pip install --upgrade --target
|
|
53
|
+
SolverInstaller.run_python(["-m", "pip", "install", "--upgrade", "--target", self.bindings_dir, "yices"])
|
|
54
54
|
else:
|
|
55
|
-
SolverInstaller.run_python("-m pip install --upgrade --target
|
|
55
|
+
SolverInstaller.run_python(["-m", "pip", "install", "--upgrade", "--target", self.bindings_dir, "yices==%s" % self.yices_api_version])
|
|
56
56
|
|
|
57
57
|
libdir = os.path.join(self.yices_path, "lib")
|
|
58
58
|
yices_api_file = os.path.join(self.bindings_dir, "yices_api.py")
|
|
@@ -32,7 +32,7 @@ class Z3Installer(SolverInstaller):
|
|
|
32
32
|
mirror_link=mirror_link)
|
|
33
33
|
|
|
34
34
|
def compile(self):
|
|
35
|
-
SolverInstaller.run_python("-m pip install --upgrade --target
|
|
35
|
+
SolverInstaller.run_python(["-m", "pip", "install", "--upgrade", "--target", self.bindings_dir, "z3-solver==%s" % self.solver_version])
|
|
36
36
|
|
|
37
37
|
def get_installed_version(self):
|
|
38
38
|
return self.get_installed_version_script(self.bindings_dir, "z3")
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import tempfile
|
|
3
|
+
|
|
4
|
+
from pysmt.cmd.installers.base import SolverInstaller
|
|
5
|
+
from pysmt.test import TestCase, main
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class TestInstallers(TestCase):
|
|
9
|
+
|
|
10
|
+
def test_run_python_path_with_space(self):
|
|
11
|
+
with tempfile.TemporaryDirectory() as tmp:
|
|
12
|
+
script = os.path.join(tmp, "with space", "echo.py")
|
|
13
|
+
os.makedirs(os.path.dirname(script))
|
|
14
|
+
with open(script, "w") as f:
|
|
15
|
+
f.write("import sys; print(sys.argv[1])")
|
|
16
|
+
arg = os.path.join(tmp, "another dir")
|
|
17
|
+
out = SolverInstaller.run_python([script, arg], get_output=True)
|
|
18
|
+
self.assertEqual(out.strip(), arg)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
if __name__ == "__main__":
|
|
22
|
+
main()
|
|
@@ -57,6 +57,8 @@ setup(
|
|
|
57
57
|
license='APACHE',
|
|
58
58
|
description='A solver-agnostic library for SMT Formulae manipulation and solving',
|
|
59
59
|
long_description=long_description,
|
|
60
|
+
# pysmt.cmd.installers.base imports setuptools at runtime
|
|
61
|
+
install_requires=['setuptools'],
|
|
60
62
|
entry_points={
|
|
61
63
|
'console_scripts': [
|
|
62
64
|
'pysmt-install = pysmt.cmd.install:main',
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|