Skip to main content

Utilities for writing C++ extension modules.

Project description

GitHub Actions status https://badge.fury.io/py/libpy.svg

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

Requirements

libpy supports:

  • macOS/Linux

  • Python >=3.5

libpy requires:

  • gcc>=9 or clang>=10

  • numpy>=1.11.3

Optional Requirements

libpy optionally provides wrappers for the following libraries:

  • google sparsehash

Install

To install for development:

$ 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:

$ make test

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

libpy-0.2.5.tar.gz (178.0 kB view details)

Uploaded Source

File details

Details for the file libpy-0.2.5.tar.gz.

File metadata

  • Download URL: libpy-0.2.5.tar.gz
  • Upload date:
  • Size: 178.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.5

File hashes

Hashes for libpy-0.2.5.tar.gz
Algorithm Hash digest
SHA256 54015563481bf776132a7eb6025cce38de9566cc305ac85c690ae26f65cbf14d
MD5 3ef4bbd0b64bf6ac118ed09a4f3918ab
BLAKE2b-256 66d7f952db78496ee16776ab093c8906c4402c44e71001459e321b3c778ca906

See more details on using hashes here.

Provenance

Supported by

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