Skip to main content

httk-serve

Status: Early beta

⚠️ EARLY BETA

This is an early beta release of httk₂. The organization of the packages and their APIs should not yet be regarded as stable, and may change between releases.

httk-serve is a httk₂ distribution providing a generic implementation of the OPTIMADE protocol. Durable deployments can pass an httk.store.EntryStore directly to create_asgi_app, which discovers registered OPTIMADE families and queries them lazily; EntryProvider remains the in-memory path for generated and compatibility datasets.

The served API version is OPTIMADE v1.3.0. Implemented optional parts of the specification include sorting, the references, files, and trajectories entry types, relationships with the include query parameter, per-property metadata, the partial data protocol (JSON Lines format and dimension_slices) with the compact list representation, and the license/available_licenses/warnings meta and base-info fields. Optional parts that remain unimplemented: cross-source sort merging, filtering on relationship .target.*/.description/.role properties, the sparse JSON Lines layout, and rejection of unrecognized query parameters. See docs/optimade/how_it_works.md for the protocol architecture and backend/web seams.

Multiple Starlette services can be composed at explicit paths. For example, an OPTIMADE index and database can share a parent application without coupling their URL configuration:

from httk.serve import ASGIAppMount, compose_asgi_apps
from httk.serve.optimade import OptimadeIndexConfig, create_index_asgi_app

index = create_index_asgi_app(OptimadeIndexConfig(links=[...]), baseurl="https://example.org/optimade/index/")
app = compose_asgi_apps([ASGIAppMount("/optimade/index", index)], root=ASGIAppMount("/", website_app))

The implementation was ported from the OPTIMADE server in httk v1 (which served OPTIMADE v1.0.0) and then upgraded to v1.3.0. The legacy client-side validation/ subpackage has intentionally not been ported; use the official optimade-validator tool to check conformance of a running server.

HTTP helpers

httk.serve.http provides lightweight, mountable JSON, JSON-LD, and explicit file-map applications without requiring a website source tree. Protocol-owned schemas, vocabulary rules, and discovery document construction remain with the caller.

Web tooling

httk.serve.web provides Jinja2 rendering, legacy .httkweb compatibility, static publication, and an ASGI runtime. Its trusted widgets include httk.serve.table for provider-backed pagination and httk.serve.optimade_table for browser-side OPTIMADE access. Use httk serve web serve, httk serve web check, or httk serve web list.

Testing store integration

Tests that combine httk-store with OPTIMADE serving live in this repository, including remote-client federation, SQL/in-memory query parity, and provider serving. httk-store's own tests and examples do not require httk-serve, so store can be released first.

Install .[dev] and run make ci. SQLite and DuckDB integration tests run locally; MongoDB, PostgreSQL, and ClickHouse tests also run when their HTTK_TEST_MONGODB_URI, HTTK_TEST_POSTGRES_URI, or HTTK_TEST_CLICKHOUSE_URI is set. PostgreSQL additionally needs httk-store[postgresql]. CI provisions real servers for all three backends and runs the extended test profile against them.

Metadata

Release files for httk-serve 2.1.3

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

Source distribution (sdist)

Source distribution for httk-serve 2.1.3
File Size Uploaded Provenance Actions
httk_serve-2.1.3.tar.gz 447.1 kB With provenance Details for httk_serve-2.1.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for httk-serve 2.1.3
File Interpreter ABI Platform Actions
httk_serve-2.1.3-py3-none-any.whl Python 3 none any Details for httk_serve-2.1.3-py3-none-any.whl

Total release size: 809.9 kB

Release files / httk_serve-2.1.3.tar.gz

Download URL httk_serve-2.1.3.tar.gz
Size 447.1 kB
Tags Source
SHA-256 checksum
How to use checksums
242452abc60f55a8b6edc6a5b4fd254fc6b59f9c8162416ad7f39958eee820ec
BLAKE2b-256 checksum
How to use checksums
3938519b6f11d326ca7b4a6e27ec9195078a46fb7454362c3ef8607ec4e2fcd1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.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

Release files / httk_serve-2.1.3-py3-none-any.whl

Download URL httk_serve-2.1.3-py3-none-any.whl
Size 362.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5900dda732cf40c671473a7e5dd8bcef29d66ac7d2603ba559a09503b2b44196
BLAKE2b-256 checksum
How to use checksums
81a6f934b223481360255f99540bda62689ba3fb9775bfe7851a4e69010a2893
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.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

Security for httk-serve 2.1.3

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 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for httk_serve-2.1.3.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 Sep 20, 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.

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