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.5.tar.gz (34.3 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.5-cp310-none-win_amd64.whl (6.1 MB view details)

Uploaded CPython 3.10Windows x86-64

pyparaspace-0.1.5-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.5.tar.gz.

File metadata

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

File hashes

Hashes for pyparaspace-0.1.5.tar.gz
Algorithm Hash digest
SHA256 3bd3e15ac5681ba12fcb320c6421dbcf7a273bd1c4163ccec7327ac6b84038a8
MD5 86edd3dc8baaa1e9c86979e55d94a82c
BLAKE2b-256 491c644db7f816ebdea852ced37f1a93a4898e91150937ef23470ee03f6ed799

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyparaspace-0.1.5-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 a800b911cbd40aaf07044df7509844f46ca4daaa99d1dbe028050a409c718a2d
MD5 ff8c22f5aeee0faf15fe182e33e55e1c
BLAKE2b-256 8139c30c23a5e199062af1af96a0b53142cb2f044a11192e7b24948e0e4ef29e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyparaspace-0.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 98f7a1086b07b7cbec148ec850bfe4b26d72eb632971ca6abf5309ad7d0d84f9
MD5 fc2e2b69b3cb0b866aa4b5b68a188d65
BLAKE2b-256 9a059f92c741edc28745c285a2e003d33fe6ad9efd7012d928bec34d5018aa53

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