Python wrapper for the C++ library 'libsequence'
Project description
This package provides Python bindings for the C++11 library libsequence.
The bindings are implemented using Cython.
This package serves two roles:
It provides a means of using some of the more widely-used bits of libsequence within the Python language
The unit tests of this package also serve as unit tests for libsequence.
What this package does not (currently) do:
provide an interface for I/O operations. Python I/O and C++ I/O are fundamentally very different. Bridging the gap requires either adding features to Cython and/or adding modules to this package that depend on the boost Python interface, which would add an additional C++ dependency to this package.
Requirements:
libsequence must be installed on your system. Currently, this package requires the dev branch of libsequence
Python 2 or Python 3
An up-to-date C++ compiler that is C++11 compatible via the flag -std=c++11. Roughty, this means GCC >= 4.8 and clang >= 3.5.
You should install libsequence from source.
If you want to modify the package, you will need Cython installed via your favorite Python package manager.
The supported platforms are Linux and OS X.
Installation:
$ ./configure
$ sudo python setup.py install
If you have libsequence in a “funny location” (e.g., something other that /usr/local):
$ CPPFLAGS=-I/path/to/libsequence/headers LDFLAGS=-L/path/to/libsequence/library sudo python setup.py install
For example, if libsequence is installed into /opt:
$ CPPFLAGS=-I/opt/include LDFLAGS=-L/opt/lib sudo python setup.py install
Unit testing:
$ ./configure
$ python setup.py build_ext -i
$ python -m unittest discover unit_test
Modifying the package
You wll need to enable re-generation of the C++ source files:
$ ./configure --enable-cython
Documentation:
Eventually, documentation will be online. Check the unit_test directory for working examples (well, working if the tests are passing!).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.