Rust-backed AGS4 reader/writer/validator — a fast, drop-in replacement for python-ags4 with a narwhals-native API
Project description
laterite
A Rust-backed AGS4 reader, writer and validator for Python.
A faster drop-in for
python-ags4's
AGS4 module (1.2.0 parity-pinned, 122/131 tests) — swap
from python_ags4 import AGS4 for from laterite import compat as AGS4.
Native API returns
narwhals frames over Polars,
so you can target polars / pandas / pyarrow without laterite picking
for you.
pip install laterite # base AGS4 (polars + narwhals)
pip install "laterite[compat]" # + pandas (python-ags4 drop-in)
pip install "laterite[ags5]" # + experimental .ags5db surface
import laterite
result = laterite.validate("delivery.ags")
for rule, findings in result.by_rule().items():
print(rule, len(findings))
# python-ags4 drop-in
from laterite import compat as AGS4
tables, _ = AGS4.AGS4_to_dataframe("delivery.ags")
# Or a typed view of the file
from laterite.ags4 import read_typed
proj = read_typed("delivery.ags")
The validator engine is clean-room from the AGS4 spec. python-ags4 is LGPL-3.0; the clean-room separation lets laterite ship under MIT.
Requires Python ≥ 3.12.
Full docs, parity catalogue and observations at https://github.com/niko86/laterite.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file laterite-0.2.0-cp312-abi3-win_amd64.whl.
File metadata
- Download URL: laterite-0.2.0-cp312-abi3-win_amd64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.12+, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7978efbe7f4f2d858f7d608ffca7140ffb6b154ce7dbc407d49169321b02cda6
|
|
| MD5 |
049ba82670edc3dae3017d213422d443
|
|
| BLAKE2b-256 |
8590603c44a45e6446ce70ce4612add08208b2d1bc86c02a367dea2be8eb5864
|
Provenance
The following attestation bundles were made for laterite-0.2.0-cp312-abi3-win_amd64.whl:
Publisher:
release.yml on niko86/laterite
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
laterite-0.2.0-cp312-abi3-win_amd64.whl -
Subject digest:
7978efbe7f4f2d858f7d608ffca7140ffb6b154ce7dbc407d49169321b02cda6 - Sigstore transparency entry: 1759134250
- Sigstore integration time:
-
Permalink:
niko86/laterite@e82ffc85632f38f6894aadd3dc716d8d506bd738 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/niko86
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@e82ffc85632f38f6894aadd3dc716d8d506bd738 -
Trigger Event:
push
-
Statement type:
File details
Details for the file laterite-0.2.0-cp312-abi3-manylinux2014_x86_64.whl.
File metadata
- Download URL: laterite-0.2.0-cp312-abi3-manylinux2014_x86_64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.12+
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b099f6744657bed481c7c88cf8686971b30a7a8f71a00df4eab6aa8b0ee31d87
|
|
| MD5 |
ab29863eb6b97c406fc20527ea19ab04
|
|
| BLAKE2b-256 |
d2e2f04562ea2b715564369828f798c91ee36e0f4606507e201134c525925dc0
|
Provenance
The following attestation bundles were made for laterite-0.2.0-cp312-abi3-manylinux2014_x86_64.whl:
Publisher:
release.yml on niko86/laterite
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
laterite-0.2.0-cp312-abi3-manylinux2014_x86_64.whl -
Subject digest:
b099f6744657bed481c7c88cf8686971b30a7a8f71a00df4eab6aa8b0ee31d87 - Sigstore transparency entry: 1759133910
- Sigstore integration time:
-
Permalink:
niko86/laterite@e82ffc85632f38f6894aadd3dc716d8d506bd738 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/niko86
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@e82ffc85632f38f6894aadd3dc716d8d506bd738 -
Trigger Event:
push
-
Statement type:
File details
Details for the file laterite-0.2.0-cp312-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: laterite-0.2.0-cp312-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 2.7 MB
- Tags: CPython 3.12+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
91660a05dc1c50d8740aba63ca5373fae48676e2bfee63ea17e644258fc35157
|
|
| MD5 |
7b010700043db18627e6cd52bfe23d6b
|
|
| BLAKE2b-256 |
4502b2d0b64a9cc4d1bc5dec579457994f0ae88fc6cf9f15bdc0604bcfe2e7cc
|
Provenance
The following attestation bundles were made for laterite-0.2.0-cp312-abi3-macosx_11_0_arm64.whl:
Publisher:
release.yml on niko86/laterite
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
laterite-0.2.0-cp312-abi3-macosx_11_0_arm64.whl -
Subject digest:
91660a05dc1c50d8740aba63ca5373fae48676e2bfee63ea17e644258fc35157 - Sigstore transparency entry: 1759134090
- Sigstore integration time:
-
Permalink:
niko86/laterite@e82ffc85632f38f6894aadd3dc716d8d506bd738 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/niko86
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@e82ffc85632f38f6894aadd3dc716d8d506bd738 -
Trigger Event:
push
-
Statement type: