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

Wheels are cp39-abi3 — one per platform (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.

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

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

Built distributions (wheels)

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

Total release size:544.9 kB

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

Download URL teptris-0.2.13-cp39-abi3-win_arm64.whl
Size 47.2 kB
Tags CPython 3.9 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
a164e67f91978e5cd5fc431ca0092737bcab3654679a64e08ab06a4087f64b27
BLAKE2b-256 checksum
How to use checksums
984421960eb2dfca387dfe594e7603ba0530113f598351a96ad097cff5e80e1a
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.13-cp39-abi3-win_amd64.whl

Download URL teptris-0.2.13-cp39-abi3-win_amd64.whl
Size 49.2 kB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
f33854ec5872c27ec4503dc9d75a43bcf6be1fba7ddb3e962efd9855b8e2e363
BLAKE2b-256 checksum
How to use checksums
411f4be05f7a8536db59cd3599b81350e8cbc4f0bb3359a9caa11dd2f8695bd9
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.13-cp39-abi3-musllinux_1_2_x86_64.whl

Download URL teptris-0.2.13-cp39-abi3-musllinux_1_2_x86_64.whl
Size 79.5 kB
Tags CPython 3.9 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
26caf931e43a79380c871b839f28e70aaed9570846397d52ea9871658f0852da
BLAKE2b-256 checksum
How to use checksums
ba9b38e7007c9042e1657834327b6757dc274025a4ab1f3d42efa379538ed555
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.13-cp39-abi3-musllinux_1_2_aarch64.whl

Download URL teptris-0.2.13-cp39-abi3-musllinux_1_2_aarch64.whl
Size 84.7 kB
Tags CPython 3.9 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
b6ded77d0d5af7985c682a9ad151e2913e29d8cd3d043998d85ec2237b95f9b9
BLAKE2b-256 checksum
How to use checksums
48d6e2adc505b6953b347b3d19db5e607768d01c759ccb315e50ec34077ed585
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.13-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL teptris-0.2.13-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 76.7 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
72c2da411e8e2e090d9bd1d5f19d1d1ba4c828684c84d245f0a11a4699ba1071
BLAKE2b-256 checksum
How to use checksums
4f16d81a9cec6b30ed5883d1d89b5c191dc188a657b1106c9c971f83b40996a9
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.13-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL teptris-0.2.13-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 82.6 kB
Tags CPython 3.9 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
da76a59cd4a9f1ff480dfde67371293329178d09a43df069ae13b7bbb7312ed4
BLAKE2b-256 checksum
How to use checksums
72e5df68f1fd9c15b390b0b2db18e8266004517b05fcc18007d787cbcecd4542
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.13-cp39-abi3-macosx_11_0_arm64.whl

Download URL teptris-0.2.13-cp39-abi3-macosx_11_0_arm64.whl
Size 63.0 kB
Tags CPython 3.9 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7afe68a00effe6d306499f5fe05c26c5c8563e3acac7c054e0c26ffef2b5bda3
BLAKE2b-256 checksum
How to use checksums
a6afedcefb308590fac2f3664111bbd0285799c0814b8166a9fd5d4ecc97e03b
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.13-cp39-abi3-macosx_10_9_x86_64.whl

Download URL teptris-0.2.13-cp39-abi3-macosx_10_9_x86_64.whl
Size 62.1 kB
Tags CPython 3.9 abi3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
a9289df97fa67f968b3e05163b05572e6cdd9b0657cbd2db4cf840ce8638e329
BLAKE2b-256 checksum
How to use checksums
f76806878635aca07893b68928db4e81b6cf3263f9a646e9b71decd2d589b25a
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

0.2.16

9 release files

0.2.15

9 release files

0.2.14

8 release files

This release

0.2.13 This release

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