A Python package for reusable interop with native resources from a C API
Project description
cinterop - helpers for Python-C interop via CFFI
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 struct
s). 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:
- the nuget package dynamic-interop-dll for .NET/native interop.
- Reference counting package refcount
- a C# library for generating interop glue code on top of C API glue code.
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
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3713d6e9acfde338f3f178dcb943f194932f27146a3a73eb05d2bedaad578da |
|
MD5 | 84400f758e031440d67c434cf909730c |
|
BLAKE2b-256 | b2b50068984a10fd8d307070fa2a041ee247e0de278a315e34e149be40a26c77 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 498e5625d4621467ffd3fbecfdd442f2ac1233d1022b3db67722ccf5d4907c48 |
|
MD5 | 0c8756fee2896034f5481f993e262d5d |
|
BLAKE2b-256 | cb045c4ae0ae41a0906478283fcc3843b7b9c25dc6c56f02a5a7905113be20fc |