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

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.15
File Size Uploaded
teptris-0.2.15.tar.gz 158.7 kB Details

Built distributions (wheels)

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

Total release size:718.4 kB

Release files / teptris-0.2.15.tar.gz

Download URL teptris-0.2.15.tar.gz
Size 158.7 kB
Tags Source
SHA-256 checksum
How to use checksums
b7a0289691bd87713a298ee1b64fd63a289f82a75a9230fed02b11ba03423986
BLAKE2b-256 checksum
How to use checksums
f8382e164dcf93cfa6b8e1fa427b137acc7b4eeccae7d050bf2153ff25a90fb3
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.15-cp39-abi3-win_arm64.whl

Download URL teptris-0.2.15-cp39-abi3-win_arm64.whl
Size 48.8 kB
Tags CPython 3.9 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
1e685a686f0e7c3e36251af3fdfadb423619180334718da150692ffea2f94c57
BLAKE2b-256 checksum
How to use checksums
391a6ec0f63e4f36dfdc493e8693fd04512f1f2437af8cb8570528b96220bbc5
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.15-cp39-abi3-win_amd64.whl

Download URL teptris-0.2.15-cp39-abi3-win_amd64.whl
Size 50.4 kB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
2fb9b5e9c758beea54987018dd213e9876f6f2f293dc0117ca3d5f83b82039e9
BLAKE2b-256 checksum
How to use checksums
4ba1ebbea8d01b78d430d9ca05c9f1f65ff1dd46a1ac10ca793a940996e03966
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.15-cp39-abi3-musllinux_1_2_x86_64.whl

Download URL teptris-0.2.15-cp39-abi3-musllinux_1_2_x86_64.whl
Size 80.9 kB
Tags CPython 3.9 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
3ca3476fc6ede7a2e688c3f18d8b79edc1f7538b393ed8637ac9e488ed58fca3
BLAKE2b-256 checksum
How to use checksums
9d6eba5b40cfd77eaffefc77995f6398b01dcb3305c72d1a9b1e78463a616676
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.15-cp39-abi3-musllinux_1_2_aarch64.whl

Download URL teptris-0.2.15-cp39-abi3-musllinux_1_2_aarch64.whl
Size 86.5 kB
Tags CPython 3.9 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
f2d06ab5d7259cf91351c733ce63cf2f8dab6808d5a9934075c460cdb3c724c7
BLAKE2b-256 checksum
How to use checksums
cc457a67b389208028a2257d12851c47a54486a1ab820edfbbecf9938bde6361
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.15-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL teptris-0.2.15-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 78.3 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
0fe11995afad63406eac2ecb66079a7a012aa8a82433c3d6f77b9590368cad0b
BLAKE2b-256 checksum
How to use checksums
438aa753d83b5e8eedf59080b21163d83bb181e158c0f680d6f784cbd7e91b93
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.15-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL teptris-0.2.15-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 84.3 kB
Tags CPython 3.9 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
463e4ce441a52632db090cf5deab6d921d79bd7beab51ea1d21969e9cc54a08b
BLAKE2b-256 checksum
How to use checksums
c1a7aa7a71ad74b6ecf29aa849f8507d589b52a1d9c648558302e8e4a9b390b1
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.15-cp39-abi3-macosx_11_0_arm64.whl

Download URL teptris-0.2.15-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
6c9119a32666ccbc31ca711f7efcd576caf4e2809365fe55a23f5675178ea8ff
BLAKE2b-256 checksum
How to use checksums
04354cf4c276d0898665a8142bab5b7d2177da61da8aba0d1b90500ffa215909
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.15-cp39-abi3-macosx_10_9_x86_64.whl

Download URL teptris-0.2.15-cp39-abi3-macosx_10_9_x86_64.whl
Size 64.8 kB
Tags CPython 3.9 abi3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
3c9204c12ae104f71f230cf000dd60b2511a325d7f1723b2f16ea334b960d989
BLAKE2b-256 checksum
How to use checksums
75762b811105c1ea2057f695871a51d96eb87dcd15fa9f5a3b4113c8e519dd9b
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

This release

0.2.15 This release

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