quantopian / libpy

Utilities for writing C++ extension modules.
https://quantopian.github.io/libpy/
Apache License 2.0
82 stars 27 forks source link

libpy

.. image:: https://github.com/quantopian/libpy/workflows/CI/badge.svg :alt: GitHub Actions status :target: https://github.com/quantopian/libpy/actions?query=workflow%3ACI+branch%3Amaster

.. image:: https://badge.fury.io/py/libpy.svg :target: https://badge.fury.io/py/libpy

libpy is a library to help you write amazing Python extensions in C++. libpy makes it easy to expose C++ code to Python. libpy lets you automatically wrap functions and classes. libpy is designed for high performance and safety: libpy extension modules should be both faster and safer than using the C API directly.

Full documentation <https://quantopian.github.io/libpy/>_

Requirements

libpy supports:

libpy requires:

Optional Requirements

libpy optionally provides wrappers for the following libraries:

Install

To install for development:

.. code-block:: bash

$ make

Otherwise, pip install libpy, making sure CC and CXX environment variables are set to the the right compiler.

Note: The installation of libpy will use the python executable to figure out information about your environment. If you are not using a virtual environment or python does not point to the Python installation you want to use (checked with which python and python --version) you must point to your Python executable using the PYTHON environment variable, i.e. PYTHON=python3 make or PYTHON=python3 pip3 install libpy.

Tests

To run the unit tests, invoke:

.. code-block:: bash

$ make test