Skip to main content

Fast Boltzmann random generators for SageMath

Project description

Usain Boltz

Usain Boltz is a Python/Cython library meant to automate the random generation of tree-like structures.

The library was primarily designed to be used with the Sagemath mathematics software system but Sagemath is no longer a dependency and the library is now perfectly usable both within and without a Sagemath environment.

System requirements and known issues

  • One of our dependencies requires cmake to build. It is installed by default on most distributions but if you encounter build errors with osqp that may be the reason.

  • You also need to have cython installed on your system to be able to build Usain Boltz.

  • If you are using Python 3.8 and you don't already have numpy installed, you may have to manually install it before installing usain-boltz. The issue has been reported here

Build and install

Usain Boltz can be built locally with make build.

It is also possible to install it inside your python environment by running pip3 install [--user] . from the root of the project or pip3 install [--user] git+

In a sage environment with python3 enabled, installation is done by sage -pip install . or sage -pip install git+


Provided you have sphinx installed, you can build the documentation with make doc.

Examples and demo

Some examples are available in the examples and sage_examples modules in the documentation. In particular, the sage_examples module illustrates how Usain Boltz can be used to generate sage objects.

A sage notebook is available in the demo/ folder which shows how Usain Boltz can be used to generate various objects related to binary trees from the same grammar and generator.

Project details

Download files

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

Files for usainboltz, version 0.1b0
Filename, size File type Python version Upload date Hashes
Filename, size usainboltz-0.1b0-cp36-cp36m-manylinux1_x86_64.whl (499.4 kB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size usainboltz-0.1b0-cp37-cp37m-manylinux1_x86_64.whl (489.3 kB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size usainboltz-0.1b0-cp38-cp38-manylinux1_x86_64.whl (534.5 kB) File type Wheel Python version cp38 Upload date Hashes View
Filename, size usainboltz-0.1b0.tar.gz (39.0 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page