spliterator (Python)
pip install sister-software-spliterator
The distribution is sister-software-spliterator; the import name is spliterator.
Streaming readers for delimited text, CSV, TSV, PSV and JSONL, with transparent zstd and gzip decompression.
This is the Python counterpart of the spliterator npm package and the
spliterator Rust crate. All three read the same input into the same rows:
the same defaults, the same trimming, the same quote rules and the same errors. A shared conformance suite holds them
to it.
import spliterator
for row in spliterator.read_csv("people.csv"): # {"Full Name": "Ada", "Age": "36"}
...
for value in spliterator.read_jsonl("part-0000.jsonl"): # reads part-0000.jsonl.zst when it exists
...
for line in spliterator.read_text(b" a \n\n b\n"): # "a", "b"
...
Async and counts
Each reader has an async twin that reads each batch on a worker thread, so the event loop never blocks on I/O:
async for row in spliterator.aread_csv("people.csv"):
...
count_text, count_csv, count_tsv and count_psv return the number of rows the matching reader would yield,
without building them.
Sources
A source is a path (str or os.PathLike), bytes-like data, or a binary file object.
- Decompression. A source that begins with the zstd or gzip magic bytes is decompressed before it is split, whatever
its name. Concatenated frames and members are read through. Pass
decompress=Falseto read the bytes as given. - Compressed siblings. A path
preadsp.zst, or failing thatp.gz, when one exists. Passprefer_compressed=Falseto readpitself. - Laziness. Nothing is opened until the first row is pulled.
Defaults worth knowing
| Option | Default | Notes |
|---|---|---|
trim |
True |
Strips the ECMAScript whitespace set (U+FEFF included, U+0085 not), not str.strip's. CSV trims cells and headers after unquoting. |
skip_empty |
True |
Drops empty records; for text, rows that trim to nothing; for JSONL, whitespace-only rows. |
normalize_keys |
False |
CSV keys are the header as written. In object mode a repeated header raises DuplicateHeaderError. |
enable_quote_handling |
CSV/PSV True, TSV False |
Input that ends inside quotes raises UnterminatedQuoteError after the rows before it. |
crlf |
CSV True, otherwise False |
drop and take count the rows you receive. JSONL rejects NaN and Infinity, keeps large integers exact, and
raises JSONRowError with the failing row's index.
The full semantics table is in the repository's docs/v10.md.
Errors
SpliteratorError is the base of UnterminatedQuoteError (.byte_offset), DuplicateHeaderError (.column) and
JSONRowError (.row), each also a ValueError. I/O failures raise the usual OSError subclasses.
Metadata
Release files for sister-software-spliterator 10.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
Total release size: 6.8 MB
Release files / sister_software_spliterator-10.1.1-cp311-abi3-win_amd64.whl
| Download URL | sister_software_spliterator-10.1.1-cp311-abi3-win_amd64.whl |
|---|---|
| Size | 758.2 kB |
| Tags | CPython 3.11 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
af37a1c9949eae3c5fc44aa7c8d46d8011017a5d753df1b0dbcdc336a7bb0a14
|
|
BLAKE2b-256 checksum How to use checksums |
6fe0fc4f8c11512c943078fe0995ebde4b81004bafad00195719443d2b1d8436
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Oct 28, 2026.
Transparency logRelease files / sister_software_spliterator-10.1.1-cp311-abi3-musllinux_1_2_x86_64.whl
| Download URL | sister_software_spliterator-10.1.1-cp311-abi3-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.11 Linux musl 1.2+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
c12171f16a9ccc55ae8ad39d6a3a6a8e199d400828e76e685300540ef4d8db45
|
|
BLAKE2b-256 checksum How to use checksums |
01105b69b6922892f368a6b86b8e7431ab724dcb9d4bede2288a0ee2a5e48e76
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Oct 28, 2026.
Transparency logRelease files / sister_software_spliterator-10.1.1-cp311-abi3-musllinux_1_2_aarch64.whl
| Download URL | sister_software_spliterator-10.1.1-cp311-abi3-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.11 Linux musl 1.2+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
721e27e49391077aab3421c191369004662933819b8ab8b98c670b8ed6a5f023
|
|
BLAKE2b-256 checksum How to use checksums |
f698a065540b07a33343cbf6d9d3e0eab85868592b76d36b2fab5500ae5a5837
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Oct 28, 2026.
Transparency logRelease files / sister_software_spliterator-10.1.1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | sister_software_spliterator-10.1.1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 997.7 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
231e74338dbd0470b272246399e6bcb3c325f3004ea0db2a0c6b580b1786a21b
|
|
BLAKE2b-256 checksum How to use checksums |
61333773e95e0b22e992f7da743308f30ae33252ce78402abd1589c89de67ed6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Oct 28, 2026.
Transparency logRelease files / sister_software_spliterator-10.1.1-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | sister_software_spliterator-10.1.1-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 984.0 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
487f33c5c894f95f3ebdc904fe37c9de88486242c490e8ea1b1193c8bd5adfd7
|
|
BLAKE2b-256 checksum How to use checksums |
e2909f6e3446ab50dc187b33e337947c9580696f69ba032b2a0a1636e6e6dc58
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Oct 28, 2026.
Transparency logRelease files / sister_software_spliterator-10.1.1-cp311-abi3-macosx_11_0_arm64.whl
| Download URL | sister_software_spliterator-10.1.1-cp311-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 817.5 kB |
| Tags | CPython 3.11 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
61dfe558ace1c7e4d392f8541bf3fc99029999a0e76b0b6cec94b669beca51b5
|
|
BLAKE2b-256 checksum How to use checksums |
831c5c8a75e9e4be2e8300b2f65c6bed44c430d62234c83ce14d85ee581f2b04
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Oct 28, 2026.
Transparency logRelease files / sister_software_spliterator-10.1.1-cp311-abi3-macosx_10_12_x86_64.whl
| Download URL | sister_software_spliterator-10.1.1-cp311-abi3-macosx_10_12_x86_64.whl |
|---|---|
| Size | 866.1 kB |
| Tags | CPython 3.11 abi3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
6d5d9d052eb11c60335778338062026e39e435340b848ab411495afb7446b76c
|
|
BLAKE2b-256 checksum How to use checksums |
4766f7a3fef0f683227e088fa980055a45e3e1ef974770b7f422a9f4596f260d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Oct 28, 2026.
Transparency logSecurity for sister-software-spliterator 10.1.1
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.
Full provenance
All 7 files in this release have been uploaded with provenance metadata.
Attestation for sister_software_spliterator-10.1.1-cp311-abi3-win_amd64.whl
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 Oct 28, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.