./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-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
   2021-12-10 09:59:09 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-cffi: updated to 1.15.0

v1.15.0
=======
* Fixed MANIFEST.in to include missing file for Windows arm64 support
* Fixed Linux wheel build to use gcc default ISA for libffi
* Updated setup.py Python trove specifiers to currently-tested Python versions
* CPython 3.10 support (including wheels)
* MacOS arm64 support (including wheels)
* Initial Windows arm64 support
* Misc. doc and test updates
   2021-10-26 12:20:11 by Nia Alarie | Files touched by this commit (3016)
Log message:
archivers: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

Could not be committed due to merge conflict:
devel/py-traitlets/distinfo

The following distfiles were unfetchable (note: some may be only fetched
conditionally):

./devel/pvs/distinfo pvs-3.2-solaris.tgz
./devel/eclipse/distinfo eclipse-sourceBuild-srcIncluded-3.0.1.zip