pytest-ditto-pyarrow
Extension plugin for pytest-ditto for pyarrow table snapshots.
Use the following marks for their associated recorder:
@ditto.pyarrow.parquet@ditto.pyarrow.feather@ditto.pyarrow.csv
Installation
pip install pytest-ditto[pyarrow]
Usage
The following test example tests the result of fn hasn't changed by comparing against a saved snapshot of the result. This snapshot is taken the first time the test is run; hence, the initial run is not a proper test run. Subsequent test runs are compared against the saved result.
- The fixture,
tableis apyarrow.Tableand is the argument to the function under test,fn. fntransforms the data and the test asserts the result of this function in unchanged compared to the initial, hopefully validated, result.- The output format of the snapshot is parquet as defined by the
@ditto.pyarrow.parquetmark.
import pyarrow as pa
import pyarrow.compute as pc
import ditto
import pytest
@pytest.fixture
def table() -> pa.Table:
return pa.table(
[
[1, 2, 3, 4],
[4.5, 5.2, 6.8, 3.5],
[7, 8.5, None, None],
[True, False, True, True],
["a", "b", "c", "x"],
],
names=list("abcde"),
)
def fn(x: pa.Table):
even_filter = (pc.bit_wise_and(pc.field("a"), pc.scalar(1)) == pc.scalar(0))
return x.filter(even_filter)
@ditto.pyarrow.parquet
def test_fn_with_pyarrow_parquet_snapshot(snapshot, table):
result = fn(table)
assert result.equals(snapshot(result, key="filtered"))
Release files for pytest-ditto-pyarrow 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pytest_ditto_pyarrow-0.1.2.tar.gz | 4.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pytest_ditto_pyarrow-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 8.6 kB
Release files / pytest_ditto_pyarrow-0.1.2.tar.gz
| Download URL | pytest_ditto_pyarrow-0.1.2.tar.gz |
|---|---|
| Size | 4.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a1eefaa2d15352e9d505d6f1363ee9160330e98cd6a74dc865d58228658131d5
|
|
BLAKE2b-256 checksum How to use checksums |
85dd5e7214da0beaf3e8a19b69a66ef128a1f971a5764df3cd09c17d5448c0d7
|
| 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 27, 2026.
Transparency logRelease files / pytest_ditto_pyarrow-0.1.2-py3-none-any.whl
| Download URL | pytest_ditto_pyarrow-0.1.2-py3-none-any.whl |
|---|---|
| Size | 4.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ed4d87e88147d34225b30b89b7d96e3aa794d5cd72f3fa9b1cde99ce99f95069
|
|
BLAKE2b-256 checksum How to use checksums |
fdc0c8d3a2f467f367fdc63ba529acac2a01366bdb851ac116456af0a9c2f6cf
|
| 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 27, 2026.
Transparency log