Skip to main content

No project description provided

Project description

pyparaspace: a Python wrapper for the ParaSpace timelines planner -- a simple, flexible and extensible solver for timeline-based planning problems using the Z3 Theorem Prover.

Installing

Install using Pip.

pip install pyparaspace

See the file testPyParaspace.py for example usage.

Building locally

Requirements: Rust, Cargo, Clang/LLVM/LibClang, CMake.

  • Create a virtual environment
python3 -m venv env
source env/bin/activate
  • Install maturin
pip install maturin
  • Build package
maturin develop

Building and releasing

This section is intended for package maintainers. The pyparaspace package is released on PyPi with Python wheel packages that make it convenient to use paraspace without needing to set up Rust and C++ compilers and tools. Through the z3-sys package's static link option, we get the whole planner, including the Z3 solver, statically linked. This greatly increases the convenience for users of the library.

Windows and Manylinux platforms are currently supported.

Windows

If building and installing the local package works, then using maturin build --release should also correctly build a wheel package, which can be uploaded to PyPi using maturin publish.

Manylinux

paraspace requires an Rust version 1.60 and Clang version 3.5 (to compile the Z3 solver), which makes it requires a bit of setup to correcly build the manylinux wheel. There is a Dockerfile available that can be used to build a Docker image with an up-to-date Rust version and version 7 of the LLVM/Clang toolchain.

The builds should work using the following commands.

docker build -t mybuild .
docker run --rm -v $(pwd):/io mybuild publish --skip-existing --compatibility manylinux2014 -i python3.10

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyparaspace-0.1.4.tar.gz (34.2 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyparaspace-0.1.4-cp310-none-win_amd64.whl (6.1 MB view details)

Uploaded CPython 3.10Windows x86-64

pyparaspace-0.1.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

File details

Details for the file pyparaspace-0.1.4.tar.gz.

File metadata

  • Download URL: pyparaspace-0.1.4.tar.gz
  • Upload date:
  • Size: 34.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.1.0

File hashes

Hashes for pyparaspace-0.1.4.tar.gz
Algorithm Hash digest
SHA256 b809bcfd9c41c15722ea6e76e1410be897bccc7a9f052f415c23122d425ee040
MD5 5d243781b9c3856f3df9ed7daa5204b6
BLAKE2b-256 4b32ef32ced15d5cbaa026ae66433d3e22b35e47f8eff36076cbc2f204255c7b

See more details on using hashes here.

File details

Details for the file pyparaspace-0.1.4-cp310-none-win_amd64.whl.

File metadata

File hashes

Hashes for pyparaspace-0.1.4-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 03b6212742159f7d82b83afd45756a10c00b7e4c6eb6f1942618e9fc7231635d
MD5 2359156993ed9abfe3035df0ebe4699d
BLAKE2b-256 c25aff737b93d6945bd133d40cd44d80998b8c4a9a2ddafea214dfbab936b783

See more details on using hashes here.

File details

Details for the file pyparaspace-0.1.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyparaspace-0.1.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e7113019fb09eb93edce37f42875b2c07a9753c170863918c1c7f1af1ba5a6e7
MD5 71a45a15b15ca85f5a0eef601909b04b
BLAKE2b-256 b0471a4997c7ae67285e1b914c33738d25e502bb9132dcb0f7c11349b650f009

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page