PySMT 0.9.7.dev485__tar.gz → 0.9.7.dev487__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 (167) hide show
  1. {pysmt-0.9.7.dev485/PySMT.egg-info → pysmt-0.9.7.dev487}/PKG-INFO +3 -1
  2. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487/PySMT.egg-info}/PKG-INFO +3 -1
  3. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/PySMT.egg-info/SOURCES.txt +2 -0
  4. pysmt-0.9.7.dev487/PySMT.egg-info/requires.txt +1 -0
  5. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/__init__.py +1 -1
  6. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/cmd/installers/base.py +4 -3
  7. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/cmd/installers/bdd.py +2 -2
  8. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/cmd/installers/btor.py +1 -1
  9. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/cmd/installers/cvcfive.py +1 -1
  10. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/cmd/installers/msat.py +1 -2
  11. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/cmd/installers/yices.py +3 -3
  12. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/cmd/installers/z3.py +1 -1
  13. pysmt-0.9.7.dev487/pysmt/test/test_installers.py +22 -0
  14. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/setup.py +2 -0
  15. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/LICENSE +0 -0
  16. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/MANIFEST.in +0 -0
  17. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/NOTICE +0 -0
  18. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/PySMT.egg-info/dependency_links.txt +0 -0
  19. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/PySMT.egg-info/entry_points.txt +0 -0
  20. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/PySMT.egg-info/top_level.txt +0 -0
  21. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/README.rst +0 -0
  22. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/docs/CHANGES.rst +0 -0
  23. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/docs/api_ref.rst +0 -0
  24. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/docs/development.rst +0 -0
  25. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/docs/getting_started.rst +0 -0
  26. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/docs/index.rst +0 -0
  27. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/docs/tutorials/boolean_logic.rst +0 -0
  28. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/docs/tutorials.rst +0 -0
  29. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/__main__.py +0 -0
  30. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/cmd/__init__.py +0 -0
  31. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/cmd/check_version.py +0 -0
  32. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/cmd/install.py +0 -0
  33. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/cmd/installers/__init__.py +0 -0
  34. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/cmd/installers/cvcfour.py +0 -0
  35. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/cmd/installers/optimsat.py +0 -0
  36. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/cmd/installers/pico.py +0 -0
  37. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/cmd/shell.py +0 -0
  38. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/configuration.py +0 -0
  39. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/constants.py +0 -0
  40. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/decorators.py +0 -0
  41. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/environment.py +0 -0
  42. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/exceptions.py +0 -0
  43. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/factory.py +0 -0
  44. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/fnode.py +0 -0
  45. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/formula.py +0 -0
  46. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/logics.py +0 -0
  47. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/operators.py +0 -0
  48. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/optimization/__init__.py +0 -0
  49. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/optimization/goal.py +0 -0
  50. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/optimization/msat.py +0 -0
  51. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/optimization/optimizer.py +0 -0
  52. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/optimization/optimsat.py +0 -0
  53. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/optimization/yices.py +0 -0
  54. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/optimization/z3.py +0 -0
  55. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/oracles.py +0 -0
  56. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/parsing.py +0 -0
  57. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/printers.py +0 -0
  58. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/rewritings.py +0 -0
  59. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/shortcuts.py +0 -0
  60. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/simplifier.py +0 -0
  61. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/smtlib/__init__.py +0 -0
  62. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/smtlib/annotations.py +0 -0
  63. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/smtlib/commands.py +0 -0
  64. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/smtlib/parser/__init__.py +0 -0
  65. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/smtlib/parser/parser.py +0 -0
  66. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/smtlib/printers.py +0 -0
  67. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/smtlib/script.py +0 -0
  68. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/smtlib/solver.py +0 -0
  69. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/smtlib/utils.py +0 -0
  70. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/solvers/__init__.py +0 -0
  71. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/solvers/bdd.py +0 -0
  72. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/solvers/btor.py +0 -0
  73. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/solvers/cvcfive.py +0 -0
  74. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/solvers/cvcfour.py +0 -0
  75. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/solvers/dynmsat.py +0 -0
  76. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/solvers/eager.py +0 -0
  77. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/solvers/interpolation.py +0 -0
  78. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/solvers/msat.py +0 -0
  79. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/solvers/options.py +0 -0
  80. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/solvers/pico.py +0 -0
  81. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/solvers/portfolio.py +0 -0
  82. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/solvers/qelim.py +0 -0
  83. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/solvers/smtlib.py +0 -0
  84. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/solvers/solver.py +0 -0
  85. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/solvers/yices.py +0 -0
  86. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/solvers/z3.py +0 -0
  87. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/substituter.py +0 -0
  88. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/__init__.py +0 -0
  89. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/configs/config1.ini +0 -0
  90. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/configs/config_bad.ini +0 -0
  91. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/examples.py +0 -0
  92. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/omt_examples.py +0 -0
  93. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/optimization_utils.py +0 -0
  94. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/smtlib/__init__.py +0 -0
  95. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/smtlib/parser_utils.py +0 -0
  96. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/smtlib/test_annotations.py +0 -0
  97. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/smtlib/test_fuzzed.py +0 -0
  98. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/smtlib/test_generic_wrapper.py +0 -0
  99. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/smtlib/test_griggio.py +0 -0
  100. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/smtlib/test_model_validation.py +0 -0
  101. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/smtlib/test_omt_lib_solver.py +0 -0
  102. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/smtlib/test_parser_examples.py +0 -0
  103. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/smtlib/test_parser_extensibility.py +0 -0
  104. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/smtlib/test_parser_lra.py +0 -0
  105. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/smtlib/test_parser_omt.py +0 -0
  106. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/smtlib/test_parser_qf_arrays.py +0 -0
  107. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/smtlib/test_parser_qf_lia.py +0 -0
  108. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/smtlib/test_parser_qf_lira.py +0 -0
  109. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/smtlib/test_parser_qf_lra.py +0 -0
  110. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/smtlib/test_parser_qf_nia.py +0 -0
  111. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/smtlib/test_parser_qf_nra.py +0 -0
  112. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/smtlib/test_parser_qf_uf.py +0 -0
  113. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/smtlib/test_parser_qf_ufbv.py +0 -0
  114. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/smtlib/test_parser_type_error.py +0 -0
  115. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/smtlib/test_smtlibscript.py +0 -0
  116. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_array.py +0 -0
  117. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_back.py +0 -0
  118. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_bdd.py +0 -0
  119. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_bv.py +0 -0
  120. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_bv_simplification.py +0 -0
  121. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_cnf.py +0 -0
  122. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_configuration.py +0 -0
  123. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_constants.py +0 -0
  124. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_cvc_quantifiers.py +0 -0
  125. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_doc_snippets.py +0 -0
  126. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_dwf.py +0 -0
  127. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_eager_model.py +0 -0
  128. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_env.py +0 -0
  129. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_euf.py +0 -0
  130. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_formula.py +0 -0
  131. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_hr_parsing.py +0 -0
  132. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_imports.py +0 -0
  133. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_int.py +0 -0
  134. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_interpolation.py +0 -0
  135. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_lira.py +0 -0
  136. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_logics.py +0 -0
  137. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_models.py +0 -0
  138. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_native_qe.py +0 -0
  139. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_nia.py +0 -0
  140. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_nlira.py +0 -0
  141. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_optimization.py +0 -0
  142. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_optimizing.py +0 -0
  143. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_oracles.py +0 -0
  144. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_portfolio.py +0 -0
  145. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_printing.py +0 -0
  146. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_qe.py +0 -0
  147. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_regressions.py +0 -0
  148. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_rewritings.py +0 -0
  149. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_shannon_expansion.py +0 -0
  150. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_simplify.py +0 -0
  151. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_size.py +0 -0
  152. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_solving.py +0 -0
  153. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_sorts.py +0 -0
  154. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_string.py +0 -0
  155. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_typechecker.py +0 -0
  156. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_unsat_cores.py +0 -0
  157. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_walker_ext.py +0 -0
  158. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/test/test_walkers.py +0 -0
  159. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/type_checker.py +0 -0
  160. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/typing.py +0 -0
  161. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/utils.py +0 -0
  162. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/walkers/__init__.py +0 -0
  163. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/walkers/dag.py +0 -0
  164. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/walkers/generic.py +0 -0
  165. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/walkers/identitydag.py +0 -0
  166. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/pysmt/walkers/tree.py +0 -0
  167. {pysmt-0.9.7.dev485 → pysmt-0.9.7.dev487}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PySMT
3
- Version: 0.9.7.dev485
3
+ Version: 0.9.7.dev487
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.dev485
3
+ Version: 0.9.7.dev487
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
@@ -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", 485)
22
+ VERSION: Union[Tuple[int, int, int], Tuple[int, int, int, str, int]] = (0, 9, 7, "dev", 487)
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
@@ -197,8 +197,9 @@ class SolverInstaller(object):
197
197
  if sys.executable:
198
198
  interpreter = sys.executable
199
199
 
200
- cmd = '{interpreter} {script}'.format(interpreter=interpreter,
201
- script=script)
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("%s %s" % (check_version_script, package),
300
+ output = self.run_python([check_version_script, package],
300
301
  env_variables=env,
301
302
  get_output=True)
302
303
  output = output.strip()
@@ -41,8 +41,8 @@ class CuddInstaller(SolverInstaller):
41
41
 
42
42
  import sysconfig
43
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))
44
+ SolverInstaller.run(["make", "-C", self.extract_path, "-f", makefile,
45
+ "PYTHON_INCL=-I%s" % PYTHON_INCLUDE_DIR])
46
46
 
47
47
 
48
48
  def move(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 %s" % f.name,
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=%s cvc5==%s" % (self.bindings_dir, self.solver_version))
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 %s %s %s" %
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 %s" % self.yices_path,
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=%s yices" % self.bindings_dir)
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=%s yices==%s" % (self.bindings_dir, self.yices_api_version))
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=%s z3-solver==%s" % (self.bindings_dir, self.solver_version))
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