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.16
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| teptris-0.2.16.tar.gz | 75.8 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| teptris-0.2.16-cp39-abi3-win_arm64.whl | CPython 3.9 | abi3 | Windows ARM64 | Details |
| teptris-0.2.16-cp39-abi3-win_amd64.whl | CPython 3.9 | abi3 | Windows x86-64 | Details |
| teptris-0.2.16-cp39-abi3-musllinux_1_2_x86_64.whl | CPython 3.9 | abi3 | Linux musl 1.2+ x86-64 | Details |
| teptris-0.2.16-cp39-abi3-musllinux_1_2_aarch64.whl | CPython 3.9 | abi3 | Linux musl 1.2+ ARM64 | Details |
| teptris-0.2.16-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.16-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.16-cp39-abi3-macosx_11_0_arm64.whl | CPython 3.9 | abi3 | macOS 11.0+ ARM64 | Details |
| teptris-0.2.16-cp39-abi3-macosx_10_9_x86_64.whl | CPython 3.9 | abi3 | macOS 10.9+ x86-64 | Details |
Total release size:636.8 kB
Release files / teptris-0.2.16.tar.gz
| Download URL | teptris-0.2.16.tar.gz |
|---|---|
| Size | 75.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4cadf2454520ddca9ce9c398b2ce2a1f29041ab9b76ae68510f2036783803840
|
|
BLAKE2b-256 checksum How to use checksums |
517cdf8cb8d1025d38e8f6bf45b2b38df3ea583534180d71d48cf108dead5bb6
|
| 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.16-cp39-abi3-win_arm64.whl
| Download URL | teptris-0.2.16-cp39-abi3-win_arm64.whl |
|---|---|
| Size | 49.0 kB |
| Tags | CPython 3.9 Windows ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
a8e126d975a337a75f32e902d4049bb4fbe16822b67fcb7a495d0d40e4afeabd
|
|
BLAKE2b-256 checksum How to use checksums |
be5ff0a4cd43c30dc0c5683368cb82ed9b9a2ed9c865a7e9a7ab4e81103e30b7
|
| 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.16-cp39-abi3-win_amd64.whl
| Download URL | teptris-0.2.16-cp39-abi3-win_amd64.whl |
|---|---|
| Size | 50.6 kB |
| Tags | CPython 3.9 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
1761c0b2b8601dee2974145951baf1fa97c0e6de4555ca4e637686d8b786a601
|
|
BLAKE2b-256 checksum How to use checksums |
cd6c98337cf50521c9580a8705fc3734411295231fac0fbcdedcbe204a8eb60e
|
| 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.16-cp39-abi3-musllinux_1_2_x86_64.whl
| Download URL | teptris-0.2.16-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 |
24a4de2cdbd90ee79f2220a43822c0a537f057120fdf73ca79313030c9833c4b
|
|
BLAKE2b-256 checksum How to use checksums |
f66c5ba0e8b0cbe08b9962859ec2f1d7c6b3d44dbfc5cdd4ff0772d57d445739
|
| 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.16-cp39-abi3-musllinux_1_2_aarch64.whl
| Download URL | teptris-0.2.16-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 |
617571f13112f3a9a70091c0ef40393e5e9a7176146d44db611054ea93b161a0
|
|
BLAKE2b-256 checksum How to use checksums |
c253b46249ad0f9a475d05fcacbbf9358b2fb125557cc27bf15ab48393d2b4ac
|
| 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.16-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | teptris-0.2.16-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 |
9cf7b77fbd71f69fce16b092ced42ba5a5ff548c8e5c3411565a9eb5ab578ca9
|
|
BLAKE2b-256 checksum How to use checksums |
dc207e21990821af9e2a5541c30fe237354f3afbcd3a8a0a83119538dc4173a0
|
| 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.16-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | teptris-0.2.16-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 |
82d3cca03c13ece84546f7235b5089f334d91a401aa5f526a77299896900b6af
|
|
BLAKE2b-256 checksum How to use checksums |
e11668d065d7dd874338fc6e4c000875fc8a309dd720ea2d717d946041d8a5fe
|
| 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.16-cp39-abi3-macosx_11_0_arm64.whl
| Download URL | teptris-0.2.16-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 |
0d6327d5a9c8cfbb7cb88903c22b56b9bd8572f2f147b2fef1109ec564dcae5e
|
|
BLAKE2b-256 checksum How to use checksums |
1f9d4eab9aff05b97a16d177e2768282e39b706f0c5703e9c1d964b687deb322
|
| 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.16-cp39-abi3-macosx_10_9_x86_64.whl
| Download URL | teptris-0.2.16-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 |
30bb2d656058eba0241f27a360c16f2256a8d1b36aa60133685a0fac8d988d5a
|
|
BLAKE2b-256 checksum How to use checksums |
55ca3b48e4011906ab0f46d943b7e732f4a9bb7b8f6849d7602c3dabd1a883f6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.5
|