Skip to main content

Over 600 fast Python bindings to the CPython C API.

Project description

PyCAPI

latest versionlatest release datebuild statusissues


PyCAPI is a Python package containing over 600 fast bindings to the CPython C API. Its goal is to support as many of the Python 3.7 - 3.11 stable public APIs as possible.

To install, just run:

$ pip install pycapi

Where is the documentation?

Documentation of the full CPython C API can be found here. It's not a goal of this project to maintain a separate API reference.

Any type conversions (such as Python int with C long, or Python bytes with C char*) should be obvious, and all other semantics (such as refcounts, etc.) are identical to the documented API behavior. For simplicity, PyCAPI doesn't provide any additional functionality or utilities beyond CPython's documented stable public API.

How is PyCAPI better than ctypes.pythonapi?

It's easier to use.

pycapi works as expected, right out of the box:

>>> import pycapi
>>> pycapi.PyNumber_Add(1, 2)
3

ctypes.pythonapi implicity requires users to specify the argument and return types as ctypes types:

>>> import ctypes
>>> ctypes.pythonapi.PyNumber_Add(1, 2)
Segmentation fault: 11
>>> import ctypes
>>> ctypes.pythonapi.PyNumber_Add.argtypes = (ctypes.py_object, ctypes.py_object)
>>> ctypes.pythonapi.PyNumber_Add.restype = ctypes.py_object
>>> ctypes.pythonapi.PyNumber_Add(1, 2)
3

It's more complete.

pycapi is designed to provide properly typed bindings for any part of the C API that's reasonable to call from the Python layer:

>>> import pycapi
>>> pycapi.PyDict_Check({})
1

In comparison, ctypes.pythonapi is loaded directly from the Python.h DLL. As a consequence, it isn't able to offer any APIs that happen to be implemented as macros:

>>> import ctypes
>>> ctypes.pythonapi.PyDict_Check(ctypes.py_object({}))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/Cellar/python/3.7.2_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ctypes/__init__.py", line 369, in __getattr__
    func = self.__getitem__(name)
  File "/usr/local/Cellar/python/3.7.2_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ctypes/__init__.py", line 374, in __getitem__
    func = self._FuncPtr((name_or_ordinal, self))
AttributeError: dlsym(RTLD_DEFAULT, PyDict_Check): symbol not found

pycapi is also fully loaded on import, so you can use tab-completion and other introspection techniques to discover APIs (it's also fully typed, so linters and other static editing tools "just work"). ctypes.pythonapi requires you to access the attribute before it is loaded, and there is no way to get a complete listing of what it supports.

It's faster.

In many cases, it can be even faster than the built-in equivalent in the Python layer. The numbers speak for themselves:

In [1]: from pycapi import PyDict_New, PyDict_Clear, PyDict_Copy

In [2]: %timeit PyDict_New()
44.7 ns ± 1.38 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)

In [3]: %timeit PyDict_Clear({})
54 ns ± 0.448 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)

In [4]: %timeit PyDict_Copy({})
68.9 ns ± 0.362 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)
In [1]: PyDict_New = dict
   ...: PyDict_Clear = dict.clear
   ...: PyDict_Copy = dict.copy

In [2]: %timeit PyDict_New()
71.7 ns ± 0.569 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)

In [3]: %timeit PyDict_Clear({})
55.8 ns ± 0.506 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)

In [4]: %timeit PyDict_Copy({})
73.1 ns ± 1.06 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)
In [1]: import ctypes
   ...:
   ...: PyDict_New = ctypes.pythonapi.PyDict_New
   ...: PyDict_New.argtypes = ()
   ...: PyDict_New.restype = ctypes.py_object
   ...:
   ...: PyDict_Clear = ctypes.pythonapi.PyDict_Clear
   ...: PyDict_Clear.argtypes = (ctypes.py_object,)
   ...: PyDict_Clear.restype = None
   ...:
   ...: PyDict_Copy = ctypes.pythonapi.PyDict_Copy
   ...: PyDict_Copy.argtypes = (ctypes.py_object,)
   ...: PyDict_Copy.restype = None

In [2]: %timeit PyDict_New()
113 ns ± 0.424 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)

In [3]: %timeit PyDict_Clear({})
273 ns ± 3.34 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)

In [4]: %timeit PyDict_Copy({})
378 ns ± 9.77 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

pycapi-0.82.1.tar.gz (24.6 kB view details)

Uploaded Source

Built Distributions

pycapi-0.82.1-cp311-cp311-win_amd64.whl (37.0 kB view details)

Uploaded CPython 3.11 Windows x86-64

pycapi-0.82.1-cp311-cp311-win32.whl (31.6 kB view details)

Uploaded CPython 3.11 Windows x86

pycapi-0.82.1-cp311-cp311-musllinux_1_1_x86_64.whl (174.5 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

pycapi-0.82.1-cp311-cp311-musllinux_1_1_i686.whl (145.7 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ i686

pycapi-0.82.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (168.3 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

pycapi-0.82.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (138.4 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

pycapi-0.82.1-cp311-cp311-macosx_11_0_arm64.whl (53.4 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

pycapi-0.82.1-cp311-cp311-macosx_10_9_x86_64.whl (50.6 kB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

pycapi-0.82.1-cp311-cp311-macosx_10_9_universal2.whl (100.4 kB view details)

Uploaded CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)

pycapi-0.82.1-cp310-cp310-win_amd64.whl (37.9 kB view details)

Uploaded CPython 3.10 Windows x86-64

pycapi-0.82.1-cp310-cp310-win32.whl (32.2 kB view details)

Uploaded CPython 3.10 Windows x86

pycapi-0.82.1-cp310-cp310-musllinux_1_1_x86_64.whl (174.5 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

pycapi-0.82.1-cp310-cp310-musllinux_1_1_i686.whl (145.9 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

pycapi-0.82.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (168.4 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

pycapi-0.82.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (138.1 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

pycapi-0.82.1-cp310-cp310-macosx_11_0_arm64.whl (54.6 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

pycapi-0.82.1-cp310-cp310-macosx_10_9_x86_64.whl (51.6 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

pycapi-0.82.1-cp310-cp310-macosx_10_9_universal2.whl (102.5 kB view details)

Uploaded CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)

pycapi-0.82.1-cp39-cp39-win_amd64.whl (39.3 kB view details)

Uploaded CPython 3.9 Windows x86-64

pycapi-0.82.1-cp39-cp39-win32.whl (32.8 kB view details)

Uploaded CPython 3.9 Windows x86

pycapi-0.82.1-cp39-cp39-musllinux_1_1_x86_64.whl (169.6 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

pycapi-0.82.1-cp39-cp39-musllinux_1_1_i686.whl (140.7 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

pycapi-0.82.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (163.1 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

pycapi-0.82.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (133.0 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

pycapi-0.82.1-cp39-cp39-macosx_11_0_arm64.whl (54.7 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

pycapi-0.82.1-cp39-cp39-macosx_10_9_x86_64.whl (51.7 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

pycapi-0.82.1-cp39-cp39-macosx_10_9_universal2.whl (102.7 kB view details)

Uploaded CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64)

pycapi-0.82.1-cp38-cp38-win_amd64.whl (39.7 kB view details)

Uploaded CPython 3.8 Windows x86-64

pycapi-0.82.1-cp38-cp38-win32.whl (33.1 kB view details)

Uploaded CPython 3.8 Windows x86

pycapi-0.82.1-cp38-cp38-musllinux_1_1_x86_64.whl (168.2 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

pycapi-0.82.1-cp38-cp38-musllinux_1_1_i686.whl (139.3 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

pycapi-0.82.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (161.4 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

pycapi-0.82.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (132.4 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

pycapi-0.82.1-cp38-cp38-macosx_11_0_arm64.whl (55.3 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

pycapi-0.82.1-cp38-cp38-macosx_10_9_x86_64.whl (52.3 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

pycapi-0.82.1-cp38-cp38-macosx_10_9_universal2.whl (104.0 kB view details)

Uploaded CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64)

pycapi-0.82.1-cp37-cp37m-win_amd64.whl (39.8 kB view details)

Uploaded CPython 3.7m Windows x86-64

pycapi-0.82.1-cp37-cp37m-win32.whl (33.1 kB view details)

Uploaded CPython 3.7m Windows x86

pycapi-0.82.1-cp37-cp37m-musllinux_1_1_x86_64.whl (165.6 kB view details)

Uploaded CPython 3.7m musllinux: musl 1.1+ x86-64

pycapi-0.82.1-cp37-cp37m-musllinux_1_1_i686.whl (136.8 kB view details)

Uploaded CPython 3.7m musllinux: musl 1.1+ i686

pycapi-0.82.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (158.6 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

pycapi-0.82.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (130.2 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

pycapi-0.82.1-cp37-cp37m-macosx_10_9_x86_64.whl (52.2 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

File details

Details for the file pycapi-0.82.1.tar.gz.

File metadata

  • Download URL: pycapi-0.82.1.tar.gz
  • Upload date:
  • Size: 24.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for pycapi-0.82.1.tar.gz
Algorithm Hash digest
SHA256 ef07adabb7a5297f3fd40f0160a1b0c43eab9f3940be54a00379f0dcd2426b8f
MD5 cf104d387fe852c520a6528bf7641256
BLAKE2b-256 e2fa407bc224b695506b3e3d7ba3133664fcca4119ee84bead04f6ea95b5bc2a

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pycapi-0.82.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 37.0 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for pycapi-0.82.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 cbe7ec5c8d99ca02c3e2f0a66a8fe1a5cdb3dc92b7083d79ab3e781fa78ab03c
MD5 8f0bce5f4e6fbc9f163a00dcf1b696ca
BLAKE2b-256 5941a79825197b4cf6c0bec29ae88d5fcc27e0a0f4c18e678995c6fd10e8835f

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp311-cp311-win32.whl.

File metadata

  • Download URL: pycapi-0.82.1-cp311-cp311-win32.whl
  • Upload date:
  • Size: 31.6 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for pycapi-0.82.1-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 9bc16465df429fc306a604fcf2730eb698c676cdc3911d43b35bea38fbd8e53d
MD5 df11dac390621acc61bdbb8461c2c382
BLAKE2b-256 a76dd1d182e6ee10efb11ca6e02a95cf791eea16b97869c5ee49456487b72b8c

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pycapi-0.82.1-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 19443f0c76b237cfeda510831e7a2740e7cf781017af903541b2347c3f806fac
MD5 3523398d085838835ef73fe92783f5d2
BLAKE2b-256 e81e88a955cb9a8a01665d4401b1a6cfdadcd36c022dbfb736d822a72d544059

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp311-cp311-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pycapi-0.82.1-cp311-cp311-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 fd15f721e80c3ae034aab15f5d5b7beb370d1c33c73bfdc0afd43a0311a3f960
MD5 f0bb339f3c9aa76561bc95e0df3755bb
BLAKE2b-256 aeb1536627c7787853d820580fd90a63be9d94b085aa2282907c5d3524a31d84

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pycapi-0.82.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8f031149d9743023939dd6834e749408460ddd3ebbd5ff4f77e23fe6fa7f2bef
MD5 c51b207a75360f32cce4577b4a18e224
BLAKE2b-256 4c26d1ba9c343688c0a71a384c991747811ad5c046f500aa06476e808e9bced9

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pycapi-0.82.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 9c7ec2b9caa894bf296e1982c9543de67c14ec58a06091ca8269925d53ff83b7
MD5 97e2ab4b8c5ba27975a5ee04ab4e7840
BLAKE2b-256 bc0eab7b61928d4b5528753ba81de1f07c3f2f53ca524a709571e3fe0642a5f7

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pycapi-0.82.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4c906d344855d777173d99e0cee790a21a4f0f571d7b1f1d2e9258bdc2a2aaf5
MD5 22b63ef4ee1da7c11f2d61a451409743
BLAKE2b-256 455ea3190588c4f339928d579d14f4e4496404e537c51374d75f99430c2aa4bd

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pycapi-0.82.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 200e8da556e81c74bfe32ee12f7f605c92ab8ee3a925847db8bedf8094608ed8
MD5 55f2030e3330f7f38035431667c4ed92
BLAKE2b-256 0ae4a517a079fcde3a85e7fce244a095a1870a1071b978513458d4aa28e44f76

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pycapi-0.82.1-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 6781a4860b5e904399cad2f3f3423fedd3461a15398451ab2876efeb3682ff8c
MD5 4a368acfee6511003f670ae1bbef7a19
BLAKE2b-256 fd713258458e202664c749f83c3c41aadc3974e728175207aeb8a5d13c617dff

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pycapi-0.82.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 37.9 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for pycapi-0.82.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5bf90fab5584a8f3c27c5aa28f96c9a8d6e479ce6ff64b03c52e4a6a361e306d
MD5 8239a36a56c96cfed4af503b70a02af3
BLAKE2b-256 933e10c33f376dea22f49b6c8a364574d65c4a2cc993fcf0647ca8fc816cadb4

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp310-cp310-win32.whl.

File metadata

  • Download URL: pycapi-0.82.1-cp310-cp310-win32.whl
  • Upload date:
  • Size: 32.2 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for pycapi-0.82.1-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 9262f288e075e16173b3370f1bfcaeb4b826eae07001b6bfd2c1fd946c17f311
MD5 4e4a043fef0cca7122fd87a371e13141
BLAKE2b-256 da2573300b4c2e551ece225aa5c86aedf5447e88221074b716f3918906708711

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pycapi-0.82.1-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 f4c68e3662c7a673440b3cb4fe7805acb885d2ec85514af4c6cc6fc0e9ed7479
MD5 d78474b707f4cfefb3e6c1ded54cc65a
BLAKE2b-256 fccbf1c2774baa3313e9f3b5bfce37289392ed8f756b886b02d2e939a4436705

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp310-cp310-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pycapi-0.82.1-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 256cfda750376bf9ab9a0b6a5069dd71591e6eec7fa6575604d272e262032499
MD5 5c4c4dd76334fe1c499d552c81ec134b
BLAKE2b-256 ca5b93232de2e51c2049bc7ee0ac5f0f8db1c93a3c64305d0a14d4649eb02754

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pycapi-0.82.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 200338f34c640480267c890c264578d54f32487f1a68f0fdfe7ce9b7a3230ae1
MD5 e5a256127b6c43c69b2162c55ea8b200
BLAKE2b-256 4f5d7fff12318132d8c522f4618220803f3ec0a5de9b80b8ee42e0c47275d456

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pycapi-0.82.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 17f54da754f008b528f670395914a945d5494f422f40a0988b9ed1cd00fde826
MD5 0b162265229e25e52e2f2f7eb8e9e28f
BLAKE2b-256 eaf454c72277246c9ea74b7d78ffa24d4a72e8245d0df01544f217d50cfd5d4a

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pycapi-0.82.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d7c5e8705bb1d88294ff6e0e378b9cd577892dbda51bd4d9ab6cea082f14b274
MD5 7f3b091b20ba83e9bbe4cf43d3b871aa
BLAKE2b-256 621a472aed1a00dd561035351f60cc4d8e3f7df1f3293fafecde1b4473ba5306

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pycapi-0.82.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5e0b05d0ee85be46bdcb545c49f7617bfc118152004c876a247b70b7bd61e5fb
MD5 2c9c10189b1c17039f6f61c308c77227
BLAKE2b-256 98100d639bec542efb6ee37dc80d74dc9617eaabacb88d6b7e84ab8822664b87

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pycapi-0.82.1-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 25f02c34e50e61056ebaf0c1e744d2b9454301b138670710b541eb9245926ad7
MD5 e9b9d443a3dbdc2a727e5cbff568a5d5
BLAKE2b-256 a07b74ae12b0b70fe443f69abed94b2da3f5073c1eeb561aceefe67e5cd258b7

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: pycapi-0.82.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 39.3 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for pycapi-0.82.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 452255076092c0bb2ce6951da320b10f4cba1bf51ca7b84511d40a8bb3da3447
MD5 56e498600d1d4189839dbb66fff34cd8
BLAKE2b-256 c7fc7141c130187d9ab3964b65abed7c9fd4d90b4e694c6dcd51a7f816885804

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp39-cp39-win32.whl.

File metadata

  • Download URL: pycapi-0.82.1-cp39-cp39-win32.whl
  • Upload date:
  • Size: 32.8 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for pycapi-0.82.1-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 b5700d00aa9e49423f528f09355f25bbdf240d4728d334a7af30d2dcac6f8da8
MD5 7b6482ef7e89bd3b9802503b6cbe794f
BLAKE2b-256 5c961ba9ae66aa731bbd320739dc51d95dff31f3c000a964e59d2f9e6f969d4c

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pycapi-0.82.1-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 f26b00e0cd9c1742acedd6dd1d09348d89a8cb1bd61c841406171f4ff9b7738c
MD5 3f81ccfc37f3e116cf40647096562979
BLAKE2b-256 0a12d5366440511b8c4686ce64911efb35366cb6d7c43e3579129c1ac0cfbd54

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp39-cp39-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pycapi-0.82.1-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 7d3fc3d77201a28c48056e811925fc01309b16c699eca7940e269607e95cec85
MD5 bb40e33c7c770dede3979d017ce4a6de
BLAKE2b-256 e0f031de827bb30f008313dfe6ce22ddc77c0eec71ef838e575a0ba381109746

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pycapi-0.82.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 30154840a5f23de47d3c528d3a4cbe0aad70bb62e498385a56a81f62cbcce0c1
MD5 b82e19724d8e076e569a88bc3137ffb1
BLAKE2b-256 e8d42ae51bdaaf328544c4add9ea5cffe74bceb2a21da73576dd7543f8832522

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pycapi-0.82.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 7983256cc2ad88d18765545fb5995ea130a0bbd71b49d90cd412ac13e168f886
MD5 4282dca70354d27711aa82d2b20795aa
BLAKE2b-256 61a1fee4ede967d240ad67c71709707277538c486e29a368ad38f1df7d2f4342

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pycapi-0.82.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d2974c67c87c5c58887ad56c6d2525b3b3cf69910c2363e9740e2aa27a2b1065
MD5 a39c6b45823245c1c5036b4011633d6d
BLAKE2b-256 d1497cb8314ee0f4bc3e239d7f7e7eeac359c042720422cdd293f29b64c13727

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pycapi-0.82.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 259fff9def3e3528f9c7bca806e8111a6e6c2d7ef864283b0e4c0a1a9df24d78
MD5 7d31906893cffbe61411bbaea69382c3
BLAKE2b-256 198827c77c105301f56fa0b80e05ed834bcc24b5aa150d1e267f6f4e11d92341

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pycapi-0.82.1-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 cd9f8de1e5176f1b330f50318a8a3c4e351e5d23d1658ebc581a8acd34f1ec56
MD5 8bf63d338c358cb95951c074b3dbbaa2
BLAKE2b-256 34ad0c635cc4a0d1502a4209e3cf02ac65adf618f5b226d1b9dbfc492cce0e52

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: pycapi-0.82.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 39.7 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for pycapi-0.82.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 f056d8e2ee3c7f50780448e9921a47124e40402b236bc9cff241d4d898ce64d2
MD5 86ba9ba6ed464eb537c4ee856c705d8e
BLAKE2b-256 11758f699fd029bfc585f523015c85a8ca461cb99cc7764b282219d46482042e

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp38-cp38-win32.whl.

File metadata

  • Download URL: pycapi-0.82.1-cp38-cp38-win32.whl
  • Upload date:
  • Size: 33.1 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for pycapi-0.82.1-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 03b1f99efe61e7e741aa8bd76067915b96746bb4b9e7637789631c82bb095f0e
MD5 a5e75879de9571f5cd07fadd051a3d7d
BLAKE2b-256 478df3390a360871e39e3802442ede89ff87ffd1a44ec45a680988f9efbbb1fe

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pycapi-0.82.1-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 9c949322b5c4fee50096edc7973d91d1fcf5677a3ddb5257efaf8b1daca0f0e3
MD5 faadbc3c905d38917e2b5b46b264d78a
BLAKE2b-256 bd135d98ee78be02d0d267281319f987e1c52565bcbc77dca6d35ee5abc4b667

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp38-cp38-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pycapi-0.82.1-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 b392e529aaa6b5039699a582d143cf21edd27d21ffbf6329766314d7a8515f32
MD5 700d00bc40fd87be4e162c50e8f5bd3a
BLAKE2b-256 7fd2ddb04b580d019c3c6376035ea861e6bbcd20a906d3cf8a288b5737debc18

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pycapi-0.82.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1d3a623d9ce62a2dee5e25887f658a42f292a6f38e95d7ebc9e33ee650c8ce23
MD5 d766c272fb5d30f61af0cbbe50187849
BLAKE2b-256 c2514cd5fcd5515c4c39ff4acbe862f03d23a205e70807ad13b39fb786c2be07

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pycapi-0.82.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 9c18190bb61cb7954072c00659c495e42a6cf45243b692d9c04726fa62c3eb11
MD5 32d87c524d5591526d752f867fa4eca7
BLAKE2b-256 2ee348ea2a933a0a23a42e092018063665b2e9d270a2d3967ef1f08c08bd3ac0

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pycapi-0.82.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 95ff437ae0ac6f31524b42eb3903365ea0d5ed4f940caeac301a079baa8f484f
MD5 54cd5dbe0984b4aaa9e60050f8971300
BLAKE2b-256 c1a8e4c7784332f95fe2a2a9a0bdcab6b021714018e32ab7277b120646c75364

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pycapi-0.82.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5ac40feea9c9df793fbac18438921d4d60d9ab85a930be15c8e304d53a06df67
MD5 72b8d04f057b7be0723373c858b1cc64
BLAKE2b-256 32a6a1af978499ad171699dc71a335e4e08bfe7d5678f3a27dccffa6f6721ce8

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp38-cp38-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pycapi-0.82.1-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 21dd98db272954568c6244842aa9903813ff01c1aec7452e53399a55223be401
MD5 6a9e8b4a0a5bcd506b32ac95506ed493
BLAKE2b-256 25893aacfb822f122bda7ad0571fb1e52d97c1ba5120a361afe1bb1e4a70d142

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: pycapi-0.82.1-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 39.8 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for pycapi-0.82.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 7c8c0f456538e0cedcf5c3fbc186189d6fb9323b528e4bf7f4f17ed277f4be5d
MD5 5c5b6168bcd54d1b2ae6dfbdf197a57e
BLAKE2b-256 68315a06d62b7901935e39d8216de43729d4d05e74151ef23732d46c85c477ea

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp37-cp37m-win32.whl.

File metadata

  • Download URL: pycapi-0.82.1-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 33.1 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for pycapi-0.82.1-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 1d32c791c5998781f6cfb43f30f058acc1f5b2660da6aca424b60a15688964a5
MD5 00d6d7c5ad7ab432d9e3c2d9f06ee233
BLAKE2b-256 208d5da2ef633f1eed23a32f6efd75c270a5765a32b17b4bc51beed66c6f320d

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp37-cp37m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pycapi-0.82.1-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 69e077b62a414b26b29636dc8df8818685eb4acf92f4bcdc22d6a7f74ed3ad38
MD5 28dbdb1bbee9293d7ba1879efede191b
BLAKE2b-256 2cd95c5b750dda8b96024a24c3c48a22cef941162c447f64436431b5755f034c

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp37-cp37m-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pycapi-0.82.1-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 69aa59e8eb0e16f44a3834a6a00daca5116c7bab2a7cf3b0ac6bf7e98502ac23
MD5 022b2f3d5dd6bc38bb3e17046275ff0a
BLAKE2b-256 ccef3fcd51d9107cf6962fb94bf3b0c16c4a7455051ccd979b8a6e433aff2528

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pycapi-0.82.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0b016f87e94d785fbfcd380cf8794cb3badffe4942708d9a2c3139168036f008
MD5 5ee8e6e125e2cbcdc1e0155d52822d24
BLAKE2b-256 2f9bda5e5d3bff027f4160b1508fc277ff74faa7095f4fd64d99e3abccf52d34

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pycapi-0.82.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 4398074cf3fba28d02d55f19cc0cf4bc225eaa74be5af557f12b0cccd1d34f28
MD5 1a440a622c8245cf28e4b6ee4ce93753
BLAKE2b-256 7902fd09978fcb69cecad6fbb419c4c95045acff9acccedd0f23b77a45029e68

See more details on using hashes here.

File details

Details for the file pycapi-0.82.1-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pycapi-0.82.1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8476ed88490140b0a7f16c5aa31e0c0bae25b949c205c3d0dbec021a5fd8036a
MD5 3cda680391b808695840ca6c36e3a269
BLAKE2b-256 9a1dde738b31dda1113e16eb95bd504b2e65ef1334ff903affd3de7be08c72bd

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