TSRKit Types
A high‑performance, strongly‑typed Python serialization library with built‑in JSON support. TSRKit Types provides a concise type system for integers, bytes, strings, bits, sequences, dictionaries, enums, and structs with deterministic, validated encoding.
Highlights
- Native C extension for performance‑critical encode/decode paths
- Deterministic binary encoding and JSON serialization
- Strong runtime validation with type‑safe containers
- Clean, small API designed for application‑level data modeling
Installation
Wheels (recommended)
pip install tsrkit-types
Build from source
pip install .
The native extension is required. Wheels are provided for macOS and Linux.
Quickstart
from tsrkit_types import Uint, U16, String, Bytes, Bits, TypedVector, Dictionary, structure
# Integers
value = Uint(1000)
encoded = value.encode()
decoded = Uint.decode(encoded)
# Fixed-width integer
port = U16(8080)
# Strings and bytes
name = String("alice")
blob = Bytes(b"payload")
# Bits
flags = Bits([True, False, True, True])
# Typed container
VecU16 = TypedVector[U16]
ports = VecU16([U16(80), U16(443)])
# Dictionary with typed keys/values
Config = Dictionary[String, U16]
config = Config({String("port"): U16(8080)})
# Structs
@structure
class Person:
name: String
age: U16
p = Person(name=String("bob"), age=U16(42))
# Binary + JSON
binary = p.encode()
json_data = p.to_json()
Type Overview
- Integers:
Uint,U8,U16,U32,U64 - Strings:
String - Bytes:
Bytes,Bytes16,Bytes32,Bytes64,Bytes128,Bytes256,Bytes512,Bytes1024,ByteArray - Bits:
Bits - Sequences:
Seq,Vector,Array,TypedVector,TypedArray,BoundedVector,TypedBoundedVector - Dictionary:
Dictionary - Enums:
Enum - Structs:
structure - Choice/Option:
Choice,Option
Encoding Notes
- Fixed‑width integers are little‑endian.
- Variable‑length integers use a compact prefix encoding optimized for smaller values.
- Dictionaries encode in sorted key order for determinism.
Benchmarks
See benchmark.md for current results and Python/stdlib baselines. Raw benchmark outputs are written to:
benchmarks/out/bench_results.jsonbenchmarks/out/bench_profiles.json
Development
Tests
uv run pytest
Linting
uv run ruff check .
Release files for tsrkit-types 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tsrkit_types-0.2.1.tar.gz | 52.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tsrkit_types-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 79.7 kB
Release files / tsrkit_types-0.2.1.tar.gz
| Download URL | tsrkit_types-0.2.1.tar.gz |
|---|---|
| Size | 52.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
99d7392e6336b0a21b2296409c762e44e65d7bc0b79db26cbc7911ecf45f12fa
|
|
BLAKE2b-256 checksum How to use checksums |
8d2ddf22ac405d9d1fd54614ce0aa5a5ed80d49a3975863c72b6dbe90242db1c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 5, 2026.
Transparency logRelease files / tsrkit_types-0.2.1-py3-none-any.whl
| Download URL | tsrkit_types-0.2.1-py3-none-any.whl |
|---|---|
| Size | 27.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7e66234d662a4ed9a92531a3781e112d7a4a39fb2efc2b9e4ed49c887172ee54
|
|
BLAKE2b-256 checksum How to use checksums |
96262f27577615ad3a82ff4a4cb27b07a54a99049ace88317b3c412b101d3fba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 5, 2026.
Transparency log