geozl
Python bindings for geozl, geospatial codec extensions for OpenZL.
import numpy as np
import geozl
tile = np.fromfile("b04.raw", dtype=np.uint16).reshape(1024, 1024)
g = geozl.graph(tile, "planar>zigzag>transpose>entropy")
frame = geozl.compress(tile, graph=g)
back = geozl.decompress(frame).view(np.uint16).reshape(1024, 1024)
Pass a positive number as error for a fixed absolute bound, or a percentage
string for a relative bound. None and zero are lossless. Full LINEAR, LOG
and SQRT recipes remain available.
absolute = geozl.graph(tile, "planar>zigzag>entropy", error=2)
relative = geozl.graph(tile, "planar>zigzag>entropy", error="1%")
profile returns a list-like result. Print it to see the input geometry,
benchmark settings and ranked graphs together.
rows = geozl.profile(tile, prior=None)
print(rows)
best = rows[0]["graph"]
Fourteen documented codecs, lossless and lossy, reachable two ways. geozl.graph
takes a recipe string and builds the graph for you, and geozl.compress runs one
tile through it. geozl.lossless and geozl.lossy hand you the individual nodes
to place in an OpenZL graph yourself, and geozl.register_decoders teaches a
DCtx to read what they wrote.
Wheels carry a prebuilt native library. A source install has to build it first, see the build instructions in the repository.
The full documentation, the codec catalogue and the wire format live in the repository.
Metadata
Release files for geozl 0.17.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| geozl-0.17.0-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl | Python 3 | none | Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 | Details |
| geozl-0.17.0-py3-none-macosx_11_0_arm64.whl | Python 3 | none | macOS 11.0+ ARM64 | Details |
Total release size: 9.7 MB
Release files / geozl-0.17.0-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | geozl-0.17.0-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 8.3 MB |
| Tags | Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
779f1c8e2b9a42046457e02fd7d9a147b5734f78bb0a66c3bc3ca2b711a57c9a
|
|
BLAKE2b-256 checksum How to use checksums |
1c18e90f60980796805a14cd817d0e8abfcc58188cfdd368e477b74c9fddef23
|
| 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 20, 2026.
Transparency logRelease files / geozl-0.17.0-py3-none-macosx_11_0_arm64.whl
| Download URL | geozl-0.17.0-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.3 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
2960ceddf4bde9d8497778f2bd9766c092d3fb76e0f1ed9c3ee8ea4f0d764928
|
|
BLAKE2b-256 checksum How to use checksums |
ce91ca415052c6cfa90f4b3107d9e3f84366b8b0229ce963a2d4344ef3d3299a
|
| 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 20, 2026.
Transparency log