Skip to main content

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


Download files

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

Source Distribution

pylibseq-0.1.4-1.tar.gz (322.3 kB view details)

Uploaded Source

File details

Details for the file pylibseq-0.1.4-1.tar.gz.

File metadata

  • Download URL: pylibseq-0.1.4-1.tar.gz
  • Upload date:
  • Size: 322.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pylibseq-0.1.4-1.tar.gz
Algorithm Hash digest
SHA256 cf380655c22e6b0d3aff2b7102234e91a5e5ff879bd905a973e1cbbbc5d510a8
MD5 04381f458a5cedebe36fa713cbc06f14
BLAKE2b-256 d78b09092a7eb64db4efebd119a75caa16a8bf0ef9c4bdc35bf93b37f364562f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page