./devel/py-cffi, Foreign Function Interface for Python calling C code

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 1.17.1, Package name: py312-cffi-1.17.1, Maintainer: pkgsrc-users

Foreign Function Interface for Python calling C code. The aim of
this project is to provide a convenient and reliable way of calling
C code from Python. The interface is based on LuaJIT's FFI and
follows a few principles:

o The goal is to call C code from Python. You should be able to do
so without learning a 3rd language: every alternative requires
you to learn their own language (Cython, SWIG) or API (ctypes).
So we tried to assume that you know Python and C and minimize
the extra bits of API that you need to learn.
o Keep all the Python-related logic in Python so that you don't
need to write much C code.
o Work either at the level of the ABI (Application Binary Interface)
or the API (Application Programming Interface). Usually, C
libraries have a specified C API but often not an ABI.
o We try to be complete. For now some C99 constructs are not
supported, but all C89 should be, including macros.
o We attempt to support both PyPy and CPython, with a reasonable
path for other Python implementations like IronPython and Jython.
o Note that this project is not about embedding executable C code
in Python, unlike Weave. This is about calling existing C libraries
from Python.


Required to run:
[devel/py-setuptools] [devel/libffi] [devel/py-cparser] [lang/python37]

Required to build:
[pkgtools/cwrappers]

Master sites:

Filesize: 504.513 KB

Version history: (Expand)


CVS history: (Expand)


   2024-11-11 08:29:31 by Thomas Klausner | Files touched by this commit (862)
Log message:
py-*: remove unused tool dependency

py-setuptools includes the py-wheel functionality nowadays
   2024-09-06 15:48:57 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-cffi: updated to 1.17.1

v1.17.1

* Fix failing ``distutils.msvc9compiler`` imports under Windows
* ``ffibuilder.emit_python_code()`` and ``ffibuiler.emit_c_code()`` accept \ 
file-like objects
* ``ffiplatform`` calls are bypassed by ``ffibuilder.emit_python_code()`` and \ 
``ffibuilder.emit_c_code()``
   2024-03-19 11:49:47 by Nia Alarie | Files touched by this commit (2)
Log message:
py-cffi: Do not attempt to peek past pkg-config on Darwin/FreeBSD
   2023-11-05 14:44:36 by Thomas Klausner | Files touched by this commit (2)
Log message:
py-cffi: convert to wheel.mk

Does not support Python 2 any longer.

Bump PKGREVISION.
   2023-10-29 19:32:21 by Thomas Klausner | Files touched by this commit (1)
Log message:
py-cffi: fix for Python 2
   2023-10-04 23:51:44 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-cffi: updated to 1.16.0

v1.16.0

* Add support for Python 3.12. With the removal of ``distutils`` from Python \ 
3.12, projects
  using CFFI features that depend on ``distutils`` at runtime must add a \ 
dependency on
  ``setuptools`` to function under Python 3.12+. CFFI does not declare a runtime \ 
``setuptools``
  requirement to avoid an unnecessary dependency for projects that do not require it.
* Drop support for end-of-life Python versions (2.7, 3.6, 3.7).
* Add support for PEP517 builds; ``setuptools`` is now a required build dependency.
* Declare ``python_requires`` metadata for Python 3.8+. This allows unsupported \ 
Pythons
  to continue using previously released sdists and wheels.
* Move project source under ``src/``; a more standard layout that also enables \ 
CI to more easily
  catch packaging errors.
   2022-07-01 19:10:46 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-cffi: updated to 1.15.1

v1.15.1
=======

* If you call `ffi.embedding_api()` but don't write any `extern "Python"`
  function there, then the resulting C code would fail an assert.  Fixed.

* Updated Windows/arm64 embedded libffi static lib to v3.4.2, and scripted
  to ease future updates (thanks Niyas Sait!)
   2022-01-04 21:55:40 by Thomas Klausner | Files touched by this commit (1595)
Log message:
*: bump PKGREVISION for egg.mk users

They now have a tool dependency on py-setuptools instead of a DEPENDS