Skip to main content

taco

Read and write TACO datasets in Python.

pip install taco-eo            # read
pip install 'taco-eo[writer]'  # read and write
python examples/minimal.py

taco-eo alone reads datasets with the native core, DuckDB and Arrow, like the R and Julia readers. Writing, taco.validate, taco.export, taco.consolidate and the built-in metadata models need the [writer] extra, which adds cozip, NumPy, Pydantic, pyproj and Shapely. Without it, taco.open_writer raises an ImportError that names the extra.

Published wheels include the native TACO reader. Building from the source distribution requires a C++23 compiler, CMake, Ninja, pkg-config, libcurl 7.83 or newer, and OpenSSL 3 or newer.

import taco

samples = taco.read("dataset.zip")
parts = taco.read(["part-0.zip", "part-1.zip"])

dataset = taco.open_dataset("dataset.zip")
targets = dataset.read(files="target.tif")
train = dataset.sql("SELECT * FROM dataset WHERE \"ml:split\" = 'train'")

export() writes the complete samples selected by a SQL query. The query may use dataset, sample, or any declared metadata level. A match at a lower level still copies the whole sample. Collection fields are inherited unless they are replaced. For a remote source, only payloads from matching samples are downloaded. Pass overwrite=True to replace an existing TACO output.

source = "https://data.source.coop/major-tom/core-dem/"
taco.export(
    source,
    "core-dem-sample.zip",
    sql='SELECT * FROM sample ORDER BY id LIMIT 10',
)

Remote reads and exports show download progress in interactive terminals. Writers show their build progress when opened with progress=True.

GeoEnrich

GeoEnrich uses the public 10 km MajorTOM index on Source Cooperative by default, so it needs no Earth Engine account. Place MajorTOM(dist_km=10) in the same metadata level before using it:

taco.Level(
    "sample",
    stac=taco.extensions.STAC(),
    majortom=taco.extensions.MajorTOM(dist_km=10),
    geoenrich=taco.extensions.GeoEnrich(
        ["elevation", "temperature", "admin_countries"],
    ),
)

Set backend="earthengine" explicitly to retain centroid-based Earth Engine sampling. That backend requires taco-eo[geoenrich] and an authenticated Earth Engine installation.

Cache

taco keeps the metadata of remote datasets and the MajorTOM index used by GeoEnrich in ~/.cache/taco, up to 5 GiB. Data files are never cached. On a server with a small home directory, move it:

export TACO_CACHE_DIR=/data/taco-cache

TACO_CACHE_SIZE sets the limit in bytes, and TACO_CACHE_REFRESH=1 downloads everything again.

Examples

Every example is self-contained, uses synthetic data, and writes its output in the current directory.

Spatial and temporal metadata follow the fields of a STAC Item. Temporal stores datetime or a start_datetime/end_datetime range, Spatial stores location, and STAC stores both. Supply a grid or geometry; the writer adds a float32 centroid. Grid footprints are computed on demand.

Example What it demonstrates
minimal.py Smallest possible single-file dataset
numpy_minimal.py NumPy image and mask assets with a train/test split
change_detection.py Metadata on before/ and after/ folders
sequence.py Variable-length asset sequences
time_series.py Per-observation time and cloud metadata
geospatial.py Compact STAC metadata and derived MajorTOM cells
stac_segmentation.py STAC metadata from UTM grids, with labels, bands, and scaling
oceantaco.py OceanTACO-inspired STAC footprints for irregular SWOT swaths and Argo collocations
partitioned.py ZIP partitions and their TACOCAT catalog

Metadata

Release files for taco-eo 0.14.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for taco-eo 0.14.0
File Size Uploaded Provenance Actions
taco_eo-0.14.0.tar.gz 818.3 kB With provenance Details for taco_eo-0.14.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for taco-eo 0.14.0
File Actions
taco_eo-0.14.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details for taco_eo-0.14.0-py3-none-win_amd64.whl
taco_eo-0.14.0-py3-none-manylinux_2_28_x86_64.whl Python 3 none Linux glibc 2.28+ x86-64 Details for taco_eo-0.14.0-py3-none-manylinux_2_28_x86_64.whl
taco_eo-0.14.0-py3-none-manylinux_2_28_aarch64.whl Python 3 none Linux glibc 2.28+ ARM64 Details for taco_eo-0.14.0-py3-none-manylinux_2_28_aarch64.whl
taco_eo-0.14.0-py3-none-macosx_11_0_x86_64.whl Python 3 none macOS 11.0+ x86-64 Details for taco_eo-0.14.0-py3-none-macosx_11_0_x86_64.whl
taco_eo-0.14.0-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details for taco_eo-0.14.0-py3-none-macosx_11_0_arm64.whl

Total release size: 21.6 MB

Release files / taco_eo-0.14.0.tar.gz

Download URL taco_eo-0.14.0.tar.gz
Size 818.3 kB
Tags Source
SHA-256 checksum
How to use checksums
d56b9c38f7a7078b1845f94565fa2ea59646669d0800fa6492a085bdb3b22f9b
BLAKE2b-256 checksum
How to use checksums
95c5b4b7643addc93cd68ddc74b46ea515a62b1d52a06cbf172f37048a1b501a
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 29, 2026.

Transparency log

Release files / taco_eo-0.14.0-py3-none-win_amd64.whl

Download URL taco_eo-0.14.0-py3-none-win_amd64.whl
Size 2.9 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
4bf4b131e325e45db36d37110edf7f343d346654135334546c47f13a89bf5c42
BLAKE2b-256 checksum
How to use checksums
3d1eb1653deefd0144a9a3f84e35314031bb3792feb6edea03480fc82eacb452
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 29, 2026.

Transparency log

Release files / taco_eo-0.14.0-py3-none-manylinux_2_28_x86_64.whl

Download URL taco_eo-0.14.0-py3-none-manylinux_2_28_x86_64.whl
Size 4.9 MB
Tags Linux glibc 2.28+ x86-64 Python 3
SHA-256 checksum
How to use checksums
ec146e2bf2fa03966337421d0e4f0ae58b092750cf79bdbfe81761276a0e6c2c
BLAKE2b-256 checksum
How to use checksums
bfe9721a191026b5f1debb712cb42a7bd5b8a965b6c50fbb73f1e60d427854f5
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 29, 2026.

Transparency log

Release files / taco_eo-0.14.0-py3-none-manylinux_2_28_aarch64.whl

Download URL taco_eo-0.14.0-py3-none-manylinux_2_28_aarch64.whl
Size 5.0 MB
Tags Linux glibc 2.28+ ARM64 Python 3
SHA-256 checksum
How to use checksums
efd526928309bac914369f1c12cebf24a6155db3aa13c64aa431a3d810aea57a
BLAKE2b-256 checksum
How to use checksums
1fa4ff2c44e699fdb61795fae89c04972c3a2c99f4bbecf64560c157ce3a996c
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 29, 2026.

Transparency log

Release files / taco_eo-0.14.0-py3-none-macosx_11_0_x86_64.whl

Download URL taco_eo-0.14.0-py3-none-macosx_11_0_x86_64.whl
Size 3.9 MB
Tags Python 3 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
1b0af4a0f5cd7946035f106e34013d5d5731bd17eb1cb9786da8b35927a4e442
BLAKE2b-256 checksum
How to use checksums
75adf0c97471c211e4e38fa3e395b61bc4fc48510a243eb68825f65f8abeb430
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 29, 2026.

Transparency log

Release files / taco_eo-0.14.0-py3-none-macosx_11_0_arm64.whl

Download URL taco_eo-0.14.0-py3-none-macosx_11_0_arm64.whl
Size 4.0 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0676aa4cf8bae8802594e60c37993d206d41aa391852e1b2a8b756abb2e92467
BLAKE2b-256 checksum
How to use checksums
335aaa42047da10894a2baf45d26784978daefa7a0c2f1e2ab4ee95d8826d6b4
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 29, 2026.

Transparency log

Security for taco-eo 0.14.0

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 6 files in this release have been uploaded with provenance metadata.

Select from 6 files

Attestation for taco_eo-0.14.0.tar.gz

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 29, 2026.

Transparency log

A 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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page