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.20

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.20
File Size Uploaded
teptris-0.2.20.tar.gz 76.3 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for teptris 0.2.20
File
teptris-0.2.20-cp39-abi3-win_arm64.whl CPython 3.9 abi3 Windows ARM64 Details
teptris-0.2.20-cp39-abi3-win_amd64.whl CPython 3.9 abi3 Windows x86-64 Details
teptris-0.2.20-cp39-abi3-musllinux_1_2_x86_64.whl CPython 3.9 abi3 Linux musl 1.2+ x86-64 Details
teptris-0.2.20-cp39-abi3-musllinux_1_2_armv7l.whl CPython 3.9 abi3 Linux musl 1.2+ ARMv7l Details
teptris-0.2.20-cp39-abi3-musllinux_1_2_aarch64.whl CPython 3.9 abi3 Linux musl 1.2+ ARM64 Details
teptris-0.2.20-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.20-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.20-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.20-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.20-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.20-cp39-abi3-macosx_11_0_arm64.whl CPython 3.9 abi3 macOS 11.0+ ARM64 Details
teptris-0.2.20-cp39-abi3-macosx_10_9_x86_64.whl CPython 3.9 abi3 macOS 10.9+ x86-64 Details

Total release size:1.9 MB

Release files / teptris-0.2.20.tar.gz

Download URL teptris-0.2.20.tar.gz
Size 76.3 kB
Tags Source
SHA-256 checksum
How to use checksums
7ceb46ba7784a0202fcce1df55be0ec6eb9aab37fd3c2786d9b5732569ec8128
BLAKE2b-256 checksum
How to use checksums
20397233f3e5ad0fac15d6852c66f408038c95fe27c0107afa69e5c4b2addc29
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.20-cp39-abi3-win_arm64.whl

Download URL teptris-0.2.20-cp39-abi3-win_arm64.whl
Size 126.7 kB
Tags CPython 3.9 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
2bced8b713613614f551ae4cbf8048a4e1b50302c45faebc3ef56324c919888f
BLAKE2b-256 checksum
How to use checksums
77aaab4b201f461da11f5dd9a9f0b2baaf438fdf62ad7fe63988372d3c1b46ad
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.20-cp39-abi3-win_amd64.whl

Download URL teptris-0.2.20-cp39-abi3-win_amd64.whl
Size 128.4 kB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
b5744606ca908dc8ffa6bf852f02684f2f2e41451905ef6fc69be04a15e82d09
BLAKE2b-256 checksum
How to use checksums
bab2fd69805f057809f95c8dd9d9e6f15c142f7cc9deb2e2bdb09bc92e926433
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.20-cp39-abi3-musllinux_1_2_x86_64.whl

Download URL teptris-0.2.20-cp39-abi3-musllinux_1_2_x86_64.whl
Size 160.1 kB
Tags CPython 3.9 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
70086cd90765a02453811a4514418bc4debcbb62cf1c467a14a952c1ab165617
BLAKE2b-256 checksum
How to use checksums
658e761bbbf13849bb6672ddc069e6f2f6006284555f763150dfbf88289c756d
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.20-cp39-abi3-musllinux_1_2_armv7l.whl

Download URL teptris-0.2.20-cp39-abi3-musllinux_1_2_armv7l.whl
Size 162.9 kB
Tags CPython 3.9 Linux musl 1.2+ ARMv7l abi3
SHA-256 checksum
How to use checksums
1d741d96537a2ab20f815e376b14afd815328df7ef7efe03a4757c40c409f26c
BLAKE2b-256 checksum
How to use checksums
540a0d29d172b59806d5dd47163541c84679b9379a318263c564c216a07656e6
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.20-cp39-abi3-musllinux_1_2_aarch64.whl

Download URL teptris-0.2.20-cp39-abi3-musllinux_1_2_aarch64.whl
Size 165.7 kB
Tags CPython 3.9 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
023becea477b0dbb31388241280f2787d2b2766bc83e69ecc8e37f89ce8adeea
BLAKE2b-256 checksum
How to use checksums
742007c50b488cb1c9a825f20e1fa48812396e4362bdd56c54c0fc5e34d0ad3d
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.20-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL teptris-0.2.20-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 157.6 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
7abe34ee9c1a1181fe4a78c4302447178d4e0173533f37f2f8a850c52a78a3b6
BLAKE2b-256 checksum
How to use checksums
07466f8f9abcaabf5cad1e4a683dac512464ce6e9ab684d3da567ed18ae0fc40
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.20-cp39-abi3-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl

Download URL teptris-0.2.20-cp39-abi3-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl
Size 162.0 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
f4194132333803e2ae395af46cb472ed64cbbd51ad0b9a065cdfc85776a50219
BLAKE2b-256 checksum
How to use checksums
a6163bc3e62ac22d239f4d4d8bb2f444909749c4561bd2929106e3a9e1cbb103
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.20-cp39-abi3-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl

Download URL teptris-0.2.20-cp39-abi3-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl
Size 169.1 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
58b1d9b62d5e950b8d521b5bf0cca035f66effa5f3f9f80babf0b0d290a0ab56
BLAKE2b-256 checksum
How to use checksums
f938fcd318ddb13cc4fd52eb75df845054c3fb82c26262d992159850b664dd60
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.20-cp39-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl

Download URL teptris-0.2.20-cp39-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl
Size 165.3 kB
Tags CPython 3.9 Linux glibc 2.17+ ARMv7l Linux glibc 2.31+ ARMv7l abi3
SHA-256 checksum
How to use checksums
fa35e94e47a49742296fd4d1e20cb37f2084df42da73e2de22d041218dafe087
BLAKE2b-256 checksum
How to use checksums
bef340ab89a0283541c8c5a3a7ddb933e8aa206aba7ec91387861cc807ab0d80
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.20-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL teptris-0.2.20-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 163.5 kB
Tags CPython 3.9 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
7beee51f8e98df57f96ec77119995e3342619c54655768449fcc231ce497a250
BLAKE2b-256 checksum
How to use checksums
e26a85c7c95f57b5cc430cb4588ffac3f469f86f82d36b624b8c335b6e454163
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.20-cp39-abi3-macosx_11_0_arm64.whl

Download URL teptris-0.2.20-cp39-abi3-macosx_11_0_arm64.whl
Size 144.4 kB
Tags CPython 3.9 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
db022526610f7984e0b635cff61ed163c0bdf2995812d52842913991780c54d2
BLAKE2b-256 checksum
How to use checksums
07f7c5c3f4bf065dd63e1f275c8ff57ea1d0fd85976b96061f162b5ae0b11d41
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.20-cp39-abi3-macosx_10_9_x86_64.whl

Download URL teptris-0.2.20-cp39-abi3-macosx_10_9_x86_64.whl
Size 144.0 kB
Tags CPython 3.9 abi3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
1335dc92679b194c2734bf7e4db12502dd5bb459f3c04421d2448f79f7abdbb5
BLAKE2b-256 checksum
How to use checksums
08ab724124febcc9888229ada6cecdec28a2d420a533f6f1c9c20a0cdec27a6f
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.20 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