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

Uploaded CPython 3.10Windows x86-64

pyparaspace-0.1.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

File details

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

File metadata

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

File hashes

Hashes for pyparaspace-0.1.6.tar.gz
Algorithm Hash digest
SHA256 c245f55d7c9e63c45d5e8c9a16b5b52b85e176bbb08e703c7e2c76b8c3a81cdd
MD5 b1291f4e4afab3519e5752c8959fa537
BLAKE2b-256 b57a92ddc3aba90841fab61b62a524ffd7d2c3080dfc14666ca2bd1d3c9db721

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyparaspace-0.1.6-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 5335c703643b8faf848a678ca667e5bdc32d9737620749e4d396b2855f71027b
MD5 8c2a782aa570382f7b940e202167fe3b
BLAKE2b-256 ff721872167aa1444ffa8f4b4473b3c61cac8a6173c9a8481fcc5b8c791fcf3b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyparaspace-0.1.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e241299f239c2eed75aca7de7882b9fe865768a1fd48d034747681eec77310f5
MD5 b6aec69c86ba9478781aafbcbff72b8f
BLAKE2b-256 458833fe66eb0ecedbd4cc25e775c2fdbb54b128e493e886b51327fb4ca813ad

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