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

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.19
File Size Uploaded
teptris-0.2.19.tar.gz 76.2 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for teptris 0.2.19
File
teptris-0.2.19-cp39-abi3-win_arm64.whl CPython 3.9 abi3 Windows ARM64 Details
teptris-0.2.19-cp39-abi3-win_amd64.whl CPython 3.9 abi3 Windows x86-64 Details
teptris-0.2.19-cp39-abi3-musllinux_1_2_x86_64.whl CPython 3.9 abi3 Linux musl 1.2+ x86-64 Details
teptris-0.2.19-cp39-abi3-musllinux_1_2_armv7l.whl CPython 3.9 abi3 Linux musl 1.2+ ARMv7l Details
teptris-0.2.19-cp39-abi3-musllinux_1_2_aarch64.whl CPython 3.9 abi3 Linux musl 1.2+ ARM64 Details
teptris-0.2.19-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 abi3 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
teptris-0.2.19-cp39-abi3-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl CPython 3.9 abi3 Linux glibc 2.17+ IBM System/390x, Linux glibc 2.28+ IBM System/390x Details
teptris-0.2.19-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.19-cp39-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl CPython 3.9 abi3 Linux glibc 2.31+ ARMv7l, Linux glibc 2.17+ ARMv7l Details
teptris-0.2.19-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.9 abi3 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
teptris-0.2.19-cp39-abi3-macosx_11_0_arm64.whl CPython 3.9 abi3 macOS 11.0+ ARM64 Details
teptris-0.2.19-cp39-abi3-macosx_10_9_x86_64.whl CPython 3.9 abi3 macOS 10.9+ x86-64 Details

Total release size:982.8 kB

Release files / teptris-0.2.19.tar.gz

Download URL teptris-0.2.19.tar.gz
Size 76.2 kB
Tags Source
SHA-256 checksum
How to use checksums
bb1578c87b94370b63d8d97aaa2ba7be421374797963453bb4b975c62d1368bc
BLAKE2b-256 checksum
How to use checksums
ac39262206b8f65f684c28b58865f9ce8f60797a644e8d827e602f50b2dee658
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.19-cp39-abi3-win_arm64.whl

Download URL teptris-0.2.19-cp39-abi3-win_arm64.whl
Size 49.2 kB
Tags CPython 3.9 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
da099efa98a489673f6d0e816a7648793c42adc52b0e59ea3e92682f12f89898
BLAKE2b-256 checksum
How to use checksums
0ffa749c56c5fe963ece3bdea07a1ba05bd1a9406f0578be8b340a2a9d709e67
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.19-cp39-abi3-win_amd64.whl

Download URL teptris-0.2.19-cp39-abi3-win_amd64.whl
Size 50.8 kB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
366fff753b540f604dd8f8d532cad78f17aacbeafae9262f45b2dc78e1b2375e
BLAKE2b-256 checksum
How to use checksums
606959e70b10ee1df6dbc91340b83570e61cb414c6703684fdf6e7bc29d36970
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.19-cp39-abi3-musllinux_1_2_x86_64.whl

Download URL teptris-0.2.19-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
4a99f6621e0e1c35cb440824b1eff39f503e4c6b55073f59057b9aeb2009bd83
BLAKE2b-256 checksum
How to use checksums
ca4fc759131ab2e932478b2ba3db1d985934b12348e2f6e826085216a90c025e
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.19-cp39-abi3-musllinux_1_2_armv7l.whl

Download URL teptris-0.2.19-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
84a52f93c412ef8ce2ca23e22056bcdd387d58fde034206a42c177129a747d91
BLAKE2b-256 checksum
How to use checksums
48cf4f715ed4774294f44919715681c5fd61935b520644abbf88c8e36410dacb
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.19-cp39-abi3-musllinux_1_2_aarch64.whl

Download URL teptris-0.2.19-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
d67891a26ec91c5ff373fe5d99f6fbd4f3107b60469679ed2ebad079e5298e74
BLAKE2b-256 checksum
How to use checksums
9a6b8503ac82fbaaf9eeeb6c143fb70937dd16e0c5b7ee224d109c22a86a623b
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.19-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL teptris-0.2.19-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
bb4db60d861ba68ac1b7cad7f70f97584ed5c6043d1e7fb92b448de7a0c3a75d
BLAKE2b-256 checksum
How to use checksums
4656b8a72e8c94df1b843507da399ccaf358c538689b63891b3d43c6b105622a
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.19-cp39-abi3-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl

Download URL teptris-0.2.19-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
86ce3e9455ee9d525254409ab92116b1b9f6fdda7d5a1348dcd7183eff29466b
BLAKE2b-256 checksum
How to use checksums
27feda3103a33aab520a3ce8a8c85b2ba73b21f53d85b50869493a0c5a6b82f6
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.19-cp39-abi3-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl

Download URL teptris-0.2.19-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
db944e9e5139827d220f02619ec35813effd415f05533ef3ae8332bd6f64b996
BLAKE2b-256 checksum
How to use checksums
e3e87c4056ac72080f7ad347d30a72a5673f2baf243605a21e44bc2220c54916
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.19-cp39-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl

Download URL teptris-0.2.19-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
71bab9aeed80d75057f17926a29800f946dc8570e2ff7ea0fb59e65431827606
BLAKE2b-256 checksum
How to use checksums
5182066db5e2b451d7ae1ef174bc9a39c6864ce90f8e8ad8a07c17b820298f88
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.19-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL teptris-0.2.19-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
7246ca6e24bfd37cb9cbc4d4f843f3d9ad8d6a6c8cfc31386f5056d69cf0abe5
BLAKE2b-256 checksum
How to use checksums
a8cc31da0b12839e37c691279935d89001355cbc4390337e884600b5bba69bf2
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.19-cp39-abi3-macosx_11_0_arm64.whl

Download URL teptris-0.2.19-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
a750e82c3ad121d15d2442a010414d3400e1558475297618bfe420af853b5578
BLAKE2b-256 checksum
How to use checksums
9d78618643a1eb44760a429d37bef393e30020ac408c98e9e708506fff9fda46
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.19-cp39-abi3-macosx_10_9_x86_64.whl

Download URL teptris-0.2.19-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
7ad6ca29d234cdae0ee63a9502c3d72e2067ac0579afd161e67493c80e8a0fbf
BLAKE2b-256 checksum
How to use checksums
5ae23bf32e463d46939156a8a066726d5db5d1f4bb1960a283cea9b3e11691e4
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.19 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