readstat-arrow
Read and write SPSS (.sav) and Stata (.dta) files as Apache Arrow
tables.
A thin, typed Python wrapper around the excellent ReadStat
C library. Where pyreadstat returns pandas data frames,
readstat-arrow returns a pyarrow.Table, which converts for free to pandas, polars, DuckDB,
Parquet and anything else that speaks Arrow.
import readstat_arrow
table, meta = readstat_arrow.read_sav("survey.sav") # -> (pyarrow.Table, Metadata)
readstat_arrow.write_dta("survey.dta", table, meta) # the same pair back out, as Stata
Examples
Write an SPSS file
import pyarrow as pa
import readstat_arrow
from readstat_arrow import Metadata
table = pa.table({"id": pa.array([1, 2, 3], pa.int32()), "sex": pa.array([1, 2, None])})
meta = Metadata(
file_label="Tiny survey",
variable_labels={"id": "Respondent id", "sex": "Sex"},
value_labels={
"sex": [
{"value": 1, "label": "Male"},
{"value": 2, "label": "Female"},
{"value": 9, "label": "Unknown"},
]
},
formats={"sex": "F1.0"},
measures={"sex": "nominal"},
storage_widths={"sex": 1},
missing_values={"sex": {"values": [9]}}, # or a range: {"lo": 90, "hi": 99}
)
readstat_arrow.write_sav("tiny.sav", table, meta)
readstat_arrow.write_sav("bare.sav", table) # no metadata at all: just the columns
Metadata is a set of mappings from variable name to one attribute — variable_labels,
value_labels, formats, storage_widths, display_widths, measures, alignments,
missing_values — plus the file-level file_label, notes and multiple_response_sets. Which
columns exist, and in what order, is the Arrow schema's business. Nothing is required: a name absent
from a mapping declares nothing and the writer falls back to the format's own default, and the
metadata may be left out altogether. SPSS stores every number as a double, so id reads back as
float64, not int32.
Write a Stata file, whole or in batches
import readstat_arrow
table, meta = readstat_arrow.read_sav("survey.sav")
readstat_arrow.write_dta("survey.dta", table, meta) # a whole table in one call
# or stream it, without holding every row in memory
with readstat_arrow.DtaWriter("survey.dta", table.schema, table.num_rows, meta) as writer:
for batch in table.to_batches(max_chunksize=100_000):
writer.write_batch(batch)
DtaWriter (and SavWriter) needs the final row count up front.
Read an SPSS file
import readstat_arrow
table, meta = readstat_arrow.read_sav("survey.sav")
table.num_rows # -> 12_345
table.schema # dates and times are already temporal types
table.column("q1")
table.column_names # -> every variable, in file order
meta.file_label # -> "2026 satisfaction survey"
meta.variable_labels["q1"] # -> "How satisfied are you ...?"
meta.value_labels["q1"] # -> [{"value": 1, "label": "Very unsatisfied"}, ...]
meta.missing_values["q1"] # -> {"values": [9]}, or {"lo": 90, "hi": 99}
table.to_pandas() # or
import polars as pl
pl.from_arrow(table)
Read part of a Stata file
import readstat_arrow
# header only, no rows decoded: the schema a full read would give comes back
# beside the metadata
row_count, schema, meta = readstat_arrow.read_dta_metadata("panel.dta")
schema.names # -> ["id", "income", ...], the variables in file order
schema.field("income").type # -> the type read_dta would give that column
table, meta = readstat_arrow.read_dta(
"panel.dta",
columns=["id", "income"], # only these, in this order
row_offset=1_000, # skip the first 1_000 rows
row_limit=1_000, # then read at most 1_000
preserve_user_missing=True, # keep Stata's tagged missings .a-.z
)
# with preserve_user_missing every numeric column is struct<value, tag>
table.column("income")[0].as_py() # -> {"value": None, "tag": "a"}, Stata's .a
table.column("income")[1].as_py() # -> {"value": 42.0, "tag": None}, a real number
table.column("income")[2].as_py() # -> None, a plain .
Read a big file in less memory
Where memory is the constraint, holding the whole table in it is the expensive part of reading a
file — and the type a column is stored as is often wider than its values need. A .sav is the worst
of it: every numeric column is a 64-bit double whatever it holds, so a survey of one-digit codes
costs 8 bytes a cell. A .dta has narrow types of its own — byte, int, long, float — but a
variable is only as narrow as whoever wrote the file declared it.
scan_and_narrow_types=True reads each column at the width its values actually need instead:
import readstat_arrow
table, meta = readstat_arrow.read_sav("big.sav", scan_and_narrow_types=True)
table.schema.field("q1").type # -> DataType(int8), where the file says double
The file is parsed twice — once to measure the values, keeping none of them, then once to read them at the widths that fit — so the trade is time for memory: about twice the wall clock of a plain read, and no column is ever built at its stored width.
Only a type that holds the column exactly is ever chosen: integer types when every value was a whole
number, float32 when every value round-trips through it, else float64. The ladder is int8,
int16, int32, float32, float64 — there is no int64, which would save nothing over the
double it replaces, and no unsigned type. Strings are untouched, and a column of nothing but nulls
comes back as int8. Dates and times come back as the same temporal types either way: the width
they are read at only decides how much there is to convert.
Read from something other than a path
Every read_* function also takes a binary file object, so a file that arrives over the network or
out of an archive never has to be written to disk first.
import io, zipfile
import readstat_arrow
# straight out of a zip archive, without extracting it
with zipfile.ZipFile("survey.zip") as archive, archive.open("survey.sav") as member:
table, meta = readstat_arrow.read_sav(member)
# or from bytes you already have in hand
table, meta = readstat_arrow.read_sav(io.BytesIO(downloaded))
# an open file works too, and is left open where reading stopped
with open("survey.sav", "rb") as file:
row_count, schema, meta = readstat_arrow.read_sav_metadata(file)
The file object must be seekable, and is read from wherever it currently is - so a .sav embedded
in a larger stream can be read by seeking to its first byte. The writers have taken a file object
all along.
Development
Requires uv and a C compiler.
git clone <repo-url>
cd readstat-arrow
uv sync # builds the Cython extension into .venv
uv run coverage run -m pytest && uv run coverage report || uv run coverage html
uv run ruff check . && uv run ruff format --check . && uv run mypy
uv run mypy checks src/ and tests/ in strict mode. The Cython sources in
src/readstat_arrow/_cython/ are excluded — they are typed for Cython's C type system, which mypy
cannot follow, and Cython checks them at compile time.
ReadStat is vendored as a git submodule at vendor/ReadStat; bump it with git submodule update --remote vendor/ReadStat. uv sync rebuilds the extension whenever _cython/, setup.py or the
ReadStat sources change (see [tool.uv] cache-keys in pyproject.toml).
Layout
pyproject.toml project metadata, deps, tool config (uv/ruff/mypy/pytest)
setup.py Cython extension definition (compiles ReadStat in)
vendor/ReadStat/ git submodule
src/readstat_arrow/
__init__.py public API re-exports
reader.py read_* and read_*_metadata functions, table assembly, type narrowing
writer.py SavWriter / DtaWriter, write_* functions, type planning
metadata.py the Metadata dataclass and its per-variable mappings
errors.py ReadstatError, ReadstatWarning
_formats.py FileFormat literal type
_dates.py display-format -> temporal type conversion
_cython/ everything Cython compiles (private)
parser.py pure-Python-mode Cython: ReadStat callbacks -> Arrow buffers
writer.py pure-Python-mode Cython: Arrow buffers -> readstat_insert_*
readstat.pxd C declarations for readstat.h
tests/ pytest suite; sample files under tests/data/
Versioning
Releases use CalVer in the form YYYY.MM.DD.INC0 (e.g. 2026.09.01.0, then
2026.09.01.1 for a fix in the same dat). There are no compatibility promises encoded in the
number. The version is set once in pyproject.toml and exposed as readstat_arrow.__version__.
Licence
MIT. ReadStat is MIT-licensed; the sample files under tests/data/ come from pyreadstat (Apache
2.0) — see tests/data/README.md.
Release files for readstat-arrow 2026.9.21.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 | |
|---|---|---|---|
| readstat_arrow-2026.9.21.1.tar.gz | 219.6 kB | Details |
Built distributions (wheels)
Total release size: 40.6 MB
Release files / readstat_arrow-2026.9.21.1.tar.gz
| Download URL | readstat_arrow-2026.9.21.1.tar.gz |
|---|---|
| Size | 219.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
410635d202b39fdcf4f07a6923c087d86aeeb87ac2ce6ac7a9d7246ebfcb36c2
|
|
BLAKE2b-256 checksum How to use checksums |
3f5607338fe78618ff4ef8ff2798e3d97a22c49f2d75925b5aeedfc35a2e7643
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 21, 2026.
Transparency logRelease files / readstat_arrow-2026.9.21.1-cp314-cp314-win_amd64.whl
| Download URL | readstat_arrow-2026.9.21.1-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 346.9 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
2d29a992571238672fca3d9c887e16548be0eaad9abb126ba63ec9d94222e386
|
|
BLAKE2b-256 checksum How to use checksums |
72f472c7bb6f4d78471391cd9499d08f6a9e5d35fcae0c488e2f6b3862246a53
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 21, 2026.
Transparency logRelease files / readstat_arrow-2026.9.21.1-cp314-cp314-musllinux_1_2_x86_64.whl
| Download URL | readstat_arrow-2026.9.21.1-cp314-cp314-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 2.2 MB |
| Tags | CPython 3.14 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
c0ad94ba99af7837c6700bb9a4f1614ee2e85904a4352a4ffc95f4e571b08c35
|
|
BLAKE2b-256 checksum How to use checksums |
67e41bd7577d48434c0cf3ec0e3ca6faa2a00d25b927a931e215d36fa397f206
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 21, 2026.
Transparency logRelease files / readstat_arrow-2026.9.21.1-cp314-cp314-musllinux_1_2_aarch64.whl
| Download URL | readstat_arrow-2026.9.21.1-cp314-cp314-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 2.2 MB |
| Tags | CPython 3.14 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
c531026c2e24b446a1353bcd9d01bdaf483c974ef64774085adc94b6a67addf2
|
|
BLAKE2b-256 checksum How to use checksums |
35dba77436dc60739a12b6aab4584a5aa79ee16d735f2857022440ba5d90ca1a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 21, 2026.
Transparency logRelease files / readstat_arrow-2026.9.21.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | readstat_arrow-2026.9.21.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.2 MB |
| Tags | CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
b6af98c0b45f3534450a2b1a39439cee526165ac3eaa8f9bb75bca2c82c53d22
|
|
BLAKE2b-256 checksum How to use checksums |
bf68bf60370108df4ccebd4b4d5686f8f673bc59097ed4a1bff5c62ab5b4ee72
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 21, 2026.
Transparency logRelease files / readstat_arrow-2026.9.21.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | readstat_arrow-2026.9.21.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 2.2 MB |
| Tags | CPython 3.14 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
99bbadf5cb53f6ebf643dac8b08a37f3cbe1ce355e2541bf46a2f52b7a664e66
|
|
BLAKE2b-256 checksum How to use checksums |
195f3b6da32b2324123940ee246d4edb517bb15df1cd238ed89426211af02c3e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 21, 2026.
Transparency logRelease files / readstat_arrow-2026.9.21.1-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | readstat_arrow-2026.9.21.1-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 418.0 kB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
6b4031a817b2c0321b2f23212ecc4d3fbbe73f599ff24b2ad63ba0f21dde7205
|
|
BLAKE2b-256 checksum How to use checksums |
5a0c3e663290ee9d2fb4eefc9212bf30195181fc7bef52bff7067a8b6f85a781
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 21, 2026.
Transparency logRelease files / readstat_arrow-2026.9.21.1-cp314-cp314-macosx_10_15_x86_64.whl
| Download URL | readstat_arrow-2026.9.21.1-cp314-cp314-macosx_10_15_x86_64.whl |
|---|---|
| Size | 430.7 kB |
| Tags | CPython 3.14 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
3a9b9a578fb717e7a4535760c103b2814dd1d8e04461a91c5f2ee3f4dac5a0e7
|
|
BLAKE2b-256 checksum How to use checksums |
5a0bc98943205c58222d1fc5e6dd6f2eca06c3a8715ab79a92a191639204a8fc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 21, 2026.
Transparency logRelease files / readstat_arrow-2026.9.21.1-cp313-cp313-win_amd64.whl
| Download URL | readstat_arrow-2026.9.21.1-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 337.0 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
1900dc3af7f10d52d0d6d8d1e6cc77d5a45e31d41c388d23f76fa62967c43140
|
|
BLAKE2b-256 checksum How to use checksums |
053b44606847c307e7ec6604c1fdb4a30048822b4cd260754664c0b12317a9c2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 21, 2026.
Transparency logRelease files / readstat_arrow-2026.9.21.1-cp313-cp313-musllinux_1_2_x86_64.whl
| Download URL | readstat_arrow-2026.9.21.1-cp313-cp313-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 2.2 MB |
| Tags | CPython 3.13 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
66396ace24b8520fbaa1960b13ade1b8ca563534d87c5a985e1af4b2ef0d38a5
|
|
BLAKE2b-256 checksum How to use checksums |
133b227a76fb337aaa1df40b13d3733386728d211c04ca1533f8580a41a6d0da
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 21, 2026.
Transparency logRelease files / readstat_arrow-2026.9.21.1-cp313-cp313-musllinux_1_2_aarch64.whl
| Download URL | readstat_arrow-2026.9.21.1-cp313-cp313-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 2.2 MB |
| Tags | CPython 3.13 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
113195f74900df158aa20f067d84fed7780d2fd6f345a5a72734d859be43dcef
|
|
BLAKE2b-256 checksum How to use checksums |
5f0c7184de7156e3ca5f278db9eb8fcad7e10e4d04282220de42f06c1ce4f0dd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 21, 2026.
Transparency logRelease files / readstat_arrow-2026.9.21.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | readstat_arrow-2026.9.21.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
140063fbb19ed80dddd872c4a8dd32e37b832e52b3e58b98a4a7812b441aaab0
|
|
BLAKE2b-256 checksum How to use checksums |
a60c087ffabf80ddf7ab24325bc60740216ee0503e1169b38af4257b9c9830e3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 21, 2026.
Transparency logRelease files / readstat_arrow-2026.9.21.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | readstat_arrow-2026.9.21.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 2.2 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
a2f6b8a5cb7b6ff4966dfa01bebe7bcbc1b51cb1f20da3810f88c517c86fbba1
|
|
BLAKE2b-256 checksum How to use checksums |
13c03e0ef21c5daee908f92e7a1d766b444890cba195dc6f2d8abb3e1b2ee775
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 21, 2026.
Transparency logRelease files / readstat_arrow-2026.9.21.1-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | readstat_arrow-2026.9.21.1-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 414.9 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
d2799ff57d24ccde6a9f97098a6bdb5ddfadf0c3c1c00624481ff10e6814d69d
|
|
BLAKE2b-256 checksum How to use checksums |
594e0a23905f116888837a7d27ec306a4b1b0e0396ee5d079700ade64ff28d6e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 21, 2026.
Transparency logRelease files / readstat_arrow-2026.9.21.1-cp313-cp313-macosx_10_13_x86_64.whl
| Download URL | readstat_arrow-2026.9.21.1-cp313-cp313-macosx_10_13_x86_64.whl |
|---|---|
| Size | 429.5 kB |
| Tags | CPython 3.13 macOS 10.13+ x86-64 |
|
SHA-256 checksum How to use checksums |
99d7e257d12c657d30703d0cca01a917fc1edfce15e1ff79e6197e540e35872c
|
|
BLAKE2b-256 checksum How to use checksums |
5bbae2b73f69317ef729e7b255a0da17760b3a6a4fc37268957920b2da99a48e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 21, 2026.
Transparency logRelease files / readstat_arrow-2026.9.21.1-cp312-cp312-win_amd64.whl
| Download URL | readstat_arrow-2026.9.21.1-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 337.0 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
877cc4023e4a99d2bd3e76acf19862b2081e5b9cf0c12775f9b80a45a9c5513b
|
|
BLAKE2b-256 checksum How to use checksums |
9c202d0c1733a67faedb2aef980cd2757893b827bfb680d417335b23a4247e92
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 21, 2026.
Transparency logRelease files / readstat_arrow-2026.9.21.1-cp312-cp312-musllinux_1_2_x86_64.whl
| Download URL | readstat_arrow-2026.9.21.1-cp312-cp312-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
55f75241dfd9aa027cd70b42561f333720f4223dc4d584f23a805301a28c4de7
|
|
BLAKE2b-256 checksum How to use checksums |
962925aa67cef9a55a374d67e6e997a561fb0168baa8bd86d106878f491ae348
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 21, 2026.
Transparency logRelease files / readstat_arrow-2026.9.21.1-cp312-cp312-musllinux_1_2_aarch64.whl
| Download URL | readstat_arrow-2026.9.21.1-cp312-cp312-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 2.2 MB |
| Tags | CPython 3.12 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
32bf47970a79762e7e3d6f0fcb9df37474e855783e332434f590823e4ed660fc
|
|
BLAKE2b-256 checksum How to use checksums |
a48c4e8a725a8f6cb08514e868a0e685b7f93b9e4d9947f8be35b66e1105f088
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 21, 2026.
Transparency logRelease files / readstat_arrow-2026.9.21.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | readstat_arrow-2026.9.21.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
f6cb8a67432c0260966645b46b23428c6836f00daf5b61f2bed06e35aad52ea1
|
|
BLAKE2b-256 checksum How to use checksums |
29993492e4d84c14a3d6bc13011bae42a52d9155d81fa9688e55b737fa1617f2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 21, 2026.
Transparency logRelease files / readstat_arrow-2026.9.21.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | readstat_arrow-2026.9.21.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 2.2 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
877ee1cd6ff2bd52461200e7ff1515649fd7fa9a1786ee4d8a98b8c5f00f8117
|
|
BLAKE2b-256 checksum How to use checksums |
8c194d525e36c790830941648c0623f13da920a86aba98c64b32ef9de95cc4cd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 21, 2026.
Transparency logRelease files / readstat_arrow-2026.9.21.1-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | readstat_arrow-2026.9.21.1-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 413.6 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
c565e0b45d9e3b0767c3760d1ff317233a843d65b9f6ba5e8e4cfb831dfd2b42
|
|
BLAKE2b-256 checksum How to use checksums |
ff4fd4bf6d014c93df438055a436ac63f1edf069c032fd2cd5bcb0ba654b7032
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 21, 2026.
Transparency logRelease files / readstat_arrow-2026.9.21.1-cp312-cp312-macosx_10_13_x86_64.whl
| Download URL | readstat_arrow-2026.9.21.1-cp312-cp312-macosx_10_13_x86_64.whl |
|---|---|
| Size | 428.5 kB |
| Tags | CPython 3.12 macOS 10.13+ x86-64 |
|
SHA-256 checksum How to use checksums |
01a32e2b11ad171daa8b54fdf842b6a2432fe8d5ec8c15311286f244860efa92
|
|
BLAKE2b-256 checksum How to use checksums |
4fa0caab2a9383035fbcf5f5c6f9bcd299b073373f6bddcdec181cd7ae984309
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 21, 2026.
Transparency logRelease files / readstat_arrow-2026.9.21.1-cp311-cp311-win_amd64.whl
| Download URL | readstat_arrow-2026.9.21.1-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 337.2 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
7d07705d1f002d6c983391b78facea41d630c7d72388409dd4c73fef6add978b
|
|
BLAKE2b-256 checksum How to use checksums |
fd6199d8a4c6869ea9c02da9ef439d211613cc8d10aa00f12490894150b9890f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 21, 2026.
Transparency logRelease files / readstat_arrow-2026.9.21.1-cp311-cp311-musllinux_1_2_x86_64.whl
| Download URL | readstat_arrow-2026.9.21.1-cp311-cp311-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.11 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
307624738b8ec3e1cda090a1b6a8e27528a7eee96fd5331bbd64cea46750f5f3
|
|
BLAKE2b-256 checksum How to use checksums |
8b6f16c60ee621a78a96dd08536d8226e8e288d37993e8a73690d2b0bff457e8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 21, 2026.
Transparency logRelease files / readstat_arrow-2026.9.21.1-cp311-cp311-musllinux_1_2_aarch64.whl
| Download URL | readstat_arrow-2026.9.21.1-cp311-cp311-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 2.2 MB |
| Tags | CPython 3.11 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
e80d58a5b462ff8dd06d20d7fda97d0ab23f9ac3cc5b4042a7d640b1dc471516
|
|
BLAKE2b-256 checksum How to use checksums |
66aae91d9a98a41a1021bca72bc7e3f5e9f20fc9882bcab30e00a9e8b371927e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 21, 2026.
Transparency logRelease files / readstat_arrow-2026.9.21.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | readstat_arrow-2026.9.21.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
96f6fed32553cbea863e0dfbe683a9077710c9b2582baf39fa4de8437382e085
|
|
BLAKE2b-256 checksum How to use checksums |
117e0b61e779561d753ca5a80772c72c735379edf2b9a18363b881c7e8bf0e75
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 21, 2026.
Transparency logRelease files / readstat_arrow-2026.9.21.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | readstat_arrow-2026.9.21.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 2.2 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
48eb7b7163090432340ae510c4e985e0922b47eaf14b8564068e75cb510dcb38
|
|
BLAKE2b-256 checksum How to use checksums |
111664157304a863b452b3fc14c90943e3a674307b9d37b26bbcb84c2a469ead
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 21, 2026.
Transparency logRelease files / readstat_arrow-2026.9.21.1-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | readstat_arrow-2026.9.21.1-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 415.1 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
cd88de9d805e9e3d30aa49be9edd4aa3b99180dcc48e629aaa96d57476031d99
|
|
BLAKE2b-256 checksum How to use checksums |
f9b8a1f1cf543602d9941a678b8a3d9baab632fa3560e9cc10409e63fb3b0651
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 21, 2026.
Transparency logRelease files / readstat_arrow-2026.9.21.1-cp311-cp311-macosx_10_9_x86_64.whl
| Download URL | readstat_arrow-2026.9.21.1-cp311-cp311-macosx_10_9_x86_64.whl |
|---|---|
| Size | 428.2 kB |
| Tags | CPython 3.11 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
dd66246358ab417caf8cc5a197d4229f7cd68c798835ebcf31bfacf3ecbc4eb0
|
|
BLAKE2b-256 checksum How to use checksums |
205b2f0d2f86e2dc6777583b7c797f0cd6b68ec7d31a3c45acb73434ec87976d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 21, 2026.
Transparency log