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 8 cp39-abi3 wheels — manylinux/musllinux x86_64 and aarch64, 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.17

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.17
File Size Uploaded
teptris-0.2.17.tar.gz 75.9 kB Details

Built distributions (wheels)

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

Total release size:806.6 kB

Release files / teptris-0.2.17.tar.gz

Download URL teptris-0.2.17.tar.gz
Size 75.9 kB
Tags Source
SHA-256 checksum
How to use checksums
b2521b46d9b1039da57460741de9df1243c882f142e694ad520f2d3c077b5799
BLAKE2b-256 checksum
How to use checksums
926144ba22145a8852cf877f873dc73c6185cef2b7f87d9a6aa00cdf9e1eb3ac
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.17-cp39-abi3-win_arm64.whl

Download URL teptris-0.2.17-cp39-abi3-win_arm64.whl
Size 49.0 kB
Tags CPython 3.9 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
02bf11eb800f260348716952f2613c9b9f2ddc3389e1408541456b2604649b7c
BLAKE2b-256 checksum
How to use checksums
a7e73eb796497cba097e040c5247e28c9c264c56020e4271ab741432956c60a2
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.17-cp39-abi3-win_amd64.whl

Download URL teptris-0.2.17-cp39-abi3-win_amd64.whl
Size 50.6 kB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
5f04d7aed1f914b2fb3a4a1e15db2f828b7fb0528b01dafc291bb0879a24c157
BLAKE2b-256 checksum
How to use checksums
1626b28d0e20371cc804518d27277b2c3b2d517e37caaeb1e8061ed28f492890
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.17-cp39-abi3-musllinux_1_2_x86_64.whl

Download URL teptris-0.2.17-cp39-abi3-musllinux_1_2_x86_64.whl
Size 81.1 kB
Tags CPython 3.9 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
3ebd27838e08aec569f67ba40ef48dde89db8b48786cf560c9a66e6477539d60
BLAKE2b-256 checksum
How to use checksums
25c76a881106aa7a8cd121989db58edc252eed26fa0d3cf1fc9987eb49a35258
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.17-cp39-abi3-musllinux_1_2_armv7l.whl

Download URL teptris-0.2.17-cp39-abi3-musllinux_1_2_armv7l.whl
Size 83.8 kB
Tags CPython 3.9 Linux musl 1.2+ ARMv7l abi3
SHA-256 checksum
How to use checksums
d8fde0692a8dea2ad2b5486b523d44733029317c4263ef2dbea244ab623576d0
BLAKE2b-256 checksum
How to use checksums
d7557590ef6c2c85ac137a29803888a81d16bfd344642aa61da1fe713908806b
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.17-cp39-abi3-musllinux_1_2_aarch64.whl

Download URL teptris-0.2.17-cp39-abi3-musllinux_1_2_aarch64.whl
Size 86.6 kB
Tags CPython 3.9 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
bb0c7f758b62e09959a605cc8791f74ad9f6a024b5c0c0935dc47bb461e1a9a1
BLAKE2b-256 checksum
How to use checksums
9a78bfb39c0f4088f1b2ea03a0a6214e00c2aff9c7edb0ce96314ca1f048cc3f
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.17-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL teptris-0.2.17-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 78.5 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
80f67c6a460cc631127984fff23852bf5ba1c7380fdee7be16d98ea589975ea6
BLAKE2b-256 checksum
How to use checksums
bac402bbb55950e19c8d5dd9bfb277f196b250e56ee1f5130fcb284611fc9874
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.17-cp39-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl

Download URL teptris-0.2.17-cp39-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl
Size 86.3 kB
Tags CPython 3.9 Linux glibc 2.17+ ARMv7l Linux glibc 2.31+ ARMv7l abi3
SHA-256 checksum
How to use checksums
f19067e1e3b939beb6868f5b0e4f9d2c9fb9a1a945af7b3f9e338daed835f1e0
BLAKE2b-256 checksum
How to use checksums
9d79dc17c98c8ea36833d473a357bdd3070c6dc6240ca8b82de78eab2a8ed57d
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.17-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL teptris-0.2.17-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 84.5 kB
Tags CPython 3.9 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
c53599531ad7802f8ccd02c5266cbe64b67aa2e4568687d0b73badeb8819c0c5
BLAKE2b-256 checksum
How to use checksums
65140c52f07aacb78127fd1d1066308b03ba9e5d3f6b74dff131b3413dd68ba4
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.17-cp39-abi3-macosx_11_0_arm64.whl

Download URL teptris-0.2.17-cp39-abi3-macosx_11_0_arm64.whl
Size 65.4 kB
Tags CPython 3.9 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f9f2991070ef150046cecf34ee086dafbd9c27d08f899de52bb1bb06b876c236
BLAKE2b-256 checksum
How to use checksums
8f920a0c0012d0fa75550371a7a9040b8ef76f6fa243c42d8056eb1406844dc3
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.17-cp39-abi3-macosx_10_9_x86_64.whl

Download URL teptris-0.2.17-cp39-abi3-macosx_10_9_x86_64.whl
Size 65.0 kB
Tags CPython 3.9 abi3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
b37b987b651614b776fcc7531f98b7b8656d831ba48e469d64af6ce4c2f3573c
BLAKE2b-256 checksum
How to use checksums
2a9c29a789097168559bf38b3f7c6f4b5d907335924c6cc43571eb2b1cccd7b5
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.17 This release

11 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