Skip to main content

geocardo — Conformance first. By design. Only async.

geocardo

Conformance first. By design. Only async.

OGC API building blocks for Python. Conformance isn't a goal — it's a structural property.

Status

🚧 Pre-alpha — under active design. APIs are unstable. v0.1 is being built. See docs/architecture/roadmap.md for the plan.

What is this

geocardo is an async-native, framework-agnostic Python library for building OGC API services. The OGC specifications themselves are the foundation: a Rust catalog parses the official OGC OpenAPI documents and compiles them into a binary the Python layer queries at runtime. Everything else — domain model, configuration, OpenAPI generation — derives from that catalog.

You write filterable = true. geocardo maps your intent to the right OGC specification, verifies your provider supports it, generates the conformant OpenAPI, and validates everything at startup.

Why

Two roads exist today for OGC API in Python:

  • pygeoapi — a configurable server. Conformance is declarative. I/O is synchronous.
  • Custom code — reinvent content negotiation, pagination, link building. Conformance sacrificed to deadlines.

geocardo is a third road: a library, not a server. Async-native. Conformance by construction.

Foundational principles

  • Conformance first — if it can't be conformant, it isn't exposed.
  • By design — the OpenAPI is built, not pruned. Conformance classes are calculated, not declared.
  • Only async — composes natively with TiPG, Titiler, Obstore, asyncpg, and the rest of the Python/Rust async ecosystem.

Architecture

Domain-Driven Design with Hexagonal architecture (Ports & Adapters). Python for the domain and orchestration. Rust for hot paths: specification catalog, CQL2 parsing, JSON Schema validation, GeoJSON serialization.

See docs/architecture/ for the full design and the ADR series.

Quick start

🚧 Not yet — v0.1 is the first usable milestone. Star the repo to follow progress.

For contributors wanting to build from source now, see CONTRIBUTING.md. Short version:

git clone https://github.com/francbartoli/geocardo.git
cd geocardo
uv sync          # installs Python, deps, builds the Rust extension
uv run pytest    # verifies the build

Project context

This is a personal project by Francesco Bartoli. It complements rather than replaces pygeoapi.

Contributing

See CONTRIBUTING.md. Read the ADRs in docs/architecture/ before making non-trivial changes.

License

MIT — see LICENSE.

Metadata

Release files for geocardo 0.0.0

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

Source distribution (sdist)

Source distribution for geocardo 0.0.0
File Size Uploaded Provenance
geocardo-0.0.0.tar.gz 6.2 kB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for geocardo 0.0.0
File
geocardo-0.0.0-cp312-abi3-win_amd64.whl CPython 3.12 abi3 Windows x86-64 Details
geocardo-0.0.0-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 abi3 Linux glibc 2.17+ x86-64 Details
geocardo-0.0.0-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 abi3 Linux glibc 2.17+ ARM64 Details
geocardo-0.0.0-cp312-abi3-macosx_11_0_arm64.whl CPython 3.12 abi3 macOS 11.0+ ARM64 Details
geocardo-0.0.0-cp312-abi3-macosx_10_12_x86_64.whl CPython 3.12 abi3 macOS 10.12+ x86-64 Details

Total release size: 770.0 kB

Release files / geocardo-0.0.0.tar.gz

Download URL geocardo-0.0.0.tar.gz
Size 6.2 kB
Tags Source
SHA-256 checksum
How to use checksums
b3e467c551eb7c4097f802c1f9c5587584c87265ac7c5a0f5c87207b38e5239c
BLAKE2b-256 checksum
How to use checksums
27a0491e098fa40e9ee68aa0c7943d587c18e7e973a2a5e72bccf5b1c458888f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 31, 2026.

Transparency log

Release files / geocardo-0.0.0-cp312-abi3-win_amd64.whl

Download URL geocardo-0.0.0-cp312-abi3-win_amd64.whl
Size 84.9 kB
Tags CPython 3.12 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
e72f074e217078d11840fe7e3ed39b03de2e926afddf3744763ee508a2f3c202
BLAKE2b-256 checksum
How to use checksums
10dc0012d5ef0cae3916b5bc4da550d0563acd9994c2ad6b9045ad144f32f45c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 31, 2026.

Transparency log

Release files / geocardo-0.0.0-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL geocardo-0.0.0-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 176.2 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
40a7f2fdff2bb96ff63f8c8d66081cc4088a30bb5aaf87eca4bd4249efc23047
BLAKE2b-256 checksum
How to use checksums
8e97824ed86754b58e7707e565e3f4d744a590846c499cbc884a33274116aaae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 31, 2026.

Transparency log

Release files / geocardo-0.0.0-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL geocardo-0.0.0-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 169.8 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
126aa91404da40c1db6f683f2e06cd14fe8ddec4da1ffaf843117839ddf90d0a
BLAKE2b-256 checksum
How to use checksums
2fd364f9c53a55646a6c9943ff6face9b5d6319ac161cf1fef8fa4e7681f117e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 31, 2026.

Transparency log

Release files / geocardo-0.0.0-cp312-abi3-macosx_11_0_arm64.whl

Download URL geocardo-0.0.0-cp312-abi3-macosx_11_0_arm64.whl
Size 162.5 kB
Tags CPython 3.12 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1c0847b545d282b9337847671b85e613abd089d1e7821081a4359ace75b32a45
BLAKE2b-256 checksum
How to use checksums
cb32160d755faab7d230c10d93c0867507d550b4cd5d9fae7ee60e863ce5e84e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 31, 2026.

Transparency log

Release files / geocardo-0.0.0-cp312-abi3-macosx_10_12_x86_64.whl

Download URL geocardo-0.0.0-cp312-abi3-macosx_10_12_x86_64.whl
Size 170.4 kB
Tags CPython 3.12 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
758016499e47bc56846aee755a582cd0ba9de136fcd98d8a819ff1f96c1eb439
BLAKE2b-256 checksum
How to use checksums
1ccde6c4998d41a06045a554ca802abe2f4515fffd2f3a96d5408e5b63a88e12
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 31, 2026.

Transparency log

Security for geocardo 0.0.0

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.

Full provenance

All 6 files in this release have been uploaded with provenance metadata.

Select from 6 files

Attestation for geocardo-0.0.0.tar.gz

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 May 31, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.0.0 This release

6 release files Full provenance

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