Skip to main content

Python bindings for the libsemigroups mathematics library

Project description

# Python bindings for libsemigroups

## Basic instructions

Install the libsemigroups C++ library, e.g. from sources:

git clone https://github.com/james-d-mitchell/libsemigroups/ python-bindings

cd libsemigroups
make
sudo make install
sudo ldconfig

Install the python bindings::

cd python-bindings
pip3 install --user . --upgrade

Try it out:

cd python-bindings
pip3 install --user . --upgrade

python3

>>> from semigroups import Semigroup, Transformation
>>> S = Semigroup([Transformation([1,1,4,5,4,5]),Transformation([2,3,2,3,5,5])])
>>> S.size()
5

## Uploading the package to pipy

Build the binary wheel:

rm -rf dist
python setup.py sdist

The first time:

twine register dist/*.tar.gz

For latter releases:

twine upload -s dist/*.tar.gz

## Trick to debug segmentation faults

Install Sage

Install gdb in Sage:

sage -i gdb

Run sage as:

sage -gdb

and type the commands that trigger the segfault. Then gdb will be
fired automatically, allowing for analysing the stack trace.

## [TODO list](TODO)

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 libsemigroups-python-bindings, version 0.2.2
Filename, size File type Python version Upload date Hashes
Filename, size libsemigroups-python-bindings-0.2.2.tar.gz (54.5 kB) File type Source Python version None Upload date Hashes View

Supported by

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