Skip to main content

cozip

Python bindings for libcozip. Read a Cloud-Optimized ZIP archive's manifest over HTTP range requests, or write one from a pyarrow Table.

The native libcozip binary ships inside the wheel, no C toolchain required.

Install

pip install cozip

Usage

Write

import cozip
import pyarrow as pa

table = pa.table({
    "name": ["a.txt", "b.bin"],
    "path": ["/path/to/a.txt", "/path/to/b.bin"],
})

cozip.write("out.zip", table)

name is how each file appears inside the archive. path is where it lives on disk, used at write time and dropped from the manifest. Any extra columns ride along into __metadata__ and become queryable on read.

Names stored in the archive must be ASCII. Local source and output paths may contain Unicode. Empty files are not valid cozip entries; the writer rejects them before replacing the output.

table = pa.table({
    "name":      ["a.tif", "b.tif"],
    "path":      ["/path/to/a.tif", "/path/to/b.tif"],
    "cloud_pct": [12.3, 45.1],
})

cozip.write("out.zip", table)

Read

import cozip

manifest = cozip.read("https://example.com/dataset.zip")
train = manifest[manifest["split"] == "train"]

manifest is a pandas DataFrame: name, offset, size, cozip:location, and the writer's extras. Local path or URL, same call. It fetches the byte-0 index and __metadata__, never the payloads.

columns=[...] picks extras. location=False drops cozip:location.

cozip.read() supports only Flat-profile archives (profile = 1). TACO archives (profile = 2) and all other profiles are rejected.

Versioning

The package version is the repo-root VERSION, copied at build time. The bundled .so / .dylib / .dll carries the same version as the wheel.

import cozip
cozip.__version__                  # "2026.9.4"
cozip.lib.cozip_version_string()   # full C library version

Spec

See SPEC.md for the on-disk format.

License

MIT. See LICENSE.

Metadata

Release files for cozip 2026.9.27

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

Source distribution (sdist)

Source distribution for cozip 2026.9.27
File Size Uploaded
cozip-2026.9.27.tar.gz 492.7 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for cozip 2026.9.27
File
cozip-2026.9.27-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
cozip-2026.9.27-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl Python 3 none Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
cozip-2026.9.27-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
cozip-2026.9.27-py3-none-macosx_11_0_universal2.whl Python 3 none macOS 11.0+ universal2 (ARM64, x86-64) Details

Total release size: 1.1 MB

Release files / cozip-2026.9.27.tar.gz

Download URL cozip-2026.9.27.tar.gz
Size 492.7 kB
Tags Source
SHA-256 checksum
How to use checksums
1ee9ebf5635f33a814b223574fd99aeeec3ce99c1d784027f7024dd3df45e944
BLAKE2b-256 checksum
How to use checksums
b5a12331617c58b36fd00e203128239ed19a13faa34d10c7bd9b4149bfdf7ef6
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

Release files / cozip-2026.9.27-py3-none-win_amd64.whl

Download URL cozip-2026.9.27-py3-none-win_amd64.whl
Size 108.1 kB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
5811ffc8e43946680b86ea3bfab0a09ceb68fd81e5fdedfa68d8342a5933cc19
BLAKE2b-256 checksum
How to use checksums
53685fbfdfadb2fc0d4cb85ad11cffb860e59e1b3f9f834fc1574064f212b255
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

Release files / cozip-2026.9.27-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL cozip-2026.9.27-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 133.5 kB
Tags Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 Python 3
SHA-256 checksum
How to use checksums
0fcf35b1641e540d6dbc64c8b03c8842e0bc5ff6ae8432609511ba3e84a89be9
BLAKE2b-256 checksum
How to use checksums
4be2edd08d1c70b28ed15d67eff5a82bea5e790b6f0c01a8bf8d2be076a6cc23
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

Release files / cozip-2026.9.27-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL cozip-2026.9.27-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 134.2 kB
Tags Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 Python 3
SHA-256 checksum
How to use checksums
d0cc2706db74ed59e83df892bc77522b4c9f04131e94906889ba2c756e86abad
BLAKE2b-256 checksum
How to use checksums
680bd9a79a940ebfe3d31c84806ad499a8dcf2b55806348047c6f2b303791d8f
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

Release files / cozip-2026.9.27-py3-none-macosx_11_0_universal2.whl

Download URL cozip-2026.9.27-py3-none-macosx_11_0_universal2.whl
Size 196.6 kB
Tags Python 3 macOS 11.0+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
73c41a4cd22f4b778bd690bfc68f27302658962e9fdde9b546783760e57e3ac5
BLAKE2b-256 checksum
How to use checksums
18d1a327be7b6da2f61a374c3204fe34cf6bb490ff71bc3af2a8cbd19e9ee084
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
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