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

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

Total release size:557.2 kB

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

Download URL teptris-0.2.14-cp39-abi3-win_arm64.whl
Size 48.0 kB
Tags CPython 3.9 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
df3014771f4349f265a8d6509ea2ebe08790e8d996050d20a6831626749c0c69
BLAKE2b-256 checksum
How to use checksums
b06f78ff843cb17d7dbaac8269f84ed8d029f9fcb6c690633b32f88dd1107fec
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.14-cp39-abi3-win_amd64.whl

Download URL teptris-0.2.14-cp39-abi3-win_amd64.whl
Size 49.9 kB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
8602aaad46dfe1df43905624c9ac973d6c1065e7667d5dc303863ba0aee6c4c8
BLAKE2b-256 checksum
How to use checksums
66e4f105dd905160fbb468b95da4acf20e7344de0ecb7a9933c5bde4e42e4c4e
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.14-cp39-abi3-musllinux_1_2_x86_64.whl

Download URL teptris-0.2.14-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
7a314641dea7a4e22e7f9d7309ad008efa5b629c4fbb4eb76aa85274233e33fc
BLAKE2b-256 checksum
How to use checksums
480eaec02aec3ab0e6062409ebc0443d1ae5f002e741a7674499c1561995a9d1
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.14-cp39-abi3-musllinux_1_2_aarch64.whl

Download URL teptris-0.2.14-cp39-abi3-musllinux_1_2_aarch64.whl
Size 86.3 kB
Tags CPython 3.9 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
46762649abfd425466f43cf398d9fa3901723292f7d6a55f8d132d355143b5b3
BLAKE2b-256 checksum
How to use checksums
8589c4c3fed04cc86aa8099a23fb68c2f0cafc1737740cedf201f2981622bfc0
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.14-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL teptris-0.2.14-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 78.2 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
998f3a90d13a5e531f2f76f209580b64281cdc2bddafbb7822884f564402852a
BLAKE2b-256 checksum
How to use checksums
436f3a5a809b61bcdbabb11aee4b24251e033b43cc989eb382db599d051e86dc
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.14-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL teptris-0.2.14-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 84.1 kB
Tags CPython 3.9 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
b28ce68c2b52193cf5802bd9c397b44b151ab6249475511e7d73aeba165f759a
BLAKE2b-256 checksum
How to use checksums
f862a61b2ef7afb6085848b929747791e5133fe937d97855eb4bdf0a6fe455b4
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.14-cp39-abi3-macosx_11_0_arm64.whl

Download URL teptris-0.2.14-cp39-abi3-macosx_11_0_arm64.whl
Size 65.7 kB
Tags CPython 3.9 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
54d5bbc4fd4f7c3f04f2edcf398cd36e1b9b3462285fe6e6292bc27ec2a723bb
BLAKE2b-256 checksum
How to use checksums
91074a60e5553c085e580145abb9104f0ca78e77a11686b508a94869fde51d89
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.14-cp39-abi3-macosx_10_9_x86_64.whl

Download URL teptris-0.2.14-cp39-abi3-macosx_10_9_x86_64.whl
Size 64.0 kB
Tags CPython 3.9 abi3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
fa3f0c91d098ec8c3eac4ae7d450be5971f1057f3f5750fe420ccf20c414a9b4
BLAKE2b-256 checksum
How to use checksums
17d53653d9e303b1507c8b4173a8a646d6a2c89570e97e6dbad89ef99f1599d5
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

This release

0.2.14 This release

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