Skip to main content

py3c helps you port C extensions to Python 3.

It provides a detailed guide, and a set of macros to make porting easy and reduce boilerplate.

Design principles

  • Reduce chances of accidental subtle errors

  • Minimize boilerplate

  • Prefer the Python 3 way of doing things

  • Minimize semantic changes under Python 2

Versions

Projects using py3c will be compatible with CPython 2.6, 2.7, and 3.3+.

Guides

A detailed porting guide is provided.

A cheatsheet is available for those that already know the Python C API, and want to know what the py3c macros do.

Installation

If your build system supports pkg-config, you can set it up to look for a system-wide installation of py3c.

Alternately, py3c can be used as a header-only library: copy the headers to your project and use them.

If you wish to install py3c system-wide (e.g. if you are a distro packager), see the Contributing chapter in the documentation.

Contribute

License

The code is licensed under the MIT license. May it serve you well.

The documentation is licensed under CC-BY-SA 3.0.

See the files LICENSE.MIT and doc/LICENSE.CC-BY-SA-3.0.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py3c-1.0.tar.gz (1.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

py3c-1.0-py2.py3-none-any.whl (9.7 kB view details)

Uploaded Python 2Python 3

File details

Details for the file py3c-1.0.tar.gz.

File metadata

  • Download URL: py3c-1.0.tar.gz
  • Upload date:
  • Size: 1.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for py3c-1.0.tar.gz
Algorithm Hash digest
SHA256 e94b3ba1224e061027fbe36655268785bddc54d4504fb2fabd93986c229600c1
MD5 a092239e1c13097eb24a0be46ed3b6c6
BLAKE2b-256 6aaa9f1a69a8c71e72553b281603633e42501de932aa4d9912bccbf9a2884093

See more details on using hashes here.

File details

Details for the file py3c-1.0-py2.py3-none-any.whl.

File metadata

  • Download URL: py3c-1.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 9.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for py3c-1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 291708b2150a3a3fe48be9f4a6cab6689b6ccdd722dbcc532e0894e19acbf303
MD5 3298f9078c9c997ae320fd8897e9c7b6
BLAKE2b-256 975b7643a5f6f39b72c2ea110a162aff130983249657e05e4473949b40cbd035

See more details on using hashes here.

Release history Release notifications | RSS feed

1.4

1 file

1.3

2 files

1.2

2 files

This release

1.0 This release

2 files

0.9.3

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page