Skip to main content

Python bindings to libcozip, the reference library for the Cloud-Optimized ZIP (cozip) format.

Project description

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.

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 with name, offset, size, cozip:gdal_vsi, plus whatever extras the writer added. Local file or remote URL, same call. Only the byte-0 index and the embedded __metadata__ Parquet are fetched, never the user payloads. Pass columns=[...] to bring only specific extras, gdal_vsi=False to drop the VSI path column.

Versioning

The Python package version tracks the C library, copied verbatim from the repo-root VERSION file at build time. The bundled .so / .dylib / .dll inside the wheel matches the wheel's version exactly, so there's no mismatch to worry about.

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

Spec

See SPEC.md for the on-disk format.

License

MIT. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cozip-2026.5.21.tar.gz (12.8 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

cozip-2026.5.21-py3-none-win_amd64.whl (94.6 kB view details)

Uploaded Python 3Windows x86-64

cozip-2026.5.21-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (119.8 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

cozip-2026.5.21-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (120.3 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

cozip-2026.5.21-py3-none-macosx_11_0_universal2.whl (179.1 kB view details)

Uploaded Python 3macOS 11.0+ universal2 (ARM64, x86-64)

File details

Details for the file cozip-2026.5.21.tar.gz.

File metadata

  • Download URL: cozip-2026.5.21.tar.gz
  • Upload date:
  • Size: 12.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for cozip-2026.5.21.tar.gz
Algorithm Hash digest
SHA256 6dab1e78de0c5b9dd8e2f83d2a643ae0d1bf9286f41040ff4ab5a7333e960a74
MD5 0c9248a0cf855296c233ecd0e42baae2
BLAKE2b-256 060f41dde6c3f8db42b24702a68f333dd7ec5fbb7adbb9f5d76a248560cace44

See more details on using hashes here.

Provenance

The following attestation bundles were made for cozip-2026.5.21.tar.gz:

Publisher: release.yml on asterisk-labs/cozip

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cozip-2026.5.21-py3-none-win_amd64.whl.

File metadata

  • Download URL: cozip-2026.5.21-py3-none-win_amd64.whl
  • Upload date:
  • Size: 94.6 kB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for cozip-2026.5.21-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 5541d37e7d1190e3e4ca1701e4b25d801bd7e581b51c2dee7de8945df508aa40
MD5 b1432edb98dd8be89400785708056c44
BLAKE2b-256 6c24b78fd7e4d7e05d5e2c1f6e192976f321cb1bcab2151849d903343c7522e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for cozip-2026.5.21-py3-none-win_amd64.whl:

Publisher: release.yml on asterisk-labs/cozip

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cozip-2026.5.21-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cozip-2026.5.21-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3053c93ea1f4a65ed59f28cc6d80bd42cd2929e9dccf3652a8ed217ddd15c4f7
MD5 f216419e122fce7b142c86b2794f5ae0
BLAKE2b-256 9e7a6dc819d1c5721499f895f5b439513970b0ef04f4b96d31bed678501d9222

See more details on using hashes here.

Provenance

The following attestation bundles were made for cozip-2026.5.21-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on asterisk-labs/cozip

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cozip-2026.5.21-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cozip-2026.5.21-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 fe4c5b6ee68bb355f928b44b57181489cd77a5440e2a1e4cc5c6fddd15596482
MD5 bfac5fa0322f3ea6afd89417c38aa03e
BLAKE2b-256 25323f2aa9fa858e17c1c2ac4869ecec3ba00af34a68efe064e19607830a3935

See more details on using hashes here.

Provenance

The following attestation bundles were made for cozip-2026.5.21-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on asterisk-labs/cozip

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cozip-2026.5.21-py3-none-macosx_11_0_universal2.whl.

File metadata

File hashes

Hashes for cozip-2026.5.21-py3-none-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 2c58f5405d74135f9b51ba541e56a7a1258eb1b960a15de6a40d009d98ec30fb
MD5 6220ac183a47ba2f9fa9f297d0cbfe69
BLAKE2b-256 3ad0a0dc36615c04da6ae08ae1bfba1ad831256cebab5342955e8780e0b631ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for cozip-2026.5.21-py3-none-macosx_11_0_universal2.whl:

Publisher: release.yml on asterisk-labs/cozip

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page