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

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.12
File
teptris-0.2.12-cp39-abi3-win_arm64.whl CPython 3.9 abi3 Windows ARM64 Details
teptris-0.2.12-cp39-abi3-win_amd64.whl CPython 3.9 abi3 Windows x86-64 Details
teptris-0.2.12-cp39-abi3-musllinux_1_2_x86_64.whl CPython 3.9 abi3 Linux musl 1.2+ x86-64 Details
teptris-0.2.12-cp39-abi3-musllinux_1_2_aarch64.whl CPython 3.9 abi3 Linux musl 1.2+ ARM64 Details
teptris-0.2.12-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.12-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.12-cp39-abi3-macosx_11_0_arm64.whl CPython 3.9 abi3 macOS 11.0+ ARM64 Details
teptris-0.2.12-cp39-abi3-macosx_10_9_x86_64.whl CPython 3.9 abi3 macOS 10.9+ x86-64 Details

Total release size:540.2 kB

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

Download URL teptris-0.2.12-cp39-abi3-win_arm64.whl
Size 46.7 kB
Tags CPython 3.9 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
24b234d9843c828f381785f0534668d0c090e2fda05964886232ca980cac6f17
BLAKE2b-256 checksum
How to use checksums
ead595add6bfc3fc73c35cdb7c816e05aba93181baff73539966da01a98e55c6
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.12-cp39-abi3-win_amd64.whl

Download URL teptris-0.2.12-cp39-abi3-win_amd64.whl
Size 48.6 kB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
45e81bfa8f80cbb2f87714c6b2babd36dc0b878cfce2950bf666852ec6d1f212
BLAKE2b-256 checksum
How to use checksums
4b92186675776ad2d3aee882c53554a88304e5d98f70405e54ac4715432cc198
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.12-cp39-abi3-musllinux_1_2_x86_64.whl

Download URL teptris-0.2.12-cp39-abi3-musllinux_1_2_x86_64.whl
Size 78.7 kB
Tags CPython 3.9 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
468561226aa804b4bc92a2b3d273246436cdc4a6bd848ac87d51a38f856a6de4
BLAKE2b-256 checksum
How to use checksums
f72b1a35d9f99da216d32639eb7558f5b183d277d0b9cf599bb4fb96df405bee
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.12-cp39-abi3-musllinux_1_2_aarch64.whl

Download URL teptris-0.2.12-cp39-abi3-musllinux_1_2_aarch64.whl
Size 84.2 kB
Tags CPython 3.9 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
9e1c1dadf46603a7ecb969068175138273bb6bf4d6bf2220cf0220ebc1ade91d
BLAKE2b-256 checksum
How to use checksums
c399ad31bb6ded8ee8678597bbc1023249373a3213438e071ea926e556082cf5
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.12-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL teptris-0.2.12-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 75.9 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
d42c159f3d6248df94b38309590b6d1083ac5c478b514ed779fa941cbf005d60
BLAKE2b-256 checksum
How to use checksums
8f0667ad7f8e74238fe0acc244e03b23dbac5099e923a9fd57003b88de020927
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.12-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL teptris-0.2.12-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 82.1 kB
Tags CPython 3.9 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
e4834792738fbfa314ca56e02827f95a24b15e7acb145282bac66dcfa5f22c80
BLAKE2b-256 checksum
How to use checksums
b520b31b0012b6f64aaca80d7609559a8165a0ce6f31760e84a0ed425d6068fa
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.12-cp39-abi3-macosx_11_0_arm64.whl

Download URL teptris-0.2.12-cp39-abi3-macosx_11_0_arm64.whl
Size 62.5 kB
Tags CPython 3.9 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0f43d5647f7897a3c8a98ebb766c64b8bd9d0e1fbe29c2a397168d907a974489
BLAKE2b-256 checksum
How to use checksums
d59dcd096cd743a7f98ffe1385941512f9555a1cf8b70656c219607aa67ddb67
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.12-cp39-abi3-macosx_10_9_x86_64.whl

Download URL teptris-0.2.12-cp39-abi3-macosx_10_9_x86_64.whl
Size 61.5 kB
Tags CPython 3.9 abi3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
7318ba0fbdce418f60b53e00290233d9d0834f7cd4852b52c0dca25791bfc087
BLAKE2b-256 checksum
How to use checksums
18dfde17c6e8dca6b10771adcf219c20cf91bd7ece9a04bfe2d8ddc81d0eb344
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

0.2.13

8 release files

This release

0.2.12 This release

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