Skip to main content

A Python package for reusable interop with native resources from a C API

Project description

cinterop - helpers for Python-C interop via CFFI

license status Documentation Status codecov master: Python package testing: Python package

CFFI interop convenience wrapper

This package is primarily for managing and marshalling resources in native libraries, written for instance in C++, from Python. The package includes some generic helper facilities on top of CFFI for basic C types, and additional facilities for passing various types of data structures (C structs). These are informed mostly by the domain of environmental modelling and simulation, but most are generic.

  • date/time
  • numeric or character vectors
  • numeric or character dictionaries
  • univariate or multivariate time series
  • statistical definitions

License

MIT (see License.txt)

Documentation

Hosted at cinterop via readthedocs.io

Source code

Marshalling data between C, C++ and other programming languages onGitHub

Installation

pip install cinterop

From source:

pip install -r requirements.txt
python setup.py install

Sample use

Placeholder section

Related work

Placeholder section

Ancestry, acknowledgements

This python package cinterop relates loosely to prior work for interoperability between C++, R and .NET (R.NET)

cinterop features using cffi were also significantly informed by Kevin Plastow's work while he was at the Australian Bureau of Meteorology; this contribution is gratefully acknowledged.

In you have native interop needs you may also want to look at:

Other python packages

Placeholder

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

cinterop-0.11.0.zip (22.4 kB view details)

Uploaded Source

Built Distribution

cinterop-0.11.0-py2.py3-none-any.whl (15.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file cinterop-0.11.0.zip.

File metadata

  • Download URL: cinterop-0.11.0.zip
  • Upload date:
  • Size: 22.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.3 readme-renderer/36.0 requests/2.28.1 requests-toolbelt/0.9.1 urllib3/1.26.11 tqdm/4.64.0 importlib-metadata/4.12.0 keyring/23.8.2 rfc3986/2.0.0 colorama/0.4.5 CPython/3.9.13

File hashes

Hashes for cinterop-0.11.0.zip
Algorithm Hash digest
SHA256 f3713d6e9acfde338f3f178dcb943f194932f27146a3a73eb05d2bedaad578da
MD5 84400f758e031440d67c434cf909730c
BLAKE2b-256 b2b50068984a10fd8d307070fa2a041ee247e0de278a315e34e149be40a26c77

See more details on using hashes here.

File details

Details for the file cinterop-0.11.0-py2.py3-none-any.whl.

File metadata

  • Download URL: cinterop-0.11.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 15.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.3 readme-renderer/36.0 requests/2.28.1 requests-toolbelt/0.9.1 urllib3/1.26.11 tqdm/4.64.0 importlib-metadata/4.12.0 keyring/23.8.2 rfc3986/2.0.0 colorama/0.4.5 CPython/3.9.13

File hashes

Hashes for cinterop-0.11.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 498e5625d4621467ffd3fbecfdd442f2ac1233d1022b3db67722ccf5d4907c48
MD5 0c8756fee2896034f5481f993e262d5d
BLAKE2b-256 cb045c4ae0ae41a0906478283fcc3843b7b9c25dc6c56f02a5a7905113be20fc

See more details on using hashes here.

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