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

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.17
File Size Uploaded
cozip-2026.9.17.tar.gz 493.9 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for cozip 2026.9.17
File
cozip-2026.9.17-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
cozip-2026.9.17-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.17-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.17-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.17.tar.gz

Download URL cozip-2026.9.17.tar.gz
Size 493.9 kB
Tags Source
SHA-256 checksum
How to use checksums
21c0a7d0908c88d7556a76db8bb4b8596bf43bb10798ebe4d6ce5d7e445cba37
BLAKE2b-256 checksum
How to use checksums
5a608dbd5a383456dace35dfb609ab4ed6d0c2f56d6f6837c26657eb5604be15
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 17, 2026.

Transparency log

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

Download URL cozip-2026.9.17-py3-none-win_amd64.whl
Size 107.8 kB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
e94f7e073f12d759d238d9a61b4336d17f54ba536a9c7d7d974c6b9ea4ddc2c7
BLAKE2b-256 checksum
How to use checksums
4329202ae1039964e40ce029dfcac8ed404e314bcecedc7a3b4b8a5655ab5406
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 17, 2026.

Transparency log

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

Download URL cozip-2026.9.17-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 133.2 kB
Tags Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 Python 3
SHA-256 checksum
How to use checksums
066949cc277fb9f9d9bb7bea2c2eab5e53fb54d927a9d184689f123fe14f4bba
BLAKE2b-256 checksum
How to use checksums
62dee3c3c42ac2291187464dc1fc8e274fd7a1f54aa166662dd290f7058d7469
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 17, 2026.

Transparency log

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

Download URL cozip-2026.9.17-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 133.9 kB
Tags Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 Python 3
SHA-256 checksum
How to use checksums
e1fca0ef267c32d0609e6f6a3bf748b98f6e02ab724cbeb3d4bfd44c927cd60a
BLAKE2b-256 checksum
How to use checksums
8192d4c62dc20428e7d5642acd9f094075248950706d1f611c094f2236e89a57
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 17, 2026.

Transparency log

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

Download URL cozip-2026.9.17-py3-none-macosx_11_0_universal2.whl
Size 196.1 kB
Tags Python 3 macOS 11.0+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
6b07f6f49412c713fcdd5d3836be46c784d4333326e3410e2012d004dc573931
BLAKE2b-256 checksum
How to use checksums
927d5955015952f8a874701305d38267f28a29a90b52c6ad100143ff835e94ae
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 17, 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