Skip to main content

teptris-py — TOML for Python at libleptris speed

A native C-extension binding (no ctypes, no fallback) over libteptris — the TOML counterpart of leptris-py (XML) and yeptris-py (YAML). API shape mirrors tomllib/tomli (loads/load raising TOMLDecodeError) plus a dumps writer in the tomli_w spirit. Datetime mapping mirrors tomllib: aware/naive datetime, date, time.

Both directions are native: dumps walks the object tree in C through the builder API and emits via the shared engine emitter — 3.5×–14.2× faster than tomli_w on every benchmark shape. The engine implements the TOML 1.1 draft grammar (a strict superset of 1.0) with 100% toml-test conformance, and parses at ≥3× the best C/C++ competitor on every shape.

Packaging

pip install teptris resolves one of 10 cp39-abi3 wheels — manylinux/musllinux x86_64, aarch64 and armv7l (32-bit ARM, built under qemu), macOS arm64 and x86_64, Windows AMD64 and ARM64 — covering every CPython >= 3.9 including future minors. The extension statically links libteptris, so each wheel is a single self-contained module (no shared-library chain). Linux wheels build the engine inside each container via cibuildwheel so musllinux links musl; the manylinux wheels carry the maximal tag set (glibc >= 2.17).

Every other platform (FreeBSD, Solaris/illumos, any CPython on an exotic arch) installs the sdist, which vendors the engine and compiles it with the installing interpreter's compiler — a C compiler is required, and the build fails loudly without one.

Development

setup.py links the engine statically when it finds libteptris.a/teptris.lib under TEPTRIS_LIBDIR (what the wheels ship); otherwise it falls back to the shared library with an rpath to its build tree. Point TEPTRIS_INCLUDE/TEPTRIS_LIBDIR at a C checkout's build and run the suite:

cmake -B ../teptris/build -S ../teptris \
    -DCMAKE_BUILD_TYPE=Release -DTEPTRIS_BUILD_SHARED=OFF -DTEPTRIS_BUILD_STATIC=ON
cmake --build ../teptris/build
TEPTRIS_INCLUDE=../teptris/src/include TEPTRIS_LIBDIR=../teptris/build/src \
    python3 setup.py build_ext --inplace
PYTHONPATH=src python3 -m unittest discover -s tests -v

Publishing and version numbers are USER release decisions.

Release files for teptris 0.2.18

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for teptris 0.2.18
File Size Uploaded
teptris-0.2.18.tar.gz 76.1 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for teptris 0.2.18
File
teptris-0.2.18-cp39-abi3-win_arm64.whl CPython 3.9 abi3 Windows ARM64 Details
teptris-0.2.18-cp39-abi3-win_amd64.whl CPython 3.9 abi3 Windows x86-64 Details
teptris-0.2.18-cp39-abi3-musllinux_1_2_x86_64.whl CPython 3.9 abi3 Linux musl 1.2+ x86-64 Details
teptris-0.2.18-cp39-abi3-musllinux_1_2_armv7l.whl CPython 3.9 abi3 Linux musl 1.2+ ARMv7l Details
teptris-0.2.18-cp39-abi3-musllinux_1_2_aarch64.whl CPython 3.9 abi3 Linux musl 1.2+ ARM64 Details
teptris-0.2.18-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 abi3 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
teptris-0.2.18-cp39-abi3-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl CPython 3.9 abi3 Linux glibc 2.28+ IBM System/390x, Linux glibc 2.17+ IBM System/390x Details
teptris-0.2.18-cp39-abi3-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl CPython 3.9 abi3 Linux glibc 2.17+ PowerPC 64-le, Linux glibc 2.28+ PowerPC 64-le Details
teptris-0.2.18-cp39-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl CPython 3.9 abi3 Linux glibc 2.17+ ARMv7l, Linux glibc 2.31+ ARMv7l Details
teptris-0.2.18-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.9 abi3 Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
teptris-0.2.18-cp39-abi3-macosx_11_0_arm64.whl CPython 3.9 abi3 macOS 11.0+ ARM64 Details
teptris-0.2.18-cp39-abi3-macosx_10_9_x86_64.whl CPython 3.9 abi3 macOS 10.9+ x86-64 Details

Total release size:982.6 kB

Release files / teptris-0.2.18.tar.gz

Download URL teptris-0.2.18.tar.gz
Size 76.1 kB
Tags Source
SHA-256 checksum
How to use checksums
2cb522205d954b5dae72e16e8fcd69ba90c496642b8e5f6787937ff3b8e2e236
BLAKE2b-256 checksum
How to use checksums
ebba454a14e90c4fa94191ba48b501d487cf76b75351d6f607ef43bfbb0ce4fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.5

Release files / teptris-0.2.18-cp39-abi3-win_arm64.whl

Download URL teptris-0.2.18-cp39-abi3-win_arm64.whl
Size 49.2 kB
Tags CPython 3.9 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
e0c64297e2de5d78bfbbb4d48d9db1eb9150540cfc0d946e94026ccecd3aa38f
BLAKE2b-256 checksum
How to use checksums
061c7459b57860fedf54215acd72f326beb6a881f33ad29e5f402f745ad7836d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.5

Release files / teptris-0.2.18-cp39-abi3-win_amd64.whl

Download URL teptris-0.2.18-cp39-abi3-win_amd64.whl
Size 50.8 kB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
5c86aa4aff3254e786af94212eecc724f060f591ce206c3fd97cea85455208fc
BLAKE2b-256 checksum
How to use checksums
3753c39f861fbd26b90fa10883426c413ce7a135a0854748febb301e8ef3f91f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.5

Release files / teptris-0.2.18-cp39-abi3-musllinux_1_2_x86_64.whl

Download URL teptris-0.2.18-cp39-abi3-musllinux_1_2_x86_64.whl
Size 81.3 kB
Tags CPython 3.9 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
9dc474fe32b8b239eae2983b4a4f9f858e89ccbb9a6ea0f926bb12eeb9b53c75
BLAKE2b-256 checksum
How to use checksums
2da056f67a7c9afb1972e2b98007966ee2943d79a09d79131761cf2e74fe466b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.5

Release files / teptris-0.2.18-cp39-abi3-musllinux_1_2_armv7l.whl

Download URL teptris-0.2.18-cp39-abi3-musllinux_1_2_armv7l.whl
Size 84.1 kB
Tags CPython 3.9 Linux musl 1.2+ ARMv7l abi3
SHA-256 checksum
How to use checksums
54bfc80efe550dbdf7a583e521d86453c871b85edcca7069777e17b70bf58a7b
BLAKE2b-256 checksum
How to use checksums
d38bec1b2782d719dcdd1afc6aa68cfcff24a9b35c7f4a14efc52a3a164f6dc7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.5

Release files / teptris-0.2.18-cp39-abi3-musllinux_1_2_aarch64.whl

Download URL teptris-0.2.18-cp39-abi3-musllinux_1_2_aarch64.whl
Size 86.9 kB
Tags CPython 3.9 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
2565c586834587824c1a5be338b05f4b53b9aa80e3214fb3bc27db86d6bf0c7c
BLAKE2b-256 checksum
How to use checksums
1d6ccbd81fca71db24f9f769877203e1358281a058a3b18fd523308493e3e347
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.5

Release files / teptris-0.2.18-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL teptris-0.2.18-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 78.8 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
14ffe6e355bbdd73c78f5e6400e42e54abe177f3ea0cce235240be1b59e7e1cb
BLAKE2b-256 checksum
How to use checksums
36240acbbc6724d148aa016ad184f82c00bf888b695dea701dad09e81f5e17b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.5

Release files / teptris-0.2.18-cp39-abi3-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl

Download URL teptris-0.2.18-cp39-abi3-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Size 83.2 kB
Tags CPython 3.9 Linux glibc 2.17+ IBM System/390x Linux glibc 2.28+ IBM System/390x abi3
SHA-256 checksum
How to use checksums
b6f9f5aa0212b66c3b79f2e6a85baf4814ec714ed0afb69b2e1b8a6b2eda570d
BLAKE2b-256 checksum
How to use checksums
b50a0938f7a778aa46f210337116e296d8b897fbaa947c3befea9a6f271df745
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.5

Release files / teptris-0.2.18-cp39-abi3-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl

Download URL teptris-0.2.18-cp39-abi3-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Size 90.3 kB
Tags CPython 3.9 Linux glibc 2.17+ PowerPC 64-le Linux glibc 2.28+ PowerPC 64-le abi3
SHA-256 checksum
How to use checksums
c9903c56bdd811b1a06e0f1035859d1c527afd3f9745dd96845be7cf25355330
BLAKE2b-256 checksum
How to use checksums
18818f2086331debbc847b2f5bb68c933860982ea78bf94c2c696e5699c4df97
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.5

Release files / teptris-0.2.18-cp39-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl

Download URL teptris-0.2.18-cp39-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl
Size 86.5 kB
Tags CPython 3.9 Linux glibc 2.17+ ARMv7l Linux glibc 2.31+ ARMv7l abi3
SHA-256 checksum
How to use checksums
416bc0a2c808f8655ae8c4ba35aec083baa197160066165ba42b3a50a32f76b5
BLAKE2b-256 checksum
How to use checksums
02f43f2c918eeb47729e64ca00c8000c0f9b92faf7ba9d0672c25e54b0e29f4b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.5

Release files / teptris-0.2.18-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL teptris-0.2.18-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 84.7 kB
Tags CPython 3.9 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
82de2321e139857d4d70ceea13272187da61a41da5753795ac0f745a795d7916
BLAKE2b-256 checksum
How to use checksums
a4e92a117f445c5736c5e4eb985e7a46bd017f4ba10d6cbdd3641b398bfb2db0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.5

Release files / teptris-0.2.18-cp39-abi3-macosx_11_0_arm64.whl

Download URL teptris-0.2.18-cp39-abi3-macosx_11_0_arm64.whl
Size 65.6 kB
Tags CPython 3.9 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
56357ac4c053e02d5ce613c484d13bc36e3cee164bf500e322b4c152c6405c50
BLAKE2b-256 checksum
How to use checksums
d5aaaafc00d1f0baced59d09def5811b6a35af9c0cad6c572f4c46d0b5285f92
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.5

Release files / teptris-0.2.18-cp39-abi3-macosx_10_9_x86_64.whl

Download URL teptris-0.2.18-cp39-abi3-macosx_10_9_x86_64.whl
Size 65.2 kB
Tags CPython 3.9 abi3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
7ea0afb9308d5306b09fce700da8c27d2180baa2e8bfca71c534ad77479a8960
BLAKE2b-256 checksum
How to use checksums
946a7a11be51863cf24d756e65d7a496087d0b857856b2c0dd0f1a63f96600db
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.5

Release history Release notifications | RSS feed

This release

0.2.18 This release

13 release files

0.2.16

9 release files

0.2.15

9 release files

0.2.14

8 release files

0.2.13

8 release files

0.2.12

8 release files

0.2.11

8 release files

0.2.9

43 release files

0.2.8

43 release files

0.2.7

43 release files

0.2.6

43 release files

0.2.5

20 release files

0.2.4

20 release files

0.2.3

20 release files

0.2.2

20 release files

0.2.1

20 release files

0.2.0

12 release files

0.1.1

4 release files

0.1.0

3 release files

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