httk-serve
⚠️ 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.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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 httk_serve-2.1.0.tar.gz.
File metadata
- Download URL: httk_serve-2.1.0.tar.gz
- Upload date:
- Size: 474.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3d358b278aec2d9b71c0bacc3b130431081692f704542d3e45e61f5d787d86f2
|
|
| MD5 |
ad7a2ca17bd9437add9fd64d68a29f7b
|
|
| BLAKE2b-256 |
524e0f9b7374cd34a479a1dfffeb454ef53ee9668f9ffc5f0fb46fe017983b9f
|
Provenance
The following attestation bundles were made for httk_serve-2.1.0.tar.gz:
Publisher:
release.yml on httk/httk-serve
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
httk_serve-2.1.0.tar.gz -
Subject digest:
3d358b278aec2d9b71c0bacc3b130431081692f704542d3e45e61f5d787d86f2 - Sigstore transparency entry: 2812074237
- Sigstore integration time:
-
Permalink:
httk/httk-serve@a5ff88a33f5174863f00181cd97e2810ad44cc9b -
Branch / Tag:
refs/tags/v2.1.0 - Owner: https://github.com/httk
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a5ff88a33f5174863f00181cd97e2810ad44cc9b -
Trigger Event:
release
-
Statement type:
File details
Details for the file httk_serve-2.1.0-py3-none-any.whl.
File metadata
- Download URL: httk_serve-2.1.0-py3-none-any.whl
- Upload date:
- Size: 389.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c1ba2d8abe7a34fb2621ddcd5a667795803717bca53b53f602fa6037b25252f0
|
|
| MD5 |
4c679fffbe55523cb0628370d2a978ee
|
|
| BLAKE2b-256 |
818b868881004b67747700a419c8579ef0d3e2578cf797f581e7de4d353888bd
|
Provenance
The following attestation bundles were made for httk_serve-2.1.0-py3-none-any.whl:
Publisher:
release.yml on httk/httk-serve
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
httk_serve-2.1.0-py3-none-any.whl -
Subject digest:
c1ba2d8abe7a34fb2621ddcd5a667795803717bca53b53f602fa6037b25252f0 - Sigstore transparency entry: 2812074258
- Sigstore integration time:
-
Permalink:
httk/httk-serve@a5ff88a33f5174863f00181cd97e2810ad44cc9b -
Branch / Tag:
refs/tags/v2.1.0 - Owner: https://github.com/httk
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a5ff88a33f5174863f00181cd97e2810ad44cc9b -
Trigger Event:
release
-
Statement type: