From a396837ce9179443417a3c6384b7812e7caef37d Mon Sep 17 00:00:00 2001 From: jeafreezy Date: Sat, 23 May 2026 01:09:44 +0200 Subject: [PATCH 1/7] feat: progress with python binding --- crates/python/Cargo.toml | 31 + crates/python/README.md | 106 ++ crates/python/pyproject.toml | 37 + crates/python/python/superstac/__init__.py | 15 + crates/python/python/superstac/_superstac.pyi | 132 ++ crates/python/python/superstac/py.typed | 0 crates/python/src/async_client.rs | 327 ++++ crates/python/src/lib.rs | 37 + crates/python/src/runtime.rs | 61 + crates/python/src/search.rs | 98 ++ crates/python/src/shared.rs | 238 +++ crates/python/src/sync_client.rs | 338 ++++ crates/python/src/utils.rs | 49 + crates/python/uv.lock | 1366 +++++++++++++++++ 14 files changed, 2835 insertions(+) create mode 100644 crates/python/Cargo.toml create mode 100644 crates/python/README.md create mode 100644 crates/python/pyproject.toml create mode 100644 crates/python/python/superstac/__init__.py create mode 100644 crates/python/python/superstac/_superstac.pyi create mode 100644 crates/python/python/superstac/py.typed create mode 100644 crates/python/src/async_client.rs create mode 100644 crates/python/src/lib.rs create mode 100644 crates/python/src/runtime.rs create mode 100644 crates/python/src/search.rs create mode 100644 crates/python/src/shared.rs create mode 100644 crates/python/src/sync_client.rs create mode 100644 crates/python/src/utils.rs create mode 100644 crates/python/uv.lock diff --git a/crates/python/Cargo.toml b/crates/python/Cargo.toml new file mode 100644 index 0000000..cc15892 --- /dev/null +++ b/crates/python/Cargo.toml @@ -0,0 +1,31 @@ +[package] +name = "superstac-python" +description = "Python bindings for superstac via PyO3." +keywords = ["stac", "geospatial", "federated", "satellite", "python"] +categories = ["science::geo"] +readme = "../../README.md" +version.workspace = true +edition.workspace = true +rust-version.workspace = true +license.workspace = true +repository.workspace = true +homepage.workspace = true +authors.workspace = true +publish = false + +[lib] +name = "_superstac" +crate-type = ["cdylib"] + +[dependencies] +superstac-core = { path = "../core", version = "0.1.0" } +superstac-config = { path = "../config", version = "0.1.0" } +superstac-engine = { path = "../engine", version = "0.1.0" } +superstac-search = { path = "../search", version = "0.1.0" } +pyo3 = { version = "0.26", features = ["extension-module", "abi3-py39"] } +pyo3-async-runtimes = { version = "0.26", features = ["tokio-runtime"] } +pythonize = "0.26" +parking_lot = "0.12" +serde = { version = "1.0", features = ["derive"] } +serde_json = "1.0" +tokio = { version = "1", features = ["rt-multi-thread"] } diff --git a/crates/python/README.md b/crates/python/README.md new file mode 100644 index 0000000..5f6e88a --- /dev/null +++ b/crates/python/README.md @@ -0,0 +1,106 @@ +# superstac (Python) + +Python bindings for [superstac](https://github.com/spatialnode/superstac) — +federated STAC search across multiple catalogs. + +> **Status: alpha.** APIs are not yet stable. Pre-1.0; expect breaking changes. + +`superstac` ships a sync `Client` (drop-in for `pystac_client.Client` in most +code) and an `AsyncClient` for asyncio users. + +## Install + +```bash +pip install superstac +``` + +Or from source: + +```bash +git clone https://github.com/spatialnode/superstac +cd superstac/crates/python +pip install maturin +maturin develop +``` + +## Quickstart + +### Drop-in for pystac-client (single catalog) + +```python +from superstac import Client + +client = Client.open("https://earth-search.aws.element84.com/v1") + +search = client.search( + collections=["sentinel-2-l2a"], + bbox=[6.0, 49.0, 7.0, 50.0], + datetime="2024-01-01/2024-01-31", + limit=50, +) + +for item in search.items(): + print(item["id"], item["properties"]["datetime"]) + +print(search.matched(), "items") +fc = search.as_geojson() # GeoJSON FeatureCollection dict +``` + +### Federated across multiple catalogs + +Pass a YAML-shaped dict in one call: + +```python +from superstac import Client + +client = Client({ + "catalogs": [ + {"id": "earth-search", "url": "https://earth-search.aws.element84.com/v1"}, + {"id": "microsoft", "url": "https://planetarycomputer.microsoft.com/api/stac/v1"}, + ], + "settings": {"deduplicate_items": True, "max_concurrent_catalogs": 8}, +}) +client.start() + +search = client.search(collections=["sentinel-2-l2a"], limit=50) +items = list(search.items()) +print(search.metadata) # per-catalog stats: queried, succeeded, failed, dedupes +``` + +Or build it up incrementally (any combination is fine): + +```python +client = Client() +client.add_catalogs([ + {"id": "earth-search", "url": "https://earth-search.aws.element84.com/v1"}, + {"id": "microsoft", "url": "https://planetarycomputer.microsoft.com/api/stac/v1"}, +]) +client.update_settings({"deduplicate_items": True}) +client.start() +``` + +### Async + +```python +import asyncio +from superstac import AsyncClient + +async def main(): + client = await AsyncClient.open("https://earth-search.aws.element84.com/v1") + search = await client.search(collections=["sentinel-2-l2a"], limit=50) + for item in search.items(): + print(item["id"]) + await client.shutdown() + +asyncio.run(main()) +``` + +### Load from YAML + +```python +client = Client.from_yaml("superstac.yml") # sync +client = AsyncClient.from_yaml("superstac.yml") # async +``` + +## License +MIT. diff --git a/crates/python/pyproject.toml b/crates/python/pyproject.toml new file mode 100644 index 0000000..9c97351 --- /dev/null +++ b/crates/python/pyproject.toml @@ -0,0 +1,37 @@ +[build-system] +requires = ["maturin>=1.0,<2.0"] +build-backend = "maturin" + +[project] +name = "superstac" +description = "High performance federated STAC search." +readme = "README.md" +license = "MIT" +authors = [{ name = "Emmanuel Jolaiya", email = "emmanuel@spatialnode.com" }] +requires-python = ">=3.7" +keywords = ["stac", "geospatial", "federated", "satellite"] +classifiers = [ + "Development Status :: 3 - Alpha", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Rust", + "Topic :: Scientific/Engineering :: GIS", +] +dynamic = ["version"] +dependencies = [ + "maturin", +] + + +[project.urls] +Homepage = "https://github.com/spatialnode/superstac" +Repository = "https://github.com/spatialnode/superstac" + +[tool.maturin] +# Build into the `superstac` Python package; the compiled module is +# importable as `superstac._superstac` and re-exported by __init__.py. +python-source = "python" +module-name = "superstac._superstac" +features = ["pyo3/extension-module"] + diff --git a/crates/python/python/superstac/__init__.py b/crates/python/python/superstac/__init__.py new file mode 100644 index 0000000..10d3715 --- /dev/null +++ b/crates/python/python/superstac/__init__.py @@ -0,0 +1,15 @@ +"""High performance federated STAC search.""" + +from ._superstac import ( + AsyncClient, + Client, + Search, + __version__, +) + +__all__ = [ + "Client", + "AsyncClient", + "Search", + "__version__", +] \ No newline at end of file diff --git a/crates/python/python/superstac/_superstac.pyi b/crates/python/python/superstac/_superstac.pyi new file mode 100644 index 0000000..cfaf5d2 --- /dev/null +++ b/crates/python/python/superstac/_superstac.pyi @@ -0,0 +1,132 @@ +from typing import Any, Iterator + +__version__: str + + +class Search: + def matched(self) -> int: ... + def items(self) -> Iterator[dict[str, Any]]: ... + def item_collection_as_dict(self) -> dict[str, Any]: ... + @property + def metadata(self) -> dict[str, Any]: ... + def __len__(self) -> int: ... + +class Client: + def __init__( + self, + config: dict[str, Any] | None = None, + *, + storage: str = "memory", + ) -> None: ... + @classmethod + def open( + cls, + url: str, + *, + id: str | None = None, + storage: str = "memory", + ) -> "Client": ... + @classmethod + def from_yaml(cls, yaml_path: str, *, storage: str = "memory") -> "Client": ... + + # engine lifecycle + def start(self) -> None: ... + def shutdown(self) -> None: ... + + # catalogs + def add_catalog( + self, catalog: dict[str, Any], *, provider: str | None = None + ) -> dict[str, Any]: ... + def add_catalogs( + self, catalogs: list[dict[str, Any]] + ) -> list[dict[str, Any]]: ... + def get_catalog(self, id: str) -> dict[str, Any]: ... + def list_catalogs(self) -> list[dict[str, Any]]: ... + def update_catalog(self, id: str, update: dict[str, Any]) -> dict[str, Any]: ... + def delete_catalog(self, id: str) -> None: ... + + # providers + def add_provider(self, provider: dict[str, Any]) -> dict[str, Any]: ... + def add_providers( + self, providers: list[dict[str, Any]] + ) -> list[dict[str, Any]]: ... + def get_provider(self, id: str) -> dict[str, Any]: ... + def list_providers(self) -> list[dict[str, Any]]: ... + def update_provider(self, id: str, update: dict[str, Any]) -> dict[str, Any]: ... + def delete_provider(self, id: str) -> None: ... + + # settings + def get_settings(self) -> dict[str, Any]: ... + def update_settings(self, update: dict[str, Any]) -> None: ... + + # search & discovery (sync) + def search(self, **kwargs: Any) -> Search: ... + def list_collections(self) -> list[dict[str, Any]]: ... + def get_collections(self) -> list[dict[str, Any]]: ... + def get_collection(self, id: str) -> dict[str, Any]: ... + def catalogs_supporting(self, collection_id: str) -> list[str]: ... + def collections_by_catalog(self) -> dict[str, list[str]]: ... + def describe_collection( + self, catalog_id: str, collection_id: str + ) -> dict[str, Any] | None: ... + +class AsyncClient: + def __init__( + self, + config: dict[str, Any] | None = None, + *, + storage: str = "memory", + ) -> None: ... + @classmethod + async def open( + cls, + url: str, + *, + id: str | None = None, + storage: str = "memory", + ) -> "AsyncClient": ... + @classmethod + def from_yaml( + cls, yaml_path: str, *, storage: str = "memory" + ) -> "AsyncClient": ... + + # engine lifecycle + async def start(self) -> None: ... + async def shutdown(self) -> None: ... + + # catalogs (sync — config-time operations) + def add_catalog( + self, catalog: dict[str, Any], *, provider: str | None = None + ) -> dict[str, Any]: ... + def add_catalogs( + self, catalogs: list[dict[str, Any]] + ) -> list[dict[str, Any]]: ... + def get_catalog(self, id: str) -> dict[str, Any]: ... + def list_catalogs(self) -> list[dict[str, Any]]: ... + def update_catalog(self, id: str, update: dict[str, Any]) -> dict[str, Any]: ... + def delete_catalog(self, id: str) -> None: ... + + # providers (sync) + def add_provider(self, provider: dict[str, Any]) -> dict[str, Any]: ... + def add_providers( + self, providers: list[dict[str, Any]] + ) -> list[dict[str, Any]]: ... + def get_provider(self, id: str) -> dict[str, Any]: ... + def list_providers(self) -> list[dict[str, Any]]: ... + def update_provider(self, id: str, update: dict[str, Any]) -> dict[str, Any]: ... + def delete_provider(self, id: str) -> None: ... + + # settings (sync) + def get_settings(self) -> dict[str, Any]: ... + def update_settings(self, update: dict[str, Any]) -> None: ... + + # search & discovery (async) + async def search(self, **kwargs: Any) -> Search: ... + async def list_collections(self) -> list[dict[str, Any]]: ... + async def get_collections(self) -> list[dict[str, Any]]: ... + async def get_collection(self, id: str) -> dict[str, Any]: ... + async def catalogs_supporting(self, collection_id: str) -> list[str]: ... + async def collections_by_catalog(self) -> dict[str, list[str]]: ... + async def describe_collection( + self, catalog_id: str, collection_id: str + ) -> dict[str, Any] | None: ... diff --git a/crates/python/python/superstac/py.typed b/crates/python/python/superstac/py.typed new file mode 100644 index 0000000..e69de29 diff --git a/crates/python/src/async_client.rs b/crates/python/src/async_client.rs new file mode 100644 index 0000000..bc345c1 --- /dev/null +++ b/crates/python/src/async_client.rs @@ -0,0 +1,327 @@ +use std::sync::Arc; +use std::sync::atomic::Ordering; + +use pyo3::exceptions::{PyKeyError, PyRuntimeError}; +use pyo3::prelude::*; +use pyo3::types::{PyDict, PyList, PyType}; + + +use superstac_config::init_from_yaml; + +use crate::search::PySearch; +use crate::shared::{ + Inner, add_catalog_impl, add_catalogs_impl, add_provider_impl, add_providers_impl, build_inner, search_query_from_kwargs, update_catalog_impl, update_provider_impl, update_settings_impl +}; +use crate::utils::{err_to_py, parse_storage_kind, pythonize_obj}; +use crate::runtime::into_py; + + +#[pyclass(name = "AsyncClient", module = "superstac._superstac")] +pub struct PyAsyncClient { + inner: Inner, +} + +#[pymethods] +impl PyAsyncClient { + /// Build an async client. `config` mirrors the YAML shape (see + /// [`Client.__init__`]); every key is optional. + #[new] + #[pyo3(signature = ( + config = None, + *, + catalogs = None, + providers = None, + settings = None, + storage = "memory" + ))] + fn new( + config: Option>, + catalogs: Option>, + providers: Option>, + settings: Option>, + storage: &str, + ) -> PyResult { + Ok(Self { + inner: build_inner( + config, + catalogs, + providers, + settings, + storage, + )?, + }) + } + + + /// pystac-client compat: connect to a single STAC catalog at `url`. + /// Async: returns a coroutine that resolves to a fully-started client. + #[classmethod] + #[pyo3(signature = (url, *, id = None, storage = "memory"))] + pub fn open<'py>( + _cls: &Bound<'_, PyType>, + py: Python<'py>, + url: &str, + id: Option<&str>, + storage: &str, + ) -> PyResult> { + let inner = Inner::from_storage_kind(storage)?; + inner.register_open_catalog(url, id)?; + let engine = Arc::clone(&inner.engine); + into_py(py, async move { + engine.start().await.map_err(err_to_py)?; + Python::attach(|py| Py::new(py, PyAsyncClient { inner })) + }) + } + + #[classmethod] + #[pyo3(signature = (yaml_path, *, storage = "memory"))] + pub fn from_yaml(_cls: &Bound<'_, PyType>, yaml_path: &str, storage: &str) -> PyResult { + let backend_kind = parse_storage_kind(storage)?; + let backend = init_from_yaml(backend_kind, yaml_path).map_err(err_to_py)?; + Ok(Self { + inner: Inner::from_backend(backend), + }) + } + + + fn start<'py>(&self, py: Python<'py>) -> PyResult> { + let engine = Arc::clone(&self.inner.engine); + into_py(py, async move { engine.start().await.map_err(err_to_py) }) + } + + fn shutdown<'py>(&self, py: Python<'py>) -> PyResult> { + let engine = Arc::clone(&self.inner.engine); + into_py(py, async move { + engine.shutdown().await; + Ok(()) + }) + } + + + #[pyo3(signature = (catalog, *, provider = None))] + fn add_catalog( + &self, + py: Python<'_>, + catalog: Bound<'_, PyAny>, + provider: Option<&str>, + ) -> PyResult> { + add_catalog_impl(&self.inner, py, catalog, provider) + } + + fn add_catalogs(&self, py: Python<'_>, catalogs: Bound<'_, PyAny>) -> PyResult> { + add_catalogs_impl(&self.inner, py, catalogs) + } + + fn get_catalog(&self, py: Python<'_>, id: &str) -> PyResult> { + let storage = self.inner.storage.lock(); + pythonize_obj(py, storage.get_catalog(id).map_err(err_to_py)?) + } + + fn list_catalogs(&self, py: Python<'_>) -> PyResult> { + let catalogs = self + .inner + .storage + .lock() + .list_catalogs(None) + .map_err(err_to_py)?; + pythonize_obj(py, &catalogs) + } + + fn update_catalog( + &self, + py: Python<'_>, + id: &str, + update: Bound<'_, PyAny>, + ) -> PyResult> { + update_catalog_impl(&self.inner, py, id, update) + } + + fn delete_catalog(&self, id: &str) -> PyResult<()> { + self.inner + .storage + .lock() + .delete_catalog(id) + .map_err(err_to_py) + } + + fn add_provider(&self, py: Python<'_>, provider: Bound<'_, PyAny>) -> PyResult> { + add_provider_impl(&self.inner, py, provider) + } + + fn add_providers(&self, py: Python<'_>, providers: Bound<'_, PyAny>) -> PyResult> { + add_providers_impl(&self.inner, py, providers) + } + + fn get_provider(&self, py: Python<'_>, id: &str) -> PyResult> { + let storage = self.inner.storage.lock(); + pythonize_obj(py, storage.get_provider(id).map_err(err_to_py)?) + } + + fn list_providers(&self, py: Python<'_>) -> PyResult> { + let providers = self + .inner + .storage + .lock() + .list_providers(None) + .map_err(err_to_py)?; + pythonize_obj(py, &providers) + } + + fn update_provider( + &self, + py: Python<'_>, + id: &str, + update: Bound<'_, PyAny>, + ) -> PyResult> { + update_provider_impl(&self.inner, py, id, update) + } + + fn delete_provider(&self, id: &str) -> PyResult<()> { + self.inner + .storage + .lock() + .delete_provider(id) + .map_err(err_to_py) + } + + fn get_settings(&self, py: Python<'_>) -> PyResult> { + let s = self.inner.storage.lock().get_settings(); + pythonize_obj(py, &s) + } + + fn update_settings(&self, update: Bound<'_, PyAny>) -> PyResult<()> { + update_settings_impl(&self.inner, update) + } + + #[pyo3(signature = (**kwargs))] + fn search<'py>( + &self, + py: Python<'py>, + kwargs: Option<&Bound<'_, PyDict>>, + ) -> PyResult> { + let query = search_query_from_kwargs(kwargs)?; + let engine = Arc::clone(&self.inner.engine); + into_py(py, async move { + let resp = engine.search(query).await.map_err(err_to_py)?; + Python::attach(|py| Py::new(py, PySearch { response: resp, cached_items: None })) + }) + } + + fn list_collections<'py>(&self, py: Python<'py>) -> PyResult> { + let engine = Arc::clone(&self.inner.engine); + into_py(py, async move { + let availabilities = engine.list_collections().await.map_err(err_to_py)?; + Python::attach(|py| -> PyResult> { + let list = PyList::empty(py); + for a in availabilities { + let dict = PyDict::new(py); + dict.set_item("id", a.id)?; + dict.set_item("catalogs", a.catalogs)?; + list.append(dict)?; + } + Ok(list.unbind().into_any()) + }) + }) + } + + fn get_collections<'py>(&self, py: Python<'py>) -> PyResult> { + let engine = Arc::clone(&self.inner.engine); + into_py(py, async move { + let availabilities = engine.list_collections().await.map_err(err_to_py)?; + let mut out: Vec = Vec::new(); + for a in availabilities { + if let Some(cat) = a.catalogs.first() { + if let Some(c) = engine + .describe_collection(cat, &a.id) + .await + .map_err(err_to_py)? + { + let v = serde_json::to_value(&c).map_err(|e| { + PyRuntimeError::new_err(format!("serialize collection: {}", e)) + })?; + out.push(v); + } + } + } + Python::attach(|py| pythonize_obj(py, &out)) + }) + } + + fn get_collection<'py>(&self, py: Python<'py>, id: String) -> PyResult> { + let engine = Arc::clone(&self.inner.engine); + into_py(py, async move { + let supporting = engine.catalogs_supporting(&id).await.map_err(err_to_py)?; + for cat in supporting { + if let Some(c) = engine + .describe_collection(&cat, &id) + .await + .map_err(err_to_py)? + { + return Python::attach(|py| pythonize_obj(py, &c)); + } + } + Err(PyKeyError::new_err(format!( + "collection '{}' not found in any catalog", + id + ))) + }) + } + + fn catalogs_supporting<'py>( + &self, + py: Python<'py>, + collection_id: String, + ) -> PyResult> { + let engine = Arc::clone(&self.inner.engine); + into_py(py, async move { + engine + .catalogs_supporting(&collection_id) + .await + .map_err(err_to_py) + }) + } + + fn collections_by_catalog<'py>(&self, py: Python<'py>) -> PyResult> { + let engine = Arc::clone(&self.inner.engine); + into_py(py, async move { + engine.collections_by_catalog().await.map_err(err_to_py) + }) + } + + fn describe_collection<'py>( + &self, + py: Python<'py>, + catalog_id: String, + collection_id: String, + ) -> PyResult> { + let engine = Arc::clone(&self.inner.engine); + into_py(py, async move { + let result = engine + .describe_collection(&catalog_id, &collection_id) + .await + .map_err(err_to_py)?; + Python::attach(|py| -> PyResult> { + match result { + Some(c) => pythonize_obj(py, &c), + None => Ok(py.None()), + } + }) + }) + } + + fn __repr__(&self) -> String { + let storage = self.inner.storage.lock(); + format!( + "SuperSTACAsyncClient(catalogs={}, started={}, providers={})", + storage + .list_catalogs(None) + .map(|c| c.len()) + .unwrap_or(0), + self.inner.engine.started.load(Ordering::Relaxed), + storage + .list_providers(None) + .map(|p| p.len()) + .unwrap_or(0) + ) + } +} diff --git a/crates/python/src/lib.rs b/crates/python/src/lib.rs new file mode 100644 index 0000000..dccd585 --- /dev/null +++ b/crates/python/src/lib.rs @@ -0,0 +1,37 @@ +//! PyO3 bindings for superstac. +//! +//! Exposes two top-level classes that share the same engine internals: +//! +//! - `Client` — synchronous; designed as a drop-in for pystac-client users. +//! - `AsyncClient` — async; methods return Python coroutines. +//! +//! Both clients share the same underlying engine state, allowing +//! catalogs, providers, and settings to be configured dynamically +//! from Python. +//! Responses are returned as native Python dicts/lists via `pythonize`. + + +use pyo3::prelude::*; + +use crate::{{async_client::PyAsyncClient, sync_client::PyClient}, search::PySearch}; +mod search; +mod shared; +mod utils; +mod runtime; +mod async_client; +mod sync_client; + +const VERSION: &str = env!("CARGO_PKG_VERSION"); + + +#[pymodule] +fn _superstac(m: &Bound<'_, PyModule>) -> PyResult<()> { + + m.add_class::()?; + m.add_class::()?; + m.add_class::()?; + m.add("__version__", VERSION)?; + Ok(()) +} + + diff --git a/crates/python/src/runtime.rs b/crates/python/src/runtime.rs new file mode 100644 index 0000000..e145c18 --- /dev/null +++ b/crates/python/src/runtime.rs @@ -0,0 +1,61 @@ +use std::future::Future; +use std::sync::OnceLock; + +use pyo3::prelude::*; +use pyo3_async_runtimes::tokio as pyo3_tokio; + +static RUNTIME_INIT: OnceLock<()> = + OnceLock::new(); + +pub fn ensure_runtime() { + RUNTIME_INIT.get_or_init(|| { + + let mut builder = + tokio::runtime::Builder::new_multi_thread(); + + builder.enable_all(); + + pyo3_tokio::init(builder); + }); +} + + +/// Execute async Rust from sync Python. +pub fn block_on( + py: Python<'_>, + future: F, +) -> T +where + F: Future + + Send + + 'static, + T: Send + 'static, +{ + ensure_runtime(); + + py.detach(|| { + pyo3_tokio::get_runtime() + .block_on(future) + }) +} +/// Convert async Rust into Python coroutine. +pub fn into_py<'py, F, T>( + py: Python<'py>, + future: F, +) -> PyResult> +where + F: Future> + + Send + + 'static, + + T: for<'a> IntoPyObject<'a>, +{ + ensure_runtime(); + + pyo3_tokio::future_into_py( + py, + async move { + future.await + }, + ) +} \ No newline at end of file diff --git a/crates/python/src/search.rs b/crates/python/src/search.rs new file mode 100644 index 0000000..cf40a12 --- /dev/null +++ b/crates/python/src/search.rs @@ -0,0 +1,98 @@ +use crate::utils::pythonize_obj; +use pyo3::exceptions::PyRuntimeError; +use pyo3::prelude::*; +use pyo3::types::{PyDict, PyList}; +use pythonize::pythonize; +use superstac_search::response::SearchResponse; + +/// Returned by `Client.search(...)` and `await AsyncClient.search(...)`. +/// +/// Mirrors the parts of pystac-client's `ItemSearch` users actually iterate +/// over: `.items()`, `.matched()`, `.item_collection_as_dict()`. Superstac- +/// specific provenance (per-catalog failures, dedupe stats, etc.) is on +/// `.metadata`. +#[pyclass(name = "Search", module = "superstac._superstac")] +pub struct PySearch { + pub response: SearchResponse, + pub cached_items: Option>, +} + +#[pymethods] +impl PySearch { + fn ensure_items<'py>(&mut self, py: Python<'py>) -> PyResult> { + if let Some(ref items) = self.cached_items { + return Ok(items.bind(py).clone()); + } + + let list = PyList::empty(py); + + for item in &self.response.items { + let d = pythonize(py, &item.item) + .map_err(|e| PyRuntimeError::new_err(format!("serialize item: {}", e)))?; + + list.append(d)?; + } + + let owned = list.clone().unbind(); + self.cached_items = Some(owned); + + Ok(list) + } + + /// Total items matched. Equal to `len(list(self.items()))` until + /// pagination is added. + pub fn matched(&self) -> usize { + self.response.metadata.total_items + } + + /// Iterable of items as STAC item JSON dicts. Returns a list (Python + /// lists are iterable, so `for item in search.items()` works as expected). + /// The per-item provenance lives on `.metadata`. + pub fn items<'py>(&mut self, py: Python<'py>) -> PyResult> { + self.ensure_items(py) + } + + /// GeoJSON FeatureCollection-shaped dict containing every item. + pub fn item_collection_as_dict<'py>(&self, py: Python<'py>) -> PyResult> { + let dict = PyDict::new(py); + dict.set_item("type", "FeatureCollection")?; + let features = PyList::empty(py); + for item in &self.response.items { + let f = pythonize(py, &item.item) + .map_err(|e| PyRuntimeError::new_err(format!("serialize item: {}", e)))?; + features.append(f)?; + } + dict.set_item("features", features)?; + Ok(dict) + } + + /// Alias for `item_collection_as_dict()`. + /// Returns a GeoJSON FeatureCollection dict. + pub fn to_geojson<'py>(&self, py: Python<'py>) -> PyResult> { + self.item_collection_as_dict(py) + } + + /// Superstac-specific stats: catalogs queried/succeeded/failed, dedupe + /// count, per-catalog failures, etc. Schema mirrors `SearchMetadata`. + #[getter] + pub fn metadata(&self, py: Python<'_>) -> PyResult> { + pythonize_obj(py, &self.response.metadata) + } + + pub fn __len__(&self) -> usize { + self.response.items.len() + } + + fn __iter__<'py>(&mut self, py: Python<'py>) -> PyResult> { + Ok(self.ensure_items(py)?.into_any()) + } + + fn __repr__(&self) -> String { + format!( + "Search(items={}, catalogs={}, failed={})", + self.response.items.len(), + self.response.metadata.catalogs_queried, + self.response.metadata.catalogs_failed, + ) + } +} diff --git a/crates/python/src/shared.rs b/crates/python/src/shared.rs new file mode 100644 index 0000000..ef0e234 --- /dev/null +++ b/crates/python/src/shared.rs @@ -0,0 +1,238 @@ +use std::sync::Arc; + +use parking_lot::Mutex; +use pyo3::exceptions::PyValueError; +use pyo3::prelude::*; +use pyo3::types::{PyDict, PyList}; + +use superstac_core::{ + models::{ + catalog::{Catalog, CatalogConfig, CatalogUpdate}, + provider::{CatalogProvider, CatalogProviderConfig, CatalogProviderUpdate}, + settings::SettingsUpdate, + }, + storages::factory::StorageBackend, +}; +use superstac_engine::{SharedStorage, SuperSTACEngine}; +use superstac_search::query::SearchQuery; +use crate::utils::{err_to_py, parse_storage_kind, pythonize_obj, depythonize_into, derive_id_from_url}; + +#[derive(Clone)] +pub struct Inner { + pub storage: SharedStorage, + pub engine: Arc, +} + +impl Inner { + pub fn from_backend(backend: Box) -> Self { + let storage: SharedStorage = Arc::new(Mutex::new(backend)); + let engine = SuperSTACEngine::from_shared(Arc::clone(&storage)); + Self { + storage, + engine: Arc::new(engine), + } + } + + pub fn from_storage_kind(kind: &str) -> PyResult { + Ok(Self::from_backend(parse_storage_kind(kind)?.init())) + } + + pub fn register_open_catalog(&self, url: &str, id: Option<&str>) -> PyResult<()> { + let catalog_id = match id { + Some(s) => s.to_string(), + None => derive_id_from_url(url)?, + }; + let catalog = Catalog::new(&catalog_id, None::, url, None::, None) + .map_err(err_to_py)?; + self.storage + .lock() + .create_catalog(catalog, None) + .map_err(err_to_py)?; + Ok(()) + } +} + +pub fn add_catalog_impl( + inner: &Inner, + py: Python<'_>, + catalog: Bound<'_, PyAny>, + provider: Option<&str>, +) -> PyResult> { + let cfg: CatalogConfig = depythonize_into(&catalog, "catalog")?; + let model: Catalog = Catalog::try_from(cfg).map_err(err_to_py)?; + let created = inner + .storage + .lock() + .create_catalog(model, provider) + .map_err(err_to_py)?; + pythonize_obj(py, &created) +} + +pub fn add_catalogs_impl( + inner: &Inner, + py: Python<'_>, + catalogs: Bound<'_, PyAny>, +) -> PyResult> { + let cfgs: Vec = depythonize_into(&catalogs, "catalogs")?; + let mut storage = inner.storage.lock(); + let list = PyList::empty(py); + for cfg in cfgs { + let provider_ref = cfg.provider.clone(); + let model: Catalog = Catalog::try_from(cfg).map_err(err_to_py)?; + let created = storage + .create_catalog(model, provider_ref.as_deref()) + .map_err(err_to_py)?; + list.append(pythonize_obj(py, &created)?)?; + } + Ok(list.unbind().into_any()) +} + +pub fn add_providers_impl( + inner: &Inner, + py: Python<'_>, + providers: Bound<'_, PyAny>, +) -> PyResult> { + let cfgs: Vec = depythonize_into(&providers, "providers")?; + let mut storage = inner.storage.lock(); + let list = PyList::empty(py); + for cfg in cfgs { + let model: CatalogProvider = CatalogProvider::try_from(cfg).map_err(err_to_py)?; + let created = storage.create_provider(model).map_err(err_to_py)?; + list.append(pythonize_obj(py, &created)?)?; + } + Ok(list.unbind().into_any()) +} + +/// Apply a YAML-shaped dict (`{catalogs, providers, settings}`) to an empty +/// backend. Every key is optional. `settings` is treated as a partial +/// `SettingsUpdate` so users only need to set the knobs they care about. +pub fn apply_config_dict(inner: &Inner, config: &Bound<'_, PyDict>) -> PyResult<()> { + if let Some(settings) = config.get_item("settings")? { + let parsed: SettingsUpdate = depythonize_into(&settings, "settings")?; + inner.storage.lock().update_settings(parsed); + } + if let Some(providers) = config.get_item("providers")? { + let cfgs: Vec = depythonize_into(&providers, "providers")?; + let mut storage = inner.storage.lock(); + for cfg in cfgs { + let p = CatalogProvider::try_from(cfg).map_err(err_to_py)?; + storage.create_provider(p).map_err(err_to_py)?; + } + } + if let Some(catalogs) = config.get_item("catalogs")? { + let cfgs: Vec = depythonize_into(&catalogs, "catalogs")?; + let mut storage = inner.storage.lock(); + for cfg in cfgs { + let provider_ref = cfg.provider.clone(); + let c = Catalog::try_from(cfg).map_err(err_to_py)?; + storage + .create_catalog(c, provider_ref.as_deref()) + .map_err(err_to_py)?; + } + } + Ok(()) +} + +pub fn update_catalog_impl( + inner: &Inner, + py: Python<'_>, + id: &str, + update: Bound<'_, PyAny>, +) -> PyResult> { + let parsed: CatalogUpdate = depythonize_into(&update, "catalog update")?; + let updated = inner + .storage + .lock() + .update_catalog(id, parsed) + .map_err(err_to_py)?; + pythonize_obj(py, &updated) +} + +pub fn add_provider_impl( + inner: &Inner, + py: Python<'_>, + provider: Bound<'_, PyAny>, +) -> PyResult> { + let cfg: CatalogProviderConfig = depythonize_into(&provider, "provider")?; + let model: CatalogProvider = CatalogProvider::try_from(cfg).map_err(err_to_py)?; + let created = inner + .storage + .lock() + .create_provider(model) + .map_err(err_to_py)?; + pythonize_obj(py, &created) +} + +pub fn update_provider_impl( + inner: &Inner, + py: Python<'_>, + id: &str, + update: Bound<'_, PyAny>, +) -> PyResult> { + let parsed: CatalogProviderUpdate = depythonize_into(&update, "provider update")?; + let updated = inner + .storage + .lock() + .update_provider(id, parsed) + .map_err(err_to_py)?; + pythonize_obj(py, &updated) +} + +pub fn update_settings_impl(inner: &Inner, update: Bound<'_, PyAny>) -> PyResult<()> { + let parsed: SettingsUpdate = depythonize_into(&update, "settings update")?; + inner.storage.lock().update_settings(parsed); + Ok(()) +} + +pub fn search_query_from_kwargs(kwargs: Option<&Bound<'_, PyDict>>) -> PyResult { + let kw = kwargs.ok_or_else(|| { + PyValueError::new_err( + "search() requires keyword arguments (e.g. collections=[...], bbox=[...])", + ) + })?; + depythonize_into(kw.as_any(), "search query") +} + + +#[allow(clippy::too_many_arguments)] +pub fn build_inner( + config: Option>, + catalogs: Option>, + providers: Option>, + settings: Option>, + storage: &str, +) -> PyResult { + let inner = Inner::from_storage_kind(storage)?; + + if let Some(cfg) = config { + apply_config_dict(&inner, &cfg)?; + return Ok(inner); + } + + let py = catalogs + .as_ref() + .map(|x| x.py()) + .or_else(|| providers.as_ref().map(|x| x.py())) + .or_else(|| settings.as_ref().map(|x| x.py())); + + if let Some(py) = py { + let cfg = PyDict::new(py); + + if let Some(c) = catalogs { + cfg.set_item("catalogs", c)?; + } + + if let Some(p) = providers { + cfg.set_item("providers", p)?; + } + + if let Some(s) = settings { + cfg.set_item("settings", s)?; + } + + apply_config_dict(&inner, &cfg)?; + } + + Ok(inner) +} + diff --git a/crates/python/src/sync_client.rs b/crates/python/src/sync_client.rs new file mode 100644 index 0000000..30d29d3 --- /dev/null +++ b/crates/python/src/sync_client.rs @@ -0,0 +1,338 @@ +use std::sync::atomic::Ordering; +use std::sync::Arc; + +use pyo3::exceptions::PyKeyError; +use pyo3::prelude::*; +use pyo3::types::{PyDict, PyList, PyType}; + +use superstac_config::init_from_yaml; +use superstac_core::errors::SuperSTACError; + +use crate::runtime::block_on; +use crate::search::PySearch; +use crate::shared::{ + Inner, add_catalog_impl, add_catalogs_impl, add_provider_impl, add_providers_impl, build_inner, search_query_from_kwargs, update_catalog_impl, update_provider_impl, update_settings_impl +}; +use crate::utils::{err_to_py, parse_storage_kind, pythonize_obj}; + +#[pyclass(name = "Client", module = "superstac._superstac")] +pub struct PyClient { + inner: Inner, +} + +#[pymethods] +impl PyClient { + /// Build an async client. `config` mirrors the YAML shape (see + /// [`Client.__init__`]); every key is optional. + #[new] + #[pyo3(signature = ( + config = None, + *, + catalogs = None, + providers = None, + settings = None, + storage = "memory" + ))] + fn new( + config: Option>, + catalogs: Option>, + providers: Option>, + settings: Option>, + storage: &str, + ) -> PyResult { + Ok(Self { + inner: build_inner(config, catalogs, providers, settings, storage)?, + }) + } + + /// pystac-client compat: connect to a single STAC catalog at `url`. The + /// catalog id defaults to the first dot-separated label of the hostname. + /// Calls `start()` before returning so the result is ready to `search()`. + #[classmethod] + #[pyo3(signature = (url, *, id = None, storage = "memory"))] + fn open( + _cls: &Bound<'_, PyType>, + py: Python<'_>, + url: &str, + id: Option<&str>, + storage: &str, + ) -> PyResult { + let inner = Inner::from_storage_kind(storage)?; + + inner.register_open_catalog(url, id)?; + + let engine = Arc::clone(&inner.engine); + + block_on(py, async move { engine.start().await }).map_err(err_to_py)?; + + Ok(Self { inner }) + } + + /// Load catalogs/providers/settings from a `superstac.yml` file. + #[classmethod] + #[pyo3(signature = (yaml_path, *, storage = "memory"))] + fn from_yaml(_cls: &Bound<'_, PyType>, yaml_path: &str, storage: &str) -> PyResult { + let backend_kind = parse_storage_kind(storage)?; + let backend = init_from_yaml(backend_kind, yaml_path).map_err(err_to_py)?; + Ok(Self { + inner: Inner::from_backend(backend), + }) + } + + /// Run health checks + `/collections` introspection. Idempotent. + fn start(&self, py: Python<'_>) -> PyResult<()> { + let engine = Arc::clone(&self.inner.engine); + + block_on(py, async move { engine.start().await }).map_err(err_to_py) + } + + /// Cancel background health-monitor tasks. + fn shutdown(&self, py: Python<'_>) { + let engine = Arc::clone(&self.inner.engine); + + block_on(py, async move { engine.shutdown().await }); + } + + #[pyo3(signature = (catalog, *, provider = None))] + fn add_catalog( + &self, + py: Python<'_>, + catalog: Bound<'_, PyAny>, + provider: Option<&str>, + ) -> PyResult> { + add_catalog_impl(&self.inner, py, catalog, provider) + } + + /// Bulk equivalent of `add_catalog`. Accepts a list of catalog dicts. + /// Each entry's optional `provider` field is honored. + fn add_catalogs(&self, py: Python<'_>, catalogs: Bound<'_, PyAny>) -> PyResult> { + add_catalogs_impl(&self.inner, py, catalogs) + } + + fn get_catalog(&self, py: Python<'_>, id: &str) -> PyResult> { + let storage = self.inner.storage.lock(); + pythonize_obj(py, storage.get_catalog(id).map_err(err_to_py)?) + } + + fn list_catalogs(&self, py: Python<'_>) -> PyResult> { + let catalogs = self + .inner + .storage + .lock() + .list_catalogs(None) + .map_err(err_to_py)?; + pythonize_obj(py, &catalogs) + } + + fn update_catalog( + &self, + py: Python<'_>, + id: &str, + update: Bound<'_, PyAny>, + ) -> PyResult> { + update_catalog_impl(&self.inner, py, id, update) + } + + fn delete_catalog(&self, id: &str) -> PyResult<()> { + self.inner + .storage + .lock() + .delete_catalog(id) + .map_err(err_to_py) + } + + fn add_provider(&self, py: Python<'_>, provider: Bound<'_, PyAny>) -> PyResult> { + add_provider_impl(&self.inner, py, provider) + } + + /// Bulk equivalent of `add_provider`. + fn add_providers(&self, py: Python<'_>, providers: Bound<'_, PyAny>) -> PyResult> { + add_providers_impl(&self.inner, py, providers) + } + + fn get_provider(&self, py: Python<'_>, id: &str) -> PyResult> { + let storage = self.inner.storage.lock(); + pythonize_obj(py, storage.get_provider(id).map_err(err_to_py)?) + } + + fn list_providers(&self, py: Python<'_>) -> PyResult> { + let providers = self + .inner + .storage + .lock() + .list_providers(None) + .map_err(err_to_py)?; + pythonize_obj(py, &providers) + } + + fn update_provider( + &self, + py: Python<'_>, + id: &str, + update: Bound<'_, PyAny>, + ) -> PyResult> { + update_provider_impl(&self.inner, py, id, update) + } + + fn delete_provider(&self, id: &str) -> PyResult<()> { + self.inner + .storage + .lock() + .delete_provider(id) + .map_err(err_to_py) + } + + fn get_settings(&self, py: Python<'_>) -> PyResult> { + let s = self.inner.storage.lock().get_settings(); + pythonize_obj(py, &s) + } + + fn update_settings(&self, update: Bound<'_, PyAny>) -> PyResult<()> { + update_settings_impl(&self.inner, update) + } + + /// pystac-client style: `client.search(collections=[...], bbox=[...], ...)`. + /// Accepts kwargs matching the STAC item-search schema: `collections`, + /// `ids`, `intersects`, `bbox`, `datetime`, `limit`, `sortby`. + #[pyo3(signature = (**kwargs))] + pub fn search(&self, py: Python<'_>, kwargs: Option<&Bound<'_, PyDict>>) -> PyResult { + let query = search_query_from_kwargs(kwargs)?; + + let engine = Arc::clone(&self.inner.engine); + + let resp = block_on(py, async move { engine.search(query).await }).map_err(err_to_py)?; + + Ok(PySearch { + response: resp, + cached_items: None, + }) + } + + /// Aggregated view: every collection ID known across catalogs, with the + /// catalogs that serve each. Returns a list of `{"id", "catalogs"}` dicts. + pub fn list_collections(&self, py: Python<'_>) -> PyResult> { + let engine = Arc::clone(&self.inner.engine); + let availabilities = + block_on(py, async move { engine.list_collections().await }).map_err(err_to_py)?; + let list = PyList::empty(py); + for a in availabilities { + let dict = PyDict::new(py); + dict.set_item("id", a.id)?; + dict.set_item("catalogs", a.catalogs)?; + list.append(dict)?; + } + Ok(list.unbind().into_any()) + } + + /// pystac-client compat: full STAC Collection JSONs across catalogs. + /// For each unique collection id, fetches the full JSON from the first + /// catalog that serves it. Can be slow — issues one HTTP request per + /// distinct collection id. + pub fn get_collections(&self, py: Python<'_>) -> PyResult> { + let engine = Arc::clone(&self.inner.engine); + let result = block_on(py, async move { + let availabilities = engine.list_collections().await?; + let mut out: Vec = Vec::new(); + for a in availabilities { + if let Some(cat) = a.catalogs.first() { + if let Some(c) = engine.describe_collection(cat, &a.id).await? { + let v = serde_json::to_value(&c).map_err(|e| { + SuperSTACError::SearchFailed(format!("serialize collection: {}", e)) + })?; + out.push(v); + } + } + } + Ok::<_, SuperSTACError>(out) + }) + .map_err(err_to_py)?; + pythonize_obj(py, &result) + } + + /// pystac-client compat: full STAC Collection JSON for `id`. Searches + /// every catalog that claims to serve it; returns the first hit. Raises + /// `KeyError` if no catalog has it. + pub fn get_collection(&self, py: Python<'_>, id: &str) -> PyResult> { + let engine = Arc::clone(&self.inner.engine); + let id_owned = id.to_string(); + let id_for_err = id_owned.clone(); + let result = block_on(py, async move { + let supporting = engine.catalogs_supporting(&id_owned).await?; + for cat in supporting { + if let Some(c) = engine.describe_collection(&cat, &id_owned).await? { + let v = serde_json::to_value(&c).map_err(|e| { + SuperSTACError::SearchFailed(format!("serialize collection: {}", e)) + })?; + return Ok::, SuperSTACError>(Some(v)); + } + } + Ok(None) + }) + .map_err(err_to_py)?; + match result { + Some(v) => pythonize_obj(py, &v), + None => Err(PyKeyError::new_err(format!( + "collection '{}' not found in any catalog", + id_for_err + ))), + } + } + + pub fn catalogs_supporting( + &self, + py: Python<'_>, + collection_id: &str, + ) -> PyResult> { + let engine = Arc::clone(&self.inner.engine); + + let id = collection_id.to_string(); + + block_on(py, async move { engine.catalogs_supporting(&id).await }).map_err(err_to_py) + } + + pub fn collections_by_catalog(&self, py: Python<'_>) -> PyResult> { + let engine = Arc::clone(&self.inner.engine); + + let m = block_on(py, async move { engine.collections_by_catalog().await }) + .map_err(err_to_py)?; + + pythonize_obj(py, &m) + } + /// Explicit single-catalog lookup. Returns the full STAC Collection + /// JSON, or `None` if the catalog returns 404. + pub fn describe_collection( + &self, + py: Python<'_>, + catalog_id: &str, + collection_id: &str, + ) -> PyResult> { + let engine = Arc::clone(&self.inner.engine); + let cat = catalog_id.to_string(); + let cid = collection_id.to_string(); + let result = block_on( + py, + async move { engine.describe_collection(&cat, &cid).await }, + ) + .map_err(err_to_py)?; + match result { + Some(c) => pythonize_obj(py, &c), + None => Ok(py.None()), + } + } + + fn __repr__(&self) -> String { + let storage = self.inner.storage.lock(); + format!( + "SuperSTACSyncClient(catalogs={}, started={}, providers={})", + storage + .list_catalogs(None) + .map(|c| c.len()) + .unwrap_or(0), + self.inner.engine.started.load(Ordering::Relaxed), + storage + .list_providers(None) + .map(|p| p.len()) + .unwrap_or(0) + ) + } +} diff --git a/crates/python/src/utils.rs b/crates/python/src/utils.rs new file mode 100644 index 0000000..f5c38d9 --- /dev/null +++ b/crates/python/src/utils.rs @@ -0,0 +1,49 @@ +use pyo3::exceptions::{PyRuntimeError, PyValueError}; +use pyo3::prelude::*; +use pythonize::{depythonize, pythonize}; +use superstac_core::{errors::SuperSTACError, models::storage::Storage}; + +pub fn err_to_py(e: SuperSTACError) -> PyErr { + PyRuntimeError::new_err(e.to_string()) +} + +/// Parse a storage backend from a string. Only "memory" is supported in v0.1, but this is where other backends would be added in the future. +pub fn parse_storage_kind(kind: &str) -> PyResult { + match kind.to_ascii_lowercase().as_str() { + "memory" => Ok(Storage::Memory), + other => Err(PyValueError::new_err(format!( + "unknown storage backend '{}'. Only 'memory' is supported in v0.1.", + other + ))), + } +} + +// Todo - maybe find a way to prevent this ? E.g exploring arrow etc for zero-copy exchange... +pub fn pythonize_obj(py: Python<'_>, value: &T) -> PyResult> { + pythonize(py, value) + .map(|b| b.unbind()) + .map_err(|e| PyRuntimeError::new_err(format!("serialize failed: {}", e))) +} + +pub fn depythonize_into<'py, T: serde::Deserialize<'py>>( + obj: &'py Bound<'py, PyAny>, + label: &str, +) -> PyResult { + depythonize(obj).map_err(|e| PyValueError::new_err(format!("invalid {}: {}", label, e))) +} + +/// Derive a stable catalog id from a URL by taking the first dot-separated +/// label of the hostname. `https://earth-search.aws.element84.com/v1` -> `earth-search`. +pub fn derive_id_from_url(url: &str) -> PyResult { + let after_scheme = url.split_once("://").map(|(_, rest)| rest).unwrap_or(url); + let host = after_scheme.split('/').next().unwrap_or(""); + let host = host.split(':').next().unwrap_or(host); + let first = host.split('.').next().unwrap_or(""); + if first.is_empty() { + return Err(PyValueError::new_err(format!( + "could not derive catalog id from URL '{}'; pass `id=` explicitly", + url + ))); + } + Ok(first.to_string()) +} diff --git a/crates/python/uv.lock b/crates/python/uv.lock new file mode 100644 index 0000000..2b8c565 --- /dev/null +++ b/crates/python/uv.lock @@ -0,0 +1,1366 @@ +version = 1 +requires-python = ">=3.9" + +[[distribution]] +name = "aiohappyeyeballs" +version = "2.6.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/26/30/f84a107a9c4331c14b2b586036f40965c128aa4fee4dda5d3d51cb14ad54/aiohappyeyeballs-2.6.1.tar.gz", hash = "sha256:c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558", size = 22760 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0f/15/5bf3b99495fb160b63f95972b81750f18f7f4e02ad051373b669d17d44f2/aiohappyeyeballs-2.6.1-py3-none-any.whl", hash = "sha256:f349ba8f4b75cb25c99c5c2d84e997e485204d2902a9597802b0371f09331fb8", size = 15265 }, +] + +[[distribution]] +name = "aiohttp" +version = "3.13.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "aiohappyeyeballs" }, + { name = "aiosignal" }, + { name = "async-timeout", marker = "python_version < '3.11'" }, + { name = "attrs" }, + { name = "frozenlist" }, + { name = "multidict" }, + { name = "propcache" }, + { name = "yarl" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/77/9a/152096d4808df8e4268befa55fba462f440f14beab85e8ad9bf990516918/aiohttp-3.13.5.tar.gz", hash = "sha256:9d98cc980ecc96be6eb4c1994ce35d28d8b1f5e5208a23b421187d1209dbb7d1", size = 7858271 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bd/85/cebc47ee74d8b408749073a1a46c6fcba13d170dc8af7e61996c6c9394ac/aiohttp-3.13.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:02222e7e233295f40e011c1b00e3b0bd451f22cf853a0304c3595633ee47da4b", size = 750547 }, + { url = "https://files.pythonhosted.org/packages/05/98/afd308e35b9d3d8c9ec54c0918f1d722c86dc17ddfec272fcdbcce5a3124/aiohttp-3.13.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bace460460ed20614fa6bc8cb09966c0b8517b8c58ad8046828c6078d25333b5", size = 503535 }, + { url = "https://files.pythonhosted.org/packages/6f/4d/926c183e06b09d5270a309eb50fbde7b09782bfd305dec1e800f329834fb/aiohttp-3.13.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f546a4dc1e6a5edbb9fd1fd6ad18134550e096a5a43f4ad74acfbd834fc6670", size = 497830 }, + { url = "https://files.pythonhosted.org/packages/e4/d6/f47d1c690f115a5c2a5e8938cce4a232a5be9aac5c5fb2647efcbbbda333/aiohttp-3.13.5-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c86969d012e51b8e415a8c6ce96f7857d6a87d6207303ab02d5d11ef0cad2274", size = 1682474 }, + { url = "https://files.pythonhosted.org/packages/01/44/056fd37b1bb52eac760303e5196acc74d9d546631b035704ae5927f7b4ac/aiohttp-3.13.5-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:b6f6cd1560c5fa427e3b6074bb24d2c64e225afbb7165008903bd42e4e33e28a", size = 1655259 }, + { url = "https://files.pythonhosted.org/packages/91/9f/78eb1a20c1c28ae02f6a3c0f4d7b0dcc66abce5290cadd53d78ce3084175/aiohttp-3.13.5-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:636bc362f0c5bbc7372bc3ae49737f9e3030dbce469f0f422c8f38079780363d", size = 1736204 }, + { url = "https://files.pythonhosted.org/packages/de/6c/d20d7de23f0b52b8c1d9e2033b2db1ac4dacbb470bb74c56de0f5f86bb4f/aiohttp-3.13.5-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6a7cbeb06d1070f1d14895eeeed4dac5913b22d7b456f2eb969f11f4b3993796", size = 1826198 }, + { url = "https://files.pythonhosted.org/packages/2f/86/a6f3ff1fd795f49545a7c74b2c92f62729135d73e7e4055bf74da5a26c82/aiohttp-3.13.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bca9ef7517fd7874a1a08970ae88f497bf5c984610caa0bf40bd7e8450852b95", size = 1681329 }, + { url = "https://files.pythonhosted.org/packages/fb/68/84cd3dab6b7b4f3e6fe9459a961acb142aaab846417f6e8905110d7027e5/aiohttp-3.13.5-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:019a67772e034a0e6b9b17c13d0a8fe56ad9fb150fc724b7f3ffd3724288d9e5", size = 1560023 }, + { url = "https://files.pythonhosted.org/packages/41/2c/db61b64b0249e30f954a65ab4cb4970ced57544b1de2e3c98ee5dc24165f/aiohttp-3.13.5-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f34ecee82858e41dd217734f0c41a532bd066bcaab636ad830f03a30b2a96f2a", size = 1652372 }, + { url = "https://files.pythonhosted.org/packages/25/6f/e96988a6c982d047810c772e28c43c64c300c943b0ed5c1c0c4ce1e1027c/aiohttp-3.13.5-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:4eac02d9af4813ee289cd63a361576da36dba57f5a1ab36377bc2600db0cbb73", size = 1662031 }, + { url = "https://files.pythonhosted.org/packages/b7/26/a56feace81f3d347b4052403a9d03754a0ab23f7940780dada0849a38c92/aiohttp-3.13.5-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:4beac52e9fe46d6abf98b0176a88154b742e878fdf209d2248e99fcdf73cd297", size = 1708118 }, + { url = "https://files.pythonhosted.org/packages/78/6e/b6173a8ff03d01d5e1a694bc06764b5dad1df2d4ed8f0ceec12bb3277936/aiohttp-3.13.5-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:c180f480207a9b2475f2b8d8bd7204e47aec952d084b2a2be58a782ffcf96074", size = 1548667 }, + { url = "https://files.pythonhosted.org/packages/16/13/13296ffe2c132d888b3fe2c195c8b9c0c24c89c3fa5cc2c44464dc23b22e/aiohttp-3.13.5-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2837fb92951564d6339cedae4a7231692aa9f73cbc4fb2e04263b96844e03b4e", size = 1724490 }, + { url = "https://files.pythonhosted.org/packages/7a/b4/1f1c287f4a79782ef36e5a6e62954c85343bc30470d862d30bd5f26c9fa2/aiohttp-3.13.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d9010032a0b9710f58012a1e9c222528763d860ba2ee1422c03473eab47703e7", size = 1667109 }, + { url = "https://files.pythonhosted.org/packages/ef/42/8461a2aaf60a8f4ea4549a4056be36b904b0eb03d97ca9a8a2604681a500/aiohttp-3.13.5-cp310-cp310-win32.whl", hash = "sha256:7c4b6668b2b2b9027f209ddf647f2a4407784b5d88b8be4efcc72036f365baf9", size = 439478 }, + { url = "https://files.pythonhosted.org/packages/e5/71/06956304cb5ee439dfe8d86e1b2e70088bd88ed1ced1f42fb29e5d855f0e/aiohttp-3.13.5-cp310-cp310-win_amd64.whl", hash = "sha256:cd3db5927bf9167d5a6157ddb2f036f6b6b0ad001ac82355d43e97a4bde76d76", size = 462047 }, + { url = "https://files.pythonhosted.org/packages/d6/f5/a20c4ac64aeaef1679e25c9983573618ff765d7aa829fa2b84ae7573169e/aiohttp-3.13.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7ab7229b6f9b5c1ba4910d6c41a9eb11f543eadb3f384df1b4c293f4e73d44d6", size = 757513 }, + { url = "https://files.pythonhosted.org/packages/75/0a/39fa6c6b179b53fcb3e4b3d2b6d6cad0180854eda17060c7218540102bef/aiohttp-3.13.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8f14c50708bb156b3a3ca7230b3d820199d56a48e3af76fa21c2d6087190fe3d", size = 506748 }, + { url = "https://files.pythonhosted.org/packages/87/ec/e38ce072e724fd7add6243613f8d1810da084f54175353d25ccf9f9c7e5a/aiohttp-3.13.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e7d2f8616f0ff60bd332022279011776c3ac0faa0f1b463f7bb12326fbc97a1c", size = 501673 }, + { url = "https://files.pythonhosted.org/packages/ba/ba/3bc7525d7e2beaa11b309a70d48b0d3cfc3c2089ec6a7d0820d59c657053/aiohttp-3.13.5-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a2567b72e1ffc3ab25510db43f355b29eeada56c0a622e58dcdb19530eb0a3cb", size = 1763757 }, + { url = "https://files.pythonhosted.org/packages/5e/ab/e87744cf18f1bd78263aba24924d4953b41086bd3a31d22452378e9028a0/aiohttp-3.13.5-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:fb0540c854ac9c0c5ad495908fdfd3e332d553ec731698c0e29b1877ba0d2ec6", size = 1720152 }, + { url = "https://files.pythonhosted.org/packages/6b/f3/ed17a6f2d742af17b50bae2d152315ed1b164b07a5fd5cc1754d99e4dfa5/aiohttp-3.13.5-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c9883051c6972f58bfc4ebb2116345ee2aa151178e99c3f2b2bbe2af712abd13", size = 1818010 }, + { url = "https://files.pythonhosted.org/packages/53/06/ecbc63dc937192e2a5cb46df4d3edb21deb8225535818802f210a6ea5816/aiohttp-3.13.5-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2294172ce08a82fb7c7273485895de1fa1186cc8294cfeb6aef4af42ad261174", size = 1907251 }, + { url = "https://files.pythonhosted.org/packages/7e/a5/0521aa32c1ddf3aa1e71dcc466be0b7db2771907a13f18cddaa45967d97b/aiohttp-3.13.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3a807cabd5115fb55af198b98178997a5e0e57dead43eb74a93d9c07d6d4a7dc", size = 1759969 }, + { url = "https://files.pythonhosted.org/packages/f6/78/a38f8c9105199dd3b9706745865a8a59d0041b6be0ca0cc4b2ccf1bab374/aiohttp-3.13.5-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:aa6d0d932e0f39c02b80744273cd5c388a2d9bc07760a03164f229c8e02662f6", size = 1616871 }, + { url = "https://files.pythonhosted.org/packages/6f/41/27392a61ead8ab38072105c71aa44ff891e71653fe53d576a7067da2b4e8/aiohttp-3.13.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:60869c7ac4aaabe7110f26499f3e6e5696eae98144735b12a9c3d9eae2b51a49", size = 1739844 }, + { url = "https://files.pythonhosted.org/packages/6e/55/5564e7ae26d94f3214250009a0b1c65a0c6af4bf88924ccb6fdab901de28/aiohttp-3.13.5-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:26d2f8546f1dfa75efa50c3488215a903c0168d253b75fba4210f57ab77a0fb8", size = 1731969 }, + { url = "https://files.pythonhosted.org/packages/6d/c5/705a3929149865fc941bcbdd1047b238e4a72bcb215a9b16b9d7a2e8d992/aiohttp-3.13.5-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f1162a1492032c82f14271e831c8f4b49f2b6078f4f5fc74de2c912fa225d51d", size = 1795193 }, + { url = "https://files.pythonhosted.org/packages/a6/19/edabed62f718d02cff7231ca0db4ef1c72504235bc467f7b67adb1679f48/aiohttp-3.13.5-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:8b14eb3262fad0dc2f89c1a43b13727e709504972186ff6a99a3ecaa77102b6c", size = 1606477 }, + { url = "https://files.pythonhosted.org/packages/de/fc/76f80ef008675637d88d0b21584596dc27410a990b0918cb1e5776545b5b/aiohttp-3.13.5-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:ca9ac61ac6db4eb6c2a0cd1d0f7e1357647b638ccc92f7e9d8d133e71ed3c6ac", size = 1813198 }, + { url = "https://files.pythonhosted.org/packages/e5/67/5b3ac26b80adb20ea541c487f73730dc8fa107d632c998f25bbbab98fcda/aiohttp-3.13.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:7996023b2ed59489ae4762256c8516df9820f751cf2c5da8ed2fb20ee50abab3", size = 1752321 }, + { url = "https://files.pythonhosted.org/packages/88/06/e4a2e49255ea23fa4feeb5ab092d90240d927c15e47b5b5c48dff5a9ce29/aiohttp-3.13.5-cp311-cp311-win32.whl", hash = "sha256:77dfa48c9f8013271011e51c00f8ada19851f013cde2c48fca1ba5e0caf5bb06", size = 439069 }, + { url = "https://files.pythonhosted.org/packages/c0/43/8c7163a596dab4f8be12c190cf467a1e07e4734cf90eebb39f7f5d53fc6a/aiohttp-3.13.5-cp311-cp311-win_amd64.whl", hash = "sha256:d3a4834f221061624b8887090637db9ad4f61752001eae37d56c52fddade2dc8", size = 462859 }, + { url = "https://files.pythonhosted.org/packages/be/6f/353954c29e7dcce7cf00280a02c75f30e133c00793c7a2ed3776d7b2f426/aiohttp-3.13.5-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:023ecba036ddd840b0b19bf195bfae970083fd7024ce1ac22e9bba90464620e9", size = 748876 }, + { url = "https://files.pythonhosted.org/packages/f5/1b/428a7c64687b3b2e9cd293186695affc0e1e54a445d0361743b231f11066/aiohttp-3.13.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:15c933ad7920b7d9a20de151efcd05a6e38302cbf0e10c9b2acb9a42210a2416", size = 499557 }, + { url = "https://files.pythonhosted.org/packages/29/47/7be41556bfbb6917069d6a6634bb7dd5e163ba445b783a90d40f5ac7e3a7/aiohttp-3.13.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ab2899f9fa2f9f741896ebb6fa07c4c883bfa5c7f2ddd8cf2aafa86fa981b2d2", size = 500258 }, + { url = "https://files.pythonhosted.org/packages/67/84/c9ecc5828cb0b3695856c07c0a6817a99d51e2473400f705275a2b3d9239/aiohttp-3.13.5-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a60eaa2d440cd4707696b52e40ed3e2b0f73f65be07fd0ef23b6b539c9c0b0b4", size = 1749199 }, + { url = "https://files.pythonhosted.org/packages/f0/d3/3c6d610e66b495657622edb6ae7c7fd31b2e9086b4ec50b47897ad6042a9/aiohttp-3.13.5-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:55b3bdd3292283295774ab585160c4004f4f2f203946997f49aac032c84649e9", size = 1721013 }, + { url = "https://files.pythonhosted.org/packages/49/a0/24409c12217456df0bae7babe3b014e460b0b38a8e60753d6cb339f6556d/aiohttp-3.13.5-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c2b2355dc094e5f7d45a7bb262fe7207aa0460b37a0d87027dcf21b5d890e7d5", size = 1781501 }, + { url = "https://files.pythonhosted.org/packages/98/9d/b65ec649adc5bccc008b0957a9a9c691070aeac4e41cea18559fef49958b/aiohttp-3.13.5-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b38765950832f7d728297689ad78f5f2cf79ff82487131c4d26fe6ceecdc5f8e", size = 1878981 }, + { url = "https://files.pythonhosted.org/packages/57/d8/8d44036d7eb7b6a8ec4c5494ea0c8c8b94fbc0ed3991c1a7adf230df03bf/aiohttp-3.13.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b18f31b80d5a33661e08c89e202edabf1986e9b49c42b4504371daeaa11b47c1", size = 1767934 }, + { url = "https://files.pythonhosted.org/packages/31/04/d3f8211f273356f158e3464e9e45484d3fb8c4ce5eb2f6fe9405c3273983/aiohttp-3.13.5-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:33add2463dde55c4f2d9635c6ab33ce154e5ecf322bd26d09af95c5f81cfa286", size = 1566671 }, + { url = "https://files.pythonhosted.org/packages/41/db/073e4ebe00b78e2dfcacff734291651729a62953b48933d765dc513bf798/aiohttp-3.13.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:327cc432fdf1356fb4fbc6fe833ad4e9f6aacb71a8acaa5f1855e4b25910e4a9", size = 1705219 }, + { url = "https://files.pythonhosted.org/packages/48/45/7dfba71a2f9fd97b15c95c06819de7eb38113d2cdb6319669195a7d64270/aiohttp-3.13.5-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:7c35b0bf0b48a70b4cb4fc5d7bed9b932532728e124874355de1a0af8ec4bc88", size = 1743049 }, + { url = "https://files.pythonhosted.org/packages/18/71/901db0061e0f717d226386a7f471bb59b19566f2cae5f0d93874b017271f/aiohttp-3.13.5-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:df23d57718f24badef8656c49743e11a89fd6f5358fa8a7b96e728fda2abf7d3", size = 1749557 }, + { url = "https://files.pythonhosted.org/packages/08/d5/41eebd16066e59cd43728fe74bce953d7402f2b4ddfdfef2c0e9f17ca274/aiohttp-3.13.5-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:02e048037a6501a5ec1f6fc9736135aec6eb8a004ce48838cb951c515f32c80b", size = 1558931 }, + { url = "https://files.pythonhosted.org/packages/30/e6/4a799798bf05740e66c3a1161079bda7a3dd8e22ca392481d7a7f9af82a6/aiohttp-3.13.5-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:31cebae8b26f8a615d2b546fee45d5ffb76852ae6450e2a03f42c9102260d6fe", size = 1774125 }, + { url = "https://files.pythonhosted.org/packages/84/63/7749337c90f92bc2cb18f9560d67aa6258c7060d1397d21529b8004fcf6f/aiohttp-3.13.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:888e78eb5ca55a615d285c3c09a7a91b42e9dd6fc699b166ebd5dee87c9ccf14", size = 1732427 }, + { url = "https://files.pythonhosted.org/packages/98/de/cf2f44ff98d307e72fb97d5f5bbae3bfcb442f0ea9790c0bf5c5c2331404/aiohttp-3.13.5-cp312-cp312-win32.whl", hash = "sha256:8bd3ec6376e68a41f9f95f5ed170e2fcf22d4eb27a1f8cb361d0508f6e0557f3", size = 433534 }, + { url = "https://files.pythonhosted.org/packages/aa/ca/eadf6f9c8fa5e31d40993e3db153fb5ed0b11008ad5d9de98a95045bed84/aiohttp-3.13.5-cp312-cp312-win_amd64.whl", hash = "sha256:110e448e02c729bcebb18c60b9214a87ba33bac4a9fa5e9a5f139938b56c6cb1", size = 460446 }, + { url = "https://files.pythonhosted.org/packages/78/e9/d76bf503005709e390122d34e15256b88f7008e246c4bdbe915cd4f1adce/aiohttp-3.13.5-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a5029cc80718bbd545123cd8fe5d15025eccaaaace5d0eeec6bd556ad6163d61", size = 742930 }, + { url = "https://files.pythonhosted.org/packages/57/00/4b7b70223deaebd9bb85984d01a764b0d7bd6526fcdc73cca83bcbe7243e/aiohttp-3.13.5-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4bb6bf5811620003614076bdc807ef3b5e38244f9d25ca5fe888eaccea2a9832", size = 496927 }, + { url = "https://files.pythonhosted.org/packages/9c/f5/0fb20fb49f8efdcdce6cd8127604ad2c503e754a8f139f5e02b01626523f/aiohttp-3.13.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a84792f8631bf5a94e52d9cc881c0b824ab42717165a5579c760b830d9392ac9", size = 497141 }, + { url = "https://files.pythonhosted.org/packages/3b/86/b7c870053e36a94e8951b803cb5b909bfbc9b90ca941527f5fcafbf6b0fa/aiohttp-3.13.5-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:57653eac22c6a4c13eb22ecf4d673d64a12f266e72785ab1c8b8e5940d0e8090", size = 1732476 }, + { url = "https://files.pythonhosted.org/packages/b5/e5/4e161f84f98d80c03a238671b4136e6530453d65262867d989bbe78244d0/aiohttp-3.13.5-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e5e5f7debc7a57af53fdf5c5009f9391d9f4c12867049d509bf7bb164a6e295b", size = 1706507 }, + { url = "https://files.pythonhosted.org/packages/d4/56/ea11a9f01518bd5a2a2fcee869d248c4b8a0cfa0bb13401574fa31adf4d4/aiohttp-3.13.5-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c719f65bebcdf6716f10e9eff80d27567f7892d8988c06de12bbbd39307c6e3a", size = 1773465 }, + { url = "https://files.pythonhosted.org/packages/eb/40/333ca27fb74b0383f17c90570c748f7582501507307350a79d9f9f3c6eb1/aiohttp-3.13.5-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d97f93fdae594d886c5a866636397e2bcab146fd7a132fd6bb9ce182224452f8", size = 1873523 }, + { url = "https://files.pythonhosted.org/packages/f0/d2/e2f77eef1acb7111405433c707dc735e63f67a56e176e72e9e7a2cd3f493/aiohttp-3.13.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3df334e39d4c2f899a914f1dba283c1aadc311790733f705182998c6f7cae665", size = 1754113 }, + { url = "https://files.pythonhosted.org/packages/fb/56/3f653d7f53c89669301ec9e42c95233e2a0c0a6dd051269e6e678db4fdb0/aiohttp-3.13.5-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fe6970addfea9e5e081401bcbadf865d2b6da045472f58af08427e108d618540", size = 1562351 }, + { url = "https://files.pythonhosted.org/packages/ec/a6/9b3e91eb8ae791cce4ee736da02211c85c6f835f1bdfac0594a8a3b7018c/aiohttp-3.13.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7becdf835feff2f4f335d7477f121af787e3504b48b449ff737afb35869ba7bb", size = 1693205 }, + { url = "https://files.pythonhosted.org/packages/98/fc/bfb437a99a2fcebd6b6eaec609571954de2ed424f01c352f4b5504371dd3/aiohttp-3.13.5-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:676e5651705ad5d8a70aeb8eb6936c436d8ebbd56e63436cb7dd9bb36d2a9a46", size = 1730618 }, + { url = "https://files.pythonhosted.org/packages/e4/b6/c8534862126191a034f68153194c389addc285a0f1347d85096d349bbc15/aiohttp-3.13.5-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:9b16c653d38eb1a611cc898c41e76859ca27f119d25b53c12875fd0474ae31a8", size = 1745185 }, + { url = "https://files.pythonhosted.org/packages/0b/93/4ca8ee2ef5236e2707e0fd5fecb10ce214aee1ff4ab307af9c558bda3b37/aiohttp-3.13.5-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:999802d5fa0389f58decd24b537c54aa63c01c3219ce17d1214cbda3c2b22d2d", size = 1557311 }, + { url = "https://files.pythonhosted.org/packages/57/ae/76177b15f18c5f5d094f19901d284025db28eccc5ae374d1d254181d33f4/aiohttp-3.13.5-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:ec707059ee75732b1ba130ed5f9580fe10ff75180c812bc267ded039db5128c6", size = 1773147 }, + { url = "https://files.pythonhosted.org/packages/01/a4/62f05a0a98d88af59d93b7fcac564e5f18f513cb7471696ac286db970d6a/aiohttp-3.13.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2d6d44a5b48132053c2f6cd5c8cb14bc67e99a63594e336b0f2af81e94d5530c", size = 1730356 }, + { url = "https://files.pythonhosted.org/packages/e4/85/fc8601f59dfa8c9523808281f2da571f8b4699685f9809a228adcc90838d/aiohttp-3.13.5-cp313-cp313-win32.whl", hash = "sha256:329f292ed14d38a6c4c435e465f48bebb47479fd676a0411936cc371643225cc", size = 432637 }, + { url = "https://files.pythonhosted.org/packages/c0/1b/ac685a8882896acf0f6b31d689e3792199cfe7aba37969fa91da63a7fa27/aiohttp-3.13.5-cp313-cp313-win_amd64.whl", hash = "sha256:69f571de7500e0557801c0b51f4780482c0ec5fe2ac851af5a92cfce1af1cb83", size = 458896 }, + { url = "https://files.pythonhosted.org/packages/5d/ce/46572759afc859e867a5bc8ec3487315869013f59281ce61764f76d879de/aiohttp-3.13.5-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:eb4639f32fd4a9904ab8fb45bf3383ba71137f3d9d4ba25b3b3f3109977c5b8c", size = 745721 }, + { url = "https://files.pythonhosted.org/packages/13/fe/8a2efd7626dbe6049b2ef8ace18ffda8a4dfcbe1bcff3ac30c0c7575c20b/aiohttp-3.13.5-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:7e5dc4311bd5ac493886c63cbf76ab579dbe4641268e7c74e48e774c74b6f2be", size = 497663 }, + { url = "https://files.pythonhosted.org/packages/9b/91/cc8cc78a111826c54743d88651e1687008133c37e5ee615fee9b57990fac/aiohttp-3.13.5-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:756c3c304d394977519824449600adaf2be0ccee76d206ee339c5e76b70ded25", size = 499094 }, + { url = "https://files.pythonhosted.org/packages/0a/33/a8362cb15cf16a3af7e86ed11962d5cd7d59b449202dc576cdc731310bde/aiohttp-3.13.5-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ecc26751323224cf8186efcf7fbcbc30f4e1d8c7970659daf25ad995e4032a56", size = 1726701 }, + { url = "https://files.pythonhosted.org/packages/45/0c/c091ac5c3a17114bd76cbf85d674650969ddf93387876cf67f754204bd77/aiohttp-3.13.5-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:10a75acfcf794edf9d8db50e5a7ec5fc818b2a8d3f591ce93bc7b1210df016d2", size = 1683360 }, + { url = "https://files.pythonhosted.org/packages/23/73/bcee1c2b79bc275e964d1446c55c54441a461938e70267c86afaae6fba27/aiohttp-3.13.5-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0f7a18f258d124cd678c5fe072fe4432a4d5232b0657fca7c1847f599233c83a", size = 1773023 }, + { url = "https://files.pythonhosted.org/packages/c7/ef/720e639df03004fee2d869f771799d8c23046dec47d5b81e396c7cda583a/aiohttp-3.13.5-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:df6104c009713d3a89621096f3e3e88cc323fd269dbd7c20afe18535094320be", size = 1853795 }, + { url = "https://files.pythonhosted.org/packages/bd/c9/989f4034fb46841208de7aeeac2c6d8300745ab4f28c42f629ba77c2d916/aiohttp-3.13.5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:241a94f7de7c0c3b616627aaad530fe2cb620084a8b144d3be7b6ecfe95bae3b", size = 1730405 }, + { url = "https://files.pythonhosted.org/packages/ce/75/ee1fd286ca7dc599d824b5651dad7b3be7ff8d9a7e7b3fe9820d9180f7db/aiohttp-3.13.5-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c974fb66180e58709b6fc402846f13791240d180b74de81d23913abe48e96d94", size = 1558082 }, + { url = "https://files.pythonhosted.org/packages/c3/20/1e9e6650dfc436340116b7aa89ff8cb2bbdf0abc11dfaceaad8f74273a10/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:6e27ea05d184afac78aabbac667450c75e54e35f62238d44463131bd3f96753d", size = 1692346 }, + { url = "https://files.pythonhosted.org/packages/d8/40/8ebc6658d48ea630ac7903912fe0dd4e262f0e16825aa4c833c56c9f1f56/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:a79a6d399cef33a11b6f004c67bb07741d91f2be01b8d712d52c75711b1e07c7", size = 1698891 }, + { url = "https://files.pythonhosted.org/packages/d8/78/ea0ae5ec8ba7a5c10bdd6e318f1ba5e76fcde17db8275188772afc7917a4/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:c632ce9c0b534fbe25b52c974515ed674937c5b99f549a92127c85f771a78772", size = 1742113 }, + { url = "https://files.pythonhosted.org/packages/8a/66/9d308ed71e3f2491be1acb8769d96c6f0c47d92099f3bc9119cada27b357/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:fceedde51fbd67ee2bcc8c0b33d0126cc8b51ef3bbde2f86662bd6d5a6f10ec5", size = 1553088 }, + { url = "https://files.pythonhosted.org/packages/da/a6/6cc25ed8dfc6e00c90f5c6d126a98e2cf28957ad06fa1036bd34b6f24a2c/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:f92995dfec9420bb69ae629abf422e516923ba79ba4403bc750d94fb4a6c68c1", size = 1757976 }, + { url = "https://files.pythonhosted.org/packages/c1/2b/cce5b0ffe0de99c83e5e36d8f828e4161e415660a9f3e58339d07cce3006/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:20ae0ff08b1f2c8788d6fb85afcb798654ae6ba0b747575f8562de738078457b", size = 1712444 }, + { url = "https://files.pythonhosted.org/packages/6c/cf/9e1795b4160c58d29421eafd1a69c6ce351e2f7c8d3c6b7e4ca44aea1a5b/aiohttp-3.13.5-cp314-cp314-win32.whl", hash = "sha256:b20df693de16f42b2472a9c485e1c948ee55524786a0a34345511afdd22246f3", size = 438128 }, + { url = "https://files.pythonhosted.org/packages/22/4d/eaedff67fc805aeba4ba746aec891b4b24cebb1a7d078084b6300f79d063/aiohttp-3.13.5-cp314-cp314-win_amd64.whl", hash = "sha256:f85c6f327bf0b8c29da7d93b1cabb6363fb5e4e160a32fa241ed2dce21b73162", size = 464029 }, + { url = "https://files.pythonhosted.org/packages/79/11/c27d9332ee20d68dd164dc12a6ecdef2e2e35ecc97ed6cf0d2442844624b/aiohttp-3.13.5-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:1efb06900858bb618ff5cee184ae2de5828896c448403d51fb633f09e109be0a", size = 778758 }, + { url = "https://files.pythonhosted.org/packages/04/fb/377aead2e0a3ba5f09b7624f702a964bdf4f08b5b6728a9799830c80041e/aiohttp-3.13.5-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:fee86b7c4bd29bdaf0d53d14739b08a106fdda809ca5fe032a15f52fae5fe254", size = 512883 }, + { url = "https://files.pythonhosted.org/packages/bb/a6/aa109a33671f7a5d3bd78b46da9d852797c5e665bfda7d6b373f56bff2ec/aiohttp-3.13.5-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:20058e23909b9e65f9da62b396b77dfa95965cbe840f8def6e572538b1d32e36", size = 516668 }, + { url = "https://files.pythonhosted.org/packages/79/b3/ca078f9f2fa9563c36fb8ef89053ea2bb146d6f792c5104574d49d8acb63/aiohttp-3.13.5-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8cf20a8d6868cb15a73cab329ffc07291ba8c22b1b88176026106ae39aa6df0f", size = 1883461 }, + { url = "https://files.pythonhosted.org/packages/b7/e3/a7ad633ca1ca497b852233a3cce6906a56c3225fb6d9217b5e5e60b7419d/aiohttp-3.13.5-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:330f5da04c987f1d5bdb8ae189137c77139f36bd1cb23779ca1a354a4b027800", size = 1747661 }, + { url = "https://files.pythonhosted.org/packages/33/b9/cd6fe579bed34a906d3d783fe60f2fa297ef55b27bb4538438ee49d4dc41/aiohttp-3.13.5-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6f1cbf0c7926d315c3c26c2da41fd2b5d2fe01ac0e157b78caefc51a782196cf", size = 1863800 }, + { url = "https://files.pythonhosted.org/packages/c0/3f/2c1e2f5144cefa889c8afd5cf431994c32f3b29da9961698ff4e3811b79a/aiohttp-3.13.5-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:53fc049ed6390d05423ba33103ded7281fe897cf97878f369a527070bd95795b", size = 1958382 }, + { url = "https://files.pythonhosted.org/packages/66/1d/f31ec3f1013723b3babe3609e7f119c2c2fb6ef33da90061a705ef3e1bc8/aiohttp-3.13.5-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:898703aa2667e3c5ca4c54ca36cd73f58b7a38ef87a5606414799ebce4d3fd3a", size = 1803724 }, + { url = "https://files.pythonhosted.org/packages/0e/b4/57712dfc6f1542f067daa81eb61da282fab3e6f1966fca25db06c4fc62d5/aiohttp-3.13.5-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0494a01ca9584eea1e5fbd6d748e61ecff218c51b576ee1999c23db7066417d8", size = 1640027 }, + { url = "https://files.pythonhosted.org/packages/25/3c/734c878fb43ec083d8e31bf029daae1beafeae582d1b35da234739e82ee7/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:6cf81fe010b8c17b09495cbd15c1d35afbc8fb405c0c9cf4738e5ae3af1d65be", size = 1806644 }, + { url = "https://files.pythonhosted.org/packages/20/a5/f671e5cbec1c21d044ff3078223f949748f3a7f86b14e34a365d74a5d21f/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:c564dd5f09ddc9d8f2c2d0a301cd30a79a2cc1b46dd1a73bef8f0038863d016b", size = 1791630 }, + { url = "https://files.pythonhosted.org/packages/0b/63/fb8d0ad63a0b8a99be97deac8c04dacf0785721c158bdf23d679a87aa99e/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:2994be9f6e51046c4f864598fd9abeb4fba6e88f0b2152422c9666dcd4aea9c6", size = 1809403 }, + { url = "https://files.pythonhosted.org/packages/59/0c/bfed7f30662fcf12206481c2aac57dedee43fe1c49275e85b3a1e1742294/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:157826e2fa245d2ef46c83ea8a5faf77ca19355d278d425c29fda0beb3318037", size = 1634924 }, + { url = "https://files.pythonhosted.org/packages/17/d6/fd518d668a09fd5a3319ae5e984d4d80b9a4b3df4e21c52f02251ef5a32e/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:a8aca50daa9493e9e13c0f566201a9006f080e7c50e5e90d0b06f53146a54500", size = 1836119 }, + { url = "https://files.pythonhosted.org/packages/78/b7/15fb7a9d52e112a25b621c67b69c167805cb1f2ab8f1708a5c490d1b52fe/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:3b13560160d07e047a93f23aaa30718606493036253d5430887514715b67c9d9", size = 1772072 }, + { url = "https://files.pythonhosted.org/packages/7e/df/57ba7f0c4a553fc2bd8b6321df236870ec6fd64a2a473a8a13d4f733214e/aiohttp-3.13.5-cp314-cp314t-win32.whl", hash = "sha256:9a0f4474b6ea6818b41f82172d799e4b3d29e22c2c520ce4357856fced9af2f8", size = 471819 }, + { url = "https://files.pythonhosted.org/packages/62/29/2f8418269e46454a26171bfdd6a055d74febf32234e474930f2f60a17145/aiohttp-3.13.5-cp314-cp314t-win_amd64.whl", hash = "sha256:18a2f6c1182c51baa1d28d68fea51513cb2a76612f038853c0ad3c145423d3d9", size = 505441 }, + { url = "https://files.pythonhosted.org/packages/e2/a5/630bc484695d4a1342bbae85fb8689bf979106525684fc88f05b397324ad/aiohttp-3.13.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:347542f0ea3f95b2a955ee6656461fa1c776e401ac50ebce055a6c38454a0adf", size = 752872 }, + { url = "https://files.pythonhosted.org/packages/cd/b8/6a19dda37fda94a9ebefb3c1ae0ff419ac7fbf4fb40750e992829fc13614/aiohttp-3.13.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:178c7b5e62b454c2bc790786e6058c3cc968613b4419251b478c153a4aec32b1", size = 504582 }, + { url = "https://files.pythonhosted.org/packages/d5/34/8413eafee3421ade2d6ce9e7c0da1213e1d7f0049be09dcdc342b03a39ba/aiohttp-3.13.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:af545c2cffdb0967a96b6249e6f5f7b0d92cdfd267f9d5238d5b9ca63e8edb10", size = 499094 }, + { url = "https://files.pythonhosted.org/packages/da/cf/c6f97006093d1e8ca40fbab843ff49ec7725ab668f0714dd1cb702c62cbd/aiohttp-3.13.5-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:206b7b3ef96e4ce211754f0cd003feb28b7d81f0ad26b8d077a5d5161436067f", size = 1669505 }, + { url = "https://files.pythonhosted.org/packages/c2/27/3b2288e66dcec8b04771b2bee3909f70e4072bea995cde5ab7e775e73ddc/aiohttp-3.13.5-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:ee5e86776273de1795947d17bddd6bb19e0365fd2af4289c0d2c5454b6b1d36b", size = 1648928 }, + { url = "https://files.pythonhosted.org/packages/3a/7f/605d766887594a88dcc27a19663499c7c5e13e7aa87f129b763765a2ee63/aiohttp-3.13.5-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:95d14ca7abefde230f7639ec136ade282655431fd5db03c343b19dda72dd1643", size = 1731800 }, + { url = "https://files.pythonhosted.org/packages/71/94/5a878e728e30699d22b118f1a6ad576ab6fff9eb2c6fc8a7faa9376a1c3e/aiohttp-3.13.5-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:912d4b6af530ddb1338a66229dac3a25ff11d4448be3ec3d6340583995f56031", size = 1824247 }, + { url = "https://files.pythonhosted.org/packages/37/99/84b448291e9996bb83bf4fad3a71a9786d542f19c50a3ff0531bfaba6fac/aiohttp-3.13.5-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e999f0c88a458c836d5fb521814e92ed2172c649200336a6df514987c1488258", size = 1670742 }, + { url = "https://files.pythonhosted.org/packages/14/a8/d8d5d1ab6d29a4a3bdb9db31f161e338bfdf6638f6574ea8380f1d4a243c/aiohttp-3.13.5-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:39380e12bd1f2fdab4285b6e055ad48efbaed5c836433b142ed4f5b9be71036a", size = 1562474 }, + { url = "https://files.pythonhosted.org/packages/92/e8/bd889697916f10b65524422c61b4eeaf919eb35a170290cccb680cbe4eb4/aiohttp-3.13.5-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9efcc0f11d850cefcafdd9275b9576ad3bfb539bed96807663b32ad99c4d4b88", size = 1642235 }, + { url = "https://files.pythonhosted.org/packages/60/42/3f1928107131f1413a5972ace14ddcd5364968e9bd7b3ad71272defafc9c/aiohttp-3.13.5-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:147b4f501d0292077f29d5268c16bb7c864a1f054d7001c4c1812c0421ea1ed0", size = 1655397 }, + { url = "https://files.pythonhosted.org/packages/b2/79/c4bbcf4cac3a4715a326e49720ccdc3a4b5e14a367c5029eae7727d06029/aiohttp-3.13.5-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:d147004fede1b12f6013a6dbb2a26a986a671a03c6ea740ddc76500e5f1c399f", size = 1703509 }, + { url = "https://files.pythonhosted.org/packages/d1/e6/32d245876f211a7308a7d5437707f9296b1f9837a2888a407ed04e61321c/aiohttp-3.13.5-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:9277145d36a01653863899c665243871434694bcc3431922c3b35c978061bdb8", size = 1550098 }, + { url = "https://files.pythonhosted.org/packages/db/62/ab0f1304def56ce2356e6fbb9f0b024d6544010351430070f48f53b89e0a/aiohttp-3.13.5-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:4e704c52438f66fdd89588346183d898bb42167cf88f8b7ff1c0f9fc957c348f", size = 1724326 }, + { url = "https://files.pythonhosted.org/packages/c4/9a/aab4469689024046220ea438aa020ea2ae04cd1dd71aea3057e094f8c357/aiohttp-3.13.5-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a8a4d3427e8de1312ddf309cc482186466c79895b3a139fed3259fc01dfa9a5b", size = 1658824 }, + { url = "https://files.pythonhosted.org/packages/b0/98/bcc35d4db687acabf06d41f561a99fa88bca145292513388c858d99b72c5/aiohttp-3.13.5-cp39-cp39-win32.whl", hash = "sha256:6f497a6876aa4b1a102b04996ce4c1170c7040d83faa9387dd921c16e30d5c83", size = 440302 }, + { url = "https://files.pythonhosted.org/packages/25/61/b0203c2ef6bd268fca0eda142f0efbba7cbebd7ad38f7bb01dd31c2ff68e/aiohttp-3.13.5-cp39-cp39-win_amd64.whl", hash = "sha256:cb979826071c0986a5f08333a36104153478ce6018c58cba7f9caddaf63d5d67", size = 463076 }, +] + +[[distribution]] +name = "aiosignal" +version = "1.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "frozenlist" }, + { name = "typing-extensions", marker = "python_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/61/62/06741b579156360248d1ec624842ad0edf697050bbaf7c3e46394e106ad1/aiosignal-1.4.0.tar.gz", hash = "sha256:f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7", size = 25007 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fb/76/641ae371508676492379f16e2fa48f4e2c11741bd63c48be4b12a6b09cba/aiosignal-1.4.0-py3-none-any.whl", hash = "sha256:053243f8b92b990551949e63930a839ff0cf0b0ebbe0597b0f3fb19e1a0fe82e", size = 7490 }, +] + +[[distribution]] +name = "async-timeout" +version = "5.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a5/ae/136395dfbfe00dfc94da3f3e136d0b13f394cba8f4841120e34226265780/async_timeout-5.0.1.tar.gz", hash = "sha256:d9321a7a3d5a6a5e187e824d2fa0793ce379a202935782d555d6e9d2735677d3", size = 9274 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fe/ba/e2081de779ca30d473f21f5b30e0e737c438205440784c7dfc81efc2b029/async_timeout-5.0.1-py3-none-any.whl", hash = "sha256:39e3809566ff85354557ec2398b55e096c8364bacac9405a7a1fa429e77fe76c", size = 6233 }, +] + +[[distribution]] +name = "attrs" +version = "26.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/9a/8e/82a0fe20a541c03148528be8cac2408564a6c9a0cc7e9171802bc1d26985/attrs-26.1.0.tar.gz", hash = "sha256:d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32", size = 952055 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl", hash = "sha256:c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309", size = 67548 }, +] + +[[distribution]] +name = "backports-asyncio-runner" +version = "1.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8e/ff/70dca7d7cb1cbc0edb2c6cc0c38b65cba36cccc491eca64cabd5fe7f8670/backports_asyncio_runner-1.2.0.tar.gz", hash = "sha256:a5aa7b2b7d8f8bfcaa2b57313f70792df84e32a2a746f585213373f900b42162", size = 69893 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/59/76ab57e3fe74484f48a53f8e337171b4a2349e506eabe136d7e01d059086/backports_asyncio_runner-1.2.0-py3-none-any.whl", hash = "sha256:0da0a936a8aeb554eccb426dc55af3ba63bcdc69fa1a600b5bb305413a4477b5", size = 12313 }, +] + +[[distribution]] +name = "certifi" +version = "2026.5.20" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f3/ce/ee2ecad540810a79593028e88299baeae54d346cc7a0d94b6199988b89b1/certifi-2026.5.20.tar.gz", hash = "sha256:69dea482ab64caa7b9f6aba1c6bf48bb6a5448d1c0f1b17ab42ad8c763a5344d", size = 135422 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/59/8c/57e832b7af6d7c5abe66eb3fbe3a3a32f4d11ea23a1aa7131371035be991/certifi-2026.5.20-py3-none-any.whl", hash = "sha256:3c52e209ba0a4ad7aebe60436a4ab349c39e1e602e8c134221e546902ad25897", size = 134134 }, +] + +[[distribution]] +name = "charset-normalizer" +version = "3.4.7" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e7/a1/67fe25fac3c7642725500a3f6cfe5821ad557c3abb11c9d20d12c7008d3e/charset_normalizer-3.4.7.tar.gz", hash = "sha256:ae89db9e5f98a11a4bf50407d4363e7b09b31e55bc117b4f7d80aab97ba009e5", size = 144271 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/26/08/0f303cb0b529e456bb116f2d50565a482694fbb94340bf56d44677e7ed03/charset_normalizer-3.4.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cdd68a1fb318e290a2077696b7eb7a21a49163c455979c639bf5a5dcdc46617d", size = 315182 }, + { url = "https://files.pythonhosted.org/packages/24/47/b192933e94b546f1b1fe4df9cc1f84fcdbf2359f8d1081d46dd029b50207/charset_normalizer-3.4.7-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e17b8d5d6a8c47c85e68ca8379def1303fd360c3e22093a807cd34a71cd082b8", size = 209329 }, + { url = "https://files.pythonhosted.org/packages/c2/b4/01fa81c5ca6141024d89a8fc15968002b71da7f825dd14113207113fabbd/charset_normalizer-3.4.7-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:511ef87c8aec0783e08ac18565a16d435372bc1ac25a91e6ac7f5ef2b0bff790", size = 231230 }, + { url = "https://files.pythonhosted.org/packages/20/f7/7b991776844dfa058017e600e6e55ff01984a063290ca5622c0b63162f68/charset_normalizer-3.4.7-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:007d05ec7321d12a40227aae9e2bc6dca73f3cb21058999a1df9e193555a9dcc", size = 225890 }, + { url = "https://files.pythonhosted.org/packages/20/e7/bed0024a0f4ab0c8a9c64d4445f39b30c99bd1acd228291959e3de664247/charset_normalizer-3.4.7-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cf29836da5119f3c8a8a70667b0ef5fdca3bb12f80fd06487cfa575b3909b393", size = 216930 }, + { url = "https://files.pythonhosted.org/packages/e2/ab/b18f0ab31cdd7b3ddb8bb76c4a414aeb8160c9810fdf1bc62f269a539d87/charset_normalizer-3.4.7-cp310-cp310-manylinux_2_31_armv7l.whl", hash = "sha256:12d8baf840cc7889b37c7c770f478adea7adce3dcb3944d02ec87508e2dcf153", size = 202109 }, + { url = "https://files.pythonhosted.org/packages/82/e5/7e9440768a06dfb3075936490cb82dbf0ee20a133bf0dd8551fa096914ec/charset_normalizer-3.4.7-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:d560742f3c0d62afaccf9f41fe485ed69bd7661a241f86a3ef0f0fb8b1a397af", size = 214684 }, + { url = "https://files.pythonhosted.org/packages/71/94/8c61d8da9f062fdf457c80acfa25060ec22bf1d34bbeaca4350f13bcfd07/charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b14b2d9dac08e28bb8046a1a0434b1750eb221c8f5b87a68f4fa11a6f97b5e34", size = 212785 }, + { url = "https://files.pythonhosted.org/packages/66/cd/6e9889c648e72c0ab2e5967528bb83508f354d706637bc7097190c874e13/charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:bc17a677b21b3502a21f66a8cc64f5bfad4df8a0b8434d661666f8ce90ac3af1", size = 203055 }, + { url = "https://files.pythonhosted.org/packages/92/2e/7a951d6a08aefb7eb8e1b54cdfb580b1365afdd9dd484dc4bee9e5d8f258/charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:750e02e074872a3fad7f233b47734166440af3cdea0add3e95163110816d6752", size = 232502 }, + { url = "https://files.pythonhosted.org/packages/58/d5/abcf2d83bf8e0a1286df55cd0dc1d49af0da4282aa77e986df343e7de124/charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:4e5163c14bffd570ef2affbfdd77bba66383890797df43dc8b4cc7d6f500bf53", size = 214295 }, + { url = "https://files.pythonhosted.org/packages/47/3a/7d4cd7ed54be99973a0dc176032cba5cb1f258082c31fa6df35cff46acfc/charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:6ed74185b2db44f41ef35fd1617c5888e59792da9bbc9190d6c7300617182616", size = 227145 }, + { url = "https://files.pythonhosted.org/packages/1d/98/3a45bf8247889cf28262ebd3d0872edff11565b2a1e3064ccb132db3fbb0/charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:94e1885b270625a9a828c9793b4d52a64445299baa1fea5a173bf1d3dd9a1a5a", size = 218884 }, + { url = "https://files.pythonhosted.org/packages/ad/80/2e8b7f8915ed5c9ef13aa828d82738e33888c485b65ebf744d615040c7ea/charset_normalizer-3.4.7-cp310-cp310-win32.whl", hash = "sha256:6785f414ae0f3c733c437e0f3929197934f526d19dfaa75e18fdb4f94c6fb374", size = 148343 }, + { url = "https://files.pythonhosted.org/packages/35/1b/3b8c8c77184af465ee9ad88b5aea46ea6b2e1f7b9dc9502891e37af21e30/charset_normalizer-3.4.7-cp310-cp310-win_amd64.whl", hash = "sha256:6696b7688f54f5af4462118f0bfa7c1621eeb87154f77fa04b9295ce7a8f2943", size = 159174 }, + { url = "https://files.pythonhosted.org/packages/be/c1/feb40dca40dbb21e0a908801782d9288c64fc8d8e562c2098e9994c8c21b/charset_normalizer-3.4.7-cp310-cp310-win_arm64.whl", hash = "sha256:66671f93accb62ed07da56613636f3641f1a12c13046ce91ffc923721f23c008", size = 147805 }, + { url = "https://files.pythonhosted.org/packages/c2/d7/b5b7020a0565c2e9fa8c09f4b5fa6232feb326b8c20081ccded47ea368fd/charset_normalizer-3.4.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7641bb8895e77f921102f72833904dcd9901df5d6d72a2ab8f31d04b7e51e4e7", size = 309705 }, + { url = "https://files.pythonhosted.org/packages/5a/53/58c29116c340e5456724ecd2fff4196d236b98f3da97b404bc5e51ac3493/charset_normalizer-3.4.7-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:202389074300232baeb53ae2569a60901f7efadd4245cf3a3bf0617d60b439d7", size = 206419 }, + { url = "https://files.pythonhosted.org/packages/b2/02/e8146dc6591a37a00e5144c63f29fb7c97a734ea8a111190783c0e60ab63/charset_normalizer-3.4.7-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:30b8d1d8c52a48c2c5690e152c169b673487a2a58de1ec7393196753063fcd5e", size = 227901 }, + { url = "https://files.pythonhosted.org/packages/fb/73/77486c4cd58f1267bf17db420e930c9afa1b3be3fe8c8b8ebbebc9624359/charset_normalizer-3.4.7-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:532bc9bf33a68613fd7d65e4b1c71a6a38d7d42604ecf239c77392e9b4e8998c", size = 222742 }, + { url = "https://files.pythonhosted.org/packages/a1/fa/f74eb381a7d94ded44739e9d94de18dc5edc9c17fb8c11f0a6890696c0a9/charset_normalizer-3.4.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2fe249cb4651fd12605b7288b24751d8bfd46d35f12a20b1ba33dea122e690df", size = 214061 }, + { url = "https://files.pythonhosted.org/packages/dc/92/42bd3cefcf7687253fb86694b45f37b733c97f59af3724f356fa92b8c344/charset_normalizer-3.4.7-cp311-cp311-manylinux_2_31_armv7l.whl", hash = "sha256:65bcd23054beab4d166035cabbc868a09c1a49d1efe458fe8e4361215df40265", size = 199239 }, + { url = "https://files.pythonhosted.org/packages/4c/3d/069e7184e2aa3b3cddc700e3dd267413dc259854adc3380421c805c6a17d/charset_normalizer-3.4.7-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:08e721811161356f97b4059a9ba7bafb23ea5ee2255402c42881c214e173c6b4", size = 210173 }, + { url = "https://files.pythonhosted.org/packages/62/51/9d56feb5f2e7074c46f93e0ebdbe61f0848ee246e2f0d89f8e20b89ebb8f/charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e060d01aec0a910bdccb8be71faf34e7799ce36950f8294c8bf612cba65a2c9e", size = 209841 }, + { url = "https://files.pythonhosted.org/packages/d2/59/893d8f99cc4c837dda1fe2f1139079703deb9f321aabcb032355de13b6c7/charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:38c0109396c4cfc574d502df99742a45c72c08eff0a36158b6f04000043dbf38", size = 200304 }, + { url = "https://files.pythonhosted.org/packages/7d/1d/ee6f3be3464247578d1ed5c46de545ccc3d3ff933695395c402c21fa6b77/charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:1c2a768fdd44ee4a9339a9b0b130049139b8ce3c01d2ce09f67f5a68048d477c", size = 229455 }, + { url = "https://files.pythonhosted.org/packages/54/bb/8fb0a946296ea96a488928bdce8ef99023998c48e4713af533e9bb98ef07/charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:1a87ca9d5df6fe460483d9a5bbf2b18f620cbed41b432e2bddb686228282d10b", size = 210036 }, + { url = "https://files.pythonhosted.org/packages/9a/bc/015b2387f913749f82afd4fcba07846d05b6d784dd16123cb66860e0237d/charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:d635aab80466bc95771bb78d5370e74d36d1fe31467b6b29b8b57b2a3cd7d22c", size = 224739 }, + { url = "https://files.pythonhosted.org/packages/17/ab/63133691f56baae417493cba6b7c641571a2130eb7bceba6773367ab9ec5/charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ae196f021b5e7c78e918242d217db021ed2a6ace2bc6ae94c0fc596221c7f58d", size = 216277 }, + { url = "https://files.pythonhosted.org/packages/06/6d/3be70e827977f20db77c12a97e6a9f973631a45b8d186c084527e53e77a4/charset_normalizer-3.4.7-cp311-cp311-win32.whl", hash = "sha256:adb2597b428735679446b46c8badf467b4ca5f5056aae4d51a19f9570301b1ad", size = 147819 }, + { url = "https://files.pythonhosted.org/packages/20/d9/5f67790f06b735d7c7637171bbfd89882ad67201891b7275e51116ed8207/charset_normalizer-3.4.7-cp311-cp311-win_amd64.whl", hash = "sha256:8e385e4267ab76874ae30db04c627faaaf0b509e1ccc11a95b3fc3e83f855c00", size = 159281 }, + { url = "https://files.pythonhosted.org/packages/ca/83/6413f36c5a34afead88ce6f66684d943d91f233d76dd083798f9602b75ae/charset_normalizer-3.4.7-cp311-cp311-win_arm64.whl", hash = "sha256:d4a48e5b3c2a489fae013b7589308a40146ee081f6f509e047e0e096084ceca1", size = 147843 }, + { url = "https://files.pythonhosted.org/packages/0c/eb/4fc8d0a7110eb5fc9cc161723a34a8a6c200ce3b4fbf681bc86feee22308/charset_normalizer-3.4.7-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:eca9705049ad3c7345d574e3510665cb2cf844c2f2dcfe675332677f081cbd46", size = 311328 }, + { url = "https://files.pythonhosted.org/packages/f8/e3/0fadc706008ac9d7b9b5be6dc767c05f9d3e5df51744ce4cc9605de7b9f4/charset_normalizer-3.4.7-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6178f72c5508bfc5fd446a5905e698c6212932f25bcdd4b47a757a50605a90e2", size = 208061 }, + { url = "https://files.pythonhosted.org/packages/42/f0/3dd1045c47f4a4604df85ec18ad093912ae1344ac706993aff91d38773a2/charset_normalizer-3.4.7-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e1421b502d83040e6d7fb2fb18dff63957f720da3d77b2fbd3187ceb63755d7b", size = 229031 }, + { url = "https://files.pythonhosted.org/packages/dc/67/675a46eb016118a2fbde5a277a5d15f4f69d5f3f5f338e5ee2f8948fcf43/charset_normalizer-3.4.7-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:edac0f1ab77644605be2cbba52e6b7f630731fc42b34cb0f634be1a6eface56a", size = 225239 }, + { url = "https://files.pythonhosted.org/packages/4b/f8/d0118a2f5f23b02cd166fa385c60f9b0d4f9194f574e2b31cef350ad7223/charset_normalizer-3.4.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5649fd1c7bade02f320a462fdefd0b4bd3ce036065836d4f42e0de958038e116", size = 216589 }, + { url = "https://files.pythonhosted.org/packages/b1/f1/6d2b0b261b6c4ceef0fcb0d17a01cc5bc53586c2d4796fa04b5c540bc13d/charset_normalizer-3.4.7-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:203104ed3e428044fd943bc4bf45fa73c0730391f9621e37fe39ecf477b128cb", size = 202733 }, + { url = "https://files.pythonhosted.org/packages/6f/c0/7b1f943f7e87cc3db9626ba17807d042c38645f0a1d4415c7a14afb5591f/charset_normalizer-3.4.7-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:298930cec56029e05497a76988377cbd7457ba864beeea92ad7e844fe74cd1f1", size = 212652 }, + { url = "https://files.pythonhosted.org/packages/38/dd/5a9ab159fe45c6e72079398f277b7d2b523e7f716acc489726115a910097/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:708838739abf24b2ceb208d0e22403dd018faeef86ddac04319a62ae884c4f15", size = 211229 }, + { url = "https://files.pythonhosted.org/packages/d5/ff/531a1cad5ca855d1c1a8b69cb71abfd6d85c0291580146fda7c82857caa1/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:0f7eb884681e3938906ed0434f20c63046eacd0111c4ba96f27b76084cd679f5", size = 203552 }, + { url = "https://files.pythonhosted.org/packages/c1/4c/a5fb52d528a8ca41f7598cb619409ece30a169fbdf9cdce592e53b46c3a6/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4dc1e73c36828f982bfe79fadf5919923f8a6f4df2860804db9a98c48824ce8d", size = 230806 }, + { url = "https://files.pythonhosted.org/packages/59/7a/071feed8124111a32b316b33ae4de83d36923039ef8cf48120266844285b/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:aed52fea0513bac0ccde438c188c8a471c4e0f457c2dd20cdbf6ea7a450046c7", size = 212316 }, + { url = "https://files.pythonhosted.org/packages/fd/35/f7dba3994312d7ba508e041eaac39a36b120f32d4c8662b8814dab876431/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:fea24543955a6a729c45a73fe90e08c743f0b3334bbf3201e6c4bc1b0c7fa464", size = 227274 }, + { url = "https://files.pythonhosted.org/packages/8a/2d/a572df5c9204ab7688ec1edc895a73ebded3b023bb07364710b05dd1c9be/charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:bb6d88045545b26da47aa879dd4a89a71d1dce0f0e549b1abcb31dfe4a8eac49", size = 218468 }, + { url = "https://files.pythonhosted.org/packages/86/eb/890922a8b03a568ca2f336c36585a4713c55d4d67bf0f0c78924be6315ca/charset_normalizer-3.4.7-cp312-cp312-win32.whl", hash = "sha256:2257141f39fe65a3fdf38aeccae4b953e5f3b3324f4ff0daf9f15b8518666a2c", size = 148460 }, + { url = "https://files.pythonhosted.org/packages/35/d9/0e7dffa06c5ab081f75b1b786f0aefc88365825dfcd0ac544bdb7b2b6853/charset_normalizer-3.4.7-cp312-cp312-win_amd64.whl", hash = "sha256:5ed6ab538499c8644b8a3e18debabcd7ce684f3fa91cf867521a7a0279cab2d6", size = 159330 }, + { url = "https://files.pythonhosted.org/packages/9e/5d/481bcc2a7c88ea6b0878c299547843b2521ccbc40980cb406267088bc701/charset_normalizer-3.4.7-cp312-cp312-win_arm64.whl", hash = "sha256:56be790f86bfb2c98fb742ce566dfb4816e5a83384616ab59c49e0604d49c51d", size = 147828 }, + { url = "https://files.pythonhosted.org/packages/c1/3b/66777e39d3ae1ddc77ee606be4ec6d8cbd4c801f65e5a1b6f2b11b8346dd/charset_normalizer-3.4.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f496c9c3cc02230093d8330875c4c3cdfc3b73612a5fd921c65d39cbcef08063", size = 309627 }, + { url = "https://files.pythonhosted.org/packages/2e/4e/b7f84e617b4854ade48a1b7915c8ccfadeba444d2a18c291f696e37f0d3b/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0ea948db76d31190bf08bd371623927ee1339d5f2a0b4b1b4a4439a65298703c", size = 207008 }, + { url = "https://files.pythonhosted.org/packages/c4/bb/ec73c0257c9e11b268f018f068f5d00aa0ef8c8b09f7753ebd5f2880e248/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a277ab8928b9f299723bc1a2dabb1265911b1a76341f90a510368ca44ad9ab66", size = 228303 }, + { url = "https://files.pythonhosted.org/packages/85/fb/32d1f5033484494619f701e719429c69b766bfc4dbc61aa9e9c8c166528b/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3bec022aec2c514d9cf199522a802bd007cd588ab17ab2525f20f9c34d067c18", size = 224282 }, + { url = "https://files.pythonhosted.org/packages/fa/07/330e3a0dda4c404d6da83b327270906e9654a24f6c546dc886a0eb0ffb23/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e044c39e41b92c845bc815e5ae4230804e8e7bc29e399b0437d64222d92809dd", size = 215595 }, + { url = "https://files.pythonhosted.org/packages/e3/7c/fc890655786e423f02556e0216d4b8c6bcb6bdfa890160dc66bf52dee468/charset_normalizer-3.4.7-cp313-cp313-manylinux_2_31_armv7l.whl", hash = "sha256:f495a1652cf3fbab2eb0639776dad966c2fb874d79d87ca07f9d5f059b8bd215", size = 201986 }, + { url = "https://files.pythonhosted.org/packages/d8/97/bfb18b3db2aed3b90cf54dc292ad79fdd5ad65c4eae454099475cbeadd0d/charset_normalizer-3.4.7-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e712b419df8ba5e42b226c510472b37bd57b38e897d3eca5e8cfd410a29fa859", size = 211711 }, + { url = "https://files.pythonhosted.org/packages/6f/a5/a581c13798546a7fd557c82614a5c65a13df2157e9ad6373166d2a3e645d/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7804338df6fcc08105c7745f1502ba68d900f45fd770d5bdd5288ddccb8a42d8", size = 210036 }, + { url = "https://files.pythonhosted.org/packages/8c/bf/b3ab5bcb478e4193d517644b0fb2bf5497fbceeaa7a1bc0f4d5b50953861/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:481551899c856c704d58119b5025793fa6730adda3571971af568f66d2424bb5", size = 202998 }, + { url = "https://files.pythonhosted.org/packages/e7/4e/23efd79b65d314fa320ec6017b4b5834d5c12a58ba4610aa353af2e2f577/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f59099f9b66f0d7145115e6f80dd8b1d847176df89b234a5a6b3f00437aa0832", size = 230056 }, + { url = "https://files.pythonhosted.org/packages/b9/9f/1e1941bc3f0e01df116e68dc37a55c4d249df5e6fa77f008841aef68264f/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:f59ad4c0e8f6bba240a9bb85504faa1ab438237199d4cce5f622761507b8f6a6", size = 211537 }, + { url = "https://files.pythonhosted.org/packages/80/0f/088cbb3020d44428964a6c97fe1edfb1b9550396bf6d278330281e8b709c/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:3dedcc22d73ec993f42055eff4fcfed9318d1eeb9a6606c55892a26964964e48", size = 226176 }, + { url = "https://files.pythonhosted.org/packages/6a/9f/130394f9bbe06f4f63e22641d32fc9b202b7e251c9aef4db044324dac493/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:64f02c6841d7d83f832cd97ccf8eb8a906d06eb95d5276069175c696b024b60a", size = 217723 }, + { url = "https://files.pythonhosted.org/packages/73/55/c469897448a06e49f8fa03f6caae97074fde823f432a98f979cc42b90e69/charset_normalizer-3.4.7-cp313-cp313-win32.whl", hash = "sha256:4042d5c8f957e15221d423ba781e85d553722fc4113f523f2feb7b188cc34c5e", size = 148085 }, + { url = "https://files.pythonhosted.org/packages/5d/78/1b74c5bbb3f99b77a1715c91b3e0b5bdb6fe302d95ace4f5b1bec37b0167/charset_normalizer-3.4.7-cp313-cp313-win_amd64.whl", hash = "sha256:3946fa46a0cf3e4c8cb1cc52f56bb536310d34f25f01ca9b6c16afa767dab110", size = 158819 }, + { url = "https://files.pythonhosted.org/packages/68/86/46bd42279d323deb8687c4a5a811fd548cb7d1de10cf6535d099877a9a9f/charset_normalizer-3.4.7-cp313-cp313-win_arm64.whl", hash = "sha256:80d04837f55fc81da168b98de4f4b797ef007fc8a79ab71c6ec9bc4dd662b15b", size = 147915 }, + { url = "https://files.pythonhosted.org/packages/97/c8/c67cb8c70e19ef1960b97b22ed2a1567711de46c4ddf19799923adc836c2/charset_normalizer-3.4.7-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:c36c333c39be2dbca264d7803333c896ab8fa7d4d6f0ab7edb7dfd7aea6e98c0", size = 309234 }, + { url = "https://files.pythonhosted.org/packages/99/85/c091fdee33f20de70d6c8b522743b6f831a2f1cd3ff86de4c6a827c48a76/charset_normalizer-3.4.7-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1c2aed2e5e41f24ea8ef1590b8e848a79b56f3a5564a65ceec43c9d692dc7d8a", size = 208042 }, + { url = "https://files.pythonhosted.org/packages/87/1c/ab2ce611b984d2fd5d86a5a8a19c1ae26acac6bad967da4967562c75114d/charset_normalizer-3.4.7-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:54523e136b8948060c0fa0bc7b1b50c32c186f2fceee897a495406bb6e311d2b", size = 228706 }, + { url = "https://files.pythonhosted.org/packages/a8/29/2b1d2cb00bf085f59d29eb773ce58ec2d325430f8c216804a0a5cd83cbca/charset_normalizer-3.4.7-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:715479b9a2802ecac752a3b0efa2b0b60285cf962ee38414211abdfccc233b41", size = 224727 }, + { url = "https://files.pythonhosted.org/packages/47/5c/032c2d5a07fe4d4855fea851209cca2b6f03ebeb6d4e3afdb3358386a684/charset_normalizer-3.4.7-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bd6c2a1c7573c64738d716488d2cdd3c00e340e4835707d8fdb8dc1a66ef164e", size = 215882 }, + { url = "https://files.pythonhosted.org/packages/2c/c2/356065d5a8b78ed04499cae5f339f091946a6a74f91e03476c33f0ab7100/charset_normalizer-3.4.7-cp314-cp314-manylinux_2_31_armv7l.whl", hash = "sha256:c45e9440fb78f8ddabcf714b68f936737a121355bf59f3907f4e17721b9d1aae", size = 200860 }, + { url = "https://files.pythonhosted.org/packages/0c/cd/a32a84217ced5039f53b29f460962abb2d4420def55afabe45b1c3c7483d/charset_normalizer-3.4.7-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3534e7dcbdcf757da6b85a0bbf5b6868786d5982dd959b065e65481644817a18", size = 211564 }, + { url = "https://files.pythonhosted.org/packages/44/86/58e6f13ce26cc3b8f4a36b94a0f22ae2f00a72534520f4ae6857c4b81f89/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:e8ac484bf18ce6975760921bb6148041faa8fef0547200386ea0b52b5d27bf7b", size = 211276 }, + { url = "https://files.pythonhosted.org/packages/8f/fe/d17c32dc72e17e155e06883efa84514ca375f8a528ba2546bee73fc4df81/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:a5fe03b42827c13cdccd08e6c0247b6a6d4b5e3cdc53fd1749f5896adcdc2356", size = 201238 }, + { url = "https://files.pythonhosted.org/packages/6a/29/f33daa50b06525a237451cdb6c69da366c381a3dadcd833fa5676bc468b3/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:2d6eb928e13016cea4f1f21d1e10c1cebd5a421bc57ddf5b1142ae3f86824fab", size = 230189 }, + { url = "https://files.pythonhosted.org/packages/b6/6e/52c84015394a6a0bdcd435210a7e944c5f94ea1055f5cc5d56c5fe368e7b/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:e74327fb75de8986940def6e8dee4f127cc9752bee7355bb323cc5b2659b6d46", size = 211352 }, + { url = "https://files.pythonhosted.org/packages/8c/d7/4353be581b373033fb9198bf1da3cf8f09c1082561e8e922aa7b39bf9fe8/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:d6038d37043bced98a66e68d3aa2b6a35505dc01328cd65217cefe82f25def44", size = 227024 }, + { url = "https://files.pythonhosted.org/packages/30/45/99d18aa925bd1740098ccd3060e238e21115fffbfdcb8f3ece837d0ace6c/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:7579e913a5339fb8fa133f6bbcfd8e6749696206cf05acdbdca71a1b436d8e72", size = 217869 }, + { url = "https://files.pythonhosted.org/packages/5c/05/5ee478aa53f4bb7996482153d4bfe1b89e0f087f0ab6b294fcf92d595873/charset_normalizer-3.4.7-cp314-cp314-win32.whl", hash = "sha256:5b77459df20e08151cd6f8b9ef8ef1f961ef73d85c21a555c7eed5b79410ec10", size = 148541 }, + { url = "https://files.pythonhosted.org/packages/48/77/72dcb0921b2ce86420b2d79d454c7022bf5be40202a2a07906b9f2a35c97/charset_normalizer-3.4.7-cp314-cp314-win_amd64.whl", hash = "sha256:92a0a01ead5e668468e952e4238cccd7c537364eb7d851ab144ab6627dbbe12f", size = 159634 }, + { url = "https://files.pythonhosted.org/packages/c6/a3/c2369911cd72f02386e4e340770f6e158c7980267da16af8f668217abaa0/charset_normalizer-3.4.7-cp314-cp314-win_arm64.whl", hash = "sha256:67f6279d125ca0046a7fd386d01b311c6363844deac3e5b069b514ba3e63c246", size = 148384 }, + { url = "https://files.pythonhosted.org/packages/94/09/7e8a7f73d24dba1f0035fbbf014d2c36828fc1bf9c88f84093e57d315935/charset_normalizer-3.4.7-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:effc3f449787117233702311a1b7d8f59cba9ced946ba727bdc329ec69028e24", size = 330133 }, + { url = "https://files.pythonhosted.org/packages/8d/da/96975ddb11f8e977f706f45cddd8540fd8242f71ecdb5d18a80723dcf62c/charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fbccdc05410c9ee21bbf16a35f4c1d16123dcdeb8a1d38f33654fa21d0234f79", size = 216257 }, + { url = "https://files.pythonhosted.org/packages/e5/e8/1d63bf8ef2d388e95c64b2098f45f84758f6d102a087552da1485912637b/charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:733784b6d6def852c814bce5f318d25da2ee65dd4839a0718641c696e09a2960", size = 234851 }, + { url = "https://files.pythonhosted.org/packages/9b/40/e5ff04233e70da2681fa43969ad6f66ca5611d7e669be0246c4c7aaf6dc8/charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a89c23ef8d2c6b27fd200a42aa4ac72786e7c60d40efdc76e6011260b6e949c4", size = 233393 }, + { url = "https://files.pythonhosted.org/packages/be/c1/06c6c49d5a5450f76899992f1ee40b41d076aee9279b49cf9974d2f313d5/charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6c114670c45346afedc0d947faf3c7f701051d2518b943679c8ff88befe14f8e", size = 223251 }, + { url = "https://files.pythonhosted.org/packages/2b/9f/f2ff16fb050946169e3e1f82134d107e5d4ae72647ec8a1b1446c148480f/charset_normalizer-3.4.7-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:a180c5e59792af262bf263b21a3c49353f25945d8d9f70628e73de370d55e1e1", size = 206609 }, + { url = "https://files.pythonhosted.org/packages/69/d5/a527c0cd8d64d2eab7459784fb4169a0ac76e5a6fc5237337982fd61347e/charset_normalizer-3.4.7-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3c9a494bc5ec77d43cea229c4f6db1e4d8fe7e1bbffa8b6f0f0032430ff8ab44", size = 220014 }, + { url = "https://files.pythonhosted.org/packages/7e/80/8a7b8104a3e203074dc9aa2c613d4b726c0e136bad1cc734594b02867972/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8d828b6667a32a728a1ad1d93957cdf37489c57b97ae6c4de2860fa749b8fc1e", size = 218979 }, + { url = "https://files.pythonhosted.org/packages/02/9a/b759b503d507f375b2b5c153e4d2ee0a75aa215b7f2489cf314f4541f2c0/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:cf1493cd8607bec4d8a7b9b004e699fcf8f9103a9284cc94962cb73d20f9d4a3", size = 209238 }, + { url = "https://files.pythonhosted.org/packages/c2/4e/0f3f5d47b86bdb79256e7290b26ac847a2832d9a4033f7eb2cd4bcf4bb5b/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:0c96c3b819b5c3e9e165495db84d41914d6894d55181d2d108cc1a69bfc9cce0", size = 236110 }, + { url = "https://files.pythonhosted.org/packages/96/23/bce28734eb3ed2c91dcf93abeb8a5cf393a7b2749725030bb630e554fdd8/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:752a45dc4a6934060b3b0dab47e04edc3326575f82be64bc4fc293914566503e", size = 219824 }, + { url = "https://files.pythonhosted.org/packages/2c/6f/6e897c6984cc4d41af319b077f2f600fc8214eb2fe2d6bcb79141b882400/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:8778f0c7a52e56f75d12dae53ae320fae900a8b9b4164b981b9c5ce059cd1fcb", size = 233103 }, + { url = "https://files.pythonhosted.org/packages/76/22/ef7bd0fe480a0ae9b656189ec00744b60933f68b4f42a7bb06589f6f576a/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:ce3412fbe1e31eb81ea42f4169ed94861c56e643189e1e75f0041f3fe7020abe", size = 225194 }, + { url = "https://files.pythonhosted.org/packages/c5/a7/0e0ab3e0b5bc1219bd80a6a0d4d72ca74d9250cb2382b7c699c147e06017/charset_normalizer-3.4.7-cp314-cp314t-win32.whl", hash = "sha256:c03a41a8784091e67a39648f70c5f97b5b6a37f216896d44d2cdcb82615339a0", size = 159827 }, + { url = "https://files.pythonhosted.org/packages/7a/1d/29d32e0fb40864b1f878c7f5a0b343ae676c6e2b271a2d55cc3a152391da/charset_normalizer-3.4.7-cp314-cp314t-win_amd64.whl", hash = "sha256:03853ed82eeebbce3c2abfdbc98c96dc205f32a79627688ac9a27370ea61a49c", size = 174168 }, + { url = "https://files.pythonhosted.org/packages/de/32/d92444ad05c7a6e41fb2036749777c163baf7a0301a040cb672d6b2b1ae9/charset_normalizer-3.4.7-cp314-cp314t-win_arm64.whl", hash = "sha256:c35abb8bfff0185efac5878da64c45dafd2b37fb0383add1be155a763c1f083d", size = 153018 }, + { url = "https://files.pythonhosted.org/packages/01/1b/ef725f8eb19b5a261b30f78efa9252ef9d017985cb499102f6f49834cd12/charset_normalizer-3.4.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:177a0ba5f0211d488e295aaf82707237e331c24788d8d76c96c5a41594723217", size = 299121 }, + { url = "https://files.pythonhosted.org/packages/a3/22/2f12878fbc680fbbb52386cd39a379801f62eaca74fc8b323381325f0f04/charset_normalizer-3.4.7-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6e0d51f618228538a3e8f46bd246f87a6cd030565e015803691603f55e12afb5", size = 200612 }, + { url = "https://files.pythonhosted.org/packages/bc/b6/10c84e789126ca97d4a7228863a30481e786980a8b8cfcbf4f30658ca63c/charset_normalizer-3.4.7-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:14265bfe1f09498b9d8ec91e9ec9fa52775edf90fcbde092b25f4a33d444fea9", size = 221041 }, + { url = "https://files.pythonhosted.org/packages/21/7b/c414866a138400b2e81973d006da7f694cfeaf895ef07d2cba9a8743841a/charset_normalizer-3.4.7-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:87fad7d9ba98c86bcb41b2dc8dbb326619be2562af1f8ff50776a39e55721c5a", size = 216323 }, + { url = "https://files.pythonhosted.org/packages/2e/92/bdcf94997e06b223d826df3abed45a5ad6e17f609b7df9d25cd23b5bde30/charset_normalizer-3.4.7-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f22dec1690b584cea26fade98b2435c132c1b5f68e39f5a0b7627cd7ae31f1dc", size = 208419 }, + { url = "https://files.pythonhosted.org/packages/1a/64/3f9142293c88b1b10e199649ed1330f070c2a68e305335a5819fa7f25fa7/charset_normalizer-3.4.7-cp39-cp39-manylinux_2_31_armv7l.whl", hash = "sha256:d61f00a0869d77422d9b2aba989e2d24afa6ffd552af442e0e58de4f35ea6d00", size = 195016 }, + { url = "https://files.pythonhosted.org/packages/c1/d1/d8a6b7dd5c5636b76ce0d080bc57d8e56c7bbd6bc2ac941529a35e41d84a/charset_normalizer-3.4.7-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6370e8686f662e6a3941ee48ed4742317cafbe5707e36406e9df792cdb535776", size = 206115 }, + { url = "https://files.pythonhosted.org/packages/dd/8c/60ebe912379627d023eb96995b40bc50308729f210f43d66109ca0a7bbd2/charset_normalizer-3.4.7-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:a6c5863edfbe888d9eff9c8b8087354e27618d9da76425c119293f11712a6319", size = 204022 }, + { url = "https://files.pythonhosted.org/packages/d5/2a/41816ceda78a551cbfdfbeab6f3891152b0e3f758ce6580c2c18c829f774/charset_normalizer-3.4.7-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:ed065083d0898c9d5b4bbec7b026fd755ff7454e6e8b73a67f8c744b13986e24", size = 195914 }, + { url = "https://files.pythonhosted.org/packages/8f/9b/7c7f4b7f11525fcbdfba752455314ac60646bae91cdd671d531c1f7a97c6/charset_normalizer-3.4.7-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:2cd4a60d0e2fb04537162c62bbbb4182f53541fe0ede35cdf270a1c1e723cc42", size = 222159 }, + { url = "https://files.pythonhosted.org/packages/9f/57/301682e7469bdbfa2ce219a804f0668b2266ab8520570d85d3b3ef483ea3/charset_normalizer-3.4.7-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:813c0e0132266c08eb87469a642cb30aaff57c5f426255419572aaeceeaa7bf4", size = 206154 }, + { url = "https://files.pythonhosted.org/packages/20/ec/90339ff5cdc598b265748c1f231c7d7fbd9123a92cee10f757e0b1448de4/charset_normalizer-3.4.7-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:07d9e39b01743c3717745f4c530a6349eadbfa043c7577eef86c502c15df2c67", size = 217423 }, + { url = "https://files.pythonhosted.org/packages/2e/e7/a7a6147f8e3375676309cf584b25c72a3bab784ea4085b0011fa07b23aeb/charset_normalizer-3.4.7-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c0f081d69a6e58272819b70288d3221a6ee64b98df852631c80f293514d3b274", size = 210604 }, + { url = "https://files.pythonhosted.org/packages/1a/62/d9340c7a79c393e57807d7fb6c57e82060687891f81b74d3201958b919c1/charset_normalizer-3.4.7-cp39-cp39-win32.whl", hash = "sha256:8751d2787c9131302398b11e6c8068053dcb55d5a8964e114b6e196cf16cb366", size = 144631 }, + { url = "https://files.pythonhosted.org/packages/21/e7/92901117e2ddc8facfe8235a3ecd4eb482185b2ad5d5b6606b37c1afea06/charset_normalizer-3.4.7-cp39-cp39-win_amd64.whl", hash = "sha256:12a6fff75f6bc66711b73a2f0addfc4c8c15a20e805146a02d147a318962c444", size = 154710 }, + { url = "https://files.pythonhosted.org/packages/cc/4f/e1fb138201ad9a32499dd9a98aa4a5a5441fbf7f56b52b619a54b7ee8777/charset_normalizer-3.4.7-cp39-cp39-win_arm64.whl", hash = "sha256:bb8cc7534f51d9a017b93e3e85b260924f909601c3df002bcdb58ddb4dc41a5c", size = 143716 }, + { url = "https://files.pythonhosted.org/packages/db/8f/61959034484a4a7c527811f4721e75d02d653a35afb0b6054474d8185d4c/charset_normalizer-3.4.7-py3-none-any.whl", hash = "sha256:3dce51d0f5e7951f8bb4900c257dad282f49190fdbebecd4ba99bcc41fef404d", size = 61958 }, +] + +[[distribution]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335 }, +] + +[[distribution]] +name = "exceptiongroup" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/50/79/66800aadf48771f6b62f7eb014e352e5d06856655206165d775e675a02c9/exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219", size = 30371 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl", hash = "sha256:a7a39a3bd276781e98394987d3a5701d0c4edffb633bb7a5144577f82c773598", size = 16740 }, +] + +[[distribution]] +name = "frozenlist" +version = "1.8.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2d/f5/c831fac6cc817d26fd54c7eaccd04ef7e0288806943f7cc5bbf69f3ac1f0/frozenlist-1.8.0.tar.gz", hash = "sha256:3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad", size = 45875 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/83/4a/557715d5047da48d54e659203b9335be7bfaafda2c3f627b7c47e0b3aaf3/frozenlist-1.8.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b37f6d31b3dcea7deb5e9696e529a6aa4a898adc33db82da12e4c60a7c4d2011", size = 86230 }, + { url = "https://files.pythonhosted.org/packages/a2/fb/c85f9fed3ea8fe8740e5b46a59cc141c23b842eca617da8876cfce5f760e/frozenlist-1.8.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ef2b7b394f208233e471abc541cc6991f907ffd47dc72584acee3147899d6565", size = 49621 }, + { url = "https://files.pythonhosted.org/packages/63/70/26ca3f06aace16f2352796b08704338d74b6d1a24ca38f2771afbb7ed915/frozenlist-1.8.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a88f062f072d1589b7b46e951698950e7da00442fc1cacbe17e19e025dc327ad", size = 49889 }, + { url = "https://files.pythonhosted.org/packages/5d/ed/c7895fd2fde7f3ee70d248175f9b6cdf792fb741ab92dc59cd9ef3bd241b/frozenlist-1.8.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:f57fb59d9f385710aa7060e89410aeb5058b99e62f4d16b08b91986b9a2140c2", size = 219464 }, + { url = "https://files.pythonhosted.org/packages/6b/83/4d587dccbfca74cb8b810472392ad62bfa100bf8108c7223eb4c4fa2f7b3/frozenlist-1.8.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:799345ab092bee59f01a915620b5d014698547afd011e691a208637312db9186", size = 221649 }, + { url = "https://files.pythonhosted.org/packages/6a/c6/fd3b9cd046ec5fff9dab66831083bc2077006a874a2d3d9247dea93ddf7e/frozenlist-1.8.0-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c23c3ff005322a6e16f71bf8692fcf4d5a304aaafe1e262c98c6d4adc7be863e", size = 219188 }, + { url = "https://files.pythonhosted.org/packages/ce/80/6693f55eb2e085fc8afb28cf611448fb5b90e98e068fa1d1b8d8e66e5c7d/frozenlist-1.8.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8a76ea0f0b9dfa06f254ee06053d93a600865b3274358ca48a352ce4f0798450", size = 231748 }, + { url = "https://files.pythonhosted.org/packages/97/d6/e9459f7c5183854abd989ba384fe0cc1a0fb795a83c033f0571ec5933ca4/frozenlist-1.8.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c7366fe1418a6133d5aa824ee53d406550110984de7637d65a178010f759c6ef", size = 236351 }, + { url = "https://files.pythonhosted.org/packages/97/92/24e97474b65c0262e9ecd076e826bfd1d3074adcc165a256e42e7b8a7249/frozenlist-1.8.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:13d23a45c4cebade99340c4165bd90eeb4a56c6d8a9d8aa49568cac19a6d0dc4", size = 218767 }, + { url = "https://files.pythonhosted.org/packages/ee/bf/dc394a097508f15abff383c5108cb8ad880d1f64a725ed3b90d5c2fbf0bb/frozenlist-1.8.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:e4a3408834f65da56c83528fb52ce7911484f0d1eaf7b761fc66001db1646eff", size = 235887 }, + { url = "https://files.pythonhosted.org/packages/40/90/25b201b9c015dbc999a5baf475a257010471a1fa8c200c843fd4abbee725/frozenlist-1.8.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:42145cd2748ca39f32801dad54aeea10039da6f86e303659db90db1c4b614c8c", size = 228785 }, + { url = "https://files.pythonhosted.org/packages/84/f4/b5bc148df03082f05d2dd30c089e269acdbe251ac9a9cf4e727b2dbb8a3d/frozenlist-1.8.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:e2de870d16a7a53901e41b64ffdf26f2fbb8917b3e6ebf398098d72c5b20bd7f", size = 230312 }, + { url = "https://files.pythonhosted.org/packages/db/4b/87e95b5d15097c302430e647136b7d7ab2398a702390cf4c8601975709e7/frozenlist-1.8.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:20e63c9493d33ee48536600d1a5c95eefc870cd71e7ab037763d1fbb89cc51e7", size = 217650 }, + { url = "https://files.pythonhosted.org/packages/e5/70/78a0315d1fea97120591a83e0acd644da638c872f142fd72a6cebee825f3/frozenlist-1.8.0-cp310-cp310-win32.whl", hash = "sha256:adbeebaebae3526afc3c96fad434367cafbfd1b25d72369a9e5858453b1bb71a", size = 39659 }, + { url = "https://files.pythonhosted.org/packages/66/aa/3f04523fb189a00e147e60c5b2205126118f216b0aa908035c45336e27e4/frozenlist-1.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:667c3777ca571e5dbeb76f331562ff98b957431df140b54c85fd4d52eea8d8f6", size = 43837 }, + { url = "https://files.pythonhosted.org/packages/39/75/1135feecdd7c336938bd55b4dc3b0dfc46d85b9be12ef2628574b28de776/frozenlist-1.8.0-cp310-cp310-win_arm64.whl", hash = "sha256:80f85f0a7cc86e7a54c46d99c9e1318ff01f4687c172ede30fd52d19d1da1c8e", size = 39989 }, + { url = "https://files.pythonhosted.org/packages/bc/03/077f869d540370db12165c0aa51640a873fb661d8b315d1d4d67b284d7ac/frozenlist-1.8.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:09474e9831bc2b2199fad6da3c14c7b0fbdd377cce9d3d77131be28906cb7d84", size = 86912 }, + { url = "https://files.pythonhosted.org/packages/df/b5/7610b6bd13e4ae77b96ba85abea1c8cb249683217ef09ac9e0ae93f25a91/frozenlist-1.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:17c883ab0ab67200b5f964d2b9ed6b00971917d5d8a92df149dc2c9779208ee9", size = 50046 }, + { url = "https://files.pythonhosted.org/packages/6e/ef/0e8f1fe32f8a53dd26bdd1f9347efe0778b0fddf62789ea683f4cc7d787d/frozenlist-1.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fa47e444b8ba08fffd1c18e8cdb9a75db1b6a27f17507522834ad13ed5922b93", size = 50119 }, + { url = "https://files.pythonhosted.org/packages/11/b1/71a477adc7c36e5fb628245dfbdea2166feae310757dea848d02bd0689fd/frozenlist-1.8.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:2552f44204b744fba866e573be4c1f9048d6a324dfe14475103fd51613eb1d1f", size = 231067 }, + { url = "https://files.pythonhosted.org/packages/45/7e/afe40eca3a2dc19b9904c0f5d7edfe82b5304cb831391edec0ac04af94c2/frozenlist-1.8.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:957e7c38f250991e48a9a73e6423db1bb9dd14e722a10f6b8bb8e16a0f55f695", size = 233160 }, + { url = "https://files.pythonhosted.org/packages/a6/aa/7416eac95603ce428679d273255ffc7c998d4132cfae200103f164b108aa/frozenlist-1.8.0-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:8585e3bb2cdea02fc88ffa245069c36555557ad3609e83be0ec71f54fd4abb52", size = 228544 }, + { url = "https://files.pythonhosted.org/packages/8b/3d/2a2d1f683d55ac7e3875e4263d28410063e738384d3adc294f5ff3d7105e/frozenlist-1.8.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:edee74874ce20a373d62dc28b0b18b93f645633c2943fd90ee9d898550770581", size = 243797 }, + { url = "https://files.pythonhosted.org/packages/78/1e/2d5565b589e580c296d3bb54da08d206e797d941a83a6fdea42af23be79c/frozenlist-1.8.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c9a63152fe95756b85f31186bddf42e4c02c6321207fd6601a1c89ebac4fe567", size = 247923 }, + { url = "https://files.pythonhosted.org/packages/aa/c3/65872fcf1d326a7f101ad4d86285c403c87be7d832b7470b77f6d2ed5ddc/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b6db2185db9be0a04fecf2f241c70b63b1a242e2805be291855078f2b404dd6b", size = 230886 }, + { url = "https://files.pythonhosted.org/packages/a0/76/ac9ced601d62f6956f03cc794f9e04c81719509f85255abf96e2510f4265/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:f4be2e3d8bc8aabd566f8d5b8ba7ecc09249d74ba3c9ed52e54dc23a293f0b92", size = 245731 }, + { url = "https://files.pythonhosted.org/packages/b9/49/ecccb5f2598daf0b4a1415497eba4c33c1e8ce07495eb07d2860c731b8d5/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:c8d1634419f39ea6f5c427ea2f90ca85126b54b50837f31497f3bf38266e853d", size = 241544 }, + { url = "https://files.pythonhosted.org/packages/53/4b/ddf24113323c0bbcc54cb38c8b8916f1da7165e07b8e24a717b4a12cbf10/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:1a7fa382a4a223773ed64242dbe1c9c326ec09457e6b8428efb4118c685c3dfd", size = 241806 }, + { url = "https://files.pythonhosted.org/packages/a7/fb/9b9a084d73c67175484ba2789a59f8eebebd0827d186a8102005ce41e1ba/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:11847b53d722050808926e785df837353bd4d75f1d494377e59b23594d834967", size = 229382 }, + { url = "https://files.pythonhosted.org/packages/95/a3/c8fb25aac55bf5e12dae5c5aa6a98f85d436c1dc658f21c3ac73f9fa95e5/frozenlist-1.8.0-cp311-cp311-win32.whl", hash = "sha256:27c6e8077956cf73eadd514be8fb04d77fc946a7fe9f7fe167648b0b9085cc25", size = 39647 }, + { url = "https://files.pythonhosted.org/packages/0a/f5/603d0d6a02cfd4c8f2a095a54672b3cf967ad688a60fb9faf04fc4887f65/frozenlist-1.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:ac913f8403b36a2c8610bbfd25b8013488533e71e62b4b4adce9c86c8cea905b", size = 44064 }, + { url = "https://files.pythonhosted.org/packages/5d/16/c2c9ab44e181f043a86f9a8f84d5124b62dbcb3a02c0977ec72b9ac1d3e0/frozenlist-1.8.0-cp311-cp311-win_arm64.whl", hash = "sha256:d4d3214a0f8394edfa3e303136d0575eece0745ff2b47bd2cb2e66dd92d4351a", size = 39937 }, + { url = "https://files.pythonhosted.org/packages/69/29/948b9aa87e75820a38650af445d2ef2b6b8a6fab1a23b6bb9e4ef0be2d59/frozenlist-1.8.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:78f7b9e5d6f2fdb88cdde9440dc147259b62b9d3b019924def9f6478be254ac1", size = 87782 }, + { url = "https://files.pythonhosted.org/packages/64/80/4f6e318ee2a7c0750ed724fa33a4bdf1eacdc5a39a7a24e818a773cd91af/frozenlist-1.8.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:229bf37d2e4acdaf808fd3f06e854a4a7a3661e871b10dc1f8f1896a3b05f18b", size = 50594 }, + { url = "https://files.pythonhosted.org/packages/2b/94/5c8a2b50a496b11dd519f4a24cb5496cf125681dd99e94c604ccdea9419a/frozenlist-1.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f833670942247a14eafbb675458b4e61c82e002a148f49e68257b79296e865c4", size = 50448 }, + { url = "https://files.pythonhosted.org/packages/6a/bd/d91c5e39f490a49df14320f4e8c80161cfcce09f1e2cde1edd16a551abb3/frozenlist-1.8.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:494a5952b1c597ba44e0e78113a7266e656b9794eec897b19ead706bd7074383", size = 242411 }, + { url = "https://files.pythonhosted.org/packages/8f/83/f61505a05109ef3293dfb1ff594d13d64a2324ac3482be2cedc2be818256/frozenlist-1.8.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:96f423a119f4777a4a056b66ce11527366a8bb92f54e541ade21f2374433f6d4", size = 243014 }, + { url = "https://files.pythonhosted.org/packages/d8/cb/cb6c7b0f7d4023ddda30cf56b8b17494eb3a79e3fda666bf735f63118b35/frozenlist-1.8.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3462dd9475af2025c31cc61be6652dfa25cbfb56cbbf52f4ccfe029f38decaf8", size = 234909 }, + { url = "https://files.pythonhosted.org/packages/31/c5/cd7a1f3b8b34af009fb17d4123c5a778b44ae2804e3ad6b86204255f9ec5/frozenlist-1.8.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c4c800524c9cd9bac5166cd6f55285957fcfc907db323e193f2afcd4d9abd69b", size = 250049 }, + { url = "https://files.pythonhosted.org/packages/c0/01/2f95d3b416c584a1e7f0e1d6d31998c4a795f7544069ee2e0962a4b60740/frozenlist-1.8.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d6a5df73acd3399d893dafc71663ad22534b5aa4f94e8a2fabfe856c3c1b6a52", size = 256485 }, + { url = "https://files.pythonhosted.org/packages/ce/03/024bf7720b3abaebcff6d0793d73c154237b85bdf67b7ed55e5e9596dc9a/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:405e8fe955c2280ce66428b3ca55e12b3c4e9c336fb2103a4937e891c69a4a29", size = 237619 }, + { url = "https://files.pythonhosted.org/packages/69/fa/f8abdfe7d76b731f5d8bd217827cf6764d4f1d9763407e42717b4bed50a0/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:908bd3f6439f2fef9e85031b59fd4f1297af54415fb60e4254a95f75b3cab3f3", size = 250320 }, + { url = "https://files.pythonhosted.org/packages/f5/3c/b051329f718b463b22613e269ad72138cc256c540f78a6de89452803a47d/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:294e487f9ec720bd8ffcebc99d575f7eff3568a08a253d1ee1a0378754b74143", size = 246820 }, + { url = "https://files.pythonhosted.org/packages/0f/ae/58282e8f98e444b3f4dd42448ff36fa38bef29e40d40f330b22e7108f565/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:74c51543498289c0c43656701be6b077f4b265868fa7f8a8859c197006efb608", size = 250518 }, + { url = "https://files.pythonhosted.org/packages/8f/96/007e5944694d66123183845a106547a15944fbbb7154788cbf7272789536/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:776f352e8329135506a1d6bf16ac3f87bc25b28e765949282dcc627af36123aa", size = 239096 }, + { url = "https://files.pythonhosted.org/packages/66/bb/852b9d6db2fa40be96f29c0d1205c306288f0684df8fd26ca1951d461a56/frozenlist-1.8.0-cp312-cp312-win32.whl", hash = "sha256:433403ae80709741ce34038da08511d4a77062aa924baf411ef73d1146e74faf", size = 39985 }, + { url = "https://files.pythonhosted.org/packages/b8/af/38e51a553dd66eb064cdf193841f16f077585d4d28394c2fa6235cb41765/frozenlist-1.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:34187385b08f866104f0c0617404c8eb08165ab1272e884abc89c112e9c00746", size = 44591 }, + { url = "https://files.pythonhosted.org/packages/a7/06/1dc65480ab147339fecc70797e9c2f69d9cea9cf38934ce08df070fdb9cb/frozenlist-1.8.0-cp312-cp312-win_arm64.whl", hash = "sha256:fe3c58d2f5db5fbd18c2987cba06d51b0529f52bc3a6cdc33d3f4eab725104bd", size = 40102 }, + { url = "https://files.pythonhosted.org/packages/2d/40/0832c31a37d60f60ed79e9dfb5a92e1e2af4f40a16a29abcc7992af9edff/frozenlist-1.8.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8d92f1a84bb12d9e56f818b3a746f3efba93c1b63c8387a73dde655e1e42282a", size = 85717 }, + { url = "https://files.pythonhosted.org/packages/30/ba/b0b3de23f40bc55a7057bd38434e25c34fa48e17f20ee273bbde5e0650f3/frozenlist-1.8.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:96153e77a591c8adc2ee805756c61f59fef4cf4073a9275ee86fe8cba41241f7", size = 49651 }, + { url = "https://files.pythonhosted.org/packages/0c/ab/6e5080ee374f875296c4243c381bbdef97a9ac39c6e3ce1d5f7d42cb78d6/frozenlist-1.8.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f21f00a91358803399890ab167098c131ec2ddd5f8f5fd5fe9c9f2c6fcd91e40", size = 49417 }, + { url = "https://files.pythonhosted.org/packages/d5/4e/e4691508f9477ce67da2015d8c00acd751e6287739123113a9fca6f1604e/frozenlist-1.8.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:fb30f9626572a76dfe4293c7194a09fb1fe93ba94c7d4f720dfae3b646b45027", size = 234391 }, + { url = "https://files.pythonhosted.org/packages/40/76/c202df58e3acdf12969a7895fd6f3bc016c642e6726aa63bd3025e0fc71c/frozenlist-1.8.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eaa352d7047a31d87dafcacbabe89df0aa506abb5b1b85a2fb91bc3faa02d822", size = 233048 }, + { url = "https://files.pythonhosted.org/packages/f9/c0/8746afb90f17b73ca5979c7a3958116e105ff796e718575175319b5bb4ce/frozenlist-1.8.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:03ae967b4e297f58f8c774c7eabcce57fe3c2434817d4385c50661845a058121", size = 226549 }, + { url = "https://files.pythonhosted.org/packages/7e/eb/4c7eefc718ff72f9b6c4893291abaae5fbc0c82226a32dcd8ef4f7a5dbef/frozenlist-1.8.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f6292f1de555ffcc675941d65fffffb0a5bcd992905015f85d0592201793e0e5", size = 239833 }, + { url = "https://files.pythonhosted.org/packages/c2/4e/e5c02187cf704224f8b21bee886f3d713ca379535f16893233b9d672ea71/frozenlist-1.8.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:29548f9b5b5e3460ce7378144c3010363d8035cea44bc0bf02d57f5a685e084e", size = 245363 }, + { url = "https://files.pythonhosted.org/packages/1f/96/cb85ec608464472e82ad37a17f844889c36100eed57bea094518bf270692/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ec3cc8c5d4084591b4237c0a272cc4f50a5b03396a47d9caaf76f5d7b38a4f11", size = 229314 }, + { url = "https://files.pythonhosted.org/packages/5d/6f/4ae69c550e4cee66b57887daeebe006fe985917c01d0fff9caab9883f6d0/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:517279f58009d0b1f2e7c1b130b377a349405da3f7621ed6bfae50b10adf20c1", size = 243365 }, + { url = "https://files.pythonhosted.org/packages/7a/58/afd56de246cf11780a40a2c28dc7cbabbf06337cc8ddb1c780a2d97e88d8/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:db1e72ede2d0d7ccb213f218df6a078a9c09a7de257c2fe8fcef16d5925230b1", size = 237763 }, + { url = "https://files.pythonhosted.org/packages/cb/36/cdfaf6ed42e2644740d4a10452d8e97fa1c062e2a8006e4b09f1b5fd7d63/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:b4dec9482a65c54a5044486847b8a66bf10c9cb4926d42927ec4e8fd5db7fed8", size = 240110 }, + { url = "https://files.pythonhosted.org/packages/03/a8/9ea226fbefad669f11b52e864c55f0bd57d3c8d7eb07e9f2e9a0b39502e1/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:21900c48ae04d13d416f0e1e0c4d81f7931f73a9dfa0b7a8746fb2fe7dd970ed", size = 233717 }, + { url = "https://files.pythonhosted.org/packages/1e/0b/1b5531611e83ba7d13ccc9988967ea1b51186af64c42b7a7af465dcc9568/frozenlist-1.8.0-cp313-cp313-win32.whl", hash = "sha256:8b7b94a067d1c504ee0b16def57ad5738701e4ba10cec90529f13fa03c833496", size = 39628 }, + { url = "https://files.pythonhosted.org/packages/d8/cf/174c91dbc9cc49bc7b7aab74d8b734e974d1faa8f191c74af9b7e80848e6/frozenlist-1.8.0-cp313-cp313-win_amd64.whl", hash = "sha256:878be833caa6a3821caf85eb39c5ba92d28e85df26d57afb06b35b2efd937231", size = 43882 }, + { url = "https://files.pythonhosted.org/packages/c1/17/502cd212cbfa96eb1388614fe39a3fc9ab87dbbe042b66f97acb57474834/frozenlist-1.8.0-cp313-cp313-win_arm64.whl", hash = "sha256:44389d135b3ff43ba8cc89ff7f51f5a0bb6b63d829c8300f79a2fe4fe61bcc62", size = 39676 }, + { url = "https://files.pythonhosted.org/packages/d2/5c/3bbfaa920dfab09e76946a5d2833a7cbdf7b9b4a91c714666ac4855b88b4/frozenlist-1.8.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:e25ac20a2ef37e91c1b39938b591457666a0fa835c7783c3a8f33ea42870db94", size = 89235 }, + { url = "https://files.pythonhosted.org/packages/d2/d6/f03961ef72166cec1687e84e8925838442b615bd0b8854b54923ce5b7b8a/frozenlist-1.8.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:07cdca25a91a4386d2e76ad992916a85038a9b97561bf7a3fd12d5d9ce31870c", size = 50742 }, + { url = "https://files.pythonhosted.org/packages/1e/bb/a6d12b7ba4c3337667d0e421f7181c82dda448ce4e7ad7ecd249a16fa806/frozenlist-1.8.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:4e0c11f2cc6717e0a741f84a527c52616140741cd812a50422f83dc31749fb52", size = 51725 }, + { url = "https://files.pythonhosted.org/packages/bc/71/d1fed0ffe2c2ccd70b43714c6cab0f4188f09f8a67a7914a6b46ee30f274/frozenlist-1.8.0-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b3210649ee28062ea6099cfda39e147fa1bc039583c8ee4481cb7811e2448c51", size = 284533 }, + { url = "https://files.pythonhosted.org/packages/c9/1f/fb1685a7b009d89f9bf78a42d94461bc06581f6e718c39344754a5d9bada/frozenlist-1.8.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:581ef5194c48035a7de2aefc72ac6539823bb71508189e5de01d60c9dcd5fa65", size = 292506 }, + { url = "https://files.pythonhosted.org/packages/e6/3b/b991fe1612703f7e0d05c0cf734c1b77aaf7c7d321df4572e8d36e7048c8/frozenlist-1.8.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3ef2d026f16a2b1866e1d86fc4e1291e1ed8a387b2c333809419a2f8b3a77b82", size = 274161 }, + { url = "https://files.pythonhosted.org/packages/ca/ec/c5c618767bcdf66e88945ec0157d7f6c4a1322f1473392319b7a2501ded7/frozenlist-1.8.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5500ef82073f599ac84d888e3a8c1f77ac831183244bfd7f11eaa0289fb30714", size = 294676 }, + { url = "https://files.pythonhosted.org/packages/7c/ce/3934758637d8f8a88d11f0585d6495ef54b2044ed6ec84492a91fa3b27aa/frozenlist-1.8.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:50066c3997d0091c411a66e710f4e11752251e6d2d73d70d8d5d4c76442a199d", size = 300638 }, + { url = "https://files.pythonhosted.org/packages/fc/4f/a7e4d0d467298f42de4b41cbc7ddaf19d3cfeabaf9ff97c20c6c7ee409f9/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:5c1c8e78426e59b3f8005e9b19f6ff46e5845895adbde20ece9218319eca6506", size = 283067 }, + { url = "https://files.pythonhosted.org/packages/dc/48/c7b163063d55a83772b268e6d1affb960771b0e203b632cfe09522d67ea5/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:eefdba20de0d938cec6a89bd4d70f346a03108a19b9df4248d3cf0d88f1b0f51", size = 292101 }, + { url = "https://files.pythonhosted.org/packages/9f/d0/2366d3c4ecdc2fd391e0afa6e11500bfba0ea772764d631bbf82f0136c9d/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:cf253e0e1c3ceb4aaff6df637ce033ff6535fb8c70a764a8f46aafd3d6ab798e", size = 289901 }, + { url = "https://files.pythonhosted.org/packages/b8/94/daff920e82c1b70e3618a2ac39fbc01ae3e2ff6124e80739ce5d71c9b920/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:032efa2674356903cd0261c4317a561a6850f3ac864a63fc1583147fb05a79b0", size = 289395 }, + { url = "https://files.pythonhosted.org/packages/e3/20/bba307ab4235a09fdcd3cc5508dbabd17c4634a1af4b96e0f69bfe551ebd/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6da155091429aeba16851ecb10a9104a108bcd32f6c1642867eadaee401c1c41", size = 283659 }, + { url = "https://files.pythonhosted.org/packages/fd/00/04ca1c3a7a124b6de4f8a9a17cc2fcad138b4608e7a3fc5877804b8715d7/frozenlist-1.8.0-cp313-cp313t-win32.whl", hash = "sha256:0f96534f8bfebc1a394209427d0f8a63d343c9779cda6fc25e8e121b5fd8555b", size = 43492 }, + { url = "https://files.pythonhosted.org/packages/59/5e/c69f733a86a94ab10f68e496dc6b7e8bc078ebb415281d5698313e3af3a1/frozenlist-1.8.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5d63a068f978fc69421fb0e6eb91a9603187527c86b7cd3f534a5b77a592b888", size = 48034 }, + { url = "https://files.pythonhosted.org/packages/16/6c/be9d79775d8abe79b05fa6d23da99ad6e7763a1d080fbae7290b286093fd/frozenlist-1.8.0-cp313-cp313t-win_arm64.whl", hash = "sha256:bf0a7e10b077bf5fb9380ad3ae8ce20ef919a6ad93b4552896419ac7e1d8e042", size = 41749 }, + { url = "https://files.pythonhosted.org/packages/f1/c8/85da824b7e7b9b6e7f7705b2ecaf9591ba6f79c1177f324c2735e41d36a2/frozenlist-1.8.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:cee686f1f4cadeb2136007ddedd0aaf928ab95216e7691c63e50a8ec066336d0", size = 86127 }, + { url = "https://files.pythonhosted.org/packages/8e/e8/a1185e236ec66c20afd72399522f142c3724c785789255202d27ae992818/frozenlist-1.8.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:119fb2a1bd47307e899c2fac7f28e85b9a543864df47aa7ec9d3c1b4545f096f", size = 49698 }, + { url = "https://files.pythonhosted.org/packages/a1/93/72b1736d68f03fda5fdf0f2180fb6caaae3894f1b854d006ac61ecc727ee/frozenlist-1.8.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:4970ece02dbc8c3a92fcc5228e36a3e933a01a999f7094ff7c23fbd2beeaa67c", size = 49749 }, + { url = "https://files.pythonhosted.org/packages/a7/b2/fabede9fafd976b991e9f1b9c8c873ed86f202889b864756f240ce6dd855/frozenlist-1.8.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:cba69cb73723c3f329622e34bdbf5ce1f80c21c290ff04256cff1cd3c2036ed2", size = 231298 }, + { url = "https://files.pythonhosted.org/packages/3a/3b/d9b1e0b0eed36e70477ffb8360c49c85c8ca8ef9700a4e6711f39a6e8b45/frozenlist-1.8.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:778a11b15673f6f1df23d9586f83c4846c471a8af693a22e066508b77d201ec8", size = 232015 }, + { url = "https://files.pythonhosted.org/packages/dc/94/be719d2766c1138148564a3960fc2c06eb688da592bdc25adcf856101be7/frozenlist-1.8.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0325024fe97f94c41c08872db482cf8ac4800d80e79222c6b0b7b162d5b13686", size = 225038 }, + { url = "https://files.pythonhosted.org/packages/e4/09/6712b6c5465f083f52f50cf74167b92d4ea2f50e46a9eea0523d658454ae/frozenlist-1.8.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:97260ff46b207a82a7567b581ab4190bd4dfa09f4db8a8b49d1a958f6aa4940e", size = 240130 }, + { url = "https://files.pythonhosted.org/packages/f8/d4/cd065cdcf21550b54f3ce6a22e143ac9e4836ca42a0de1022da8498eac89/frozenlist-1.8.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:54b2077180eb7f83dd52c40b2750d0a9f175e06a42e3213ce047219de902717a", size = 242845 }, + { url = "https://files.pythonhosted.org/packages/62/c3/f57a5c8c70cd1ead3d5d5f776f89d33110b1addae0ab010ad774d9a44fb9/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:2f05983daecab868a31e1da44462873306d3cbfd76d1f0b5b69c473d21dbb128", size = 229131 }, + { url = "https://files.pythonhosted.org/packages/6c/52/232476fe9cb64f0742f3fde2b7d26c1dac18b6d62071c74d4ded55e0ef94/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:33f48f51a446114bc5d251fb2954ab0164d5be02ad3382abcbfe07e2531d650f", size = 240542 }, + { url = "https://files.pythonhosted.org/packages/5f/85/07bf3f5d0fb5414aee5f47d33c6f5c77bfe49aac680bfece33d4fdf6a246/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:154e55ec0655291b5dd1b8731c637ecdb50975a2ae70c606d100750a540082f7", size = 237308 }, + { url = "https://files.pythonhosted.org/packages/11/99/ae3a33d5befd41ac0ca2cc7fd3aa707c9c324de2e89db0e0f45db9a64c26/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:4314debad13beb564b708b4a496020e5306c7333fa9a3ab90374169a20ffab30", size = 238210 }, + { url = "https://files.pythonhosted.org/packages/b2/60/b1d2da22f4970e7a155f0adde9b1435712ece01b3cd45ba63702aea33938/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:073f8bf8becba60aa931eb3bc420b217bb7d5b8f4750e6f8b3be7f3da85d38b7", size = 231972 }, + { url = "https://files.pythonhosted.org/packages/3f/ab/945b2f32de889993b9c9133216c068b7fcf257d8595a0ac420ac8677cab0/frozenlist-1.8.0-cp314-cp314-win32.whl", hash = "sha256:bac9c42ba2ac65ddc115d930c78d24ab8d4f465fd3fc473cdedfccadb9429806", size = 40536 }, + { url = "https://files.pythonhosted.org/packages/59/ad/9caa9b9c836d9ad6f067157a531ac48b7d36499f5036d4141ce78c230b1b/frozenlist-1.8.0-cp314-cp314-win_amd64.whl", hash = "sha256:3e0761f4d1a44f1d1a47996511752cf3dcec5bbdd9cc2b4fe595caf97754b7a0", size = 44330 }, + { url = "https://files.pythonhosted.org/packages/82/13/e6950121764f2676f43534c555249f57030150260aee9dcf7d64efda11dd/frozenlist-1.8.0-cp314-cp314-win_arm64.whl", hash = "sha256:d1eaff1d00c7751b7c6662e9c5ba6eb2c17a2306ba5e2a37f24ddf3cc953402b", size = 40627 }, + { url = "https://files.pythonhosted.org/packages/c0/c7/43200656ecc4e02d3f8bc248df68256cd9572b3f0017f0a0c4e93440ae23/frozenlist-1.8.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:d3bb933317c52d7ea5004a1c442eef86f426886fba134ef8cf4226ea6ee1821d", size = 89238 }, + { url = "https://files.pythonhosted.org/packages/d1/29/55c5f0689b9c0fb765055629f472c0de484dcaf0acee2f7707266ae3583c/frozenlist-1.8.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:8009897cdef112072f93a0efdce29cd819e717fd2f649ee3016efd3cd885a7ed", size = 50738 }, + { url = "https://files.pythonhosted.org/packages/ba/7d/b7282a445956506fa11da8c2db7d276adcbf2b17d8bb8407a47685263f90/frozenlist-1.8.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:2c5dcbbc55383e5883246d11fd179782a9d07a986c40f49abe89ddf865913930", size = 51739 }, + { url = "https://files.pythonhosted.org/packages/62/1c/3d8622e60d0b767a5510d1d3cf21065b9db874696a51ea6d7a43180a259c/frozenlist-1.8.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:39ecbc32f1390387d2aa4f5a995e465e9e2f79ba3adcac92d68e3e0afae6657c", size = 284186 }, + { url = "https://files.pythonhosted.org/packages/2d/14/aa36d5f85a89679a85a1d44cd7a6657e0b1c75f61e7cad987b203d2daca8/frozenlist-1.8.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92db2bf818d5cc8d9c1f1fc56b897662e24ea5adb36ad1f1d82875bd64e03c24", size = 292196 }, + { url = "https://files.pythonhosted.org/packages/05/23/6bde59eb55abd407d34f77d39a5126fb7b4f109a3f611d3929f14b700c66/frozenlist-1.8.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:2dc43a022e555de94c3b68a4ef0b11c4f747d12c024a520c7101709a2144fb37", size = 273830 }, + { url = "https://files.pythonhosted.org/packages/d2/3f/22cff331bfad7a8afa616289000ba793347fcd7bc275f3b28ecea2a27909/frozenlist-1.8.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:cb89a7f2de3602cfed448095bab3f178399646ab7c61454315089787df07733a", size = 294289 }, + { url = "https://files.pythonhosted.org/packages/a4/89/5b057c799de4838b6c69aa82b79705f2027615e01be996d2486a69ca99c4/frozenlist-1.8.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:33139dc858c580ea50e7e60a1b0ea003efa1fd42e6ec7fdbad78fff65fad2fd2", size = 300318 }, + { url = "https://files.pythonhosted.org/packages/30/de/2c22ab3eb2a8af6d69dc799e48455813bab3690c760de58e1bf43b36da3e/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:168c0969a329b416119507ba30b9ea13688fafffac1b7822802537569a1cb0ef", size = 282814 }, + { url = "https://files.pythonhosted.org/packages/59/f7/970141a6a8dbd7f556d94977858cfb36fa9b66e0892c6dd780d2219d8cd8/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:28bd570e8e189d7f7b001966435f9dac6718324b5be2990ac496cf1ea9ddb7fe", size = 291762 }, + { url = "https://files.pythonhosted.org/packages/c1/15/ca1adae83a719f82df9116d66f5bb28bb95557b3951903d39135620ef157/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:b2a095d45c5d46e5e79ba1e5b9cb787f541a8dee0433836cea4b96a2c439dcd8", size = 289470 }, + { url = "https://files.pythonhosted.org/packages/ac/83/dca6dc53bf657d371fbc88ddeb21b79891e747189c5de990b9dfff2ccba1/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:eab8145831a0d56ec9c4139b6c3e594c7a83c2c8be25d5bcf2d86136a532287a", size = 289042 }, + { url = "https://files.pythonhosted.org/packages/96/52/abddd34ca99be142f354398700536c5bd315880ed0a213812bc491cff5e4/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:974b28cf63cc99dfb2188d8d222bc6843656188164848c4f679e63dae4b0708e", size = 283148 }, + { url = "https://files.pythonhosted.org/packages/af/d3/76bd4ed4317e7119c2b7f57c3f6934aba26d277acc6309f873341640e21f/frozenlist-1.8.0-cp314-cp314t-win32.whl", hash = "sha256:342c97bf697ac5480c0a7ec73cd700ecfa5a8a40ac923bd035484616efecc2df", size = 44676 }, + { url = "https://files.pythonhosted.org/packages/89/76/c615883b7b521ead2944bb3480398cbb07e12b7b4e4d073d3752eb721558/frozenlist-1.8.0-cp314-cp314t-win_amd64.whl", hash = "sha256:06be8f67f39c8b1dc671f5d83aaefd3358ae5cdcf8314552c57e7ed3e6475bdd", size = 49451 }, + { url = "https://files.pythonhosted.org/packages/e0/a3/5982da14e113d07b325230f95060e2169f5311b1017ea8af2a29b374c289/frozenlist-1.8.0-cp314-cp314t-win_arm64.whl", hash = "sha256:102e6314ca4da683dca92e3b1355490fed5f313b768500084fbe6371fddfdb79", size = 42507 }, + { url = "https://files.pythonhosted.org/packages/c2/59/ae5cdac87a00962122ea37bb346d41b66aec05f9ce328fa2b9e216f8967b/frozenlist-1.8.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d8b7138e5cd0647e4523d6685b0eac5d4be9a184ae9634492f25c6eb38c12a47", size = 86967 }, + { url = "https://files.pythonhosted.org/packages/8a/10/17059b2db5a032fd9323c41c39e9d1f5f9d0c8f04d1e4e3e788573086e61/frozenlist-1.8.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a6483e309ca809f1efd154b4d37dc6d9f61037d6c6a81c2dc7a15cb22c8c5dca", size = 49984 }, + { url = "https://files.pythonhosted.org/packages/4b/de/ad9d82ca8e5fa8f0c636e64606553c79e2b859ad253030b62a21fe9986f5/frozenlist-1.8.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1b9290cf81e95e93fdf90548ce9d3c1211cf574b8e3f4b3b7cb0537cf2227068", size = 50240 }, + { url = "https://files.pythonhosted.org/packages/4e/45/3dfb7767c2a67d123650122b62ce13c731b6c745bc14424eea67678b508c/frozenlist-1.8.0-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:59a6a5876ca59d1b63af8cd5e7ffffb024c3dc1e9cf9301b21a2e76286505c95", size = 219472 }, + { url = "https://files.pythonhosted.org/packages/0b/bf/5bf23d913a741b960d5c1dac7c1985d8a2a1d015772b2d18ea168b08e7ff/frozenlist-1.8.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6dc4126390929823e2d2d9dc79ab4046ed74680360fc5f38b585c12c66cdf459", size = 221531 }, + { url = "https://files.pythonhosted.org/packages/d0/03/27ec393f3b55860859f4b74cdc8c2a4af3dbf3533305e8eacf48a4fd9a54/frozenlist-1.8.0-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:332db6b2563333c5671fecacd085141b5800cb866be16d5e3eb15a2086476675", size = 219211 }, + { url = "https://files.pythonhosted.org/packages/3a/ad/0fd00c404fa73fe9b169429e9a972d5ed807973c40ab6b3cf9365a33d360/frozenlist-1.8.0-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9ff15928d62a0b80bb875655c39bf517938c7d589554cbd2669be42d97c2cb61", size = 231775 }, + { url = "https://files.pythonhosted.org/packages/8a/c3/86962566154cb4d2995358bc8331bfc4ea19d07db1a96f64935a1607f2b6/frozenlist-1.8.0-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7bf6cdf8e07c8151fba6fe85735441240ec7f619f935a5205953d58009aef8c6", size = 236631 }, + { url = "https://files.pythonhosted.org/packages/ea/9e/6ffad161dbd83782d2c66dc4d378a9103b31770cb1e67febf43aea42d202/frozenlist-1.8.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:48e6d3f4ec5c7273dfe83ff27c91083c6c9065af655dc2684d2c200c94308bb5", size = 218632 }, + { url = "https://files.pythonhosted.org/packages/58/b2/4677eee46e0a97f9b30735e6ad0bf6aba3e497986066eb68807ac85cf60f/frozenlist-1.8.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:1a7607e17ad33361677adcd1443edf6f5da0ce5e5377b798fba20fae194825f3", size = 235967 }, + { url = "https://files.pythonhosted.org/packages/05/f3/86e75f8639c5a93745ca7addbbc9de6af56aebb930d233512b17e46f6493/frozenlist-1.8.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:5a3a935c3a4e89c733303a2d5a7c257ea44af3a56c8202df486b7f5de40f37e1", size = 228799 }, + { url = "https://files.pythonhosted.org/packages/30/00/39aad3a7f0d98f5eb1d99a3c311215674ed87061aecee7851974b335c050/frozenlist-1.8.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:940d4a017dbfed9daf46a3b086e1d2167e7012ee297fef9e1c545c4d022f5178", size = 230566 }, + { url = "https://files.pythonhosted.org/packages/0d/4d/aa144cac44568d137846ddc4d5210fb5d9719eb1d7ec6fa2728a54b5b94a/frozenlist-1.8.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b9be22a69a014bc47e78072d0ecae716f5eb56c15238acca0f43d6eb8e4a5bda", size = 217715 }, + { url = "https://files.pythonhosted.org/packages/64/4c/8f665921667509d25a0dd72540513bc86b356c95541686f6442a3283019f/frozenlist-1.8.0-cp39-cp39-win32.whl", hash = "sha256:1aa77cb5697069af47472e39612976ed05343ff2e84a3dcf15437b232cbfd087", size = 39933 }, + { url = "https://files.pythonhosted.org/packages/79/bd/bcc926f87027fad5e59926ff12d136e1082a115025d33c032d1cd69ab377/frozenlist-1.8.0-cp39-cp39-win_amd64.whl", hash = "sha256:7398c222d1d405e796970320036b1b563892b65809d9e5261487bb2c7f7b5c6a", size = 44121 }, + { url = "https://files.pythonhosted.org/packages/4c/07/9c2e4eb7584af4b705237b971b89a4155a8e57599c4483a131a39256a9a0/frozenlist-1.8.0-cp39-cp39-win_arm64.whl", hash = "sha256:b4f3b365f31c6cd4af24545ca0a244a53688cad8834e32f56831c4923b50a103", size = 40312 }, + { url = "https://files.pythonhosted.org/packages/9a/9a/e35b4a917281c0b8419d4207f4334c8e8c5dbf4f3f5f9ada73958d937dcc/frozenlist-1.8.0-py3-none-any.whl", hash = "sha256:0c18a16eab41e82c295618a77502e17b195883241c563b00f0aa5106fc4eaa0d", size = 13409 }, +] + +[[distribution]] +name = "idna" +version = "3.16" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1a/88/bcf9709822fe69d02c2a6a77956c98ce6ea8ca8767a9aadcedc7eb6a2390/idna-3.16.tar.gz", hash = "sha256:d7a6da03db833450fca25d2358ac9ff06cd624577a4aea3a596d5c0f77b8e03d", size = 203770 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/94/16/70255075a9859a0e3adb789b68ceb0e210dec03934245fd98d248226572f/idna-3.16-py3-none-any.whl", hash = "sha256:cc246e3a3f89580c3a951b5ad298ca4638078b2cdd4f115654332b5c26daded5", size = 74165 }, +] + +[[distribution]] +name = "iniconfig" +version = "2.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", size = 4793 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050 }, +] + +[[distribution]] +name = "jsonschema" +version = "4.25.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "jsonschema-specifications" }, + { name = "referencing" }, + { name = "rpds-py" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/74/69/f7185de793a29082a9f3c7728268ffb31cb5095131a9c139a74078e27336/jsonschema-4.25.1.tar.gz", hash = "sha256:e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85", size = 357342 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bf/9c/8c95d856233c1f82500c2450b8c68576b4cf1c871db3afac5c34ff84e6fd/jsonschema-4.25.1-py3-none-any.whl", hash = "sha256:3fba0169e345c7175110351d456342c364814cfcf3b964ba4587f22915230a63", size = 90040 }, +] + +[[distribution]] +name = "jsonschema-specifications" +version = "2025.9.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "referencing" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz", hash = "sha256:b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d", size = 32855 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl", hash = "sha256:98802fee3a11ee76ecaca44429fda8a41bff98b00a0f2838151b113f210cc6fe", size = 18437 }, +] + +[[distribution]] +name = "maturin" +version = "1.13.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "tomli", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9c/1c/612d23d33ec21b9ae7ece7b3f0dd5f9dfd57b4009e9d2938165869ebd6ae/maturin-1.13.3.tar.gz", hash = "sha256:771e1e9e71a278e56db01552e0d1acfd1464259f9575b6e72842f893cd299079", size = 357934 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/71/66/18c2aaac0b2a5dea9f1db5984ce83b905ad205cfc7c02d0091e707c0c2e7/maturin-1.13.3-py3-none-linux_armv6l.whl", hash = "sha256:3cc13929ca82aefa4adbf0f2c35419369796213c6fb0eb24e914945f50ef5d8c", size = 10190971 }, + { url = "https://files.pythonhosted.org/packages/bc/71/26a988d092e4fd6a9523d46d44400a46cad7cdf3fd206ce702240c748aee/maturin-1.13.3-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:53b08bd075649ce96513ad9abf241a43cb685ed6e9e7790f8dbc2d66e95d8323", size = 19716714 }, + { url = "https://files.pythonhosted.org/packages/82/5c/f3fd0e184255d9fc7e272c62af3dfa84c617b2577ef83af9ce615f5279cc/maturin-1.13.3-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:4cd478e6e4c56251e48ed079b8efd55b30bc5c09cf695a1bdafaeb582ee735a0", size = 10194726 }, + { url = "https://files.pythonhosted.org/packages/a9/e1/f4edb69fb647b77c4769a9bfd4d6fb62961e653d164bc277ecdffac3ab61/maturin-1.13.3-py3-none-manylinux_2_12_i686.manylinux2010_i686.musllinux_1_1_i686.whl", hash = "sha256:a2675e25f313034ae6f57388cf14818f87d8961c4a96795287f3e155f59beb11", size = 10172781 }, + { url = "https://files.pythonhosted.org/packages/c7/7d/a1be934690cdcc3c6609769ceaad322ab7501c2ee5bafcac1b14d609e403/maturin-1.13.3-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl", hash = "sha256:4667ef609ab446c1b5e0bfe4f9fb99699ab6d8548433f8d1a684256e0b67217f", size = 10682670 }, + { url = "https://files.pythonhosted.org/packages/18/f5/372ae19b72ce8f6e37e5864ae4dc5b252ee9fce0619ccc3aa366aa3a7f97/maturin-1.13.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl", hash = "sha256:3db93337ed97e60ffc878aa8b493cd7ae44d3a5e1a37256db3a4491f57565018", size = 10060363 }, + { url = "https://files.pythonhosted.org/packages/cb/5b/c68340cca09368af0df80965dfabed4234205a492a93da00793c7b9aae20/maturin-1.13.3-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.musllinux_1_1_armv7l.whl", hash = "sha256:1cc0a110b224ca90406b668a3e3c1f5a515062e59e26292f6dbaf5fd4909c6f3", size = 10017551 }, + { url = "https://files.pythonhosted.org/packages/28/1e/f90fb2b000bad9e6d850cd5afb88b2f1e2a279cfb4de02ea40078484690e/maturin-1.13.3-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.musllinux_1_1_ppc64le.whl", hash = "sha256:c00ea6428dea17bf616fe93770837634454b28c2de1a876e42ef8036c616079a", size = 13301712 }, + { url = "https://files.pythonhosted.org/packages/be/58/1670f68a8f04ccd7b90df11047bd9a046585310e84e1967cc9849cd1c5a3/maturin-1.13.3-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:49fd6ab08da28098ccf37afca24cdba72376ba9c1eedf9dd25ff82ed771961ff", size = 10946765 }, + { url = "https://files.pythonhosted.org/packages/4b/ac/00c955c2ef134817b1a7bdaa76b0309e9c5291eb17d9ff88069eecd08bc2/maturin-1.13.3-py3-none-manylinux_2_31_riscv64.musllinux_1_1_riscv64.whl", hash = "sha256:b6741d7bf4af97da937528fd1e523c6ab54f53d9a21870fa735d6e67fd88e273", size = 10388661 }, + { url = "https://files.pythonhosted.org/packages/97/c6/cbf8a51dde19c19aeba0d9b075095a2effb9b31fd312b1aae3ac79f8aea2/maturin-1.13.3-py3-none-win32.whl", hash = "sha256:0ef257e692cc756c87af5bea95ddfe7d3ac49d3376a7a87f728d63f06e7b6f8b", size = 8901838 }, + { url = "https://files.pythonhosted.org/packages/a1/ff/c6a50a59dc8313097d43ac5f4d74df6a500c8cb62b0dc9e054f53e203a48/maturin-1.13.3-py3-none-win_amd64.whl", hash = "sha256:def4a435ea9d2ee93b18ba579dc8c9cf898889a66f312cd379b5e374ec3e3ad6", size = 10340801 }, + { url = "https://files.pythonhosted.org/packages/6c/93/e32e79333f0902ba292b996f504f5f06be59587f7d02ab8d5ed1e3066445/maturin-1.13.3-py3-none-win_arm64.whl", hash = "sha256:2389fe92d017cea9d94e521fa0175314a4c52f79a1057b901fbc9f8686ef7d0b", size = 9706562 }, +] + +[[distribution]] +name = "multidict" +version = "6.7.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/1a/c2/c2d94cbe6ac1753f3fc980da97b3d930efe1da3af3c9f5125354436c073d/multidict-6.7.1.tar.gz", hash = "sha256:ec6652a1bee61c53a3e5776b6049172c53b6aaba34f18c9ad04f82712bac623d", size = 102010 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/84/0b/19348d4c98980c4851d2f943f8ebafdece2ae7ef737adcfa5994ce8e5f10/multidict-6.7.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c93c3db7ea657dd4637d57e74ab73de31bccefe144d3d4ce370052035bc85fb5", size = 77176 }, + { url = "https://files.pythonhosted.org/packages/ef/04/9de3f8077852e3d438215c81e9b691244532d2e05b4270e89ce67b7d103c/multidict-6.7.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:974e72a2474600827abaeda71af0c53d9ebbc3c2eb7da37b37d7829ae31232d8", size = 44996 }, + { url = "https://files.pythonhosted.org/packages/31/5c/08c7f7fe311f32e83f7621cd3f99d805f45519cd06fafb247628b861da7d/multidict-6.7.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cdea2e7b2456cfb6694fb113066fd0ec7ea4d67e3a35e1f4cbeea0b448bf5872", size = 44631 }, + { url = "https://files.pythonhosted.org/packages/b7/7f/0e3b1390ae772f27501199996b94b52ceeb64fe6f9120a32c6c3f6b781be/multidict-6.7.1-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:17207077e29342fdc2c9a82e4b306f1127bf1ea91f8b71e02d4798a70bb99991", size = 242561 }, + { url = "https://files.pythonhosted.org/packages/dd/f4/8719f4f167586af317b69dd3e90f913416c91ca610cac79a45c53f590312/multidict-6.7.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d4f49cb5661344764e4c7c7973e92a47a59b8fc19b6523649ec9dc4960e58a03", size = 242223 }, + { url = "https://files.pythonhosted.org/packages/47/ab/7c36164cce64a6ad19c6d9a85377b7178ecf3b89f8fd589c73381a5eedfd/multidict-6.7.1-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a9fc4caa29e2e6ae408d1c450ac8bf19892c5fca83ee634ecd88a53332c59981", size = 222322 }, + { url = "https://files.pythonhosted.org/packages/f5/79/a25add6fb38035b5337bc5734f296d9afc99163403bbcf56d4170f97eb62/multidict-6.7.1-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c5f0c21549ab432b57dcc82130f388d84ad8179824cc3f223d5e7cfbfd4143f6", size = 254005 }, + { url = "https://files.pythonhosted.org/packages/4a/7b/64a87cf98e12f756fc8bd444b001232ffff2be37288f018ad0d3f0aae931/multidict-6.7.1-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7dfb78d966b2c906ae1d28ccf6e6712a3cd04407ee5088cd276fe8cb42186190", size = 251173 }, + { url = "https://files.pythonhosted.org/packages/4b/ac/b605473de2bb404e742f2cc3583d12aedb2352a70e49ae8fce455b50c5aa/multidict-6.7.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9b0d9b91d1aa44db9c1f1ecd0d9d2ae610b2f4f856448664e01a3b35899f3f92", size = 243273 }, + { url = "https://files.pythonhosted.org/packages/03/65/11492d6a0e259783720f3bc1d9ea55579a76f1407e31ed44045c99542004/multidict-6.7.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:dd96c01a9dcd4889dcfcf9eb5544ca0c77603f239e3ffab0524ec17aea9a93ee", size = 238956 }, + { url = "https://files.pythonhosted.org/packages/5f/a7/7ee591302af64e7c196fb63fe856c788993c1372df765102bd0448e7e165/multidict-6.7.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:067343c68cd6612d375710f895337b3a98a033c94f14b9a99eff902f205424e2", size = 233477 }, + { url = "https://files.pythonhosted.org/packages/9c/99/c109962d58756c35fd9992fed7f2355303846ea2ff054bb5f5e9d6b888de/multidict-6.7.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:5884a04f4ff56c6120f6ccf703bdeb8b5079d808ba604d4d53aec0d55dc33568", size = 243615 }, + { url = "https://files.pythonhosted.org/packages/d5/5f/1973e7c771c86e93dcfe1c9cc55a5481b610f6614acfc28c0d326fe6bfad/multidict-6.7.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8affcf1c98b82bc901702eb73b6947a1bfa170823c153fe8a47b5f5f02e48e40", size = 249930 }, + { url = "https://files.pythonhosted.org/packages/5d/a5/f170fc2268c3243853580203378cd522446b2df632061e0a5409817854c7/multidict-6.7.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:0d17522c37d03e85c8098ec8431636309b2682cf12e58f4dbc76121fb50e4962", size = 243807 }, + { url = "https://files.pythonhosted.org/packages/de/01/73856fab6d125e5bc652c3986b90e8699a95e84b48d72f39ade6c0e74a8c/multidict-6.7.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:24c0cf81544ca5e17cfcb6e482e7a82cd475925242b308b890c9452a074d4505", size = 239103 }, + { url = "https://files.pythonhosted.org/packages/e7/46/f1220bd9944d8aa40d8ccff100eeeee19b505b857b6f603d6078cb5315b0/multidict-6.7.1-cp310-cp310-win32.whl", hash = "sha256:d82dd730a95e6643802f4454b8fdecdf08667881a9c5670db85bc5a56693f122", size = 41416 }, + { url = "https://files.pythonhosted.org/packages/68/00/9b38e272a770303692fc406c36e1a4c740f401522d5787691eb38a8925a8/multidict-6.7.1-cp310-cp310-win_amd64.whl", hash = "sha256:cf37cbe5ced48d417ba045aca1b21bafca67489452debcde94778a576666a1df", size = 46022 }, + { url = "https://files.pythonhosted.org/packages/64/65/d8d42490c02ee07b6bbe00f7190d70bb4738b3cce7629aaf9f213ef730dd/multidict-6.7.1-cp310-cp310-win_arm64.whl", hash = "sha256:59bc83d3f66b41dac1e7460aac1d196edc70c9ba3094965c467715a70ecb46db", size = 43238 }, + { url = "https://files.pythonhosted.org/packages/ce/f1/a90635c4f88fb913fbf4ce660b83b7445b7a02615bda034b2f8eb38fd597/multidict-6.7.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7ff981b266af91d7b4b3793ca3382e53229088d193a85dfad6f5f4c27fc73e5d", size = 76626 }, + { url = "https://files.pythonhosted.org/packages/a6/9b/267e64eaf6fc637a15b35f5de31a566634a2740f97d8d094a69d34f524a4/multidict-6.7.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:844c5bca0b5444adb44a623fb0a1310c2f4cd41f402126bb269cd44c9b3f3e1e", size = 44706 }, + { url = "https://files.pythonhosted.org/packages/dd/a4/d45caf2b97b035c57267791ecfaafbd59c68212004b3842830954bb4b02e/multidict-6.7.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f2a0a924d4c2e9afcd7ec64f9de35fcd96915149b2216e1cb2c10a56df483855", size = 44356 }, + { url = "https://files.pythonhosted.org/packages/fd/d2/0a36c8473f0cbaeadd5db6c8b72d15bbceeec275807772bfcd059bef487d/multidict-6.7.1-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:8be1802715a8e892c784c0197c2ace276ea52702a0ede98b6310c8f255a5afb3", size = 244355 }, + { url = "https://files.pythonhosted.org/packages/5d/16/8c65be997fd7dd311b7d39c7b6e71a0cb449bad093761481eccbbe4b42a2/multidict-6.7.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2e2d2ed645ea29f31c4c7ea1552fcfd7cb7ba656e1eafd4134a6620c9f5fdd9e", size = 246433 }, + { url = "https://files.pythonhosted.org/packages/01/fb/4dbd7e848d2799c6a026ec88ad39cf2b8416aa167fcc903baa55ecaa045c/multidict-6.7.1-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:95922cee9a778659e91db6497596435777bd25ed116701a4c034f8e46544955a", size = 225376 }, + { url = "https://files.pythonhosted.org/packages/b6/8a/4a3a6341eac3830f6053062f8fbc9a9e54407c80755b3f05bc427295c2d0/multidict-6.7.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6b83cabdc375ffaaa15edd97eb7c0c672ad788e2687004990074d7d6c9b140c8", size = 257365 }, + { url = "https://files.pythonhosted.org/packages/f7/a2/dd575a69c1aa206e12d27d0770cdf9b92434b48a9ef0cd0d1afdecaa93c4/multidict-6.7.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:38fb49540705369bab8484db0689d86c0a33a0a9f2c1b197f506b71b4b6c19b0", size = 254747 }, + { url = "https://files.pythonhosted.org/packages/5a/56/21b27c560c13822ed93133f08aa6372c53a8e067f11fbed37b4adcdac922/multidict-6.7.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:439cbebd499f92e9aa6793016a8acaa161dfa749ae86d20960189f5398a19144", size = 246293 }, + { url = "https://files.pythonhosted.org/packages/5a/a4/23466059dc3854763423d0ad6c0f3683a379d97673b1b89ec33826e46728/multidict-6.7.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6d3bc717b6fe763b8be3f2bee2701d3c8eb1b2a8ae9f60910f1b2860c82b6c49", size = 242962 }, + { url = "https://files.pythonhosted.org/packages/1f/67/51dd754a3524d685958001e8fa20a0f5f90a6a856e0a9dcabff69be3dbb7/multidict-6.7.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:619e5a1ac57986dbfec9f0b301d865dddf763696435e2962f6d9cf2fdff2bb71", size = 237360 }, + { url = "https://files.pythonhosted.org/packages/64/3f/036dfc8c174934d4b55d86ff4f978e558b0e585cef70cfc1ad01adc6bf18/multidict-6.7.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:0b38ebffd9be37c1170d33bc0f36f4f262e0a09bc1aac1c34c7aa51a7293f0b3", size = 245940 }, + { url = "https://files.pythonhosted.org/packages/3d/20/6214d3c105928ebc353a1c644a6ef1408bc5794fcb4f170bb524a3c16311/multidict-6.7.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:10ae39c9cfe6adedcdb764f5e8411d4a92b055e35573a2eaa88d3323289ef93c", size = 253502 }, + { url = "https://files.pythonhosted.org/packages/b1/e2/c653bc4ae1be70a0f836b82172d643fcf1dade042ba2676ab08ec08bff0f/multidict-6.7.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:25167cc263257660290fba06b9318d2026e3c910be240a146e1f66dd114af2b0", size = 247065 }, + { url = "https://files.pythonhosted.org/packages/c8/11/a854b4154cd3bd8b1fd375e8a8ca9d73be37610c361543d56f764109509b/multidict-6.7.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:128441d052254f42989ef98b7b6a6ecb1e6f708aa962c7984235316db59f50fa", size = 241870 }, + { url = "https://files.pythonhosted.org/packages/13/bf/9676c0392309b5fdae322333d22a829715b570edb9baa8016a517b55b558/multidict-6.7.1-cp311-cp311-win32.whl", hash = "sha256:d62b7f64ffde3b99d06b707a280db04fb3855b55f5a06df387236051d0668f4a", size = 41302 }, + { url = "https://files.pythonhosted.org/packages/c9/68/f16a3a8ba6f7b6dc92a1f19669c0810bd2c43fc5a02da13b1cbf8e253845/multidict-6.7.1-cp311-cp311-win_amd64.whl", hash = "sha256:bdbf9f3b332abd0cdb306e7c2113818ab1e922dc84b8f8fd06ec89ed2a19ab8b", size = 45981 }, + { url = "https://files.pythonhosted.org/packages/ac/ad/9dd5305253fa00cd3c7555dbef69d5bf4133debc53b87ab8d6a44d411665/multidict-6.7.1-cp311-cp311-win_arm64.whl", hash = "sha256:b8c990b037d2fff2f4e33d3f21b9b531c5745b33a49a7d6dbe7a177266af44f6", size = 43159 }, + { url = "https://files.pythonhosted.org/packages/8d/9c/f20e0e2cf80e4b2e4b1c365bf5fe104ee633c751a724246262db8f1a0b13/multidict-6.7.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:a90f75c956e32891a4eda3639ce6dd86e87105271f43d43442a3aedf3cddf172", size = 76893 }, + { url = "https://files.pythonhosted.org/packages/fe/cf/18ef143a81610136d3da8193da9d80bfe1cb548a1e2d1c775f26b23d024a/multidict-6.7.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3fccb473e87eaa1382689053e4a4618e7ba7b9b9b8d6adf2027ee474597128cd", size = 45456 }, + { url = "https://files.pythonhosted.org/packages/a9/65/1caac9d4cd32e8433908683446eebc953e82d22b03d10d41a5f0fefe991b/multidict-6.7.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b0fa96985700739c4c7853a43c0b3e169360d6855780021bfc6d0f1ce7c123e7", size = 43872 }, + { url = "https://files.pythonhosted.org/packages/cf/3b/d6bd75dc4f3ff7c73766e04e705b00ed6dbbaccf670d9e05a12b006f5a21/multidict-6.7.1-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:cb2a55f408c3043e42b40cc8eecd575afa27b7e0b956dfb190de0f8499a57a53", size = 251018 }, + { url = "https://files.pythonhosted.org/packages/fd/80/c959c5933adedb9ac15152e4067c702a808ea183a8b64cf8f31af8ad3155/multidict-6.7.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eb0ce7b2a32d09892b3dd6cc44877a0d02a33241fafca5f25c8b6b62374f8b75", size = 258883 }, + { url = "https://files.pythonhosted.org/packages/86/85/7ed40adafea3d4f1c8b916e3b5cc3a8e07dfcdcb9cd72800f4ed3ca1b387/multidict-6.7.1-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c3a32d23520ee37bf327d1e1a656fec76a2edd5c038bf43eddfa0572ec49c60b", size = 242413 }, + { url = "https://files.pythonhosted.org/packages/d2/57/b8565ff533e48595503c785f8361ff9a4fde4d67de25c207cd0ba3befd03/multidict-6.7.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9c90fed18bffc0189ba814749fdcc102b536e83a9f738a9003e569acd540a733", size = 268404 }, + { url = "https://files.pythonhosted.org/packages/e0/50/9810c5c29350f7258180dfdcb2e52783a0632862eb334c4896ac717cebcb/multidict-6.7.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:da62917e6076f512daccfbbde27f46fed1c98fee202f0559adec8ee0de67f71a", size = 269456 }, + { url = "https://files.pythonhosted.org/packages/f3/8d/5e5be3ced1d12966fefb5c4ea3b2a5b480afcea36406559442c6e31d4a48/multidict-6.7.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bfde23ef6ed9db7eaee6c37dcec08524cb43903c60b285b172b6c094711b3961", size = 256322 }, + { url = "https://files.pythonhosted.org/packages/31/6e/d8a26d81ac166a5592782d208dd90dfdc0a7a218adaa52b45a672b46c122/multidict-6.7.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3758692429e4e32f1ba0df23219cd0b4fc0a52f476726fff9337d1a57676a582", size = 253955 }, + { url = "https://files.pythonhosted.org/packages/59/4c/7c672c8aad41534ba619bcd4ade7a0dc87ed6b8b5c06149b85d3dd03f0cd/multidict-6.7.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:398c1478926eca669f2fd6a5856b6de9c0acf23a2cb59a14c0ba5844fa38077e", size = 251254 }, + { url = "https://files.pythonhosted.org/packages/7b/bd/84c24de512cbafbdbc39439f74e967f19570ce7924e3007174a29c348916/multidict-6.7.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c102791b1c4f3ab36ce4101154549105a53dc828f016356b3e3bcae2e3a039d3", size = 252059 }, + { url = "https://files.pythonhosted.org/packages/fa/ba/f5449385510825b73d01c2d4087bf6d2fccc20a2d42ac34df93191d3dd03/multidict-6.7.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a088b62bd733e2ad12c50dad01b7d0166c30287c166e137433d3b410add807a6", size = 263588 }, + { url = "https://files.pythonhosted.org/packages/d7/11/afc7c677f68f75c84a69fe37184f0f82fce13ce4b92f49f3db280b7e92b3/multidict-6.7.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:3d51ff4785d58d3f6c91bdbffcb5e1f7ddfda557727043aa20d20ec4f65e324a", size = 259642 }, + { url = "https://files.pythonhosted.org/packages/2b/17/ebb9644da78c4ab36403739e0e6e0e30ebb135b9caf3440825001a0bddcb/multidict-6.7.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fc5907494fccf3e7d3f94f95c91d6336b092b5fc83811720fae5e2765890dfba", size = 251377 }, + { url = "https://files.pythonhosted.org/packages/ca/a4/840f5b97339e27846c46307f2530a2805d9d537d8b8bd416af031cad7fa0/multidict-6.7.1-cp312-cp312-win32.whl", hash = "sha256:28ca5ce2fd9716631133d0e9a9b9a745ad7f60bac2bccafb56aa380fc0b6c511", size = 41887 }, + { url = "https://files.pythonhosted.org/packages/80/31/0b2517913687895f5904325c2069d6a3b78f66cc641a86a2baf75a05dcbb/multidict-6.7.1-cp312-cp312-win_amd64.whl", hash = "sha256:fcee94dfbd638784645b066074b338bc9cc155d4b4bffa4adce1615c5a426c19", size = 46053 }, + { url = "https://files.pythonhosted.org/packages/0c/5b/aba28e4ee4006ae4c7df8d327d31025d760ffa992ea23812a601d226e682/multidict-6.7.1-cp312-cp312-win_arm64.whl", hash = "sha256:ba0a9fb644d0c1a2194cf7ffb043bd852cea63a57f66fbd33959f7dae18517bf", size = 43307 }, + { url = "https://files.pythonhosted.org/packages/f2/22/929c141d6c0dba87d3e1d38fbdf1ba8baba86b7776469f2bc2d3227a1e67/multidict-6.7.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2b41f5fed0ed563624f1c17630cb9941cf2309d4df00e494b551b5f3e3d67a23", size = 76174 }, + { url = "https://files.pythonhosted.org/packages/c7/75/bc704ae15fee974f8fccd871305e254754167dce5f9e42d88a2def741a1d/multidict-6.7.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:84e61e3af5463c19b67ced91f6c634effb89ef8bfc5ca0267f954451ed4bb6a2", size = 45116 }, + { url = "https://files.pythonhosted.org/packages/79/76/55cd7186f498ed080a18440c9013011eb548f77ae1b297206d030eb1180a/multidict-6.7.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:935434b9853c7c112eee7ac891bc4cb86455aa631269ae35442cb316790c1445", size = 43524 }, + { url = "https://files.pythonhosted.org/packages/e9/3c/414842ef8d5a1628d68edee29ba0e5bcf235dbfb3ccd3ea303a7fe8c72ff/multidict-6.7.1-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:432feb25a1cb67fe82a9680b4d65fb542e4635cb3166cd9c01560651ad60f177", size = 249368 }, + { url = "https://files.pythonhosted.org/packages/f6/32/befed7f74c458b4a525e60519fe8d87eef72bb1e99924fa2b0f9d97a221e/multidict-6.7.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e82d14e3c948952a1a85503817e038cba5905a3352de76b9a465075d072fba23", size = 256952 }, + { url = "https://files.pythonhosted.org/packages/03/d6/c878a44ba877f366630c860fdf74bfb203c33778f12b6ac274936853c451/multidict-6.7.1-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:4cfb48c6ea66c83bcaaf7e4dfa7ec1b6bbcf751b7db85a328902796dfde4c060", size = 240317 }, + { url = "https://files.pythonhosted.org/packages/68/49/57421b4d7ad2e9e60e25922b08ceb37e077b90444bde6ead629095327a6f/multidict-6.7.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1d540e51b7e8e170174555edecddbd5538105443754539193e3e1061864d444d", size = 267132 }, + { url = "https://files.pythonhosted.org/packages/b7/fe/ec0edd52ddbcea2a2e89e174f0206444a61440b40f39704e64dc807a70bd/multidict-6.7.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:273d23f4b40f3dce4d6c8a821c741a86dec62cded82e1175ba3d99be128147ed", size = 268140 }, + { url = "https://files.pythonhosted.org/packages/b0/73/6e1b01cbeb458807aa0831742232dbdd1fa92bfa33f52a3f176b4ff3dc11/multidict-6.7.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d624335fd4fa1c08a53f8b4be7676ebde19cd092b3895c421045ca87895b429", size = 254277 }, + { url = "https://files.pythonhosted.org/packages/6a/b2/5fb8c124d7561a4974c342bc8c778b471ebbeb3cc17df696f034a7e9afe7/multidict-6.7.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:12fad252f8b267cc75b66e8fc51b3079604e8d43a75428ffe193cd9e2195dfd6", size = 252291 }, + { url = "https://files.pythonhosted.org/packages/5a/96/51d4e4e06bcce92577fcd488e22600bd38e4fd59c20cb49434d054903bd2/multidict-6.7.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:03ede2a6ffbe8ef936b92cb4529f27f42be7f56afcdab5ab739cd5f27fb1cbf9", size = 250156 }, + { url = "https://files.pythonhosted.org/packages/db/6b/420e173eec5fba721a50e2a9f89eda89d9c98fded1124f8d5c675f7a0c0f/multidict-6.7.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:90efbcf47dbe33dcf643a1e400d67d59abeac5db07dc3f27d6bdeae497a2198c", size = 249742 }, + { url = "https://files.pythonhosted.org/packages/44/a3/ec5b5bd98f306bc2aa297b8c6f11a46714a56b1e6ef5ebda50a4f5d7c5fb/multidict-6.7.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:5c4b9bfc148f5a91be9244d6264c53035c8a0dcd2f51f1c3c6e30e30ebaa1c84", size = 262221 }, + { url = "https://files.pythonhosted.org/packages/cd/f7/e8c0d0da0cd1e28d10e624604e1a36bcc3353aaebdfdc3a43c72bc683a12/multidict-6.7.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:401c5a650f3add2472d1d288c26deebc540f99e2fb83e9525007a74cd2116f1d", size = 258664 }, + { url = "https://files.pythonhosted.org/packages/52/da/151a44e8016dd33feed44f730bd856a66257c1ee7aed4f44b649fb7edeb3/multidict-6.7.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:97891f3b1b3ffbded884e2916cacf3c6fc87b66bb0dde46f7357404750559f33", size = 249490 }, + { url = "https://files.pythonhosted.org/packages/87/af/a3b86bf9630b732897f6fc3f4c4714b90aa4361983ccbdcd6c0339b21b0c/multidict-6.7.1-cp313-cp313-win32.whl", hash = "sha256:e1c5988359516095535c4301af38d8a8838534158f649c05dd1050222321bcb3", size = 41695 }, + { url = "https://files.pythonhosted.org/packages/b2/35/e994121b0e90e46134673422dd564623f93304614f5d11886b1b3e06f503/multidict-6.7.1-cp313-cp313-win_amd64.whl", hash = "sha256:960c83bf01a95b12b08fd54324a4eb1d5b52c88932b5cba5d6e712bb3ed12eb5", size = 45884 }, + { url = "https://files.pythonhosted.org/packages/ca/61/42d3e5dbf661242a69c97ea363f2d7b46c567da8eadef8890022be6e2ab0/multidict-6.7.1-cp313-cp313-win_arm64.whl", hash = "sha256:563fe25c678aaba333d5399408f5ec3c383ca5b663e7f774dd179a520b8144df", size = 43122 }, + { url = "https://files.pythonhosted.org/packages/6d/b3/e6b21c6c4f314bb956016b0b3ef2162590a529b84cb831c257519e7fde44/multidict-6.7.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:c76c4bec1538375dad9d452d246ca5368ad6e1c9039dadcf007ae59c70619ea1", size = 83175 }, + { url = "https://files.pythonhosted.org/packages/fb/76/23ecd2abfe0957b234f6c960f4ade497f55f2c16aeb684d4ecdbf1c95791/multidict-6.7.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:57b46b24b5d5ebcc978da4ec23a819a9402b4228b8a90d9c656422b4bdd8a963", size = 48460 }, + { url = "https://files.pythonhosted.org/packages/c4/57/a0ed92b23f3a042c36bc4227b72b97eca803f5f1801c1ab77c8a212d455e/multidict-6.7.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e954b24433c768ce78ab7929e84ccf3422e46deb45a4dc9f93438f8217fa2d34", size = 46930 }, + { url = "https://files.pythonhosted.org/packages/b5/66/02ec7ace29162e447f6382c495dc95826bf931d3818799bbef11e8f7df1a/multidict-6.7.1-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3bd231490fa7217cc832528e1cd8752a96f0125ddd2b5749390f7c3ec8721b65", size = 242582 }, + { url = "https://files.pythonhosted.org/packages/58/18/64f5a795e7677670e872673aca234162514696274597b3708b2c0d276cce/multidict-6.7.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:253282d70d67885a15c8a7716f3a73edf2d635793ceda8173b9ecc21f2fb8292", size = 250031 }, + { url = "https://files.pythonhosted.org/packages/c8/ed/e192291dbbe51a8290c5686f482084d31bcd9d09af24f63358c3d42fd284/multidict-6.7.1-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0b4c48648d7649c9335cf1927a8b87fa692de3dcb15faa676c6a6f1f1aabda43", size = 228596 }, + { url = "https://files.pythonhosted.org/packages/1e/7e/3562a15a60cf747397e7f2180b0a11dc0c38d9175a650e75fa1b4d325e15/multidict-6.7.1-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:98bc624954ec4d2c7cb074b8eefc2b5d0ce7d482e410df446414355d158fe4ca", size = 257492 }, + { url = "https://files.pythonhosted.org/packages/24/02/7d0f9eae92b5249bb50ac1595b295f10e263dd0078ebb55115c31e0eaccd/multidict-6.7.1-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1b99af4d9eec0b49927b4402bcbb58dea89d3e0db8806a4086117019939ad3dd", size = 255899 }, + { url = "https://files.pythonhosted.org/packages/00/e3/9b60ed9e23e64c73a5cde95269ef1330678e9c6e34dd4eb6b431b85b5a10/multidict-6.7.1-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6aac4f16b472d5b7dc6f66a0d49dd57b0e0902090be16594dc9ebfd3d17c47e7", size = 247970 }, + { url = "https://files.pythonhosted.org/packages/3e/06/538e58a63ed5cfb0bd4517e346b91da32fde409d839720f664e9a4ae4f9d/multidict-6.7.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:21f830fe223215dffd51f538e78c172ed7c7f60c9b96a2bf05c4848ad49921c3", size = 245060 }, + { url = "https://files.pythonhosted.org/packages/b2/2f/d743a3045a97c895d401e9bd29aaa09b94f5cbdf1bd561609e5a6c431c70/multidict-6.7.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:f5dd81c45b05518b9aa4da4aa74e1c93d715efa234fd3e8a179df611cc85e5f4", size = 235888 }, + { url = "https://files.pythonhosted.org/packages/38/83/5a325cac191ab28b63c52f14f1131f3b0a55ba3b9aa65a6d0bf2a9b921a0/multidict-6.7.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:eb304767bca2bb92fb9c5bd33cedc95baee5bb5f6c88e63706533a1c06ad08c8", size = 243554 }, + { url = "https://files.pythonhosted.org/packages/20/1f/9d2327086bd15da2725ef6aae624208e2ef828ed99892b17f60c344e57ed/multidict-6.7.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:c9035dde0f916702850ef66460bc4239d89d08df4d02023a5926e7446724212c", size = 252341 }, + { url = "https://files.pythonhosted.org/packages/e8/2c/2a1aa0280cf579d0f6eed8ee5211c4f1730bd7e06c636ba2ee6aafda302e/multidict-6.7.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:af959b9beeb66c822380f222f0e0a1889331597e81f1ded7f374f3ecb0fd6c52", size = 246391 }, + { url = "https://files.pythonhosted.org/packages/e5/03/7ca022ffc36c5a3f6e03b179a5ceb829be9da5783e6fe395f347c0794680/multidict-6.7.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:41f2952231456154ee479651491e94118229844dd7226541788be783be2b5108", size = 243422 }, + { url = "https://files.pythonhosted.org/packages/dc/1d/b31650eab6c5778aceed46ba735bd97f7c7d2f54b319fa916c0f96e7805b/multidict-6.7.1-cp313-cp313t-win32.whl", hash = "sha256:df9f19c28adcb40b6aae30bbaa1478c389efd50c28d541d76760199fc1037c32", size = 47770 }, + { url = "https://files.pythonhosted.org/packages/ac/5b/2d2d1d522e51285bd61b1e20df8f47ae1a9d80839db0b24ea783b3832832/multidict-6.7.1-cp313-cp313t-win_amd64.whl", hash = "sha256:d54ecf9f301853f2c5e802da559604b3e95bb7a3b01a9c295c6ee591b9882de8", size = 53109 }, + { url = "https://files.pythonhosted.org/packages/3d/a3/cc409ba012c83ca024a308516703cf339bdc4b696195644a7215a5164a24/multidict-6.7.1-cp313-cp313t-win_arm64.whl", hash = "sha256:5a37ca18e360377cfda1d62f5f382ff41f2b8c4ccb329ed974cc2e1643440118", size = 45573 }, + { url = "https://files.pythonhosted.org/packages/91/cc/db74228a8be41884a567e88a62fd589a913708fcf180d029898c17a9a371/multidict-6.7.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:8f333ec9c5eb1b7105e3b84b53141e66ca05a19a605368c55450b6ba208cb9ee", size = 75190 }, + { url = "https://files.pythonhosted.org/packages/d5/22/492f2246bb5b534abd44804292e81eeaf835388901f0c574bac4eeec73c5/multidict-6.7.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:a407f13c188f804c759fc6a9f88286a565c242a76b27626594c133b82883b5c2", size = 44486 }, + { url = "https://files.pythonhosted.org/packages/f1/4f/733c48f270565d78b4544f2baddc2fb2a245e5a8640254b12c36ac7ac68e/multidict-6.7.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:0e161ddf326db5577c3a4cc2d8648f81456e8a20d40415541587a71620d7a7d1", size = 43219 }, + { url = "https://files.pythonhosted.org/packages/24/bb/2c0c2287963f4259c85e8bcbba9182ced8d7fca65c780c38e99e61629d11/multidict-6.7.1-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:1e3a8bb24342a8201d178c3b4984c26ba81a577c80d4d525727427460a50c22d", size = 245132 }, + { url = "https://files.pythonhosted.org/packages/a7/f9/44d4b3064c65079d2467888794dea218d1601898ac50222ab8a9a8094460/multidict-6.7.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:97231140a50f5d447d3164f994b86a0bed7cd016e2682f8650d6a9158e14fd31", size = 252420 }, + { url = "https://files.pythonhosted.org/packages/8b/13/78f7275e73fa17b24c9a51b0bd9d73ba64bb32d0ed51b02a746eb876abe7/multidict-6.7.1-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:6b10359683bd8806a200fd2909e7c8ca3a7b24ec1d8132e483d58e791d881048", size = 233510 }, + { url = "https://files.pythonhosted.org/packages/4b/25/8167187f62ae3cbd52da7893f58cb036b47ea3fb67138787c76800158982/multidict-6.7.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:283ddac99f7ac25a4acadbf004cb5ae34480bbeb063520f70ce397b281859362", size = 264094 }, + { url = "https://files.pythonhosted.org/packages/a1/e7/69a3a83b7b030cf283fb06ce074a05a02322359783424d7edf0f15fe5022/multidict-6.7.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:538cec1e18c067d0e6103aa9a74f9e832904c957adc260e61cd9d8cf0c3b3d37", size = 260786 }, + { url = "https://files.pythonhosted.org/packages/fe/3b/8ec5074bcfc450fe84273713b4b0a0dd47c0249358f5d82eb8104ffe2520/multidict-6.7.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7eee46ccb30ff48a1e35bb818cc90846c6be2b68240e42a78599166722cea709", size = 248483 }, + { url = "https://files.pythonhosted.org/packages/48/5a/d5a99e3acbca0e29c5d9cba8f92ceb15dce78bab963b308ae692981e3a5d/multidict-6.7.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fa263a02f4f2dd2d11a7b1bb4362aa7cb1049f84a9235d31adf63f30143469a0", size = 248403 }, + { url = "https://files.pythonhosted.org/packages/35/48/e58cd31f6c7d5102f2a4bf89f96b9cf7e00b6c6f3d04ecc44417c00a5a3c/multidict-6.7.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:2e1425e2f99ec5bd36c15a01b690a1a2456209c5deed58f95469ffb46039ccbb", size = 240315 }, + { url = "https://files.pythonhosted.org/packages/94/33/1cd210229559cb90b6786c30676bb0c58249ff42f942765f88793b41fdce/multidict-6.7.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:497394b3239fc6f0e13a78a3e1b61296e72bf1c5f94b4c4eb80b265c37a131cd", size = 245528 }, + { url = "https://files.pythonhosted.org/packages/64/f2/6e1107d226278c876c783056b7db43d800bb64c6131cec9c8dfb6903698e/multidict-6.7.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:233b398c29d3f1b9676b4b6f75c518a06fcb2ea0b925119fb2c1bc35c05e1601", size = 258784 }, + { url = "https://files.pythonhosted.org/packages/4d/c1/11f664f14d525e4a1b5327a82d4de61a1db604ab34c6603bb3c2cc63ad34/multidict-6.7.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:93b1818e4a6e0930454f0f2af7dfce69307ca03cdcfb3739bf4d91241967b6c1", size = 251980 }, + { url = "https://files.pythonhosted.org/packages/e1/9f/75a9ac888121d0c5bbd4ecf4eead45668b1766f6baabfb3b7f66a410e231/multidict-6.7.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:f33dc2a3abe9249ea5d8360f969ec7f4142e7ac45ee7014d8f8d5acddf178b7b", size = 243602 }, + { url = "https://files.pythonhosted.org/packages/9a/e7/50bf7b004cc8525d80dbbbedfdc7aed3e4c323810890be4413e589074032/multidict-6.7.1-cp314-cp314-win32.whl", hash = "sha256:3ab8b9d8b75aef9df299595d5388b14530839f6422333357af1339443cff777d", size = 40930 }, + { url = "https://files.pythonhosted.org/packages/e0/bf/52f25716bbe93745595800f36fb17b73711f14da59ed0bb2eba141bc9f0f/multidict-6.7.1-cp314-cp314-win_amd64.whl", hash = "sha256:5e01429a929600e7dab7b166062d9bb54a5eed752384c7384c968c2afab8f50f", size = 45074 }, + { url = "https://files.pythonhosted.org/packages/97/ab/22803b03285fa3a525f48217963da3a65ae40f6a1b6f6cf2768879e208f9/multidict-6.7.1-cp314-cp314-win_arm64.whl", hash = "sha256:4885cb0e817aef5d00a2e8451d4665c1808378dc27c2705f1bf4ef8505c0d2e5", size = 42471 }, + { url = "https://files.pythonhosted.org/packages/e0/6d/f9293baa6146ba9507e360ea0292b6422b016907c393e2f63fc40ab7b7b5/multidict-6.7.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:0458c978acd8e6ea53c81eefaddbbee9c6c5e591f41b3f5e8e194780fe026581", size = 82401 }, + { url = "https://files.pythonhosted.org/packages/7a/68/53b5494738d83558d87c3c71a486504d8373421c3e0dbb6d0db48ad42ee0/multidict-6.7.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:c0abd12629b0af3cf590982c0b413b1e7395cd4ec026f30986818ab95bfaa94a", size = 48143 }, + { url = "https://files.pythonhosted.org/packages/37/e8/5284c53310dcdc99ce5d66563f6e5773531a9b9fe9ec7a615e9bc306b05f/multidict-6.7.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:14525a5f61d7d0c94b368a42cff4c9a4e7ba2d52e2672a7b23d84dc86fb02b0c", size = 46507 }, + { url = "https://files.pythonhosted.org/packages/e4/fc/6800d0e5b3875568b4083ecf5f310dcf91d86d52573160834fb4bfcf5e4f/multidict-6.7.1-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:17307b22c217b4cf05033dabefe68255a534d637c6c9b0cc8382718f87be4262", size = 239358 }, + { url = "https://files.pythonhosted.org/packages/41/75/4ad0973179361cdf3a113905e6e088173198349131be2b390f9fa4da5fc6/multidict-6.7.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7a7e590ff876a3eaf1c02a4dfe0724b6e69a9e9de6d8f556816f29c496046e59", size = 246884 }, + { url = "https://files.pythonhosted.org/packages/c3/9c/095bb28b5da139bd41fb9a5d5caff412584f377914bd8787c2aa98717130/multidict-6.7.1-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:5fa6a95dfee63893d80a34758cd0e0c118a30b8dcb46372bf75106c591b77889", size = 225878 }, + { url = "https://files.pythonhosted.org/packages/07/d0/c0a72000243756e8f5a277b6b514fa005f2c73d481b7d9e47cd4568aa2e4/multidict-6.7.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a0543217a6a017692aa6ae5cc39adb75e587af0f3a82288b1492eb73dd6cc2a4", size = 253542 }, + { url = "https://files.pythonhosted.org/packages/c0/6b/f69da15289e384ecf2a68837ec8b5ad8c33e973aa18b266f50fe55f24b8c/multidict-6.7.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f99fe611c312b3c1c0ace793f92464d8cd263cc3b26b5721950d977b006b6c4d", size = 252403 }, + { url = "https://files.pythonhosted.org/packages/a2/76/b9669547afa5a1a25cd93eaca91c0da1c095b06b6d2d8ec25b713588d3a1/multidict-6.7.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9004d8386d133b7e6135679424c91b0b854d2d164af6ea3f289f8f2761064609", size = 244889 }, + { url = "https://files.pythonhosted.org/packages/7e/a9/a50d2669e506dad33cfc45b5d574a205587b7b8a5f426f2fbb2e90882588/multidict-6.7.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e628ef0e6859ffd8273c69412a2465c4be4a9517d07261b33334b5ec6f3c7489", size = 241982 }, + { url = "https://files.pythonhosted.org/packages/c5/bb/1609558ad8b456b4827d3c5a5b775c93b87878fd3117ed3db3423dfbce1b/multidict-6.7.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:841189848ba629c3552035a6a7f5bf3b02eb304e9fea7492ca220a8eda6b0e5c", size = 232415 }, + { url = "https://files.pythonhosted.org/packages/d8/59/6f61039d2aa9261871e03ab9dc058a550d240f25859b05b67fd70f80d4b3/multidict-6.7.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:ce1bbd7d780bb5a0da032e095c951f7014d6b0a205f8318308140f1a6aba159e", size = 240337 }, + { url = "https://files.pythonhosted.org/packages/a1/29/fdc6a43c203890dc2ae9249971ecd0c41deaedfe00d25cb6564b2edd99eb/multidict-6.7.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:b26684587228afed0d50cf804cc71062cc9c1cdf55051c4c6345d372947b268c", size = 248788 }, + { url = "https://files.pythonhosted.org/packages/a9/14/a153a06101323e4cf086ecee3faadba52ff71633d471f9685c42e3736163/multidict-6.7.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:9f9af11306994335398293f9958071019e3ab95e9a707dc1383a35613f6abcb9", size = 242842 }, + { url = "https://files.pythonhosted.org/packages/41/5f/604ae839e64a4a6efc80db94465348d3b328ee955e37acb24badbcd24d83/multidict-6.7.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:b4938326284c4f1224178a560987b6cf8b4d38458b113d9b8c1db1a836e640a2", size = 240237 }, + { url = "https://files.pythonhosted.org/packages/5f/60/c3a5187bf66f6fb546ff4ab8fb5a077cbdd832d7b1908d4365c7f74a1917/multidict-6.7.1-cp314-cp314t-win32.whl", hash = "sha256:98655c737850c064a65e006a3df7c997cd3b220be4ec8fe26215760b9697d4d7", size = 48008 }, + { url = "https://files.pythonhosted.org/packages/0c/f7/addf1087b860ac60e6f382240f64fb99f8bfb532bb06f7c542b83c29ca61/multidict-6.7.1-cp314-cp314t-win_amd64.whl", hash = "sha256:497bde6223c212ba11d462853cfa4f0ae6ef97465033e7dc9940cdb3ab5b48e5", size = 53542 }, + { url = "https://files.pythonhosted.org/packages/4c/81/4629d0aa32302ef7b2ec65c75a728cc5ff4fa410c50096174c1632e70b3e/multidict-6.7.1-cp314-cp314t-win_arm64.whl", hash = "sha256:2bbd113e0d4af5db41d5ebfe9ccaff89de2120578164f86a5d17d5a576d1e5b2", size = 44719 }, + { url = "https://files.pythonhosted.org/packages/9e/ee/74525ebe3eb5fddcd6735fc03cbea3feeed4122b53bc798ac32d297ac9ae/multidict-6.7.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:65573858d27cdeaca41893185677dc82395159aa28875a8867af66532d413a8f", size = 77107 }, + { url = "https://files.pythonhosted.org/packages/f0/9a/ce8744e777a74b3050b1bf56be3eed1053b3457302ea055f1ea437200a23/multidict-6.7.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c524c6fb8fc342793708ab111c4dbc90ff9abd568de220432500e47e990c0358", size = 44943 }, + { url = "https://files.pythonhosted.org/packages/83/9c/1d2a283d9c6f31e260cb6c2fccadc3edcf6c4c14ee0929cd2af4d2606dd7/multidict-6.7.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:aa23b001d968faef416ff70dc0f1ab045517b9b42a90edd3e9bcdb06479e31d5", size = 44603 }, + { url = "https://files.pythonhosted.org/packages/87/9d/3b186201671583d8e8d6d79c07481a5aafd0ba7575e3d8566baec80c1e82/multidict-6.7.1-cp39-cp39-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:6704fa2b7453b2fb121740555fa1ee20cd98c4d011120caf4d2b8d4e7c76eec0", size = 240573 }, + { url = "https://files.pythonhosted.org/packages/42/7d/a52f5d4d0754311d1ac78478e34dff88de71259a8585e05ee14e5f877caf/multidict-6.7.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:121a34e5bfa410cdf2c8c49716de160de3b1dbcd86b49656f5681e4543bcd1a8", size = 240106 }, + { url = "https://files.pythonhosted.org/packages/84/9f/d80118e6c30ff55b7d171bdc5520aad4b9626e657520b8d7c8ca8c2fad12/multidict-6.7.1-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:026d264228bcd637d4e060844e39cdc60f86c479e463d49075dedc21b18fbbe0", size = 219418 }, + { url = "https://files.pythonhosted.org/packages/c7/bd/896e60b3457f194de77c7de64f9acce9f75da0518a5230ce1df534f6747b/multidict-6.7.1-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0e697826df7eb63418ee190fd06ce9f1803593bb4b9517d08c60d9b9a7f69d8f", size = 252124 }, + { url = "https://files.pythonhosted.org/packages/f4/de/ba6b30447c36a37078d0ba604aa12c1a52887af0c355236ca6e0a9d5286f/multidict-6.7.1-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:bb08271280173720e9fea9ede98e5231defcbad90f1624bea26f32ec8a956e2f", size = 249402 }, + { url = "https://files.pythonhosted.org/packages/c2/b2/50a383c96230e432895a2fd3bcfe1b65785899598259d871d5de6b93180c/multidict-6.7.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c6b3228e1d80af737b72925ce5fb4daf5a335e49cd7ab77ed7b9fdfbf58c526e", size = 240346 }, + { url = "https://files.pythonhosted.org/packages/89/37/16d391fd8da544b1489306e38a46785fa41dd0f0ef766837ed7d4676dde0/multidict-6.7.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:3943debf0fbb57bdde5901695c11094a9a36723e5c03875f87718ee15ca2f4d2", size = 237010 }, + { url = "https://files.pythonhosted.org/packages/b0/24/3152ee026eda86d5d3e3685182911e6951af7a016579da931080ce6ac9ad/multidict-6.7.1-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:98c5787b0a0d9a41d9311eae44c3b76e6753def8d8870ab501320efe75a6a5f8", size = 232018 }, + { url = "https://files.pythonhosted.org/packages/9c/1f/48d3c27a72be7fd23a55d8847193c459959bf35a5bb5844530dab00b739b/multidict-6.7.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:08ccb2a6dc72009093ebe7f3f073e5ec5964cba9a706fa94b1a1484039b87941", size = 241498 }, + { url = "https://files.pythonhosted.org/packages/1a/45/413643ae2952d0decdf6c1250f86d08a43e143271441e81027e38d598bd7/multidict-6.7.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:eb351f72c26dc9abe338ca7294661aa22969ad8ffe7ef7d5541d19f368dc854a", size = 247957 }, + { url = "https://files.pythonhosted.org/packages/50/f8/f1d0ac23df15e0470776388bdb261506f63af1f81d28bacb5e262d6e12b6/multidict-6.7.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ac1c665bad8b5d762f5f85ebe4d94130c26965f11de70c708c75671297c776de", size = 241651 }, + { url = "https://files.pythonhosted.org/packages/2c/c9/1a2a18f383cf129add66b6c36b75c3911a7ba95cf26cb141482de085cc12/multidict-6.7.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1fa6609d0364f4f6f58351b4659a1f3e0e898ba2a8c5cac04cb2c7bc556b0bc5", size = 236371 }, + { url = "https://files.pythonhosted.org/packages/bb/aa/77d87e3fca31325b87e0eb72d5fe9a7472dcb51391a42df7ac1f3842f6c0/multidict-6.7.1-cp39-cp39-win32.whl", hash = "sha256:6f77ce314a29263e67adadc7e7c1bc699fcb3a305059ab973d038f87caa42ed0", size = 41426 }, + { url = "https://files.pythonhosted.org/packages/e3/b3/e8863e6a2da15a9d7e98976ff402e871b7352c76566df6c18d0378e0d9cf/multidict-6.7.1-cp39-cp39-win_amd64.whl", hash = "sha256:f537b55778cd3cbee430abe3131255d3a78202e0f9ea7ffc6ada893a4bcaeea4", size = 46180 }, + { url = "https://files.pythonhosted.org/packages/93/d3/dd4fa951ad5b5fa216bf30054d705683d13405eea7459833d78f31b74c9c/multidict-6.7.1-cp39-cp39-win_arm64.whl", hash = "sha256:749aa54f578f2e5f439538706a475aa844bfa8ef75854b1401e6e528e4937cf9", size = 43231 }, + { url = "https://files.pythonhosted.org/packages/81/08/7036c080d7117f28a4af526d794aab6a84463126db031b007717c1a6676e/multidict-6.7.1-py3-none-any.whl", hash = "sha256:55d97cc6dae627efa6a6e548885712d4864b81110ac76fa4e534c03819fa4a56", size = 12319 }, +] + +[[distribution]] +name = "packaging" +version = "26.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d7/f1/e7a6dd94a8d4a5626c03e4e99c87f241ba9e350cd9e6d75123f992427270/packaging-26.2.tar.gz", hash = "sha256:ff452ff5a3e828ce110190feff1178bb1f2ea2281fa2075aadb987c2fb221661", size = 228134 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl", hash = "sha256:5fc45236b9446107ff2415ce77c807cee2862cb6fac22b8a73826d0693b0980e", size = 100195 }, +] + +[[distribution]] +name = "pluggy" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538 }, +] + +[[distribution]] +name = "propcache" +version = "0.4.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/9e/da/e9fc233cf63743258bff22b3dfa7ea5baef7b5bc324af47a0ad89b8ffc6f/propcache-0.4.1.tar.gz", hash = "sha256:f48107a8c637e80362555f37ecf49abe20370e557cc4ab374f04ec4423c97c3d", size = 46442 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3c/0e/934b541323035566a9af292dba85a195f7b78179114f2c6ebb24551118a9/propcache-0.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7c2d1fa3201efaf55d730400d945b5b3ab6e672e100ba0f9a409d950ab25d7db", size = 79534 }, + { url = "https://files.pythonhosted.org/packages/a1/6b/db0d03d96726d995dc7171286c6ba9d8d14251f37433890f88368951a44e/propcache-0.4.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1eb2994229cc8ce7fe9b3db88f5465f5fd8651672840b2e426b88cdb1a30aac8", size = 45526 }, + { url = "https://files.pythonhosted.org/packages/e4/c3/82728404aea669e1600f304f2609cde9e665c18df5a11cdd57ed73c1dceb/propcache-0.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:66c1f011f45a3b33d7bcb22daed4b29c0c9e2224758b6be00686731e1b46f925", size = 47263 }, + { url = "https://files.pythonhosted.org/packages/df/1b/39313ddad2bf9187a1432654c38249bab4562ef535ef07f5eb6eb04d0b1b/propcache-0.4.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9a52009f2adffe195d0b605c25ec929d26b36ef986ba85244891dee3b294df21", size = 201012 }, + { url = "https://files.pythonhosted.org/packages/5b/01/f1d0b57d136f294a142acf97f4ed58c8e5b974c21e543000968357115011/propcache-0.4.1-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5d4e2366a9c7b837555cf02fb9be2e3167d333aff716332ef1b7c3a142ec40c5", size = 209491 }, + { url = "https://files.pythonhosted.org/packages/a1/c8/038d909c61c5bb039070b3fb02ad5cccdb1dde0d714792e251cdb17c9c05/propcache-0.4.1-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:9d2b6caef873b4f09e26ea7e33d65f42b944837563a47a94719cc3544319a0db", size = 215319 }, + { url = "https://files.pythonhosted.org/packages/08/57/8c87e93142b2c1fa2408e45695205a7ba05fb5db458c0bf5c06ba0e09ea6/propcache-0.4.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2b16ec437a8c8a965ecf95739448dd938b5c7f56e67ea009f4300d8df05f32b7", size = 196856 }, + { url = "https://files.pythonhosted.org/packages/42/df/5615fec76aa561987a534759b3686008a288e73107faa49a8ae5795a9f7a/propcache-0.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:296f4c8ed03ca7476813fe666c9ea97869a8d7aec972618671b33a38a5182ef4", size = 193241 }, + { url = "https://files.pythonhosted.org/packages/d5/21/62949eb3a7a54afe8327011c90aca7e03547787a88fb8bd9726806482fea/propcache-0.4.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:1f0978529a418ebd1f49dad413a2b68af33f85d5c5ca5c6ca2a3bed375a7ac60", size = 190552 }, + { url = "https://files.pythonhosted.org/packages/30/ee/ab4d727dd70806e5b4de96a798ae7ac6e4d42516f030ee60522474b6b332/propcache-0.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fd138803047fb4c062b1c1dd95462f5209456bfab55c734458f15d11da288f8f", size = 200113 }, + { url = "https://files.pythonhosted.org/packages/8a/0b/38b46208e6711b016aa8966a3ac793eee0d05c7159d8342aa27fc0bc365e/propcache-0.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8c9b3cbe4584636d72ff556d9036e0c9317fa27b3ac1f0f558e7e84d1c9c5900", size = 200778 }, + { url = "https://files.pythonhosted.org/packages/cf/81/5abec54355ed344476bee711e9f04815d4b00a311ab0535599204eecc257/propcache-0.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f93243fdc5657247533273ac4f86ae106cc6445a0efacb9a1bfe982fcfefd90c", size = 193047 }, + { url = "https://files.pythonhosted.org/packages/ec/b6/1f237c04e32063cb034acd5f6ef34ef3a394f75502e72703545631ab1ef6/propcache-0.4.1-cp310-cp310-win32.whl", hash = "sha256:a0ee98db9c5f80785b266eb805016e36058ac72c51a064040f2bc43b61101cdb", size = 38093 }, + { url = "https://files.pythonhosted.org/packages/a6/67/354aac4e0603a15f76439caf0427781bcd6797f370377f75a642133bc954/propcache-0.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:1cdb7988c4e5ac7f6d175a28a9aa0c94cb6f2ebe52756a3c0cda98d2809a9e37", size = 41638 }, + { url = "https://files.pythonhosted.org/packages/e0/e1/74e55b9fd1a4c209ff1a9a824bf6c8b3d1fc5a1ac3eabe23462637466785/propcache-0.4.1-cp310-cp310-win_arm64.whl", hash = "sha256:d82ad62b19645419fe79dd63b3f9253e15b30e955c0170e5cebc350c1844e581", size = 38229 }, + { url = "https://files.pythonhosted.org/packages/8c/d4/4e2c9aaf7ac2242b9358f98dccd8f90f2605402f5afeff6c578682c2c491/propcache-0.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:60a8fda9644b7dfd5dece8c61d8a85e271cb958075bfc4e01083c148b61a7caf", size = 80208 }, + { url = "https://files.pythonhosted.org/packages/c2/21/d7b68e911f9c8e18e4ae43bdbc1e1e9bbd971f8866eb81608947b6f585ff/propcache-0.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c30b53e7e6bda1d547cabb47c825f3843a0a1a42b0496087bb58d8fedf9f41b5", size = 45777 }, + { url = "https://files.pythonhosted.org/packages/d3/1d/11605e99ac8ea9435651ee71ab4cb4bf03f0949586246476a25aadfec54a/propcache-0.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6918ecbd897443087a3b7cd978d56546a812517dcaaca51b49526720571fa93e", size = 47647 }, + { url = "https://files.pythonhosted.org/packages/58/1a/3c62c127a8466c9c843bccb503d40a273e5cc69838805f322e2826509e0d/propcache-0.4.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3d902a36df4e5989763425a8ab9e98cd8ad5c52c823b34ee7ef307fd50582566", size = 214929 }, + { url = "https://files.pythonhosted.org/packages/56/b9/8fa98f850960b367c4b8fe0592e7fc341daa7a9462e925228f10a60cf74f/propcache-0.4.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a9695397f85973bb40427dedddf70d8dc4a44b22f1650dd4af9eedf443d45165", size = 221778 }, + { url = "https://files.pythonhosted.org/packages/46/a6/0ab4f660eb59649d14b3d3d65c439421cf2f87fe5dd68591cbe3c1e78a89/propcache-0.4.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2bb07ffd7eaad486576430c89f9b215f9e4be68c4866a96e97db9e97fead85dc", size = 228144 }, + { url = "https://files.pythonhosted.org/packages/52/6a/57f43e054fb3d3a56ac9fc532bc684fc6169a26c75c353e65425b3e56eef/propcache-0.4.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fd6f30fdcf9ae2a70abd34da54f18da086160e4d7d9251f81f3da0ff84fc5a48", size = 210030 }, + { url = "https://files.pythonhosted.org/packages/40/e2/27e6feebb5f6b8408fa29f5efbb765cd54c153ac77314d27e457a3e993b7/propcache-0.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:fc38cba02d1acba4e2869eef1a57a43dfbd3d49a59bf90dda7444ec2be6a5570", size = 208252 }, + { url = "https://files.pythonhosted.org/packages/9e/f8/91c27b22ccda1dbc7967f921c42825564fa5336a01ecd72eb78a9f4f53c2/propcache-0.4.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:67fad6162281e80e882fb3ec355398cf72864a54069d060321f6cd0ade95fe85", size = 202064 }, + { url = "https://files.pythonhosted.org/packages/f2/26/7f00bd6bd1adba5aafe5f4a66390f243acab58eab24ff1a08bebb2ef9d40/propcache-0.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f10207adf04d08bec185bae14d9606a1444715bc99180f9331c9c02093e1959e", size = 212429 }, + { url = "https://files.pythonhosted.org/packages/84/89/fd108ba7815c1117ddca79c228f3f8a15fc82a73bca8b142eb5de13b2785/propcache-0.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:e9b0d8d0845bbc4cfcdcbcdbf5086886bc8157aa963c31c777ceff7846c77757", size = 216727 }, + { url = "https://files.pythonhosted.org/packages/79/37/3ec3f7e3173e73f1d600495d8b545b53802cbf35506e5732dd8578db3724/propcache-0.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:981333cb2f4c1896a12f4ab92a9cc8f09ea664e9b7dbdc4eff74627af3a11c0f", size = 205097 }, + { url = "https://files.pythonhosted.org/packages/61/b0/b2631c19793f869d35f47d5a3a56fb19e9160d3c119f15ac7344fc3ccae7/propcache-0.4.1-cp311-cp311-win32.whl", hash = "sha256:f1d2f90aeec838a52f1c1a32fe9a619fefd5e411721a9117fbf82aea638fe8a1", size = 38084 }, + { url = "https://files.pythonhosted.org/packages/f4/78/6cce448e2098e9f3bfc91bb877f06aa24b6ccace872e39c53b2f707c4648/propcache-0.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:364426a62660f3f699949ac8c621aad6977be7126c5807ce48c0aeb8e7333ea6", size = 41637 }, + { url = "https://files.pythonhosted.org/packages/9c/e9/754f180cccd7f51a39913782c74717c581b9cc8177ad0e949f4d51812383/propcache-0.4.1-cp311-cp311-win_arm64.whl", hash = "sha256:e53f3a38d3510c11953f3e6a33f205c6d1b001129f972805ca9b42fc308bc239", size = 38064 }, + { url = "https://files.pythonhosted.org/packages/a2/0f/f17b1b2b221d5ca28b4b876e8bb046ac40466513960646bda8e1853cdfa2/propcache-0.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e153e9cd40cc8945138822807139367f256f89c6810c2634a4f6902b52d3b4e2", size = 80061 }, + { url = "https://files.pythonhosted.org/packages/76/47/8ccf75935f51448ba9a16a71b783eb7ef6b9ee60f5d14c7f8a8a79fbeed7/propcache-0.4.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:cd547953428f7abb73c5ad82cbb32109566204260d98e41e5dfdc682eb7f8403", size = 46037 }, + { url = "https://files.pythonhosted.org/packages/0a/b6/5c9a0e42df4d00bfb4a3cbbe5cf9f54260300c88a0e9af1f47ca5ce17ac0/propcache-0.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f048da1b4f243fc44f205dfd320933a951b8d89e0afd4c7cacc762a8b9165207", size = 47324 }, + { url = "https://files.pythonhosted.org/packages/9e/d3/6c7ee328b39a81ee877c962469f1e795f9db87f925251efeb0545e0020d0/propcache-0.4.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ec17c65562a827bba85e3872ead335f95405ea1674860d96483a02f5c698fa72", size = 225505 }, + { url = "https://files.pythonhosted.org/packages/01/5d/1c53f4563490b1d06a684742cc6076ef944bc6457df6051b7d1a877c057b/propcache-0.4.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:405aac25c6394ef275dee4c709be43745d36674b223ba4eb7144bf4d691b7367", size = 230242 }, + { url = "https://files.pythonhosted.org/packages/20/e1/ce4620633b0e2422207c3cb774a0ee61cac13abc6217763a7b9e2e3f4a12/propcache-0.4.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0013cb6f8dde4b2a2f66903b8ba740bdfe378c943c4377a200551ceb27f379e4", size = 238474 }, + { url = "https://files.pythonhosted.org/packages/46/4b/3aae6835b8e5f44ea6a68348ad90f78134047b503765087be2f9912140ea/propcache-0.4.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:15932ab57837c3368b024473a525e25d316d8353016e7cc0e5ba9eb343fbb1cf", size = 221575 }, + { url = "https://files.pythonhosted.org/packages/6e/a5/8a5e8678bcc9d3a1a15b9a29165640d64762d424a16af543f00629c87338/propcache-0.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:031dce78b9dc099f4c29785d9cf5577a3faf9ebf74ecbd3c856a7b92768c3df3", size = 216736 }, + { url = "https://files.pythonhosted.org/packages/f1/63/b7b215eddeac83ca1c6b934f89d09a625aa9ee4ba158338854c87210cc36/propcache-0.4.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:ab08df6c9a035bee56e31af99be621526bd237bea9f32def431c656b29e41778", size = 213019 }, + { url = "https://files.pythonhosted.org/packages/57/74/f580099a58c8af587cac7ba19ee7cb418506342fbbe2d4a4401661cca886/propcache-0.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4d7af63f9f93fe593afbf104c21b3b15868efb2c21d07d8732c0c4287e66b6a6", size = 220376 }, + { url = "https://files.pythonhosted.org/packages/c4/ee/542f1313aff7eaf19c2bb758c5d0560d2683dac001a1c96d0774af799843/propcache-0.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:cfc27c945f422e8b5071b6e93169679e4eb5bf73bbcbf1ba3ae3a83d2f78ebd9", size = 226988 }, + { url = "https://files.pythonhosted.org/packages/8f/18/9c6b015dd9c6930f6ce2229e1f02fb35298b847f2087ea2b436a5bfa7287/propcache-0.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:35c3277624a080cc6ec6f847cbbbb5b49affa3598c4535a0a4682a697aaa5c75", size = 215615 }, + { url = "https://files.pythonhosted.org/packages/80/9e/e7b85720b98c45a45e1fca6a177024934dc9bc5f4d5dd04207f216fc33ed/propcache-0.4.1-cp312-cp312-win32.whl", hash = "sha256:671538c2262dadb5ba6395e26c1731e1d52534bfe9ae56d0b5573ce539266aa8", size = 38066 }, + { url = "https://files.pythonhosted.org/packages/54/09/d19cff2a5aaac632ec8fc03737b223597b1e347416934c1b3a7df079784c/propcache-0.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:cb2d222e72399fcf5890d1d5cc1060857b9b236adff2792ff48ca2dfd46c81db", size = 41655 }, + { url = "https://files.pythonhosted.org/packages/68/ab/6b5c191bb5de08036a8c697b265d4ca76148efb10fa162f14af14fb5f076/propcache-0.4.1-cp312-cp312-win_arm64.whl", hash = "sha256:204483131fb222bdaaeeea9f9e6c6ed0cac32731f75dfc1d4a567fc1926477c1", size = 37789 }, + { url = "https://files.pythonhosted.org/packages/bf/df/6d9c1b6ac12b003837dde8a10231a7344512186e87b36e855bef32241942/propcache-0.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:43eedf29202c08550aac1d14e0ee619b0430aaef78f85864c1a892294fbc28cf", size = 77750 }, + { url = "https://files.pythonhosted.org/packages/8b/e8/677a0025e8a2acf07d3418a2e7ba529c9c33caf09d3c1f25513023c1db56/propcache-0.4.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d62cdfcfd89ccb8de04e0eda998535c406bf5e060ffd56be6c586cbcc05b3311", size = 44780 }, + { url = "https://files.pythonhosted.org/packages/89/a4/92380f7ca60f99ebae761936bc48a72a639e8a47b29050615eef757cb2a7/propcache-0.4.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cae65ad55793da34db5f54e4029b89d3b9b9490d8abe1b4c7ab5d4b8ec7ebf74", size = 46308 }, + { url = "https://files.pythonhosted.org/packages/2d/48/c5ac64dee5262044348d1d78a5f85dd1a57464a60d30daee946699963eb3/propcache-0.4.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:333ddb9031d2704a301ee3e506dc46b1fe5f294ec198ed6435ad5b6a085facfe", size = 208182 }, + { url = "https://files.pythonhosted.org/packages/c6/0c/cd762dd011a9287389a6a3eb43aa30207bde253610cca06824aeabfe9653/propcache-0.4.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:fd0858c20f078a32cf55f7e81473d96dcf3b93fd2ccdb3d40fdf54b8573df3af", size = 211215 }, + { url = "https://files.pythonhosted.org/packages/30/3e/49861e90233ba36890ae0ca4c660e95df565b2cd15d4a68556ab5865974e/propcache-0.4.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:678ae89ebc632c5c204c794f8dab2837c5f159aeb59e6ed0539500400577298c", size = 218112 }, + { url = "https://files.pythonhosted.org/packages/f1/8b/544bc867e24e1bd48f3118cecd3b05c694e160a168478fa28770f22fd094/propcache-0.4.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d472aeb4fbf9865e0c6d622d7f4d54a4e101a89715d8904282bb5f9a2f476c3f", size = 204442 }, + { url = "https://files.pythonhosted.org/packages/50/a6/4282772fd016a76d3e5c0df58380a5ea64900afd836cec2c2f662d1b9bb3/propcache-0.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4d3df5fa7e36b3225954fba85589da77a0fe6a53e3976de39caf04a0db4c36f1", size = 199398 }, + { url = "https://files.pythonhosted.org/packages/3e/ec/d8a7cd406ee1ddb705db2139f8a10a8a427100347bd698e7014351c7af09/propcache-0.4.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:ee17f18d2498f2673e432faaa71698032b0127ebf23ae5974eeaf806c279df24", size = 196920 }, + { url = "https://files.pythonhosted.org/packages/f6/6c/f38ab64af3764f431e359f8baf9e0a21013e24329e8b85d2da32e8ed07ca/propcache-0.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:580e97762b950f993ae618e167e7be9256b8353c2dcd8b99ec100eb50f5286aa", size = 203748 }, + { url = "https://files.pythonhosted.org/packages/d6/e3/fa846bd70f6534d647886621388f0a265254d30e3ce47e5c8e6e27dbf153/propcache-0.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:501d20b891688eb8e7aa903021f0b72d5a55db40ffaab27edefd1027caaafa61", size = 205877 }, + { url = "https://files.pythonhosted.org/packages/e2/39/8163fc6f3133fea7b5f2827e8eba2029a0277ab2c5beee6c1db7b10fc23d/propcache-0.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9a0bd56e5b100aef69bd8562b74b46254e7c8812918d3baa700c8a8009b0af66", size = 199437 }, + { url = "https://files.pythonhosted.org/packages/93/89/caa9089970ca49c7c01662bd0eeedfe85494e863e8043565aeb6472ce8fe/propcache-0.4.1-cp313-cp313-win32.whl", hash = "sha256:bcc9aaa5d80322bc2fb24bb7accb4a30f81e90ab8d6ba187aec0744bc302ad81", size = 37586 }, + { url = "https://files.pythonhosted.org/packages/f5/ab/f76ec3c3627c883215b5c8080debb4394ef5a7a29be811f786415fc1e6fd/propcache-0.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:381914df18634f5494334d201e98245c0596067504b9372d8cf93f4bb23e025e", size = 40790 }, + { url = "https://files.pythonhosted.org/packages/59/1b/e71ae98235f8e2ba5004d8cb19765a74877abf189bc53fc0c80d799e56c3/propcache-0.4.1-cp313-cp313-win_arm64.whl", hash = "sha256:8873eb4460fd55333ea49b7d189749ecf6e55bf85080f11b1c4530ed3034cba1", size = 37158 }, + { url = "https://files.pythonhosted.org/packages/83/ce/a31bbdfc24ee0dcbba458c8175ed26089cf109a55bbe7b7640ed2470cfe9/propcache-0.4.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:92d1935ee1f8d7442da9c0c4fa7ac20d07e94064184811b685f5c4fada64553b", size = 81451 }, + { url = "https://files.pythonhosted.org/packages/25/9c/442a45a470a68456e710d96cacd3573ef26a1d0a60067e6a7d5e655621ed/propcache-0.4.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:473c61b39e1460d386479b9b2f337da492042447c9b685f28be4f74d3529e566", size = 46374 }, + { url = "https://files.pythonhosted.org/packages/f4/bf/b1d5e21dbc3b2e889ea4327044fb16312a736d97640fb8b6aa3f9c7b3b65/propcache-0.4.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:c0ef0aaafc66fbd87842a3fe3902fd889825646bc21149eafe47be6072725835", size = 48396 }, + { url = "https://files.pythonhosted.org/packages/f4/04/5b4c54a103d480e978d3c8a76073502b18db0c4bc17ab91b3cb5092ad949/propcache-0.4.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f95393b4d66bfae908c3ca8d169d5f79cd65636ae15b5e7a4f6e67af675adb0e", size = 275950 }, + { url = "https://files.pythonhosted.org/packages/b4/c1/86f846827fb969c4b78b0af79bba1d1ea2156492e1b83dea8b8a6ae27395/propcache-0.4.1-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c07fda85708bc48578467e85099645167a955ba093be0a2dcba962195676e859", size = 273856 }, + { url = "https://files.pythonhosted.org/packages/36/1d/fc272a63c8d3bbad6878c336c7a7dea15e8f2d23a544bda43205dfa83ada/propcache-0.4.1-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:af223b406d6d000830c6f65f1e6431783fc3f713ba3e6cc8c024d5ee96170a4b", size = 280420 }, + { url = "https://files.pythonhosted.org/packages/07/0c/01f2219d39f7e53d52e5173bcb09c976609ba30209912a0680adfb8c593a/propcache-0.4.1-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a78372c932c90ee474559c5ddfffd718238e8673c340dc21fe45c5b8b54559a0", size = 263254 }, + { url = "https://files.pythonhosted.org/packages/2d/18/cd28081658ce597898f0c4d174d4d0f3c5b6d4dc27ffafeef835c95eb359/propcache-0.4.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:564d9f0d4d9509e1a870c920a89b2fec951b44bf5ba7d537a9e7c1ccec2c18af", size = 261205 }, + { url = "https://files.pythonhosted.org/packages/7a/71/1f9e22eb8b8316701c2a19fa1f388c8a3185082607da8e406a803c9b954e/propcache-0.4.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:17612831fda0138059cc5546f4d12a2aacfb9e47068c06af35c400ba58ba7393", size = 247873 }, + { url = "https://files.pythonhosted.org/packages/4a/65/3d4b61f36af2b4eddba9def857959f1016a51066b4f1ce348e0cf7881f58/propcache-0.4.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:41a89040cb10bd345b3c1a873b2bf36413d48da1def52f268a055f7398514874", size = 262739 }, + { url = "https://files.pythonhosted.org/packages/2a/42/26746ab087faa77c1c68079b228810436ccd9a5ce9ac85e2b7307195fd06/propcache-0.4.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:e35b88984e7fa64aacecea39236cee32dd9bd8c55f57ba8a75cf2399553f9bd7", size = 263514 }, + { url = "https://files.pythonhosted.org/packages/94/13/630690fe201f5502d2403dd3cfd451ed8858fe3c738ee88d095ad2ff407b/propcache-0.4.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6f8b465489f927b0df505cbe26ffbeed4d6d8a2bbc61ce90eb074ff129ef0ab1", size = 257781 }, + { url = "https://files.pythonhosted.org/packages/92/f7/1d4ec5841505f423469efbfc381d64b7b467438cd5a4bbcbb063f3b73d27/propcache-0.4.1-cp313-cp313t-win32.whl", hash = "sha256:2ad890caa1d928c7c2965b48f3a3815c853180831d0e5503d35cf00c472f4717", size = 41396 }, + { url = "https://files.pythonhosted.org/packages/48/f0/615c30622316496d2cbbc29f5985f7777d3ada70f23370608c1d3e081c1f/propcache-0.4.1-cp313-cp313t-win_amd64.whl", hash = "sha256:f7ee0e597f495cf415bcbd3da3caa3bd7e816b74d0d52b8145954c5e6fd3ff37", size = 44897 }, + { url = "https://files.pythonhosted.org/packages/fd/ca/6002e46eccbe0e33dcd4069ef32f7f1c9e243736e07adca37ae8c4830ec3/propcache-0.4.1-cp313-cp313t-win_arm64.whl", hash = "sha256:929d7cbe1f01bb7baffb33dc14eb5691c95831450a26354cd210a8155170c93a", size = 39789 }, + { url = "https://files.pythonhosted.org/packages/8e/5c/bca52d654a896f831b8256683457ceddd490ec18d9ec50e97dfd8fc726a8/propcache-0.4.1-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3f7124c9d820ba5548d431afb4632301acf965db49e666aa21c305cbe8c6de12", size = 78152 }, + { url = "https://files.pythonhosted.org/packages/65/9b/03b04e7d82a5f54fb16113d839f5ea1ede58a61e90edf515f6577c66fa8f/propcache-0.4.1-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:c0d4b719b7da33599dfe3b22d3db1ef789210a0597bc650b7cee9c77c2be8c5c", size = 44869 }, + { url = "https://files.pythonhosted.org/packages/b2/fa/89a8ef0468d5833a23fff277b143d0573897cf75bd56670a6d28126c7d68/propcache-0.4.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:9f302f4783709a78240ebc311b793f123328716a60911d667e0c036bc5dcbded", size = 46596 }, + { url = "https://files.pythonhosted.org/packages/86/bd/47816020d337f4a746edc42fe8d53669965138f39ee117414c7d7a340cfe/propcache-0.4.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c80ee5802e3fb9ea37938e7eecc307fb984837091d5fd262bb37238b1ae97641", size = 206981 }, + { url = "https://files.pythonhosted.org/packages/df/f6/c5fa1357cc9748510ee55f37173eb31bfde6d94e98ccd9e6f033f2fc06e1/propcache-0.4.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ed5a841e8bb29a55fb8159ed526b26adc5bdd7e8bd7bf793ce647cb08656cdf4", size = 211490 }, + { url = "https://files.pythonhosted.org/packages/80/1e/e5889652a7c4a3846683401a48f0f2e5083ce0ec1a8a5221d8058fbd1adf/propcache-0.4.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:55c72fd6ea2da4c318e74ffdf93c4fe4e926051133657459131a95c846d16d44", size = 215371 }, + { url = "https://files.pythonhosted.org/packages/b2/f2/889ad4b2408f72fe1a4f6a19491177b30ea7bf1a0fd5f17050ca08cfc882/propcache-0.4.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8326e144341460402713f91df60ade3c999d601e7eb5ff8f6f7862d54de0610d", size = 201424 }, + { url = "https://files.pythonhosted.org/packages/27/73/033d63069b57b0812c8bd19f311faebeceb6ba31b8f32b73432d12a0b826/propcache-0.4.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:060b16ae65bc098da7f6d25bf359f1f31f688384858204fe5d652979e0015e5b", size = 197566 }, + { url = "https://files.pythonhosted.org/packages/dc/89/ce24f3dc182630b4e07aa6d15f0ff4b14ed4b9955fae95a0b54c58d66c05/propcache-0.4.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:89eb3fa9524f7bec9de6e83cf3faed9d79bffa560672c118a96a171a6f55831e", size = 193130 }, + { url = "https://files.pythonhosted.org/packages/a9/24/ef0d5fd1a811fb5c609278d0209c9f10c35f20581fcc16f818da959fc5b4/propcache-0.4.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:dee69d7015dc235f526fe80a9c90d65eb0039103fe565776250881731f06349f", size = 202625 }, + { url = "https://files.pythonhosted.org/packages/f5/02/98ec20ff5546f68d673df2f7a69e8c0d076b5abd05ca882dc7ee3a83653d/propcache-0.4.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:5558992a00dfd54ccbc64a32726a3357ec93825a418a401f5cc67df0ac5d9e49", size = 204209 }, + { url = "https://files.pythonhosted.org/packages/a0/87/492694f76759b15f0467a2a93ab68d32859672b646aa8a04ce4864e7932d/propcache-0.4.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:c9b822a577f560fbd9554812526831712c1436d2c046cedee4c3796d3543b144", size = 197797 }, + { url = "https://files.pythonhosted.org/packages/ee/36/66367de3575db1d2d3f3d177432bd14ee577a39d3f5d1b3d5df8afe3b6e2/propcache-0.4.1-cp314-cp314-win32.whl", hash = "sha256:ab4c29b49d560fe48b696cdcb127dd36e0bc2472548f3bf56cc5cb3da2b2984f", size = 38140 }, + { url = "https://files.pythonhosted.org/packages/0c/2a/a758b47de253636e1b8aef181c0b4f4f204bf0dd964914fb2af90a95b49b/propcache-0.4.1-cp314-cp314-win_amd64.whl", hash = "sha256:5a103c3eb905fcea0ab98be99c3a9a5ab2de60228aa5aceedc614c0281cf6153", size = 41257 }, + { url = "https://files.pythonhosted.org/packages/34/5e/63bd5896c3fec12edcbd6f12508d4890d23c265df28c74b175e1ef9f4f3b/propcache-0.4.1-cp314-cp314-win_arm64.whl", hash = "sha256:74c1fb26515153e482e00177a1ad654721bf9207da8a494a0c05e797ad27b992", size = 38097 }, + { url = "https://files.pythonhosted.org/packages/99/85/9ff785d787ccf9bbb3f3106f79884a130951436f58392000231b4c737c80/propcache-0.4.1-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:824e908bce90fb2743bd6b59db36eb4f45cd350a39637c9f73b1c1ea66f5b75f", size = 81455 }, + { url = "https://files.pythonhosted.org/packages/90/85/2431c10c8e7ddb1445c1f7c4b54d886e8ad20e3c6307e7218f05922cad67/propcache-0.4.1-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:c2b5e7db5328427c57c8e8831abda175421b709672f6cfc3d630c3b7e2146393", size = 46372 }, + { url = "https://files.pythonhosted.org/packages/01/20/b0972d902472da9bcb683fa595099911f4d2e86e5683bcc45de60dd05dc3/propcache-0.4.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:6f6ff873ed40292cd4969ef5310179afd5db59fdf055897e282485043fc80ad0", size = 48411 }, + { url = "https://files.pythonhosted.org/packages/e2/e3/7dc89f4f21e8f99bad3d5ddb3a3389afcf9da4ac69e3deb2dcdc96e74169/propcache-0.4.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:49a2dc67c154db2c1463013594c458881a069fcf98940e61a0569016a583020a", size = 275712 }, + { url = "https://files.pythonhosted.org/packages/20/67/89800c8352489b21a8047c773067644e3897f02ecbbd610f4d46b7f08612/propcache-0.4.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:005f08e6a0529984491e37d8dbc3dd86f84bd78a8ceb5fa9a021f4c48d4984be", size = 273557 }, + { url = "https://files.pythonhosted.org/packages/e2/a1/b52b055c766a54ce6d9c16d9aca0cad8059acd9637cdf8aa0222f4a026ef/propcache-0.4.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5c3310452e0d31390da9035c348633b43d7e7feb2e37be252be6da45abd1abcc", size = 280015 }, + { url = "https://files.pythonhosted.org/packages/48/c8/33cee30bd890672c63743049f3c9e4be087e6780906bfc3ec58528be59c1/propcache-0.4.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4c3c70630930447f9ef1caac7728c8ad1c56bc5015338b20fed0d08ea2480b3a", size = 262880 }, + { url = "https://files.pythonhosted.org/packages/0c/b1/8f08a143b204b418285c88b83d00edbd61afbc2c6415ffafc8905da7038b/propcache-0.4.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8e57061305815dfc910a3634dcf584f08168a8836e6999983569f51a8544cd89", size = 260938 }, + { url = "https://files.pythonhosted.org/packages/cf/12/96e4664c82ca2f31e1c8dff86afb867348979eb78d3cb8546a680287a1e9/propcache-0.4.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:521a463429ef54143092c11a77e04056dd00636f72e8c45b70aaa3140d639726", size = 247641 }, + { url = "https://files.pythonhosted.org/packages/18/ed/e7a9cfca28133386ba52278136d42209d3125db08d0a6395f0cba0c0285c/propcache-0.4.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:120c964da3fdc75e3731aa392527136d4ad35868cc556fd09bb6d09172d9a367", size = 262510 }, + { url = "https://files.pythonhosted.org/packages/f5/76/16d8bf65e8845dd62b4e2b57444ab81f07f40caa5652b8969b87ddcf2ef6/propcache-0.4.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:d8f353eb14ee3441ee844ade4277d560cdd68288838673273b978e3d6d2c8f36", size = 263161 }, + { url = "https://files.pythonhosted.org/packages/e7/70/c99e9edb5d91d5ad8a49fa3c1e8285ba64f1476782fed10ab251ff413ba1/propcache-0.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:ab2943be7c652f09638800905ee1bab2c544e537edb57d527997a24c13dc1455", size = 257393 }, + { url = "https://files.pythonhosted.org/packages/08/02/87b25304249a35c0915d236575bc3574a323f60b47939a2262b77632a3ee/propcache-0.4.1-cp314-cp314t-win32.whl", hash = "sha256:05674a162469f31358c30bcaa8883cb7829fa3110bf9c0991fe27d7896c42d85", size = 42546 }, + { url = "https://files.pythonhosted.org/packages/cb/ef/3c6ecf8b317aa982f309835e8f96987466123c6e596646d4e6a1dfcd080f/propcache-0.4.1-cp314-cp314t-win_amd64.whl", hash = "sha256:990f6b3e2a27d683cb7602ed6c86f15ee6b43b1194736f9baaeb93d0016633b1", size = 46259 }, + { url = "https://files.pythonhosted.org/packages/c4/2d/346e946d4951f37eca1e4f55be0f0174c52cd70720f84029b02f296f4a38/propcache-0.4.1-cp314-cp314t-win_arm64.whl", hash = "sha256:ecef2343af4cc68e05131e45024ba34f6095821988a9d0a02aa7c73fcc448aa9", size = 40428 }, + { url = "https://files.pythonhosted.org/packages/9b/01/0ebaec9003f5d619a7475165961f8e3083cf8644d704b60395df3601632d/propcache-0.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3d233076ccf9e450c8b3bc6720af226b898ef5d051a2d145f7d765e6e9f9bcff", size = 80277 }, + { url = "https://files.pythonhosted.org/packages/34/58/04af97ac586b4ef6b9026c3fd36ee7798b737a832f5d3440a4280dcebd3a/propcache-0.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:357f5bb5c377a82e105e44bd3d52ba22b616f7b9773714bff93573988ef0a5fb", size = 45865 }, + { url = "https://files.pythonhosted.org/packages/7c/19/b65d98ae21384518b291d9939e24a8aeac4fdb5101b732576f8f7540e834/propcache-0.4.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cbc3b6dfc728105b2a57c06791eb07a94229202ea75c59db644d7d496b698cac", size = 47636 }, + { url = "https://files.pythonhosted.org/packages/b3/0f/317048c6d91c356c7154dca5af019e6effeb7ee15fa6a6db327cc19e12b4/propcache-0.4.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:182b51b421f0501952d938dc0b0eb45246a5b5153c50d42b495ad5fb7517c888", size = 201126 }, + { url = "https://files.pythonhosted.org/packages/71/69/0b2a7a5a6ee83292b4b997dbd80549d8ce7d40b6397c1646c0d9495f5a85/propcache-0.4.1-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4b536b39c5199b96fc6245eb5fb796c497381d3942f169e44e8e392b29c9ebcc", size = 209837 }, + { url = "https://files.pythonhosted.org/packages/a5/92/c699ac495a6698df6e497fc2de27af4b6ace10d8e76528357ce153722e45/propcache-0.4.1-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:db65d2af507bbfbdcedb254a11149f894169d90488dd3e7190f7cdcb2d6cd57a", size = 215578 }, + { url = "https://files.pythonhosted.org/packages/b3/ee/14de81c5eb02c0ee4f500b4e39c4e1bd0677c06e72379e6ab18923c773fc/propcache-0.4.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fd2dbc472da1f772a4dae4fa24be938a6c544671a912e30529984dd80400cd88", size = 197187 }, + { url = "https://files.pythonhosted.org/packages/1d/94/48dce9aaa6d8dd5a0859bad75158ec522546d4ac23f8e2f05fac469477dd/propcache-0.4.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:daede9cd44e0f8bdd9e6cc9a607fc81feb80fae7a5fc6cecaff0e0bb32e42d00", size = 193478 }, + { url = "https://files.pythonhosted.org/packages/60/b5/0516b563e801e1ace212afde869a0596a0d7115eec0b12d296d75633fb29/propcache-0.4.1-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:71b749281b816793678ae7f3d0d84bd36e694953822eaad408d682efc5ca18e0", size = 190650 }, + { url = "https://files.pythonhosted.org/packages/24/89/e0f7d4a5978cd56f8cd67735f74052f257dc471ec901694e430f0d1572fe/propcache-0.4.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:0002004213ee1f36cfb3f9a42b5066100c44276b9b72b4e1504cddd3d692e86e", size = 200251 }, + { url = "https://files.pythonhosted.org/packages/06/7d/a1fac863d473876ed4406c914f2e14aa82d2f10dd207c9e16fc383cc5a24/propcache-0.4.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:fe49d0a85038f36ba9e3ffafa1103e61170b28e95b16622e11be0a0ea07c6781", size = 200919 }, + { url = "https://files.pythonhosted.org/packages/c3/4e/f86a256ff24944cf5743e4e6c6994e3526f6acfcfb55e21694c2424f758c/propcache-0.4.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:99d43339c83aaf4d32bda60928231848eee470c6bda8d02599cc4cebe872d183", size = 193211 }, + { url = "https://files.pythonhosted.org/packages/6e/3f/3fbad5f4356b068f1b047d300a6ff2c66614d7030f078cd50be3fec04228/propcache-0.4.1-cp39-cp39-win32.whl", hash = "sha256:a129e76735bc792794d5177069691c3217898b9f5cee2b2661471e52ffe13f19", size = 38314 }, + { url = "https://files.pythonhosted.org/packages/a4/45/d78d136c3a3d215677abb886785aae744da2c3005bcb99e58640c56529b1/propcache-0.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:948dab269721ae9a87fd16c514a0a2c2a1bdb23a9a61b969b0f9d9ee2968546f", size = 41912 }, + { url = "https://files.pythonhosted.org/packages/fc/2a/b0632941f25139f4e58450b307242951f7c2717a5704977c6d5323a800af/propcache-0.4.1-cp39-cp39-win_arm64.whl", hash = "sha256:5fd37c406dd6dc85aa743e214cef35dc54bbdd1419baac4f6ae5e5b1a2976938", size = 38450 }, + { url = "https://files.pythonhosted.org/packages/5b/5a/bc7b4a4ef808fa59a816c17b20c4bef6884daebbdf627ff2a161da67da19/propcache-0.4.1-py3-none-any.whl", hash = "sha256:af2a6052aeb6cf17d3e46ee169099044fd8224cbaf75c76a2ef596e8163e2237", size = 13305 }, +] + +[[distribution]] +name = "pygments" +version = "2.20.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c3/b2/bc9c9196916376152d655522fdcebac55e66de6603a76a02bca1b6414f6c/pygments-2.20.0.tar.gz", hash = "sha256:6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f", size = 4955991 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl", hash = "sha256:81a9e26dd42fd28a23a2d169d86d7ac03b46e2f8b59ed4698fb4785f946d0176", size = 1231151 }, +] + +[[distribution]] +name = "pystac" +version = "1.10.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "python-dateutil" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/06/92/c3e318971090e314ee889ae794e71d880ed446d4f16d422850350e24415c/pystac-1.10.1.tar.gz", hash = "sha256:4617fe5315a79785f79b616b8ac248ba3d4d561457c8300b34573309715808cd", size = 141507 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ee/19/f8df3ac83ae5a977b108d86c8a0d7e4ef98c91dceca136017bc183ef942e/pystac-1.10.1-py3-none-any.whl", hash = "sha256:a7c31b3dacc44dfc955d9da8c7351c7b5b99100254b36301a1e312709b51bf2f", size = 182890 }, +] + +[distribution.optional-dependencies] +validation = [ + { name = "jsonschema" }, +] + +[[distribution]] +name = "pystac-client" +version = "0.8.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pystac" }, + { name = "pystac", extra = "validation" }, + { name = "python-dateutil" }, + { name = "requests" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f8/99/ba7145ecf6a6b4ee28a053b47d7019617755b0201ae068e236dbba7c589a/pystac_client-0.8.3.tar.gz", hash = "sha256:0c47c1a1795f3c931a256fa1a512aa1a1eefa242fdf826dd456c78c8e97f4c5e", size = 42255 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fe/98/699965afb145d76a494a441cfb8f18ccd473ebf6d4f2df67fde0bc2a31b1/pystac_client-0.8.3-py3-none-any.whl", hash = "sha256:4b151f3ad993bd68d067b3fe525e4f49b05da3290f86fbc9b185e3f65ae1ebe5", size = 33760 }, +] + +[[distribution]] +name = "pytest" +version = "8.4.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "exceptiongroup", marker = "python_version < '3.11'" }, + { name = "iniconfig" }, + { name = "packaging" }, + { name = "pluggy" }, + { name = "pygments" }, + { name = "tomli", marker = "python_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a3/5c/00a0e072241553e1a7496d638deababa67c5058571567b92a7eaa258397c/pytest-8.4.2.tar.gz", hash = "sha256:86c0d0b93306b961d58d62a4db4879f27fe25513d4b969df351abdddb3c30e01", size = 1519618 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a8/a4/20da314d277121d6534b3a980b29035dcd51e6744bd79075a6ce8fa4eb8d/pytest-8.4.2-py3-none-any.whl", hash = "sha256:872f880de3fc3a5bdc88a11b39c9710c3497a547cfa9320bc3c5e62fbf272e79", size = 365750 }, +] + +[[distribution]] +name = "pytest-asyncio" +version = "1.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "backports-asyncio-runner", marker = "python_version < '3.11'" }, + { name = "pytest" }, + { name = "typing-extensions", marker = "python_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/42/86/9e3c5f48f7b7b638b216e4b9e645f54d199d7abbbab7a64a13b4e12ba10f/pytest_asyncio-1.2.0.tar.gz", hash = "sha256:c609a64a2a8768462d0c99811ddb8bd2583c33fd33cf7f21af1c142e824ffb57", size = 50119 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/93/2fa34714b7a4ae72f2f8dad66ba17dd9a2c793220719e736dda28b7aec27/pytest_asyncio-1.2.0-py3-none-any.whl", hash = "sha256:8e17ae5e46d8e7efe51ab6494dd2010f4ca8dae51652aa3c8d55acf50bfb2e99", size = 15095 }, +] + +[[distribution]] +name = "python-dateutil" +version = "2.9.0.post0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892 }, +] + +[[distribution]] +name = "referencing" +version = "0.36.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "rpds-py" }, + { name = "typing-extensions", marker = "python_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa", size = 74744 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c1/b1/3baf80dc6d2b7bc27a95a67752d0208e410351e3feb4eb78de5f77454d8d/referencing-0.36.2-py3-none-any.whl", hash = "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0", size = 26775 }, +] + +[[distribution]] +name = "requests" +version = "2.32.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz", hash = "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf", size = 134517 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl", hash = "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6", size = 64738 }, +] + +[[distribution]] +name = "rpds-py" +version = "0.27.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e9/dd/2c0cbe774744272b0ae725f44032c77bdcab6e8bcf544bffa3b6e70c8dba/rpds_py-0.27.1.tar.gz", hash = "sha256:26a1c73171d10b7acccbded82bf6a586ab8203601e565badc74bbbf8bc5a10f8", size = 27479 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a5/ed/3aef893e2dd30e77e35d20d4ddb45ca459db59cead748cad9796ad479411/rpds_py-0.27.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:68afeec26d42ab3b47e541b272166a0b4400313946871cba3ed3a4fc0cab1cef", size = 371606 }, + { url = "https://files.pythonhosted.org/packages/6d/82/9818b443e5d3eb4c83c3994561387f116aae9833b35c484474769c4a8faf/rpds_py-0.27.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:74e5b2f7bb6fa38b1b10546d27acbacf2a022a8b5543efb06cfebc72a59c85be", size = 353452 }, + { url = "https://files.pythonhosted.org/packages/99/c7/d2a110ffaaa397fc6793a83c7bd3545d9ab22658b7cdff05a24a4535cc45/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9024de74731df54546fab0bfbcdb49fae19159ecaecfc8f37c18d2c7e2c0bd61", size = 381519 }, + { url = "https://files.pythonhosted.org/packages/5a/bc/e89581d1f9d1be7d0247eaef602566869fdc0d084008ba139e27e775366c/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:31d3ebadefcd73b73928ed0b2fd696f7fefda8629229f81929ac9c1854d0cffb", size = 394424 }, + { url = "https://files.pythonhosted.org/packages/ac/2e/36a6861f797530e74bb6ed53495f8741f1ef95939eed01d761e73d559067/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b2e7f8f169d775dd9092a1743768d771f1d1300453ddfe6325ae3ab5332b4657", size = 523467 }, + { url = "https://files.pythonhosted.org/packages/c4/59/c1bc2be32564fa499f988f0a5c6505c2f4746ef96e58e4d7de5cf923d77e/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d905d16f77eb6ab2e324e09bfa277b4c8e5e6b8a78a3e7ff8f3cdf773b4c013", size = 402660 }, + { url = "https://files.pythonhosted.org/packages/0a/ec/ef8bf895f0628dd0a59e54d81caed6891663cb9c54a0f4bb7da918cb88cf/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50c946f048209e6362e22576baea09193809f87687a95a8db24e5fbdb307b93a", size = 384062 }, + { url = "https://files.pythonhosted.org/packages/69/f7/f47ff154be8d9a5e691c083a920bba89cef88d5247c241c10b9898f595a1/rpds_py-0.27.1-cp310-cp310-manylinux_2_31_riscv64.whl", hash = "sha256:3deab27804d65cd8289eb814c2c0e807c4b9d9916c9225e363cb0cf875eb67c1", size = 401289 }, + { url = "https://files.pythonhosted.org/packages/3b/d9/ca410363efd0615814ae579f6829cafb39225cd63e5ea5ed1404cb345293/rpds_py-0.27.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8b61097f7488de4be8244c89915da8ed212832ccf1e7c7753a25a394bf9b1f10", size = 417718 }, + { url = "https://files.pythonhosted.org/packages/e3/a0/8cb5c2ff38340f221cc067cc093d1270e10658ba4e8d263df923daa18e86/rpds_py-0.27.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:8a3f29aba6e2d7d90528d3c792555a93497fe6538aa65eb675b44505be747808", size = 558333 }, + { url = "https://files.pythonhosted.org/packages/6f/8c/1b0de79177c5d5103843774ce12b84caa7164dfc6cd66378768d37db11bf/rpds_py-0.27.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:dd6cd0485b7d347304067153a6dc1d73f7d4fd995a396ef32a24d24b8ac63ac8", size = 589127 }, + { url = "https://files.pythonhosted.org/packages/c8/5e/26abb098d5e01266b0f3a2488d299d19ccc26849735d9d2b95c39397e945/rpds_py-0.27.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:6f4461bf931108c9fa226ffb0e257c1b18dc2d44cd72b125bec50ee0ab1248a9", size = 554899 }, + { url = "https://files.pythonhosted.org/packages/de/41/905cc90ced13550db017f8f20c6d8e8470066c5738ba480d7ba63e3d136b/rpds_py-0.27.1-cp310-cp310-win32.whl", hash = "sha256:ee5422d7fb21f6a00c1901bf6559c49fee13a5159d0288320737bbf6585bd3e4", size = 217450 }, + { url = "https://files.pythonhosted.org/packages/75/3d/6bef47b0e253616ccdf67c283e25f2d16e18ccddd38f92af81d5a3420206/rpds_py-0.27.1-cp310-cp310-win_amd64.whl", hash = "sha256:3e039aabf6d5f83c745d5f9a0a381d031e9ed871967c0a5c38d201aca41f3ba1", size = 228447 }, + { url = "https://files.pythonhosted.org/packages/b5/c1/7907329fbef97cbd49db6f7303893bd1dd5a4a3eae415839ffdfb0762cae/rpds_py-0.27.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:be898f271f851f68b318872ce6ebebbc62f303b654e43bf72683dbdc25b7c881", size = 371063 }, + { url = "https://files.pythonhosted.org/packages/11/94/2aab4bc86228bcf7c48760990273653a4900de89c7537ffe1b0d6097ed39/rpds_py-0.27.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:62ac3d4e3e07b58ee0ddecd71d6ce3b1637de2d373501412df395a0ec5f9beb5", size = 353210 }, + { url = "https://files.pythonhosted.org/packages/3a/57/f5eb3ecf434342f4f1a46009530e93fd201a0b5b83379034ebdb1d7c1a58/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4708c5c0ceb2d034f9991623631d3d23cb16e65c83736ea020cdbe28d57c0a0e", size = 381636 }, + { url = "https://files.pythonhosted.org/packages/ae/f4/ef95c5945e2ceb5119571b184dd5a1cc4b8541bbdf67461998cfeac9cb1e/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:abfa1171a9952d2e0002aba2ad3780820b00cc3d9c98c6630f2e93271501f66c", size = 394341 }, + { url = "https://files.pythonhosted.org/packages/5a/7e/4bd610754bf492d398b61725eb9598ddd5eb86b07d7d9483dbcd810e20bc/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4b507d19f817ebaca79574b16eb2ae412e5c0835542c93fe9983f1e432aca195", size = 523428 }, + { url = "https://files.pythonhosted.org/packages/9f/e5/059b9f65a8c9149361a8b75094864ab83b94718344db511fd6117936ed2a/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:168b025f8fd8d8d10957405f3fdcef3dc20f5982d398f90851f4abc58c566c52", size = 402923 }, + { url = "https://files.pythonhosted.org/packages/f5/48/64cabb7daced2968dd08e8a1b7988bf358d7bd5bcd5dc89a652f4668543c/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb56c6210ef77caa58e16e8c17d35c63fe3f5b60fd9ba9d424470c3400bcf9ed", size = 384094 }, + { url = "https://files.pythonhosted.org/packages/ae/e1/dc9094d6ff566bff87add8a510c89b9e158ad2ecd97ee26e677da29a9e1b/rpds_py-0.27.1-cp311-cp311-manylinux_2_31_riscv64.whl", hash = "sha256:d252f2d8ca0195faa707f8eb9368955760880b2b42a8ee16d382bf5dd807f89a", size = 401093 }, + { url = "https://files.pythonhosted.org/packages/37/8e/ac8577e3ecdd5593e283d46907d7011618994e1d7ab992711ae0f78b9937/rpds_py-0.27.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6e5e54da1e74b91dbc7996b56640f79b195d5925c2b78efaa8c5d53e1d88edde", size = 417969 }, + { url = "https://files.pythonhosted.org/packages/66/6d/87507430a8f74a93556fe55c6485ba9c259949a853ce407b1e23fea5ba31/rpds_py-0.27.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ffce0481cc6e95e5b3f0a47ee17ffbd234399e6d532f394c8dce320c3b089c21", size = 558302 }, + { url = "https://files.pythonhosted.org/packages/3a/bb/1db4781ce1dda3eecc735e3152659a27b90a02ca62bfeea17aee45cc0fbc/rpds_py-0.27.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:a205fdfe55c90c2cd8e540ca9ceba65cbe6629b443bc05db1f590a3db8189ff9", size = 589259 }, + { url = "https://files.pythonhosted.org/packages/7b/0e/ae1c8943d11a814d01b482e1f8da903f88047a962dff9bbdadf3bd6e6fd1/rpds_py-0.27.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:689fb5200a749db0415b092972e8eba85847c23885c8543a8b0f5c009b1a5948", size = 554983 }, + { url = "https://files.pythonhosted.org/packages/b2/d5/0b2a55415931db4f112bdab072443ff76131b5ac4f4dc98d10d2d357eb03/rpds_py-0.27.1-cp311-cp311-win32.whl", hash = "sha256:3182af66048c00a075010bc7f4860f33913528a4b6fc09094a6e7598e462fe39", size = 217154 }, + { url = "https://files.pythonhosted.org/packages/24/75/3b7ffe0d50dc86a6a964af0d1cc3a4a2cdf437cb7b099a4747bbb96d1819/rpds_py-0.27.1-cp311-cp311-win_amd64.whl", hash = "sha256:b4938466c6b257b2f5c4ff98acd8128ec36b5059e5c8f8372d79316b1c36bb15", size = 228627 }, + { url = "https://files.pythonhosted.org/packages/8d/3f/4fd04c32abc02c710f09a72a30c9a55ea3cc154ef8099078fd50a0596f8e/rpds_py-0.27.1-cp311-cp311-win_arm64.whl", hash = "sha256:2f57af9b4d0793e53266ee4325535a31ba48e2f875da81a9177c9926dfa60746", size = 220998 }, + { url = "https://files.pythonhosted.org/packages/bd/fe/38de28dee5df58b8198c743fe2bea0c785c6d40941b9950bac4cdb71a014/rpds_py-0.27.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:ae2775c1973e3c30316892737b91f9283f9908e3cc7625b9331271eaaed7dc90", size = 361887 }, + { url = "https://files.pythonhosted.org/packages/7c/9a/4b6c7eedc7dd90986bf0fab6ea2a091ec11c01b15f8ba0a14d3f80450468/rpds_py-0.27.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2643400120f55c8a96f7c9d858f7be0c88d383cd4653ae2cf0d0c88f668073e5", size = 345795 }, + { url = "https://files.pythonhosted.org/packages/6f/0e/e650e1b81922847a09cca820237b0edee69416a01268b7754d506ade11ad/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16323f674c089b0360674a4abd28d5042947d54ba620f72514d69be4ff64845e", size = 385121 }, + { url = "https://files.pythonhosted.org/packages/1b/ea/b306067a712988e2bff00dcc7c8f31d26c29b6d5931b461aa4b60a013e33/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9a1f4814b65eacac94a00fc9a526e3fdafd78e439469644032032d0d63de4881", size = 398976 }, + { url = "https://files.pythonhosted.org/packages/2c/0a/26dc43c8840cb8fe239fe12dbc8d8de40f2365e838f3d395835dde72f0e5/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ba32c16b064267b22f1850a34051121d423b6f7338a12b9459550eb2096e7ec", size = 525953 }, + { url = "https://files.pythonhosted.org/packages/22/14/c85e8127b573aaf3a0cbd7fbb8c9c99e735a4a02180c84da2a463b766e9e/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5c20f33fd10485b80f65e800bbe5f6785af510b9f4056c5a3c612ebc83ba6cb", size = 407915 }, + { url = "https://files.pythonhosted.org/packages/ed/7b/8f4fee9ba1fb5ec856eb22d725a4efa3deb47f769597c809e03578b0f9d9/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:466bfe65bd932da36ff279ddd92de56b042f2266d752719beb97b08526268ec5", size = 386883 }, + { url = "https://files.pythonhosted.org/packages/86/47/28fa6d60f8b74fcdceba81b272f8d9836ac0340570f68f5df6b41838547b/rpds_py-0.27.1-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:41e532bbdcb57c92ba3be62c42e9f096431b4cf478da9bc3bc6ce5c38ab7ba7a", size = 405699 }, + { url = "https://files.pythonhosted.org/packages/d0/fd/c5987b5e054548df56953a21fe2ebed51fc1ec7c8f24fd41c067b68c4a0a/rpds_py-0.27.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f149826d742b406579466283769a8ea448eed82a789af0ed17b0cd5770433444", size = 423713 }, + { url = "https://files.pythonhosted.org/packages/ac/ba/3c4978b54a73ed19a7d74531be37a8bcc542d917c770e14d372b8daea186/rpds_py-0.27.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:80c60cfb5310677bd67cb1e85a1e8eb52e12529545441b43e6f14d90b878775a", size = 562324 }, + { url = "https://files.pythonhosted.org/packages/b5/6c/6943a91768fec16db09a42b08644b960cff540c66aab89b74be6d4a144ba/rpds_py-0.27.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:7ee6521b9baf06085f62ba9c7a3e5becffbc32480d2f1b351559c001c38ce4c1", size = 593646 }, + { url = "https://files.pythonhosted.org/packages/11/73/9d7a8f4be5f4396f011a6bb7a19fe26303a0dac9064462f5651ced2f572f/rpds_py-0.27.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a512c8263249a9d68cac08b05dd59d2b3f2061d99b322813cbcc14c3c7421998", size = 558137 }, + { url = "https://files.pythonhosted.org/packages/6e/96/6772cbfa0e2485bcceef8071de7821f81aeac8bb45fbfd5542a3e8108165/rpds_py-0.27.1-cp312-cp312-win32.whl", hash = "sha256:819064fa048ba01b6dadc5116f3ac48610435ac9a0058bbde98e569f9e785c39", size = 221343 }, + { url = "https://files.pythonhosted.org/packages/67/b6/c82f0faa9af1c6a64669f73a17ee0eeef25aff30bb9a1c318509efe45d84/rpds_py-0.27.1-cp312-cp312-win_amd64.whl", hash = "sha256:d9199717881f13c32c4046a15f024971a3b78ad4ea029e8da6b86e5aa9cf4594", size = 232497 }, + { url = "https://files.pythonhosted.org/packages/e1/96/2817b44bd2ed11aebacc9251da03689d56109b9aba5e311297b6902136e2/rpds_py-0.27.1-cp312-cp312-win_arm64.whl", hash = "sha256:33aa65b97826a0e885ef6e278fbd934e98cdcfed80b63946025f01e2f5b29502", size = 222790 }, + { url = "https://files.pythonhosted.org/packages/cc/77/610aeee8d41e39080c7e14afa5387138e3c9fa9756ab893d09d99e7d8e98/rpds_py-0.27.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:e4b9fcfbc021633863a37e92571d6f91851fa656f0180246e84cbd8b3f6b329b", size = 361741 }, + { url = "https://files.pythonhosted.org/packages/3a/fc/c43765f201c6a1c60be2043cbdb664013def52460a4c7adace89d6682bf4/rpds_py-0.27.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1441811a96eadca93c517d08df75de45e5ffe68aa3089924f963c782c4b898cf", size = 345574 }, + { url = "https://files.pythonhosted.org/packages/20/42/ee2b2ca114294cd9847d0ef9c26d2b0851b2e7e00bf14cc4c0b581df0fc3/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55266dafa22e672f5a4f65019015f90336ed31c6383bd53f5e7826d21a0e0b83", size = 385051 }, + { url = "https://files.pythonhosted.org/packages/fd/e8/1e430fe311e4799e02e2d1af7c765f024e95e17d651612425b226705f910/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d78827d7ac08627ea2c8e02c9e5b41180ea5ea1f747e9db0915e3adf36b62dcf", size = 398395 }, + { url = "https://files.pythonhosted.org/packages/82/95/9dc227d441ff2670651c27a739acb2535ccaf8b351a88d78c088965e5996/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae92443798a40a92dc5f0b01d8a7c93adde0c4dc965310a29ae7c64d72b9fad2", size = 524334 }, + { url = "https://files.pythonhosted.org/packages/87/01/a670c232f401d9ad461d9a332aa4080cd3cb1d1df18213dbd0d2a6a7ab51/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c46c9dd2403b66a2a3b9720ec4b74d4ab49d4fabf9f03dfdce2d42af913fe8d0", size = 407691 }, + { url = "https://files.pythonhosted.org/packages/03/36/0a14aebbaa26fe7fab4780c76f2239e76cc95a0090bdb25e31d95c492fcd/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2efe4eb1d01b7f5f1939f4ef30ecea6c6b3521eec451fb93191bf84b2a522418", size = 386868 }, + { url = "https://files.pythonhosted.org/packages/3b/03/8c897fb8b5347ff6c1cc31239b9611c5bf79d78c984430887a353e1409a1/rpds_py-0.27.1-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:15d3b4d83582d10c601f481eca29c3f138d44c92187d197aff663a269197c02d", size = 405469 }, + { url = "https://files.pythonhosted.org/packages/da/07/88c60edc2df74850d496d78a1fdcdc7b54360a7f610a4d50008309d41b94/rpds_py-0.27.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4ed2e16abbc982a169d30d1a420274a709949e2cbdef119fe2ec9d870b42f274", size = 422125 }, + { url = "https://files.pythonhosted.org/packages/6b/86/5f4c707603e41b05f191a749984f390dabcbc467cf833769b47bf14ba04f/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a75f305c9b013289121ec0f1181931975df78738cdf650093e6b86d74aa7d8dd", size = 562341 }, + { url = "https://files.pythonhosted.org/packages/b2/92/3c0cb2492094e3cd9baf9e49bbb7befeceb584ea0c1a8b5939dca4da12e5/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:67ce7620704745881a3d4b0ada80ab4d99df390838839921f99e63c474f82cf2", size = 592511 }, + { url = "https://files.pythonhosted.org/packages/10/bb/82e64fbb0047c46a168faa28d0d45a7851cd0582f850b966811d30f67ad8/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9d992ac10eb86d9b6f369647b6a3f412fc0075cfd5d799530e84d335e440a002", size = 557736 }, + { url = "https://files.pythonhosted.org/packages/00/95/3c863973d409210da7fb41958172c6b7dbe7fc34e04d3cc1f10bb85e979f/rpds_py-0.27.1-cp313-cp313-win32.whl", hash = "sha256:4f75e4bd8ab8db624e02c8e2fc4063021b58becdbe6df793a8111d9343aec1e3", size = 221462 }, + { url = "https://files.pythonhosted.org/packages/ce/2c/5867b14a81dc217b56d95a9f2a40fdbc56a1ab0181b80132beeecbd4b2d6/rpds_py-0.27.1-cp313-cp313-win_amd64.whl", hash = "sha256:f9025faafc62ed0b75a53e541895ca272815bec18abe2249ff6501c8f2e12b83", size = 232034 }, + { url = "https://files.pythonhosted.org/packages/c7/78/3958f3f018c01923823f1e47f1cc338e398814b92d83cd278364446fac66/rpds_py-0.27.1-cp313-cp313-win_arm64.whl", hash = "sha256:ed10dc32829e7d222b7d3b93136d25a406ba9788f6a7ebf6809092da1f4d279d", size = 222392 }, + { url = "https://files.pythonhosted.org/packages/01/76/1cdf1f91aed5c3a7bf2eba1f1c4e4d6f57832d73003919a20118870ea659/rpds_py-0.27.1-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:92022bbbad0d4426e616815b16bc4127f83c9a74940e1ccf3cfe0b387aba0228", size = 358355 }, + { url = "https://files.pythonhosted.org/packages/c3/6f/bf142541229374287604caf3bb2a4ae17f0a580798fd72d3b009b532db4e/rpds_py-0.27.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:47162fdab9407ec3f160805ac3e154df042e577dd53341745fc7fb3f625e6d92", size = 342138 }, + { url = "https://files.pythonhosted.org/packages/1a/77/355b1c041d6be40886c44ff5e798b4e2769e497b790f0f7fd1e78d17e9a8/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb89bec23fddc489e5d78b550a7b773557c9ab58b7946154a10a6f7a214a48b2", size = 380247 }, + { url = "https://files.pythonhosted.org/packages/d6/a4/d9cef5c3946ea271ce2243c51481971cd6e34f21925af2783dd17b26e815/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e48af21883ded2b3e9eb48cb7880ad8598b31ab752ff3be6457001d78f416723", size = 390699 }, + { url = "https://files.pythonhosted.org/packages/3a/06/005106a7b8c6c1a7e91b73169e49870f4af5256119d34a361ae5240a0c1d/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6f5b7bd8e219ed50299e58551a410b64daafb5017d54bbe822e003856f06a802", size = 521852 }, + { url = "https://files.pythonhosted.org/packages/e5/3e/50fb1dac0948e17a02eb05c24510a8fe12d5ce8561c6b7b7d1339ab7ab9c/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08f1e20bccf73b08d12d804d6e1c22ca5530e71659e6673bce31a6bb71c1e73f", size = 402582 }, + { url = "https://files.pythonhosted.org/packages/cb/b0/f4e224090dc5b0ec15f31a02d746ab24101dd430847c4d99123798661bfc/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0dc5dceeaefcc96dc192e3a80bbe1d6c410c469e97bdd47494a7d930987f18b2", size = 384126 }, + { url = "https://files.pythonhosted.org/packages/54/77/ac339d5f82b6afff1df8f0fe0d2145cc827992cb5f8eeb90fc9f31ef7a63/rpds_py-0.27.1-cp313-cp313t-manylinux_2_31_riscv64.whl", hash = "sha256:d76f9cc8665acdc0c9177043746775aa7babbf479b5520b78ae4002d889f5c21", size = 399486 }, + { url = "https://files.pythonhosted.org/packages/d6/29/3e1c255eee6ac358c056a57d6d6869baa00a62fa32eea5ee0632039c50a3/rpds_py-0.27.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:134fae0e36022edad8290a6661edf40c023562964efea0cc0ec7f5d392d2aaef", size = 414832 }, + { url = "https://files.pythonhosted.org/packages/3f/db/6d498b844342deb3fa1d030598db93937a9964fcf5cb4da4feb5f17be34b/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:eb11a4f1b2b63337cfd3b4d110af778a59aae51c81d195768e353d8b52f88081", size = 557249 }, + { url = "https://files.pythonhosted.org/packages/60/f3/690dd38e2310b6f68858a331399b4d6dbb9132c3e8ef8b4333b96caf403d/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:13e608ac9f50a0ed4faec0e90ece76ae33b34c0e8656e3dceb9a7db994c692cd", size = 587356 }, + { url = "https://files.pythonhosted.org/packages/86/e3/84507781cccd0145f35b1dc32c72675200c5ce8d5b30f813e49424ef68fc/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dd2135527aa40f061350c3f8f89da2644de26cd73e4de458e79606384f4f68e7", size = 555300 }, + { url = "https://files.pythonhosted.org/packages/e5/ee/375469849e6b429b3516206b4580a79e9ef3eb12920ddbd4492b56eaacbe/rpds_py-0.27.1-cp313-cp313t-win32.whl", hash = "sha256:3020724ade63fe320a972e2ffd93b5623227e684315adce194941167fee02688", size = 216714 }, + { url = "https://files.pythonhosted.org/packages/21/87/3fc94e47c9bd0742660e84706c311a860dcae4374cf4a03c477e23ce605a/rpds_py-0.27.1-cp313-cp313t-win_amd64.whl", hash = "sha256:8ee50c3e41739886606388ba3ab3ee2aae9f35fb23f833091833255a31740797", size = 228943 }, + { url = "https://files.pythonhosted.org/packages/70/36/b6e6066520a07cf029d385de869729a895917b411e777ab1cde878100a1d/rpds_py-0.27.1-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:acb9aafccaae278f449d9c713b64a9e68662e7799dbd5859e2c6b3c67b56d334", size = 362472 }, + { url = "https://files.pythonhosted.org/packages/af/07/b4646032e0dcec0df9c73a3bd52f63bc6c5f9cda992f06bd0e73fe3fbebd/rpds_py-0.27.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:b7fb801aa7f845ddf601c49630deeeccde7ce10065561d92729bfe81bd21fb33", size = 345676 }, + { url = "https://files.pythonhosted.org/packages/b0/16/2f1003ee5d0af4bcb13c0cf894957984c32a6751ed7206db2aee7379a55e/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fe0dd05afb46597b9a2e11c351e5e4283c741237e7f617ffb3252780cca9336a", size = 385313 }, + { url = "https://files.pythonhosted.org/packages/05/cd/7eb6dd7b232e7f2654d03fa07f1414d7dfc980e82ba71e40a7c46fd95484/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b6dfb0e058adb12d8b1d1b25f686e94ffa65d9995a5157afe99743bf7369d62b", size = 399080 }, + { url = "https://files.pythonhosted.org/packages/20/51/5829afd5000ec1cb60f304711f02572d619040aa3ec033d8226817d1e571/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ed090ccd235f6fa8bb5861684567f0a83e04f52dfc2e5c05f2e4b1309fcf85e7", size = 523868 }, + { url = "https://files.pythonhosted.org/packages/05/2c/30eebca20d5db95720ab4d2faec1b5e4c1025c473f703738c371241476a2/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf876e79763eecf3e7356f157540d6a093cef395b65514f17a356f62af6cc136", size = 408750 }, + { url = "https://files.pythonhosted.org/packages/90/1a/cdb5083f043597c4d4276eae4e4c70c55ab5accec078da8611f24575a367/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:12ed005216a51b1d6e2b02a7bd31885fe317e45897de81d86dcce7d74618ffff", size = 387688 }, + { url = "https://files.pythonhosted.org/packages/7c/92/cf786a15320e173f945d205ab31585cc43969743bb1a48b6888f7a2b0a2d/rpds_py-0.27.1-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:ee4308f409a40e50593c7e3bb8cbe0b4d4c66d1674a316324f0c2f5383b486f9", size = 407225 }, + { url = "https://files.pythonhosted.org/packages/33/5c/85ee16df5b65063ef26017bef33096557a4c83fbe56218ac7cd8c235f16d/rpds_py-0.27.1-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0b08d152555acf1f455154d498ca855618c1378ec810646fcd7c76416ac6dc60", size = 423361 }, + { url = "https://files.pythonhosted.org/packages/4b/8e/1c2741307fcabd1a334ecf008e92c4f47bb6f848712cf15c923becfe82bb/rpds_py-0.27.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:dce51c828941973a5684d458214d3a36fcd28da3e1875d659388f4f9f12cc33e", size = 562493 }, + { url = "https://files.pythonhosted.org/packages/04/03/5159321baae9b2222442a70c1f988cbbd66b9be0675dd3936461269be360/rpds_py-0.27.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:c1476d6f29eb81aa4151c9a31219b03f1f798dc43d8af1250a870735516a1212", size = 592623 }, + { url = "https://files.pythonhosted.org/packages/ff/39/c09fd1ad28b85bc1d4554a8710233c9f4cefd03d7717a1b8fbfd171d1167/rpds_py-0.27.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:3ce0cac322b0d69b63c9cdb895ee1b65805ec9ffad37639f291dd79467bee675", size = 558800 }, + { url = "https://files.pythonhosted.org/packages/c5/d6/99228e6bbcf4baa764b18258f519a9035131d91b538d4e0e294313462a98/rpds_py-0.27.1-cp314-cp314-win32.whl", hash = "sha256:dfbfac137d2a3d0725758cd141f878bf4329ba25e34979797c89474a89a8a3a3", size = 221943 }, + { url = "https://files.pythonhosted.org/packages/be/07/c802bc6b8e95be83b79bdf23d1aa61d68324cb1006e245d6c58e959e314d/rpds_py-0.27.1-cp314-cp314-win_amd64.whl", hash = "sha256:a6e57b0abfe7cc513450fcf529eb486b6e4d3f8aee83e92eb5f1ef848218d456", size = 233739 }, + { url = "https://files.pythonhosted.org/packages/c8/89/3e1b1c16d4c2d547c5717377a8df99aee8099ff050f87c45cb4d5fa70891/rpds_py-0.27.1-cp314-cp314-win_arm64.whl", hash = "sha256:faf8d146f3d476abfee026c4ae3bdd9ca14236ae4e4c310cbd1cf75ba33d24a3", size = 223120 }, + { url = "https://files.pythonhosted.org/packages/62/7e/dc7931dc2fa4a6e46b2a4fa744a9fe5c548efd70e0ba74f40b39fa4a8c10/rpds_py-0.27.1-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:ba81d2b56b6d4911ce735aad0a1d4495e808b8ee4dc58715998741a26874e7c2", size = 358944 }, + { url = "https://files.pythonhosted.org/packages/e6/22/4af76ac4e9f336bfb1a5f240d18a33c6b2fcaadb7472ac7680576512b49a/rpds_py-0.27.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:84f7d509870098de0e864cad0102711c1e24e9b1a50ee713b65928adb22269e4", size = 342283 }, + { url = "https://files.pythonhosted.org/packages/1c/15/2a7c619b3c2272ea9feb9ade67a45c40b3eeb500d503ad4c28c395dc51b4/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9e960fc78fecd1100539f14132425e1d5fe44ecb9239f8f27f079962021523e", size = 380320 }, + { url = "https://files.pythonhosted.org/packages/a2/7d/4c6d243ba4a3057e994bb5bedd01b5c963c12fe38dde707a52acdb3849e7/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:62f85b665cedab1a503747617393573995dac4600ff51869d69ad2f39eb5e817", size = 391760 }, + { url = "https://files.pythonhosted.org/packages/b4/71/b19401a909b83bcd67f90221330bc1ef11bc486fe4e04c24388d28a618ae/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fed467af29776f6556250c9ed85ea5a4dd121ab56a5f8b206e3e7a4c551e48ec", size = 522476 }, + { url = "https://files.pythonhosted.org/packages/e4/44/1a3b9715c0455d2e2f0f6df5ee6d6f5afdc423d0773a8a682ed2b43c566c/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2729615f9d430af0ae6b36cf042cb55c0936408d543fb691e1a9e36648fd35a", size = 403418 }, + { url = "https://files.pythonhosted.org/packages/1c/4b/fb6c4f14984eb56673bc868a66536f53417ddb13ed44b391998100a06a96/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b207d881a9aef7ba753d69c123a35d96ca7cb808056998f6b9e8747321f03b8", size = 384771 }, + { url = "https://files.pythonhosted.org/packages/c0/56/d5265d2d28b7420d7b4d4d85cad8ef891760f5135102e60d5c970b976e41/rpds_py-0.27.1-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:639fd5efec029f99b79ae47e5d7e00ad8a773da899b6309f6786ecaf22948c48", size = 400022 }, + { url = "https://files.pythonhosted.org/packages/8f/e9/9f5fc70164a569bdd6ed9046486c3568d6926e3a49bdefeeccfb18655875/rpds_py-0.27.1-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fecc80cb2a90e28af8a9b366edacf33d7a91cbfe4c2c4544ea1246e949cfebeb", size = 416787 }, + { url = "https://files.pythonhosted.org/packages/d4/64/56dd03430ba491db943a81dcdef115a985aac5f44f565cd39a00c766d45c/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:42a89282d711711d0a62d6f57d81aa43a1368686c45bc1c46b7f079d55692734", size = 557538 }, + { url = "https://files.pythonhosted.org/packages/3f/36/92cc885a3129993b1d963a2a42ecf64e6a8e129d2c7cc980dbeba84e55fb/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:cf9931f14223de59551ab9d38ed18d92f14f055a5f78c1d8ad6493f735021bbb", size = 588512 }, + { url = "https://files.pythonhosted.org/packages/dd/10/6b283707780a81919f71625351182b4f98932ac89a09023cb61865136244/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f39f58a27cc6e59f432b568ed8429c7e1641324fbe38131de852cd77b2d534b0", size = 555813 }, + { url = "https://files.pythonhosted.org/packages/04/2e/30b5ea18c01379da6272a92825dd7e53dc9d15c88a19e97932d35d430ef7/rpds_py-0.27.1-cp314-cp314t-win32.whl", hash = "sha256:d5fa0ee122dc09e23607a28e6d7b150da16c662e66409bbe85230e4c85bb528a", size = 217385 }, + { url = "https://files.pythonhosted.org/packages/32/7d/97119da51cb1dd3f2f3c0805f155a3aa4a95fa44fe7d78ae15e69edf4f34/rpds_py-0.27.1-cp314-cp314t-win_amd64.whl", hash = "sha256:6567d2bb951e21232c2f660c24cf3470bb96de56cdcb3f071a83feeaff8a2772", size = 230097 }, + { url = "https://files.pythonhosted.org/packages/7f/6c/252e83e1ce7583c81f26d1d884b2074d40a13977e1b6c9c50bbf9a7f1f5a/rpds_py-0.27.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:c918c65ec2e42c2a78d19f18c553d77319119bf43aa9e2edf7fb78d624355527", size = 372140 }, + { url = "https://files.pythonhosted.org/packages/9d/71/949c195d927c5aeb0d0629d329a20de43a64c423a6aa53836290609ef7ec/rpds_py-0.27.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1fea2b1a922c47c51fd07d656324531adc787e415c8b116530a1d29c0516c62d", size = 354086 }, + { url = "https://files.pythonhosted.org/packages/9f/02/e43e332ad8ce4f6c4342d151a471a7f2900ed1d76901da62eb3762663a71/rpds_py-0.27.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bbf94c58e8e0cd6b6f38d8de67acae41b3a515c26169366ab58bdca4a6883bb8", size = 382117 }, + { url = "https://files.pythonhosted.org/packages/d0/05/b0fdeb5b577197ad72812bbdfb72f9a08fa1e64539cc3940b1b781cd3596/rpds_py-0.27.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c2a8fed130ce946d5c585eddc7c8eeef0051f58ac80a8ee43bd17835c144c2cc", size = 394520 }, + { url = "https://files.pythonhosted.org/packages/67/1f/4cfef98b2349a7585181e99294fa2a13f0af06902048a5d70f431a66d0b9/rpds_py-0.27.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:037a2361db72ee98d829bc2c5b7cc55598ae0a5e0ec1823a56ea99374cfd73c1", size = 522657 }, + { url = "https://files.pythonhosted.org/packages/44/55/ccf37ddc4c6dce7437b335088b5ca18da864b334890e2fe9aa6ddc3f79a9/rpds_py-0.27.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5281ed1cc1d49882f9997981c88df1a22e140ab41df19071222f7e5fc4e72125", size = 402967 }, + { url = "https://files.pythonhosted.org/packages/74/e5/5903f92e41e293b07707d5bf00ef39a0eb2af7190aff4beaf581a6591510/rpds_py-0.27.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fd50659a069c15eef8aa3d64bbef0d69fd27bb4a50c9ab4f17f83a16cbf8905", size = 384372 }, + { url = "https://files.pythonhosted.org/packages/8f/e3/fbb409e18aeefc01e49f5922ac63d2d914328430e295c12183ce56ebf76b/rpds_py-0.27.1-cp39-cp39-manylinux_2_31_riscv64.whl", hash = "sha256:c4b676c4ae3921649a15d28ed10025548e9b561ded473aa413af749503c6737e", size = 401264 }, + { url = "https://files.pythonhosted.org/packages/55/79/529ad07794e05cb0f38e2f965fc5bb20853d523976719400acecc447ec9d/rpds_py-0.27.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:079bc583a26db831a985c5257797b2b5d3affb0386e7ff886256762f82113b5e", size = 418691 }, + { url = "https://files.pythonhosted.org/packages/33/39/6554a7fd6d9906fda2521c6d52f5d723dca123529fb719a5b5e074c15e01/rpds_py-0.27.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:4e44099bd522cba71a2c6b97f68e19f40e7d85399de899d66cdb67b32d7cb786", size = 558989 }, + { url = "https://files.pythonhosted.org/packages/19/b2/76fa15173b6f9f445e5ef15120871b945fb8dd9044b6b8c7abe87e938416/rpds_py-0.27.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:e202e6d4188e53c6661af813b46c37ca2c45e497fc558bacc1a7630ec2695aec", size = 589835 }, + { url = "https://files.pythonhosted.org/packages/ee/9e/5560a4b39bab780405bed8a88ee85b30178061d189558a86003548dea045/rpds_py-0.27.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:f41f814b8eaa48768d1bb551591f6ba45f87ac76899453e8ccd41dba1289b04b", size = 555227 }, + { url = "https://files.pythonhosted.org/packages/52/d7/cd9c36215111aa65724c132bf709c6f35175973e90b32115dedc4ced09cb/rpds_py-0.27.1-cp39-cp39-win32.whl", hash = "sha256:9e71f5a087ead99563c11fdaceee83ee982fd39cf67601f4fd66cb386336ee52", size = 217899 }, + { url = "https://files.pythonhosted.org/packages/5b/e0/d75ab7b4dd8ba777f6b365adbdfc7614bbfe7c5f05703031dfa4b61c3d6c/rpds_py-0.27.1-cp39-cp39-win_amd64.whl", hash = "sha256:71108900c9c3c8590697244b9519017a400d9ba26a36c48381b3f64743a44aab", size = 228725 }, + { url = "https://files.pythonhosted.org/packages/d5/63/b7cc415c345625d5e62f694ea356c58fb964861409008118f1245f8c3347/rpds_py-0.27.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7ba22cb9693df986033b91ae1d7a979bc399237d45fccf875b76f62bb9e52ddf", size = 371360 }, + { url = "https://files.pythonhosted.org/packages/e5/8c/12e1b24b560cf378b8ffbdb9dc73abd529e1adcfcf82727dfd29c4a7b88d/rpds_py-0.27.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:5b640501be9288c77738b5492b3fd3abc4ba95c50c2e41273c8a1459f08298d3", size = 353933 }, + { url = "https://files.pythonhosted.org/packages/9b/85/1bb2210c1f7a1b99e91fea486b9f0f894aa5da3a5ec7097cbad7dec6d40f/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb08b65b93e0c6dd70aac7f7890a9c0938d5ec71d5cb32d45cf844fb8ae47636", size = 382962 }, + { url = "https://files.pythonhosted.org/packages/cc/c9/a839b9f219cf80ed65f27a7f5ddbb2809c1b85c966020ae2dff490e0b18e/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d7ff07d696a7a38152ebdb8212ca9e5baab56656749f3d6004b34ab726b550b8", size = 394412 }, + { url = "https://files.pythonhosted.org/packages/02/2d/b1d7f928b0b1f4fc2e0133e8051d199b01d7384875adc63b6ddadf3de7e5/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fb7c72262deae25366e3b6c0c0ba46007967aea15d1eea746e44ddba8ec58dcc", size = 523972 }, + { url = "https://files.pythonhosted.org/packages/a9/af/2cbf56edd2d07716df1aec8a726b3159deb47cb5c27e1e42b71d705a7c2f/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7b002cab05d6339716b03a4a3a2ce26737f6231d7b523f339fa061d53368c9d8", size = 403273 }, + { url = "https://files.pythonhosted.org/packages/c0/93/425e32200158d44ff01da5d9612c3b6711fe69f606f06e3895511f17473b/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23f6b69d1c26c4704fec01311963a41d7de3ee0570a84ebde4d544e5a1859ffc", size = 385278 }, + { url = "https://files.pythonhosted.org/packages/eb/1a/1a04a915ecd0551bfa9e77b7672d1937b4b72a0fc204a17deef76001cfb2/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_31_riscv64.whl", hash = "sha256:530064db9146b247351f2a0250b8f00b289accea4596a033e94be2389977de71", size = 402084 }, + { url = "https://files.pythonhosted.org/packages/51/f7/66585c0fe5714368b62951d2513b684e5215beaceab2c6629549ddb15036/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7b90b0496570bd6b0321724a330d8b545827c4df2034b6ddfc5f5275f55da2ad", size = 419041 }, + { url = "https://files.pythonhosted.org/packages/8e/7e/83a508f6b8e219bba2d4af077c35ba0e0cdd35a751a3be6a7cba5a55ad71/rpds_py-0.27.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:879b0e14a2da6a1102a3fc8af580fc1ead37e6d6692a781bd8c83da37429b5ab", size = 560084 }, + { url = "https://files.pythonhosted.org/packages/66/66/bb945683b958a1b19eb0fe715594630d0f36396ebdef4d9b89c2fa09aa56/rpds_py-0.27.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:0d807710df3b5faa66c731afa162ea29717ab3be17bdc15f90f2d9f183da4059", size = 590115 }, + { url = "https://files.pythonhosted.org/packages/12/00/ccfaafaf7db7e7adace915e5c2f2c2410e16402561801e9c7f96683002d3/rpds_py-0.27.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:3adc388fc3afb6540aec081fa59e6e0d3908722771aa1e37ffe22b220a436f0b", size = 556561 }, + { url = "https://files.pythonhosted.org/packages/e1/b7/92b6ed9aad103bfe1c45df98453dfae40969eef2cb6c6239c58d7e96f1b3/rpds_py-0.27.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:c796c0c1cc68cb08b0284db4229f5af76168172670c74908fdbd4b7d7f515819", size = 229125 }, + { url = "https://files.pythonhosted.org/packages/0c/ed/e1fba02de17f4f76318b834425257c8ea297e415e12c68b4361f63e8ae92/rpds_py-0.27.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:cdfe4bb2f9fe7458b7453ad3c33e726d6d1c7c0a72960bcc23800d77384e42df", size = 371402 }, + { url = "https://files.pythonhosted.org/packages/af/7c/e16b959b316048b55585a697e94add55a4ae0d984434d279ea83442e460d/rpds_py-0.27.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:8fabb8fd848a5f75a2324e4a84501ee3a5e3c78d8603f83475441866e60b94a3", size = 354084 }, + { url = "https://files.pythonhosted.org/packages/de/c1/ade645f55de76799fdd08682d51ae6724cb46f318573f18be49b1e040428/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eda8719d598f2f7f3e0f885cba8646644b55a187762bec091fa14a2b819746a9", size = 383090 }, + { url = "https://files.pythonhosted.org/packages/1f/27/89070ca9b856e52960da1472efcb6c20ba27cfe902f4f23ed095b9cfc61d/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3c64d07e95606ec402a0a1c511fe003873fa6af630bda59bac77fac8b4318ebc", size = 394519 }, + { url = "https://files.pythonhosted.org/packages/b3/28/be120586874ef906aa5aeeae95ae8df4184bc757e5b6bd1c729ccff45ed5/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:93a2ed40de81bcff59aabebb626562d48332f3d028ca2036f1d23cbb52750be4", size = 523817 }, + { url = "https://files.pythonhosted.org/packages/a8/ef/70cc197bc11cfcde02a86f36ac1eed15c56667c2ebddbdb76a47e90306da/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:387ce8c44ae94e0ec50532d9cb0edce17311024c9794eb196b90e1058aadeb66", size = 403240 }, + { url = "https://files.pythonhosted.org/packages/cf/35/46936cca449f7f518f2f4996e0e8344db4b57e2081e752441154089d2a5f/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aaf94f812c95b5e60ebaf8bfb1898a7d7cb9c1af5744d4a67fa47796e0465d4e", size = 385194 }, + { url = "https://files.pythonhosted.org/packages/e1/62/29c0d3e5125c3270b51415af7cbff1ec587379c84f55a5761cc9efa8cd06/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_31_riscv64.whl", hash = "sha256:4848ca84d6ded9b58e474dfdbad4b8bfb450344c0551ddc8d958bf4b36aa837c", size = 402086 }, + { url = "https://files.pythonhosted.org/packages/8f/66/03e1087679227785474466fdd04157fb793b3b76e3fcf01cbf4c693c1949/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2bde09cbcf2248b73c7c323be49b280180ff39fadcfe04e7b6f54a678d02a7cf", size = 419272 }, + { url = "https://files.pythonhosted.org/packages/6a/24/e3e72d265121e00b063aef3e3501e5b2473cf1b23511d56e529531acf01e/rpds_py-0.27.1-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:94c44ee01fd21c9058f124d2d4f0c9dc7634bec93cd4b38eefc385dabe71acbf", size = 560003 }, + { url = "https://files.pythonhosted.org/packages/26/ca/f5a344c534214cc2d41118c0699fffbdc2c1bc7046f2a2b9609765ab9c92/rpds_py-0.27.1-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:df8b74962e35c9249425d90144e721eed198e6555a0e22a563d29fe4486b51f6", size = 590482 }, + { url = "https://files.pythonhosted.org/packages/ce/08/4349bdd5c64d9d193c360aa9db89adeee6f6682ab8825dca0a3f535f434f/rpds_py-0.27.1-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:dc23e6820e3b40847e2f4a7726462ba0cf53089512abe9ee16318c366494c17a", size = 556523 }, + { url = "https://files.pythonhosted.org/packages/4e/ea/5463cd5048a7a2fcdae308b6e96432802132c141bfb9420260142632a0f1/rpds_py-0.27.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:aa8933159edc50be265ed22b401125c9eebff3171f570258854dbce3ecd55475", size = 371778 }, + { url = "https://files.pythonhosted.org/packages/0d/c8/f38c099db07f5114029c1467649d308543906933eebbc226d4527a5f4693/rpds_py-0.27.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:a50431bf02583e21bf273c71b89d710e7a710ad5e39c725b14e685610555926f", size = 354394 }, + { url = "https://files.pythonhosted.org/packages/7d/79/b76f97704d9dd8ddbd76fed4c4048153a847c5d6003afe20a6b5c3339065/rpds_py-0.27.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78af06ddc7fe5cc0e967085a9115accee665fb912c22a3f54bad70cc65b05fe6", size = 382348 }, + { url = "https://files.pythonhosted.org/packages/8a/3f/ef23d3c1be1b837b648a3016d5bbe7cfe711422ad110b4081c0a90ef5a53/rpds_py-0.27.1-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:70d0738ef8fee13c003b100c2fbd667ec4f133468109b3472d249231108283a3", size = 394159 }, + { url = "https://files.pythonhosted.org/packages/74/8a/9e62693af1a34fd28b1a190d463d12407bd7cf561748cb4745845d9548d3/rpds_py-0.27.1-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e2f6fd8a1cea5bbe599b6e78a6e5ee08db434fc8ffea51ff201c8765679698b3", size = 522775 }, + { url = "https://files.pythonhosted.org/packages/36/0d/8d5bb122bf7a60976b54c5c99a739a3819f49f02d69df3ea2ca2aff47d5c/rpds_py-0.27.1-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8177002868d1426305bb5de1e138161c2ec9eb2d939be38291d7c431c4712df8", size = 402633 }, + { url = "https://files.pythonhosted.org/packages/0f/0e/237948c1f425e23e0cf5a566d702652a6e55c6f8fbd332a1792eb7043daf/rpds_py-0.27.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:008b839781d6c9bf3b6a8984d1d8e56f0ec46dc56df61fd669c49b58ae800400", size = 384867 }, + { url = "https://files.pythonhosted.org/packages/d6/0a/da0813efcd998d260cbe876d97f55b0f469ada8ba9cbc47490a132554540/rpds_py-0.27.1-pp39-pypy39_pp73-manylinux_2_31_riscv64.whl", hash = "sha256:a55b9132bb1ade6c734ddd2759c8dc132aa63687d259e725221f106b83a0e485", size = 401791 }, + { url = "https://files.pythonhosted.org/packages/51/78/c6c9e8a8aaca416a6f0d1b6b4a6ee35b88fe2c5401d02235d0a056eceed2/rpds_py-0.27.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a46fdec0083a26415f11d5f236b79fa1291c32aaa4a17684d82f7017a1f818b1", size = 419525 }, + { url = "https://files.pythonhosted.org/packages/a3/69/5af37e1d71487cf6d56dd1420dc7e0c2732c1b6ff612aa7a88374061c0a8/rpds_py-0.27.1-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:8a63b640a7845f2bdd232eb0d0a4a2dd939bcdd6c57e6bb134526487f3160ec5", size = 559255 }, + { url = "https://files.pythonhosted.org/packages/40/7f/8b7b136069ef7ac3960eda25d832639bdb163018a34c960ed042dd1707c8/rpds_py-0.27.1-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:7e32721e5d4922deaaf963469d795d5bde6093207c52fec719bd22e5d1bedbc4", size = 590384 }, + { url = "https://files.pythonhosted.org/packages/d8/06/c316d3f6ff03f43ccb0eba7de61376f8ec4ea850067dddfafe98274ae13c/rpds_py-0.27.1-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:2c426b99a068601b5f4623573df7a7c3d72e87533a2dd2253353a03e7502566c", size = 555959 }, + { url = "https://files.pythonhosted.org/packages/60/94/384cf54c430b9dac742bbd2ec26c23feb78ded0d43d6d78563a281aec017/rpds_py-0.27.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:4fc9b7fe29478824361ead6e14e4f5aed570d477e06088826537e202d25fe859", size = 228784 }, +] + +[[distribution]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050 }, +] + +[[distribution]] +name = "superstac" +version = "0.1.0" +source = { editable = "." } +dependencies = [ + { name = "maturin" }, +] + +[distribution.optional-dependencies] +bench = [ + { name = "aiohttp" }, + { name = "pystac-client" }, +] +dev = [ + { name = "aiohttp" }, + { name = "pytest" }, + { name = "pytest-asyncio" }, +] + +[[distribution]] +name = "tomli" +version = "2.4.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/22/de/48c59722572767841493b26183a0d1cc411d54fd759c5607c4590b6563a6/tomli-2.4.1.tar.gz", hash = "sha256:7c7e1a961a0b2f2472c1ac5b69affa0ae1132c39adcb67aba98568702b9cc23f", size = 17543 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/11/db3d5885d8528263d8adc260bb2d28ebf1270b96e98f0e0268d32b8d9900/tomli-2.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f8f0fc26ec2cc2b965b7a3b87cd19c5c6b8c5e5f436b984e85f486d652285c30", size = 154704 }, + { url = "https://files.pythonhosted.org/packages/6d/f7/675db52c7e46064a9aa928885a9b20f4124ecb9bc2e1ce74c9106648d202/tomli-2.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4ab97e64ccda8756376892c53a72bd1f964e519c77236368527f758fbc36a53a", size = 149454 }, + { url = "https://files.pythonhosted.org/packages/61/71/81c50943cf953efa35bce7646caab3cf457a7d8c030b27cfb40d7235f9ee/tomli-2.4.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:96481a5786729fd470164b47cdb3e0e58062a496f455ee41b4403be77cb5a076", size = 237561 }, + { url = "https://files.pythonhosted.org/packages/48/c1/f41d9cb618acccca7df82aaf682f9b49013c9397212cb9f53219e3abac37/tomli-2.4.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5a881ab208c0baf688221f8cecc5401bd291d67e38a1ac884d6736cbcd8247e9", size = 243824 }, + { url = "https://files.pythonhosted.org/packages/22/e4/5a816ecdd1f8ca51fb756ef684b90f2780afc52fc67f987e3c61d800a46d/tomli-2.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47149d5bd38761ac8be13a84864bf0b7b70bc051806bc3669ab1cbc56216b23c", size = 242227 }, + { url = "https://files.pythonhosted.org/packages/6b/49/2b2a0ef529aa6eec245d25f0c703e020a73955ad7edf73e7f54ddc608aa5/tomli-2.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ec9bfaf3ad2df51ace80688143a6a4ebc09a248f6ff781a9945e51937008fcbc", size = 247859 }, + { url = "https://files.pythonhosted.org/packages/83/bd/6c1a630eaca337e1e78c5903104f831bda934c426f9231429396ce3c3467/tomli-2.4.1-cp311-cp311-win32.whl", hash = "sha256:ff2983983d34813c1aeb0fa89091e76c3a22889ee83ab27c5eeb45100560c049", size = 97204 }, + { url = "https://files.pythonhosted.org/packages/42/59/71461df1a885647e10b6bb7802d0b8e66480c61f3f43079e0dcd315b3954/tomli-2.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:5ee18d9ebdb417e384b58fe414e8d6af9f4e7a0ae761519fb50f721de398dd4e", size = 108084 }, + { url = "https://files.pythonhosted.org/packages/b8/83/dceca96142499c069475b790e7913b1044c1a4337e700751f48ed723f883/tomli-2.4.1-cp311-cp311-win_arm64.whl", hash = "sha256:c2541745709bad0264b7d4705ad453b76ccd191e64aa6f0fc66b69a293a45ece", size = 95285 }, + { url = "https://files.pythonhosted.org/packages/c1/ba/42f134a3fe2b370f555f44b1d72feebb94debcab01676bf918d0cb70e9aa/tomli-2.4.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c742f741d58a28940ce01d58f0ab2ea3ced8b12402f162f4d534dfe18ba1cd6a", size = 155924 }, + { url = "https://files.pythonhosted.org/packages/dc/c7/62d7a17c26487ade21c5422b646110f2162f1fcc95980ef7f63e73c68f14/tomli-2.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7f86fd587c4ed9dd76f318225e7d9b29cfc5a9d43de44e5754db8d1128487085", size = 150018 }, + { url = "https://files.pythonhosted.org/packages/5c/05/79d13d7c15f13bdef410bdd49a6485b1c37d28968314eabee452c22a7fda/tomli-2.4.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ff18e6a727ee0ab0388507b89d1bc6a22b138d1e2fa56d1ad494586d61d2eae9", size = 244948 }, + { url = "https://files.pythonhosted.org/packages/10/90/d62ce007a1c80d0b2c93e02cab211224756240884751b94ca72df8a875ca/tomli-2.4.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:136443dbd7e1dee43c68ac2694fde36b2849865fa258d39bf822c10e8068eac5", size = 253341 }, + { url = "https://files.pythonhosted.org/packages/1a/7e/caf6496d60152ad4ed09282c1885cca4eea150bfd007da84aea07bcc0a3e/tomli-2.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5e262d41726bc187e69af7825504c933b6794dc3fbd5945e41a79bb14c31f585", size = 248159 }, + { url = "https://files.pythonhosted.org/packages/99/e7/c6f69c3120de34bbd882c6fba7975f3d7a746e9218e56ab46a1bc4b42552/tomli-2.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:5cb41aa38891e073ee49d55fbc7839cfdb2bc0e600add13874d048c94aadddd1", size = 253290 }, + { url = "https://files.pythonhosted.org/packages/d6/2f/4a3c322f22c5c66c4b836ec58211641a4067364f5dcdd7b974b4c5da300c/tomli-2.4.1-cp312-cp312-win32.whl", hash = "sha256:da25dc3563bff5965356133435b757a795a17b17d01dbc0f42fb32447ddfd917", size = 98141 }, + { url = "https://files.pythonhosted.org/packages/24/22/4daacd05391b92c55759d55eaee21e1dfaea86ce5c571f10083360adf534/tomli-2.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:52c8ef851d9a240f11a88c003eacb03c31fc1c9c4ec64a99a0f922b93874fda9", size = 108847 }, + { url = "https://files.pythonhosted.org/packages/68/fd/70e768887666ddd9e9f5d85129e84910f2db2796f9096aa02b721a53098d/tomli-2.4.1-cp312-cp312-win_arm64.whl", hash = "sha256:f758f1b9299d059cc3f6546ae2af89670cb1c4d48ea29c3cacc4fe7de3058257", size = 95088 }, + { url = "https://files.pythonhosted.org/packages/07/06/b823a7e818c756d9a7123ba2cda7d07bc2dd32835648d1a7b7b7a05d848d/tomli-2.4.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:36d2bd2ad5fb9eaddba5226aa02c8ec3fa4f192631e347b3ed28186d43be6b54", size = 155866 }, + { url = "https://files.pythonhosted.org/packages/14/6f/12645cf7f08e1a20c7eb8c297c6f11d31c1b50f316a7e7e1e1de6e2e7b7e/tomli-2.4.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:eb0dc4e38e6a1fd579e5d50369aa2e10acfc9cace504579b2faabb478e76941a", size = 149887 }, + { url = "https://files.pythonhosted.org/packages/5c/e0/90637574e5e7212c09099c67ad349b04ec4d6020324539297b634a0192b0/tomli-2.4.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c7f2c7f2b9ca6bdeef8f0fa897f8e05085923eb091721675170254cbc5b02897", size = 243704 }, + { url = "https://files.pythonhosted.org/packages/10/8f/d3ddb16c5a4befdf31a23307f72828686ab2096f068eaf56631e136c1fdd/tomli-2.4.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f3c6818a1a86dd6dca7ddcaaf76947d5ba31aecc28cb1b67009a5877c9a64f3f", size = 251628 }, + { url = "https://files.pythonhosted.org/packages/e3/f1/dbeeb9116715abee2485bf0a12d07a8f31af94d71608c171c45f64c0469d/tomli-2.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d312ef37c91508b0ab2cee7da26ec0b3ed2f03ce12bd87a588d771ae15dcf82d", size = 247180 }, + { url = "https://files.pythonhosted.org/packages/d3/74/16336ffd19ed4da28a70959f92f506233bd7cfc2332b20bdb01591e8b1d1/tomli-2.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:51529d40e3ca50046d7606fa99ce3956a617f9b36380da3b7f0dd3dd28e68cb5", size = 251674 }, + { url = "https://files.pythonhosted.org/packages/16/f9/229fa3434c590ddf6c0aa9af64d3af4b752540686cace29e6281e3458469/tomli-2.4.1-cp313-cp313-win32.whl", hash = "sha256:2190f2e9dd7508d2a90ded5ed369255980a1bcdd58e52f7fe24b8162bf9fedbd", size = 97976 }, + { url = "https://files.pythonhosted.org/packages/6a/1e/71dfd96bcc1c775420cb8befe7a9d35f2e5b1309798f009dca17b7708c1e/tomli-2.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:8d65a2fbf9d2f8352685bc1364177ee3923d6baf5e7f43ea4959d7d8bc326a36", size = 108755 }, + { url = "https://files.pythonhosted.org/packages/83/7a/d34f422a021d62420b78f5c538e5b102f62bea616d1d75a13f0a88acb04a/tomli-2.4.1-cp313-cp313-win_arm64.whl", hash = "sha256:4b605484e43cdc43f0954ddae319fb75f04cc10dd80d830540060ee7cd0243cd", size = 95265 }, + { url = "https://files.pythonhosted.org/packages/3c/fb/9a5c8d27dbab540869f7c1f8eb0abb3244189ce780ba9cd73f3770662072/tomli-2.4.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:fd0409a3653af6c147209d267a0e4243f0ae46b011aa978b1080359fddc9b6cf", size = 155726 }, + { url = "https://files.pythonhosted.org/packages/62/05/d2f816630cc771ad836af54f5001f47a6f611d2d39535364f148b6a92d6b/tomli-2.4.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:a120733b01c45e9a0c34aeef92bf0cf1d56cfe81ed9d47d562f9ed591a9828ac", size = 149859 }, + { url = "https://files.pythonhosted.org/packages/ce/48/66341bdb858ad9bd0ceab5a86f90eddab127cf8b046418009f2125630ecb/tomli-2.4.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:559db847dc486944896521f68d8190be1c9e719fced785720d2216fe7022b662", size = 244713 }, + { url = "https://files.pythonhosted.org/packages/df/6d/c5fad00d82b3c7a3ab6189bd4b10e60466f22cfe8a08a9394185c8a8111c/tomli-2.4.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:01f520d4f53ef97964a240a035ec2a869fe1a37dde002b57ebc4417a27ccd853", size = 252084 }, + { url = "https://files.pythonhosted.org/packages/00/71/3a69e86f3eafe8c7a59d008d245888051005bd657760e96d5fbfb0b740c2/tomli-2.4.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7f94b27a62cfad8496c8d2513e1a222dd446f095fca8987fceef261225538a15", size = 247973 }, + { url = "https://files.pythonhosted.org/packages/67/50/361e986652847fec4bd5e4a0208752fbe64689c603c7ae5ea7cb16b1c0ca/tomli-2.4.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:ede3e6487c5ef5d28634ba3f31f989030ad6af71edfb0055cbbd14189ff240ba", size = 256223 }, + { url = "https://files.pythonhosted.org/packages/8c/9a/b4173689a9203472e5467217e0154b00e260621caa227b6fa01feab16998/tomli-2.4.1-cp314-cp314-win32.whl", hash = "sha256:3d48a93ee1c9b79c04bb38772ee1b64dcf18ff43085896ea460ca8dec96f35f6", size = 98973 }, + { url = "https://files.pythonhosted.org/packages/14/58/640ac93bf230cd27d002462c9af0d837779f8773bc03dee06b5835208214/tomli-2.4.1-cp314-cp314-win_amd64.whl", hash = "sha256:88dceee75c2c63af144e456745e10101eb67361050196b0b6af5d717254dddf7", size = 109082 }, + { url = "https://files.pythonhosted.org/packages/d5/2f/702d5e05b227401c1068f0d386d79a589bb12bf64c3d2c72ce0631e3bc49/tomli-2.4.1-cp314-cp314-win_arm64.whl", hash = "sha256:b8c198f8c1805dc42708689ed6864951fd2494f924149d3e4bce7710f8eb5232", size = 96490 }, + { url = "https://files.pythonhosted.org/packages/45/4b/b877b05c8ba62927d9865dd980e34a755de541eb65fffba52b4cc495d4d2/tomli-2.4.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:d4d8fe59808a54658fcc0160ecfb1b30f9089906c50b23bcb4c69eddc19ec2b4", size = 164263 }, + { url = "https://files.pythonhosted.org/packages/24/79/6ab420d37a270b89f7195dec5448f79400d9e9c1826df982f3f8e97b24fd/tomli-2.4.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7008df2e7655c495dd12d2a4ad038ff878d4ca4b81fccaf82b714e07eae4402c", size = 160736 }, + { url = "https://files.pythonhosted.org/packages/02/e0/3630057d8eb170310785723ed5adcdfb7d50cb7e6455f85ba8a3deed642b/tomli-2.4.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1d8591993e228b0c930c4bb0db464bdad97b3289fb981255d6c9a41aedc84b2d", size = 270717 }, + { url = "https://files.pythonhosted.org/packages/7a/b4/1613716072e544d1a7891f548d8f9ec6ce2faf42ca65acae01d76ea06bb0/tomli-2.4.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:734e20b57ba95624ecf1841e72b53f6e186355e216e5412de414e3c51e5e3c41", size = 278461 }, + { url = "https://files.pythonhosted.org/packages/05/38/30f541baf6a3f6df77b3df16b01ba319221389e2da59427e221ef417ac0c/tomli-2.4.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8a650c2dbafa08d42e51ba0b62740dae4ecb9338eefa093aa5c78ceb546fcd5c", size = 274855 }, + { url = "https://files.pythonhosted.org/packages/77/a3/ec9dd4fd2c38e98de34223b995a3b34813e6bdadf86c75314c928350ed14/tomli-2.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:504aa796fe0569bb43171066009ead363de03675276d2d121ac1a4572397870f", size = 283144 }, + { url = "https://files.pythonhosted.org/packages/ef/be/605a6261cac79fba2ec0c9827e986e00323a1945700969b8ee0b30d85453/tomli-2.4.1-cp314-cp314t-win32.whl", hash = "sha256:b1d22e6e9387bf4739fbe23bfa80e93f6b0373a7f1b96c6227c32bef95a4d7a8", size = 108683 }, + { url = "https://files.pythonhosted.org/packages/12/64/da524626d3b9cc40c168a13da8335fe1c51be12c0a63685cc6db7308daae/tomli-2.4.1-cp314-cp314t-win_amd64.whl", hash = "sha256:2c1c351919aca02858f740c6d33adea0c5deea37f9ecca1cc1ef9e884a619d26", size = 121196 }, + { url = "https://files.pythonhosted.org/packages/5a/cd/e80b62269fc78fc36c9af5a6b89c835baa8af28ff5ad28c7028d60860320/tomli-2.4.1-cp314-cp314t-win_arm64.whl", hash = "sha256:eab21f45c7f66c13f2a9e0e1535309cee140182a9cdae1e041d02e47291e8396", size = 100393 }, + { url = "https://files.pythonhosted.org/packages/7b/61/cceae43728b7de99d9b847560c262873a1f6c98202171fd5ed62640b494b/tomli-2.4.1-py3-none-any.whl", hash = "sha256:0d85819802132122da43cb86656f8d1f8c6587d54ae7dcaf30e90533028b49fe", size = 14583 }, +] + +[[distribution]] +name = "typing-extensions" +version = "4.15.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614 }, +] + +[[distribution]] +name = "urllib3" +version = "2.6.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz", hash = "sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed", size = 435556 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl", hash = "sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4", size = 131584 }, +] + +[[distribution]] +name = "yarl" +version = "1.22.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "idna" }, + { name = "multidict" }, + { name = "propcache" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/57/63/0c6ebca57330cd313f6102b16dd57ffaf3ec4c83403dcb45dbd15c6f3ea1/yarl-1.22.0.tar.gz", hash = "sha256:bebf8557577d4401ba8bd9ff33906f1376c877aa78d1fe216ad01b4d6745af71", size = 187169 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/43/a2204825342f37c337f5edb6637040fa14e365b2fcc2346960201d457579/yarl-1.22.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c7bd6683587567e5a49ee6e336e0612bec8329be1b7d4c8af5687dcdeb67ee1e", size = 140517 }, + { url = "https://files.pythonhosted.org/packages/44/6f/674f3e6f02266428c56f704cd2501c22f78e8b2eeb23f153117cc86fb28a/yarl-1.22.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5cdac20da754f3a723cceea5b3448e1a2074866406adeb4ef35b469d089adb8f", size = 93495 }, + { url = "https://files.pythonhosted.org/packages/b8/12/5b274d8a0f30c07b91b2f02cba69152600b47830fcfb465c108880fcee9c/yarl-1.22.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:07a524d84df0c10f41e3ee918846e1974aba4ec017f990dc735aad487a0bdfdf", size = 94400 }, + { url = "https://files.pythonhosted.org/packages/e2/7f/df1b6949b1fa1aa9ff6de6e2631876ad4b73c4437822026e85d8acb56bb1/yarl-1.22.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e1b329cb8146d7b736677a2440e422eadd775d1806a81db2d4cded80a48efc1a", size = 347545 }, + { url = "https://files.pythonhosted.org/packages/84/09/f92ed93bd6cd77872ab6c3462df45ca45cd058d8f1d0c9b4f54c1704429f/yarl-1.22.0-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:75976c6945d85dbb9ee6308cd7ff7b1fb9409380c82d6119bd778d8fcfe2931c", size = 319598 }, + { url = "https://files.pythonhosted.org/packages/c3/97/ac3f3feae7d522cf7ccec3d340bb0b2b61c56cb9767923df62a135092c6b/yarl-1.22.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:80ddf7a5f8c86cb3eb4bc9028b07bbbf1f08a96c5c0bc1244be5e8fefcb94147", size = 363893 }, + { url = "https://files.pythonhosted.org/packages/06/49/f3219097403b9c84a4d079b1d7bda62dd9b86d0d6e4428c02d46ab2c77fc/yarl-1.22.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d332fc2e3c94dad927f2112395772a4e4fedbcf8f80efc21ed7cdfae4d574fdb", size = 371240 }, + { url = "https://files.pythonhosted.org/packages/35/9f/06b765d45c0e44e8ecf0fe15c9eacbbde342bb5b7561c46944f107bfb6c3/yarl-1.22.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0cf71bf877efeac18b38d3930594c0948c82b64547c1cf420ba48722fe5509f6", size = 346965 }, + { url = "https://files.pythonhosted.org/packages/c5/69/599e7cea8d0fcb1694323b0db0dda317fa3162f7b90166faddecf532166f/yarl-1.22.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:663e1cadaddae26be034a6ab6072449a8426ddb03d500f43daf952b74553bba0", size = 342026 }, + { url = "https://files.pythonhosted.org/packages/95/6f/9dfd12c8bc90fea9eab39832ee32ea48f8e53d1256252a77b710c065c89f/yarl-1.22.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:6dcbb0829c671f305be48a7227918cfcd11276c2d637a8033a99a02b67bf9eda", size = 335637 }, + { url = "https://files.pythonhosted.org/packages/57/2e/34c5b4eb9b07e16e873db5b182c71e5f06f9b5af388cdaa97736d79dd9a6/yarl-1.22.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f0d97c18dfd9a9af4490631905a3f131a8e4c9e80a39353919e2cfed8f00aedc", size = 359082 }, + { url = "https://files.pythonhosted.org/packages/31/71/fa7e10fb772d273aa1f096ecb8ab8594117822f683bab7d2c5a89914c92a/yarl-1.22.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:437840083abe022c978470b942ff832c3940b2ad3734d424b7eaffcd07f76737", size = 357811 }, + { url = "https://files.pythonhosted.org/packages/26/da/11374c04e8e1184a6a03cf9c8f5688d3e5cec83ed6f31ad3481b3207f709/yarl-1.22.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:a899cbd98dce6f5d8de1aad31cb712ec0a530abc0a86bd6edaa47c1090138467", size = 351223 }, + { url = "https://files.pythonhosted.org/packages/82/8f/e2d01f161b0c034a30410e375e191a5d27608c1f8693bab1a08b089ca096/yarl-1.22.0-cp310-cp310-win32.whl", hash = "sha256:595697f68bd1f0c1c159fcb97b661fc9c3f5db46498043555d04805430e79bea", size = 82118 }, + { url = "https://files.pythonhosted.org/packages/62/46/94c76196642dbeae634c7a61ba3da88cd77bed875bf6e4a8bed037505aa6/yarl-1.22.0-cp310-cp310-win_amd64.whl", hash = "sha256:cb95a9b1adaa48e41815a55ae740cfda005758104049a640a398120bf02515ca", size = 86852 }, + { url = "https://files.pythonhosted.org/packages/af/af/7df4f179d3b1a6dcb9a4bd2ffbc67642746fcafdb62580e66876ce83fff4/yarl-1.22.0-cp310-cp310-win_arm64.whl", hash = "sha256:b85b982afde6df99ecc996990d4ad7ccbdbb70e2a4ba4de0aecde5922ba98a0b", size = 82012 }, + { url = "https://files.pythonhosted.org/packages/4d/27/5ab13fc84c76a0250afd3d26d5936349a35be56ce5785447d6c423b26d92/yarl-1.22.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:1ab72135b1f2db3fed3997d7e7dc1b80573c67138023852b6efb336a5eae6511", size = 141607 }, + { url = "https://files.pythonhosted.org/packages/6a/a1/d065d51d02dc02ce81501d476b9ed2229d9a990818332242a882d5d60340/yarl-1.22.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:669930400e375570189492dc8d8341301578e8493aec04aebc20d4717f899dd6", size = 94027 }, + { url = "https://files.pythonhosted.org/packages/c1/da/8da9f6a53f67b5106ffe902c6fa0164e10398d4e150d85838b82f424072a/yarl-1.22.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:792a2af6d58177ef7c19cbf0097aba92ca1b9cb3ffdd9c7470e156c8f9b5e028", size = 94963 }, + { url = "https://files.pythonhosted.org/packages/68/fe/2c1f674960c376e29cb0bec1249b117d11738db92a6ccc4a530b972648db/yarl-1.22.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3ea66b1c11c9150f1372f69afb6b8116f2dd7286f38e14ea71a44eee9ec51b9d", size = 368406 }, + { url = "https://files.pythonhosted.org/packages/95/26/812a540e1c3c6418fec60e9bbd38e871eaba9545e94fa5eff8f4a8e28e1e/yarl-1.22.0-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3e2daa88dc91870215961e96a039ec73e4937da13cf77ce17f9cad0c18df3503", size = 336581 }, + { url = "https://files.pythonhosted.org/packages/0b/f5/5777b19e26fdf98563985e481f8be3d8a39f8734147a6ebf459d0dab5a6b/yarl-1.22.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ba440ae430c00eee41509353628600212112cd5018d5def7e9b05ea7ac34eb65", size = 388924 }, + { url = "https://files.pythonhosted.org/packages/86/08/24bd2477bd59c0bbd994fe1d93b126e0472e4e3df5a96a277b0a55309e89/yarl-1.22.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e6438cc8f23a9c1478633d216b16104a586b9761db62bfacb6425bac0a36679e", size = 392890 }, + { url = "https://files.pythonhosted.org/packages/46/00/71b90ed48e895667ecfb1eaab27c1523ee2fa217433ed77a73b13205ca4b/yarl-1.22.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4c52a6e78aef5cf47a98ef8e934755abf53953379b7d53e68b15ff4420e6683d", size = 365819 }, + { url = "https://files.pythonhosted.org/packages/30/2d/f715501cae832651d3282387c6a9236cd26bd00d0ff1e404b3dc52447884/yarl-1.22.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:3b06bcadaac49c70f4c88af4ffcfbe3dc155aab3163e75777818092478bcbbe7", size = 363601 }, + { url = "https://files.pythonhosted.org/packages/f8/f9/a678c992d78e394e7126ee0b0e4e71bd2775e4334d00a9278c06a6cce96a/yarl-1.22.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:6944b2dc72c4d7f7052683487e3677456050ff77fcf5e6204e98caf785ad1967", size = 358072 }, + { url = "https://files.pythonhosted.org/packages/2c/d1/b49454411a60edb6fefdcad4f8e6dbba7d8019e3a508a1c5836cba6d0781/yarl-1.22.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:d5372ca1df0f91a86b047d1277c2aaf1edb32d78bbcefffc81b40ffd18f027ed", size = 385311 }, + { url = "https://files.pythonhosted.org/packages/87/e5/40d7a94debb8448c7771a916d1861d6609dddf7958dc381117e7ba36d9e8/yarl-1.22.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:51af598701f5299012b8416486b40fceef8c26fc87dc6d7d1f6fc30609ea0aa6", size = 381094 }, + { url = "https://files.pythonhosted.org/packages/35/d8/611cc282502381ad855448643e1ad0538957fc82ae83dfe7762c14069e14/yarl-1.22.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b266bd01fedeffeeac01a79ae181719ff848a5a13ce10075adbefc8f1daee70e", size = 370944 }, + { url = "https://files.pythonhosted.org/packages/2d/df/fadd00fb1c90e1a5a8bd731fa3d3de2e165e5a3666a095b04e31b04d9cb6/yarl-1.22.0-cp311-cp311-win32.whl", hash = "sha256:a9b1ba5610a4e20f655258d5a1fdc7ebe3d837bb0e45b581398b99eb98b1f5ca", size = 81804 }, + { url = "https://files.pythonhosted.org/packages/b5/f7/149bb6f45f267cb5c074ac40c01c6b3ea6d8a620d34b337f6321928a1b4d/yarl-1.22.0-cp311-cp311-win_amd64.whl", hash = "sha256:078278b9b0b11568937d9509b589ee83ef98ed6d561dfe2020e24a9fd08eaa2b", size = 86858 }, + { url = "https://files.pythonhosted.org/packages/2b/13/88b78b93ad3f2f0b78e13bfaaa24d11cbc746e93fe76d8c06bf139615646/yarl-1.22.0-cp311-cp311-win_arm64.whl", hash = "sha256:b6a6f620cfe13ccec221fa312139135166e47ae169f8253f72a0abc0dae94376", size = 81637 }, + { url = "https://files.pythonhosted.org/packages/75/ff/46736024fee3429b80a165a732e38e5d5a238721e634ab41b040d49f8738/yarl-1.22.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e340382d1afa5d32b892b3ff062436d592ec3d692aeea3bef3a5cfe11bbf8c6f", size = 142000 }, + { url = "https://files.pythonhosted.org/packages/5a/9a/b312ed670df903145598914770eb12de1bac44599549b3360acc96878df8/yarl-1.22.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f1e09112a2c31ffe8d80be1b0988fa6a18c5d5cad92a9ffbb1c04c91bfe52ad2", size = 94338 }, + { url = "https://files.pythonhosted.org/packages/ba/f5/0601483296f09c3c65e303d60c070a5c19fcdbc72daa061e96170785bc7d/yarl-1.22.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:939fe60db294c786f6b7c2d2e121576628468f65453d86b0fe36cb52f987bd74", size = 94909 }, + { url = "https://files.pythonhosted.org/packages/60/41/9a1fe0b73dbcefce72e46cf149b0e0a67612d60bfc90fb59c2b2efdfbd86/yarl-1.22.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e1651bf8e0398574646744c1885a41198eba53dc8a9312b954073f845c90a8df", size = 372940 }, + { url = "https://files.pythonhosted.org/packages/17/7a/795cb6dfee561961c30b800f0ed616b923a2ec6258b5def2a00bf8231334/yarl-1.22.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:b8a0588521a26bf92a57a1705b77b8b59044cdceccac7151bd8d229e66b8dedb", size = 345825 }, + { url = "https://files.pythonhosted.org/packages/d7/93/a58f4d596d2be2ae7bab1a5846c4d270b894958845753b2c606d666744d3/yarl-1.22.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:42188e6a615c1a75bcaa6e150c3fe8f3e8680471a6b10150c5f7e83f47cc34d2", size = 386705 }, + { url = "https://files.pythonhosted.org/packages/61/92/682279d0e099d0e14d7fd2e176bd04f48de1484f56546a3e1313cd6c8e7c/yarl-1.22.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f6d2cb59377d99718913ad9a151030d6f83ef420a2b8f521d94609ecc106ee82", size = 396518 }, + { url = "https://files.pythonhosted.org/packages/db/0f/0d52c98b8a885aeda831224b78f3be7ec2e1aa4a62091f9f9188c3c65b56/yarl-1.22.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:50678a3b71c751d58d7908edc96d332af328839eea883bb554a43f539101277a", size = 377267 }, + { url = "https://files.pythonhosted.org/packages/22/42/d2685e35908cbeaa6532c1fc73e89e7f2efb5d8a7df3959ea8e37177c5a3/yarl-1.22.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1e8fbaa7cec507aa24ea27a01456e8dd4b6fab829059b69844bd348f2d467124", size = 365797 }, + { url = "https://files.pythonhosted.org/packages/a2/83/cf8c7bcc6355631762f7d8bdab920ad09b82efa6b722999dfb05afa6cfac/yarl-1.22.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:433885ab5431bc3d3d4f2f9bd15bfa1614c522b0f1405d62c4f926ccd69d04fa", size = 365535 }, + { url = "https://files.pythonhosted.org/packages/25/e1/5302ff9b28f0c59cac913b91fe3f16c59a033887e57ce9ca5d41a3a94737/yarl-1.22.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:b790b39c7e9a4192dc2e201a282109ed2985a1ddbd5ac08dc56d0e121400a8f7", size = 382324 }, + { url = "https://files.pythonhosted.org/packages/bf/cd/4617eb60f032f19ae3a688dc990d8f0d89ee0ea378b61cac81ede3e52fae/yarl-1.22.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:31f0b53913220599446872d757257be5898019c85e7971599065bc55065dc99d", size = 383803 }, + { url = "https://files.pythonhosted.org/packages/59/65/afc6e62bb506a319ea67b694551dab4a7e6fb7bf604e9bd9f3e11d575fec/yarl-1.22.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a49370e8f711daec68d09b821a34e1167792ee2d24d405cbc2387be4f158b520", size = 374220 }, + { url = "https://files.pythonhosted.org/packages/e7/3d/68bf18d50dc674b942daec86a9ba922d3113d8399b0e52b9897530442da2/yarl-1.22.0-cp312-cp312-win32.whl", hash = "sha256:70dfd4f241c04bd9239d53b17f11e6ab672b9f1420364af63e8531198e3f5fe8", size = 81589 }, + { url = "https://files.pythonhosted.org/packages/c8/9a/6ad1a9b37c2f72874f93e691b2e7ecb6137fb2b899983125db4204e47575/yarl-1.22.0-cp312-cp312-win_amd64.whl", hash = "sha256:8884d8b332a5e9b88e23f60bb166890009429391864c685e17bd73a9eda9105c", size = 87213 }, + { url = "https://files.pythonhosted.org/packages/44/c5/c21b562d1680a77634d748e30c653c3ca918beb35555cff24986fff54598/yarl-1.22.0-cp312-cp312-win_arm64.whl", hash = "sha256:ea70f61a47f3cc93bdf8b2f368ed359ef02a01ca6393916bc8ff877427181e74", size = 81330 }, + { url = "https://files.pythonhosted.org/packages/ea/f3/d67de7260456ee105dc1d162d43a019ecad6b91e2f51809d6cddaa56690e/yarl-1.22.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8dee9c25c74997f6a750cd317b8ca63545169c098faee42c84aa5e506c819b53", size = 139980 }, + { url = "https://files.pythonhosted.org/packages/01/88/04d98af0b47e0ef42597b9b28863b9060bb515524da0a65d5f4db160b2d5/yarl-1.22.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:01e73b85a5434f89fc4fe27dcda2aff08ddf35e4d47bbbea3bdcd25321af538a", size = 93424 }, + { url = "https://files.pythonhosted.org/packages/18/91/3274b215fd8442a03975ce6bee5fe6aa57a8326b29b9d3d56234a1dca244/yarl-1.22.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:22965c2af250d20c873cdbee8ff958fb809940aeb2e74ba5f20aaf6b7ac8c70c", size = 93821 }, + { url = "https://files.pythonhosted.org/packages/61/3a/caf4e25036db0f2da4ca22a353dfeb3c9d3c95d2761ebe9b14df8fc16eb0/yarl-1.22.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b4f15793aa49793ec8d1c708ab7f9eded1aa72edc5174cae703651555ed1b601", size = 373243 }, + { url = "https://files.pythonhosted.org/packages/6e/9e/51a77ac7516e8e7803b06e01f74e78649c24ee1021eca3d6a739cb6ea49c/yarl-1.22.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e5542339dcf2747135c5c85f68680353d5cb9ffd741c0f2e8d832d054d41f35a", size = 342361 }, + { url = "https://files.pythonhosted.org/packages/d4/f8/33b92454789dde8407f156c00303e9a891f1f51a0330b0fad7c909f87692/yarl-1.22.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5c401e05ad47a75869c3ab3e35137f8468b846770587e70d71e11de797d113df", size = 387036 }, + { url = "https://files.pythonhosted.org/packages/d9/9a/c5db84ea024f76838220280f732970aa4ee154015d7f5c1bfb60a267af6f/yarl-1.22.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:243dda95d901c733f5b59214d28b0120893d91777cb8aa043e6ef059d3cddfe2", size = 397671 }, + { url = "https://files.pythonhosted.org/packages/11/c9/cd8538dc2e7727095e0c1d867bad1e40c98f37763e6d995c1939f5fdc7b1/yarl-1.22.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bec03d0d388060058f5d291a813f21c011041938a441c593374da6077fe21b1b", size = 377059 }, + { url = "https://files.pythonhosted.org/packages/a1/b9/ab437b261702ced75122ed78a876a6dec0a1b0f5e17a4ac7a9a2482d8abe/yarl-1.22.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b0748275abb8c1e1e09301ee3cf90c8a99678a4e92e4373705f2a2570d581273", size = 365356 }, + { url = "https://files.pythonhosted.org/packages/b2/9d/8e1ae6d1d008a9567877b08f0ce4077a29974c04c062dabdb923ed98e6fe/yarl-1.22.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:47fdb18187e2a4e18fda2c25c05d8251a9e4a521edaed757fef033e7d8498d9a", size = 361331 }, + { url = "https://files.pythonhosted.org/packages/ca/5a/09b7be3905962f145b73beb468cdd53db8aa171cf18c80400a54c5b82846/yarl-1.22.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c7044802eec4524fde550afc28edda0dd5784c4c45f0be151a2d3ba017daca7d", size = 382590 }, + { url = "https://files.pythonhosted.org/packages/aa/7f/59ec509abf90eda5048b0bc3e2d7b5099dffdb3e6b127019895ab9d5ef44/yarl-1.22.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:139718f35149ff544caba20fce6e8a2f71f1e39b92c700d8438a0b1d2a631a02", size = 385316 }, + { url = "https://files.pythonhosted.org/packages/e5/84/891158426bc8036bfdfd862fabd0e0fa25df4176ec793e447f4b85cf1be4/yarl-1.22.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e1b51bebd221006d3d2f95fbe124b22b247136647ae5dcc8c7acafba66e5ee67", size = 374431 }, + { url = "https://files.pythonhosted.org/packages/bb/49/03da1580665baa8bef5e8ed34c6df2c2aca0a2f28bf397ed238cc1bbc6f2/yarl-1.22.0-cp313-cp313-win32.whl", hash = "sha256:d3e32536234a95f513bd374e93d717cf6b2231a791758de6c509e3653f234c95", size = 81555 }, + { url = "https://files.pythonhosted.org/packages/9a/ee/450914ae11b419eadd067c6183ae08381cfdfcb9798b90b2b713bbebddda/yarl-1.22.0-cp313-cp313-win_amd64.whl", hash = "sha256:47743b82b76d89a1d20b83e60d5c20314cbd5ba2befc9cda8f28300c4a08ed4d", size = 86965 }, + { url = "https://files.pythonhosted.org/packages/98/4d/264a01eae03b6cf629ad69bae94e3b0e5344741e929073678e84bf7a3e3b/yarl-1.22.0-cp313-cp313-win_arm64.whl", hash = "sha256:5d0fcda9608875f7d052eff120c7a5da474a6796fe4d83e152e0e4d42f6d1a9b", size = 81205 }, + { url = "https://files.pythonhosted.org/packages/88/fc/6908f062a2f77b5f9f6d69cecb1747260831ff206adcbc5b510aff88df91/yarl-1.22.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:719ae08b6972befcba4310e49edb1161a88cdd331e3a694b84466bd938a6ab10", size = 146209 }, + { url = "https://files.pythonhosted.org/packages/65/47/76594ae8eab26210b4867be6f49129861ad33da1f1ebdf7051e98492bf62/yarl-1.22.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:47d8a5c446df1c4db9d21b49619ffdba90e77c89ec6e283f453856c74b50b9e3", size = 95966 }, + { url = "https://files.pythonhosted.org/packages/ab/ce/05e9828a49271ba6b5b038b15b3934e996980dd78abdfeb52a04cfb9467e/yarl-1.22.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:cfebc0ac8333520d2d0423cbbe43ae43c8838862ddb898f5ca68565e395516e9", size = 97312 }, + { url = "https://files.pythonhosted.org/packages/d1/c5/7dffad5e4f2265b29c9d7ec869c369e4223166e4f9206fc2243ee9eea727/yarl-1.22.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4398557cbf484207df000309235979c79c4356518fd5c99158c7d38203c4da4f", size = 361967 }, + { url = "https://files.pythonhosted.org/packages/50/b2/375b933c93a54bff7fc041e1a6ad2c0f6f733ffb0c6e642ce56ee3b39970/yarl-1.22.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:2ca6fd72a8cd803be290d42f2dec5cdcd5299eeb93c2d929bf060ad9efaf5de0", size = 323949 }, + { url = "https://files.pythonhosted.org/packages/66/50/bfc2a29a1d78644c5a7220ce2f304f38248dc94124a326794e677634b6cf/yarl-1.22.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ca1f59c4e1ab6e72f0a23c13fca5430f889634166be85dbf1013683e49e3278e", size = 361818 }, + { url = "https://files.pythonhosted.org/packages/46/96/f3941a46af7d5d0f0498f86d71275696800ddcdd20426298e572b19b91ff/yarl-1.22.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6c5010a52015e7c70f86eb967db0f37f3c8bd503a695a49f8d45700144667708", size = 372626 }, + { url = "https://files.pythonhosted.org/packages/c1/42/8b27c83bb875cd89448e42cd627e0fb971fa1675c9ec546393d18826cb50/yarl-1.22.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d7672ecf7557476642c88497c2f8d8542f8e36596e928e9bcba0e42e1e7d71f", size = 341129 }, + { url = "https://files.pythonhosted.org/packages/49/36/99ca3122201b382a3cf7cc937b95235b0ac944f7e9f2d5331d50821ed352/yarl-1.22.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:3b7c88eeef021579d600e50363e0b6ee4f7f6f728cd3486b9d0f3ee7b946398d", size = 346776 }, + { url = "https://files.pythonhosted.org/packages/85/b4/47328bf996acd01a4c16ef9dcd2f59c969f495073616586f78cd5f2efb99/yarl-1.22.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:f4afb5c34f2c6fecdcc182dfcfc6af6cccf1aa923eed4d6a12e9d96904e1a0d8", size = 334879 }, + { url = "https://files.pythonhosted.org/packages/c2/ad/b77d7b3f14a4283bffb8e92c6026496f6de49751c2f97d4352242bba3990/yarl-1.22.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:59c189e3e99a59cf8d83cbb31d4db02d66cda5a1a4374e8a012b51255341abf5", size = 350996 }, + { url = "https://files.pythonhosted.org/packages/81/c8/06e1d69295792ba54d556f06686cbd6a7ce39c22307100e3fb4a2c0b0a1d/yarl-1.22.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:5a3bf7f62a289fa90f1990422dc8dff5a458469ea71d1624585ec3a4c8d6960f", size = 356047 }, + { url = "https://files.pythonhosted.org/packages/4b/b8/4c0e9e9f597074b208d18cef227d83aac36184bfbc6eab204ea55783dbc5/yarl-1.22.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:de6b9a04c606978fdfe72666fa216ffcf2d1a9f6a381058d4378f8d7b1e5de62", size = 342947 }, + { url = "https://files.pythonhosted.org/packages/e0/e5/11f140a58bf4c6ad7aca69a892bff0ee638c31bea4206748fc0df4ebcb3a/yarl-1.22.0-cp313-cp313t-win32.whl", hash = "sha256:1834bb90991cc2999f10f97f5f01317f99b143284766d197e43cd5b45eb18d03", size = 86943 }, + { url = "https://files.pythonhosted.org/packages/31/74/8b74bae38ed7fe6793d0c15a0c8207bbb819cf287788459e5ed230996cdd/yarl-1.22.0-cp313-cp313t-win_amd64.whl", hash = "sha256:ff86011bd159a9d2dfc89c34cfd8aff12875980e3bd6a39ff097887520e60249", size = 93715 }, + { url = "https://files.pythonhosted.org/packages/69/66/991858aa4b5892d57aef7ee1ba6b4d01ec3b7eb3060795d34090a3ca3278/yarl-1.22.0-cp313-cp313t-win_arm64.whl", hash = "sha256:7861058d0582b847bc4e3a4a4c46828a410bca738673f35a29ba3ca5db0b473b", size = 83857 }, + { url = "https://files.pythonhosted.org/packages/46/b3/e20ef504049f1a1c54a814b4b9bed96d1ac0e0610c3b4da178f87209db05/yarl-1.22.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:34b36c2c57124530884d89d50ed2c1478697ad7473efd59cfd479945c95650e4", size = 140520 }, + { url = "https://files.pythonhosted.org/packages/e4/04/3532d990fdbab02e5ede063676b5c4260e7f3abea2151099c2aa745acc4c/yarl-1.22.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:0dd9a702591ca2e543631c2a017e4a547e38a5c0f29eece37d9097e04a7ac683", size = 93504 }, + { url = "https://files.pythonhosted.org/packages/11/63/ff458113c5c2dac9a9719ac68ee7c947cb621432bcf28c9972b1c0e83938/yarl-1.22.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:594fcab1032e2d2cc3321bb2e51271e7cd2b516c7d9aee780ece81b07ff8244b", size = 94282 }, + { url = "https://files.pythonhosted.org/packages/a7/bc/315a56aca762d44a6aaaf7ad253f04d996cb6b27bad34410f82d76ea8038/yarl-1.22.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f3d7a87a78d46a2e3d5b72587ac14b4c16952dd0887dbb051451eceac774411e", size = 372080 }, + { url = "https://files.pythonhosted.org/packages/3f/3f/08e9b826ec2e099ea6e7c69a61272f4f6da62cb5b1b63590bb80ca2e4a40/yarl-1.22.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:852863707010316c973162e703bddabec35e8757e67fcb8ad58829de1ebc8590", size = 338696 }, + { url = "https://files.pythonhosted.org/packages/e3/9f/90360108e3b32bd76789088e99538febfea24a102380ae73827f62073543/yarl-1.22.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:131a085a53bfe839a477c0845acf21efc77457ba2bcf5899618136d64f3303a2", size = 387121 }, + { url = "https://files.pythonhosted.org/packages/98/92/ab8d4657bd5b46a38094cfaea498f18bb70ce6b63508fd7e909bd1f93066/yarl-1.22.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:078a8aefd263f4d4f923a9677b942b445a2be970ca24548a8102689a3a8ab8da", size = 394080 }, + { url = "https://files.pythonhosted.org/packages/f5/e7/d8c5a7752fef68205296201f8ec2bf718f5c805a7a7e9880576c67600658/yarl-1.22.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bca03b91c323036913993ff5c738d0842fc9c60c4648e5c8d98331526df89784", size = 372661 }, + { url = "https://files.pythonhosted.org/packages/b6/2e/f4d26183c8db0bb82d491b072f3127fb8c381a6206a3a56332714b79b751/yarl-1.22.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:68986a61557d37bb90d3051a45b91fa3d5c516d177dfc6dd6f2f436a07ff2b6b", size = 364645 }, + { url = "https://files.pythonhosted.org/packages/80/7c/428e5812e6b87cd00ee8e898328a62c95825bf37c7fa87f0b6bb2ad31304/yarl-1.22.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:4792b262d585ff0dff6bcb787f8492e40698443ec982a3568c2096433660c694", size = 355361 }, + { url = "https://files.pythonhosted.org/packages/ec/2a/249405fd26776f8b13c067378ef4d7dd49c9098d1b6457cdd152a99e96a9/yarl-1.22.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:ebd4549b108d732dba1d4ace67614b9545b21ece30937a63a65dd34efa19732d", size = 381451 }, + { url = "https://files.pythonhosted.org/packages/67/a8/fb6b1adbe98cf1e2dd9fad71003d3a63a1bc22459c6e15f5714eb9323b93/yarl-1.22.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:f87ac53513d22240c7d59203f25cc3beac1e574c6cd681bbfd321987b69f95fd", size = 383814 }, + { url = "https://files.pythonhosted.org/packages/d9/f9/3aa2c0e480fb73e872ae2814c43bc1e734740bb0d54e8cb2a95925f98131/yarl-1.22.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:22b029f2881599e2f1b06f8f1db2ee63bd309e2293ba2d566e008ba12778b8da", size = 370799 }, + { url = "https://files.pythonhosted.org/packages/50/3c/af9dba3b8b5eeb302f36f16f92791f3ea62e3f47763406abf6d5a4a3333b/yarl-1.22.0-cp314-cp314-win32.whl", hash = "sha256:6a635ea45ba4ea8238463b4f7d0e721bad669f80878b7bfd1f89266e2ae63da2", size = 82990 }, + { url = "https://files.pythonhosted.org/packages/ac/30/ac3a0c5bdc1d6efd1b41fa24d4897a4329b3b1e98de9449679dd327af4f0/yarl-1.22.0-cp314-cp314-win_amd64.whl", hash = "sha256:0d6e6885777af0f110b0e5d7e5dda8b704efed3894da26220b7f3d887b839a79", size = 88292 }, + { url = "https://files.pythonhosted.org/packages/df/0a/227ab4ff5b998a1b7410abc7b46c9b7a26b0ca9e86c34ba4b8d8bc7c63d5/yarl-1.22.0-cp314-cp314-win_arm64.whl", hash = "sha256:8218f4e98d3c10d683584cb40f0424f4b9fd6e95610232dd75e13743b070ee33", size = 82888 }, + { url = "https://files.pythonhosted.org/packages/06/5e/a15eb13db90abd87dfbefb9760c0f3f257ac42a5cac7e75dbc23bed97a9f/yarl-1.22.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:45c2842ff0e0d1b35a6bf1cd6c690939dacb617a70827f715232b2e0494d55d1", size = 146223 }, + { url = "https://files.pythonhosted.org/packages/18/82/9665c61910d4d84f41a5bf6837597c89e665fa88aa4941080704645932a9/yarl-1.22.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:d947071e6ebcf2e2bee8fce76e10faca8f7a14808ca36a910263acaacef08eca", size = 95981 }, + { url = "https://files.pythonhosted.org/packages/5d/9a/2f65743589809af4d0a6d3aa749343c4b5f4c380cc24a8e94a3c6625a808/yarl-1.22.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:334b8721303e61b00019474cc103bdac3d7b1f65e91f0bfedeec2d56dfe74b53", size = 97303 }, + { url = "https://files.pythonhosted.org/packages/b0/ab/5b13d3e157505c43c3b43b5a776cbf7b24a02bc4cccc40314771197e3508/yarl-1.22.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1e7ce67c34138a058fd092f67d07a72b8e31ff0c9236e751957465a24b28910c", size = 361820 }, + { url = "https://files.pythonhosted.org/packages/fb/76/242a5ef4677615cf95330cfc1b4610e78184400699bdda0acb897ef5e49a/yarl-1.22.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d77e1b2c6d04711478cb1c4ab90db07f1609ccf06a287d5607fcd90dc9863acf", size = 323203 }, + { url = "https://files.pythonhosted.org/packages/8c/96/475509110d3f0153b43d06164cf4195c64d16999e0c7e2d8a099adcd6907/yarl-1.22.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c4647674b6150d2cae088fc07de2738a84b8bcedebef29802cf0b0a82ab6face", size = 363173 }, + { url = "https://files.pythonhosted.org/packages/c9/66/59db471aecfbd559a1fd48aedd954435558cd98c7d0da8b03cc6c140a32c/yarl-1.22.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:efb07073be061c8f79d03d04139a80ba33cbd390ca8f0297aae9cce6411e4c6b", size = 373562 }, + { url = "https://files.pythonhosted.org/packages/03/1f/c5d94abc91557384719da10ff166b916107c1b45e4d0423a88457071dd88/yarl-1.22.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e51ac5435758ba97ad69617e13233da53908beccc6cfcd6c34bbed8dcbede486", size = 339828 }, + { url = "https://files.pythonhosted.org/packages/5f/97/aa6a143d3afba17b6465733681c70cf175af89f76ec8d9286e08437a7454/yarl-1.22.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:33e32a0dd0c8205efa8e83d04fc9f19313772b78522d1bdc7d9aed706bfd6138", size = 347551 }, + { url = "https://files.pythonhosted.org/packages/43/3c/45a2b6d80195959239a7b2a8810506d4eea5487dce61c2a3393e7fc3c52e/yarl-1.22.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:bf4a21e58b9cde0e401e683ebd00f6ed30a06d14e93f7c8fd059f8b6e8f87b6a", size = 334512 }, + { url = "https://files.pythonhosted.org/packages/86/a0/c2ab48d74599c7c84cb104ebd799c5813de252bea0f360ffc29d270c2caa/yarl-1.22.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:e4b582bab49ac33c8deb97e058cd67c2c50dac0dd134874106d9c774fd272529", size = 352400 }, + { url = "https://files.pythonhosted.org/packages/32/75/f8919b2eafc929567d3d8411f72bdb1a2109c01caaab4ebfa5f8ffadc15b/yarl-1.22.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:0b5bcc1a9c4839e7e30b7b30dd47fe5e7e44fb7054ec29b5bb8d526aa1041093", size = 357140 }, + { url = "https://files.pythonhosted.org/packages/cf/72/6a85bba382f22cf78add705d8c3731748397d986e197e53ecc7835e76de7/yarl-1.22.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:c0232bce2170103ec23c454e54a57008a9a72b5d1c3105dc2496750da8cfa47c", size = 341473 }, + { url = "https://files.pythonhosted.org/packages/35/18/55e6011f7c044dc80b98893060773cefcfdbf60dfefb8cb2f58b9bacbd83/yarl-1.22.0-cp314-cp314t-win32.whl", hash = "sha256:8009b3173bcd637be650922ac455946197d858b3630b6d8787aa9e5c4564533e", size = 89056 }, + { url = "https://files.pythonhosted.org/packages/f9/86/0f0dccb6e59a9e7f122c5afd43568b1d31b8ab7dda5f1b01fb5c7025c9a9/yarl-1.22.0-cp314-cp314t-win_amd64.whl", hash = "sha256:9fb17ea16e972c63d25d4a97f016d235c78dd2344820eb35bc034bc32012ee27", size = 96292 }, + { url = "https://files.pythonhosted.org/packages/48/b7/503c98092fb3b344a179579f55814b613c1fbb1c23b3ec14a7b008a66a6e/yarl-1.22.0-cp314-cp314t-win_arm64.whl", hash = "sha256:9f6d73c1436b934e3f01df1e1b21ff765cd1d28c77dfb9ace207f746d4610ee1", size = 85171 }, + { url = "https://files.pythonhosted.org/packages/94/fd/6480106702a79bcceda5fd9c63cb19a04a6506bd5ce7fd8d9b63742f0021/yarl-1.22.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3aa27acb6de7a23785d81557577491f6c38a5209a254d1191519d07d8fe51748", size = 141301 }, + { url = "https://files.pythonhosted.org/packages/42/e1/6d95d21b17a93e793e4ec420a925fe1f6a9342338ca7a563ed21129c0990/yarl-1.22.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:af74f05666a5e531289cb1cc9c883d1de2088b8e5b4de48004e5ca8a830ac859", size = 93864 }, + { url = "https://files.pythonhosted.org/packages/32/58/b8055273c203968e89808413ea4c984988b6649baabf10f4522e67c22d2f/yarl-1.22.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:62441e55958977b8167b2709c164c91a6363e25da322d87ae6dd9c6019ceecf9", size = 94706 }, + { url = "https://files.pythonhosted.org/packages/18/91/d7bfbc28a88c2895ecd0da6a874def0c147de78afc52c773c28e1aa233a3/yarl-1.22.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b580e71cac3f8113d3135888770903eaf2f507e9421e5697d6ee6d8cd1c7f054", size = 347100 }, + { url = "https://files.pythonhosted.org/packages/bd/e8/37a1e7b99721c0564b1fc7b0a4d1f595ef6fb8060d82ca61775b644185f7/yarl-1.22.0-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e81fda2fb4a07eda1a2252b216aa0df23ebcd4d584894e9612e80999a78fd95b", size = 318902 }, + { url = "https://files.pythonhosted.org/packages/1c/ef/34724449d7ef2db4f22df644f2dac0b8a275d20f585e526937b3ae47b02d/yarl-1.22.0-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:99b6fc1d55782461b78221e95fc357b47ad98b041e8e20f47c1411d0aacddc60", size = 363302 }, + { url = "https://files.pythonhosted.org/packages/8a/04/88a39a5dad39889f192cce8d66cc4c58dbeca983e83f9b6bf23822a7ed91/yarl-1.22.0-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:088e4e08f033db4be2ccd1f34cf29fe994772fb54cfe004bbf54db320af56890", size = 370816 }, + { url = "https://files.pythonhosted.org/packages/6b/1f/5e895e547129413f56c76be2c3ce4b96c797d2d0ff3e16a817d9269b12e6/yarl-1.22.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2e4e1f6f0b4da23e61188676e3ed027ef0baa833a2e633c29ff8530800edccba", size = 346465 }, + { url = "https://files.pythonhosted.org/packages/11/13/a750e9fd6f9cc9ed3a52a70fe58ffe505322f0efe0d48e1fd9ffe53281f5/yarl-1.22.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:84fc3ec96fce86ce5aa305eb4aa9358279d1aa644b71fab7b8ed33fe3ba1a7ca", size = 341506 }, + { url = "https://files.pythonhosted.org/packages/3c/67/bb6024de76e7186611ebe626aec5b71a2d2ecf9453e795f2dbd80614784c/yarl-1.22.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:5dbeefd6ca588b33576a01b0ad58aa934bc1b41ef89dee505bf2932b22ddffba", size = 335030 }, + { url = "https://files.pythonhosted.org/packages/a2/be/50b38447fd94a7992996a62b8b463d0579323fcfc08c61bdba949eef8a5d/yarl-1.22.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:14291620375b1060613f4aab9ebf21850058b6b1b438f386cc814813d901c60b", size = 358560 }, + { url = "https://files.pythonhosted.org/packages/e2/89/c020b6f547578c4e3dbb6335bf918f26e2f34ad0d1e515d72fd33ac0c635/yarl-1.22.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:a4fcfc8eb2c34148c118dfa02e6427ca278bfd0f3df7c5f99e33d2c0e81eae3e", size = 357290 }, + { url = "https://files.pythonhosted.org/packages/8c/52/c49a619ee35a402fa3a7019a4fa8d26878fec0d1243f6968bbf516789578/yarl-1.22.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:029866bde8d7b0878b9c160e72305bbf0a7342bcd20b9999381704ae03308dc8", size = 350700 }, + { url = "https://files.pythonhosted.org/packages/ab/c9/f5042d87777bf6968435f04a2bbb15466b2f142e6e47fa4f34d1a3f32f0c/yarl-1.22.0-cp39-cp39-win32.whl", hash = "sha256:4dcc74149ccc8bba31ce1944acee24813e93cfdee2acda3c172df844948ddf7b", size = 82323 }, + { url = "https://files.pythonhosted.org/packages/fd/58/d00f7cad9eba20c4eefac2682f34661d1d1b3a942fc0092eb60e78cfb733/yarl-1.22.0-cp39-cp39-win_amd64.whl", hash = "sha256:10619d9fdee46d20edc49d3479e2f8269d0779f1b031e6f7c2aa1c76be04b7ed", size = 87145 }, + { url = "https://files.pythonhosted.org/packages/c2/a3/70904f365080780d38b919edd42d224b8c4ce224a86950d2eaa2a24366ad/yarl-1.22.0-cp39-cp39-win_arm64.whl", hash = "sha256:dd7afd3f8b0bfb4e0d9fc3c31bfe8a4ec7debe124cfd90619305def3c8ca8cd2", size = 82173 }, + { url = "https://files.pythonhosted.org/packages/73/ae/b48f95715333080afb75a4504487cbe142cae1268afc482d06692d605ae6/yarl-1.22.0-py3-none-any.whl", hash = "sha256:1380560bdba02b6b6c90de54133c81c9f2a453dee9912fe58c1dcced1edb7cff", size = 46814 }, +] From 5845510d68cb9403b571d44bb29b31b98d223fe4 Mon Sep 17 00:00:00 2001 From: jeafreezy Date: Sat, 23 May 2026 12:04:40 +0200 Subject: [PATCH 2/7] chore: removed custom runtime --- crates/python/src/lib.rs | 2 +- crates/python/src/runtime.rs | 21 ++------------------- crates/python/src/search.rs | 2 +- 3 files changed, 4 insertions(+), 21 deletions(-) diff --git a/crates/python/src/lib.rs b/crates/python/src/lib.rs index dccd585..7321054 100644 --- a/crates/python/src/lib.rs +++ b/crates/python/src/lib.rs @@ -21,7 +21,7 @@ mod runtime; mod async_client; mod sync_client; -const VERSION: &str = env!("CARGO_PKG_VERSION"); +const VERSION: &'static str = env!("CARGO_PKG_VERSION"); #[pymodule] diff --git a/crates/python/src/runtime.rs b/crates/python/src/runtime.rs index e145c18..2a10832 100644 --- a/crates/python/src/runtime.rs +++ b/crates/python/src/runtime.rs @@ -1,23 +1,7 @@ use std::future::Future; -use std::sync::OnceLock; - use pyo3::prelude::*; use pyo3_async_runtimes::tokio as pyo3_tokio; -static RUNTIME_INIT: OnceLock<()> = - OnceLock::new(); - -pub fn ensure_runtime() { - RUNTIME_INIT.get_or_init(|| { - - let mut builder = - tokio::runtime::Builder::new_multi_thread(); - - builder.enable_all(); - - pyo3_tokio::init(builder); - }); -} /// Execute async Rust from sync Python. @@ -31,13 +15,14 @@ where + 'static, T: Send + 'static, { - ensure_runtime(); py.detach(|| { pyo3_tokio::get_runtime() .block_on(future) }) } + + /// Convert async Rust into Python coroutine. pub fn into_py<'py, F, T>( py: Python<'py>, @@ -50,8 +35,6 @@ where T: for<'a> IntoPyObject<'a>, { - ensure_runtime(); - pyo3_tokio::future_into_py( py, async move { diff --git a/crates/python/src/search.rs b/crates/python/src/search.rs index cf40a12..d31cbc1 100644 --- a/crates/python/src/search.rs +++ b/crates/python/src/search.rs @@ -89,7 +89,7 @@ impl PySearch { fn __repr__(&self) -> String { format!( - "Search(items={}, catalogs={}, failed={})", + "SuperSTACSearch(items={}, catalogs={}, failed={})", self.response.items.len(), self.response.metadata.catalogs_queried, self.response.metadata.catalogs_failed, From ea02946b187c946207aa3fd914943a04f1aa6ff8 Mon Sep 17 00:00:00 2001 From: jeafreezy Date: Sun, 27 Sep 2026 08:49:44 +0200 Subject: [PATCH 3/7] chore: added logo closing #23 --- Cargo.lock | 131 +++++++++++++++++++++++++++ Cargo.toml | 3 +- README.md | 14 ++- crates/cli/src/main.rs | 2 +- crates/config/Cargo.toml | 2 +- crates/config/src/config.rs | 120 +++++++++++++++++++++++- crates/config/src/lib.rs | 2 +- crates/config/src/populate.rs | 4 +- crates/core/Cargo.toml | 2 +- crates/core/src/lib.rs | 2 +- crates/core/src/models/catalog.rs | 57 +----------- crates/core/src/models/provider.rs | 69 ++------------ crates/core/src/models/settings.rs | 8 +- crates/core/src/models/storage.rs | 4 +- crates/core/src/storages/factory.rs | 13 +-- crates/core/src/storages/memory.rs | 34 +++---- crates/core/tests/storages/memory.rs | 22 ++--- crates/engine/Cargo.toml | 2 +- crates/engine/src/engine.rs | 20 +++- crates/engine/src/health/manager.rs | 116 ++++++++++++++++-------- crates/python/Cargo.toml | 2 +- crates/python/README.md | 2 +- crates/python/src/lib.rs | 2 +- crates/python/src/search.rs | 4 +- crates/python/src/utils.rs | 4 +- crates/python/yarn.lock | 4 + crates/search/src/executor.rs | 5 +- crates/search/src/query.rs | 8 ++ crates/search/src/translator.rs | 2 +- docs/assets/superstac-logo-dark.svg | 11 +++ docs/assets/superstac-logo.md | 17 ++++ docs/assets/superstac-logo.png | Bin 0 -> 994249 bytes docs/assets/superstac-logo.svg | 11 +++ superstac.yml | 7 +- 34 files changed, 477 insertions(+), 229 deletions(-) create mode 100644 crates/python/yarn.lock create mode 100644 docs/assets/superstac-logo-dark.svg create mode 100644 docs/assets/superstac-logo.md create mode 100644 docs/assets/superstac-logo.png create mode 100644 docs/assets/superstac-logo.svg diff --git a/Cargo.lock b/Cargo.lock index c2dfe28..8a0010a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1247,6 +1247,15 @@ dependencies = [ "serde_core", ] +[[package]] +name = "indoc" +version = "2.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706" +dependencies = [ + "rustversion", +] + [[package]] name = "ipnet" version = "2.11.0" @@ -1471,6 +1480,15 @@ version = "2.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" +[[package]] +name = "memoffset" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" +dependencies = [ + "autocfg", +] + [[package]] name = "mime" version = "0.3.17" @@ -1809,6 +1827,90 @@ dependencies = [ "cc", ] +[[package]] +name = "pyo3" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ba0117f4212101ee6544044dae45abe1083d30ce7b29c4b5cbdfa2354e07383" +dependencies = [ + "indoc", + "libc", + "memoffset", + "once_cell", + "portable-atomic", + "pyo3-build-config", + "pyo3-ffi", + "pyo3-macros", + "unindent", +] + +[[package]] +name = "pyo3-async-runtimes" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6ee6d4cb3e8d5b925f5cdb38da183e0ff18122eb2048d4041c9e7034d026e23" +dependencies = [ + "futures", + "once_cell", + "pin-project-lite", + "pyo3", + "tokio", +] + +[[package]] +name = "pyo3-build-config" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fc6ddaf24947d12a9aa31ac65431fb1b851b8f4365426e182901eabfb87df5f" +dependencies = [ + "target-lexicon", +] + +[[package]] +name = "pyo3-ffi" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "025474d3928738efb38ac36d4744a74a400c901c7596199e20e45d98eb194105" +dependencies = [ + "libc", + "pyo3-build-config", +] + +[[package]] +name = "pyo3-macros" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e64eb489f22fe1c95911b77c44cc41e7c19f3082fc81cce90f657cdc42ffded" +dependencies = [ + "proc-macro2", + "pyo3-macros-backend", + "quote", + "syn", +] + +[[package]] +name = "pyo3-macros-backend" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "100246c0ecf400b475341b8455a9213344569af29a3c841d29270e53102e0fcf" +dependencies = [ + "heck", + "proc-macro2", + "pyo3-build-config", + "quote", + "syn", +] + +[[package]] +name = "pythonize" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11e06e4cff9be2bbf2bddf28a486ae619172ea57e79787f856572878c62dcfe2" +dependencies = [ + "pyo3", + "serde", +] + [[package]] name = "quinn" version = "0.11.9" @@ -2623,6 +2725,23 @@ dependencies = [ "tracing", ] +[[package]] +name = "superstac-python" +version = "0.1.0" +dependencies = [ + "parking_lot", + "pyo3", + "pyo3-async-runtimes", + "pythonize", + "serde", + "serde_json", + "superstac-config", + "superstac-core", + "superstac-engine", + "superstac-search", + "tokio", +] + [[package]] name = "superstac-search" version = "0.1.0" @@ -2690,6 +2809,12 @@ dependencies = [ "libc", ] +[[package]] +name = "target-lexicon" +version = "0.13.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca" + [[package]] name = "thiserror" version = "1.0.69" @@ -2967,6 +3092,12 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" +[[package]] +name = "unindent" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3" + [[package]] name = "untrusted" version = "0.9.0" diff --git a/Cargo.toml b/Cargo.toml index 24258da..bc61c36 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,12 +6,13 @@ members = [ "crates/search", "crates/engine", "crates/cli", + "crates/python", ] [workspace.package] version = "0.1.0" edition = "2021" -rust-version = "1.75" +rust-version = "1.88" license = "MIT" repository = "https://github.com/spatialnode/superstac" homepage = "https://github.com/spatialnode/superstac" diff --git a/README.md b/README.md index fc79737..75aeb01 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,16 @@ -# superstac +# SuperSTAC [![License](https://img.shields.io/badge/license-MIT-green.svg)](./LICENSE) [![crates.io](https://img.shields.io/crates/v/superstac-search.svg)](https://crates.io/crates/superstac-search) [![docs.rs](https://docs.rs/superstac-core/badge.svg)](https://docs.rs/superstac-search) + + + + + SuperSTAC logo + + Federated [STAC](https://stacspec.org/) search across multiple catalogs. Query Element84, Microsoft Planetary Computer, and others through one API. Items come back deduplicated, with their collection IDs and asset keys @@ -20,7 +27,7 @@ A single STAC catalog isn't always enough: - The catalog you usually use is down or rate-limited. - Different providers index the same scenes under different names. -superstac queries every catalog you've registered, drops the ones that don't +SuperSTAC queries every catalog you've registered, drops the ones that don't serve the requested collection, runs the rest concurrently with retry and timeouts, then merges and dedupes the results. @@ -165,11 +172,10 @@ Some things on the way: - Authentication (per-catalog headers, OAuth, API keys) - SQLite + Postgres backends -- Python bindings via PyO3 - and many more. ## License MIT. See [LICENSE](./LICENSE). -Feedback and issues welcome — this is early. If you try it and you see any bug, feel free to open an issue! \ No newline at end of file +Feedback and issues welcome — this is early. If you try it and you see any bug, feel free to open an issue! diff --git a/crates/cli/src/main.rs b/crates/cli/src/main.rs index 2532f89..f01ac9c 100644 --- a/crates/cli/src/main.rs +++ b/crates/cli/src/main.rs @@ -13,7 +13,7 @@ use tracing_subscriber::EnvFilter; #[derive(Parser)] #[command(name = "superstac", version, about, long_about = None)] struct Cli { - /// Path to the superstac config file. + /// Path to the SuperSTAC config file. #[arg(long, default_value = "superstac.yml", global = true)] config: PathBuf, diff --git a/crates/config/Cargo.toml b/crates/config/Cargo.toml index b750fdd..0d79f18 100644 --- a/crates/config/Cargo.toml +++ b/crates/config/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "superstac-config" -description = "YAML config loading for superstac federated STAC search." +description = "YAML config loading for SuperSTAC federated STAC search." keywords = ["stac", "geospatial", "config"] categories = ["science::geo", "config"] readme = "../../README.md" diff --git a/crates/config/src/config.rs b/crates/config/src/config.rs index f997c90..8612f4f 100644 --- a/crates/config/src/config.rs +++ b/crates/config/src/config.rs @@ -1,15 +1,125 @@ +use std::collections::HashMap; + use serde::Deserialize; -use superstac_core::models::{ - catalog::CatalogConfig, - provider::CatalogProviderConfig, +use superstac_core::{errors::{SuperSTACError, ValidationError}, models::{ + catalog::{Catalog, CatalogSettings, get_default_health_status}, + provider::CatalogProvider, settings::Settings, -}; +}, utils::{get_date_time, parse_url, validate_identifier}}; + -/// Configuration for SuperSTAC, Spatial Temporal Asset Catalog services +/// Configuration for SuperSTAC. #[derive(Debug, Deserialize)] pub struct SuperStacConfig { pub catalogs: Vec, pub providers: Vec, pub settings: Settings, } + + + +/// A data structure for a STAC catalog from the YAML file. +#[derive(Debug, Deserialize)] +pub struct CatalogConfig { + pub id: String, + pub provider: Option, + pub title: Option, + pub url: Option, + pub description: Option, + pub settings: Option, + /// Maps canonical collection IDs to this catalog's local collection IDs. + /// E.g. `sentinel-2-l2a: S2MSI2A` on a CDSE-style catalog. + pub collection_aliases: Option>, + /// Per-collection asset rename rules, keyed by canonical collection ID. + /// Inner map: canonical asset key -> this catalog's local asset key. + /// E.g. `{ "sentinel-2-l2a": { "blue": "B02", "green": "B03" } }`. + pub asset_aliases: Option>>, +} + +impl TryFrom for Catalog { + type Error = SuperSTACError; + + fn try_from(cfg: CatalogConfig) -> Result { + validate_identifier(&cfg.id)?; + + let url = match cfg.url { + Some(w) => { + parse_url(&w).map_err(|e| ValidationError::InvalidUrl(e.to_string()))?; + Some(w) + } + None => None, + }; + + Ok(Self { + id: cfg.id, + provider: None, + title: cfg.title, + url: url.clone().unwrap(), + description: cfg.description, + settings: cfg.settings.unwrap_or(CatalogSettings::default()), + health_status: get_default_health_status(url.unwrap()), + capabilities: None, + collection_aliases: cfg.collection_aliases.unwrap_or_default(), + asset_aliases: cfg.asset_aliases.unwrap_or_default(), + supported_collections: None, + created_at: Some(get_date_time()), + updated_at: None, + }) + } +} + + +/// YAML-deserialization shape for a provider entry. Converted to +/// [`CatalogProvider`] via `TryFrom`. +#[derive(Debug, Deserialize)] +pub struct CatalogProviderConfig { + pub id: String, + pub name: Option, + pub description: Option, + pub logo_url: Option, + pub website_url: Option, + // Disabling this for now, because it's probably better to have it in the catalog. + // pub stac_version: Option, + pub catalog_ids: Option>, +} + +impl TryFrom for CatalogProvider { + type Error = SuperSTACError; + + fn try_from(cfg: CatalogProviderConfig) -> Result { + validate_identifier(&cfg.id)?; + + let website_url = match cfg.website_url { + Some(w) => { + parse_url(&w).map_err(|e| ValidationError::InvalidUrl(e.to_string()))?; + Some(w) + } + None => None, + }; + + let logo_url = match cfg.logo_url { + Some(l) => { + parse_url(&l).map_err(|e| ValidationError::InvalidUrl(e.to_string()))?; + Some(l) + } + None => None, + }; + + // let stac_version = cfg + // .stac_version + // .ok_or_else(|| ValidationError::MissingField("stac_version".into()))?; + + Ok(Self { + id: cfg.id, + name: cfg.name, + description: cfg.description, + website_url, + logo_url, + // stac_version: Some(stac_version), + catalog_ids: None, + created_at: Some(get_date_time()), + updated_at: None, + }) + } +} diff --git a/crates/config/src/lib.rs b/crates/config/src/lib.rs index 1f5433c..81c0b01 100644 --- a/crates/config/src/lib.rs +++ b/crates/config/src/lib.rs @@ -1,4 +1,4 @@ -//! Config-file loading for superstac. Reads `superstac.yml` and seeds a +//! Config-file loading for SuperSTAC. Reads `superstac.yml` and seeds a //! storage backend with providers, catalogs, and settings. pub mod config; diff --git a/crates/config/src/populate.rs b/crates/config/src/populate.rs index 827a071..5f718c3 100644 --- a/crates/config/src/populate.rs +++ b/crates/config/src/populate.rs @@ -7,8 +7,7 @@ use superstac_core::{ use crate::config::SuperStacConfig; /// Seed a backend with the providers, catalogs, and settings parsed from a -/// [`SuperStacConfig`]. Generic over the backend trait so future SQLite / -/// Postgres backends work without changes here. +/// [`SuperStacConfig`]. Generic over the backend trait so future backends work without changes here. pub fn populate_backend_from_config( backend: &mut dyn StorageBackend, config: SuperStacConfig, @@ -35,6 +34,7 @@ pub fn populate_backend_from_config( retry_initial_backoff_ms: config.settings.retry_initial_backoff_ms, retry_max_backoff_ms: config.settings.retry_max_backoff_ms, max_items_per_catalog: config.settings.max_items_per_catalog, + enable_background_health_monitor: config.settings.enable_background_health_monitor, }); for provider_cfg in config.providers { diff --git a/crates/core/Cargo.toml b/crates/core/Cargo.toml index 0738d0b..d1697b2 100644 --- a/crates/core/Cargo.toml +++ b/crates/core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "superstac-core" -description = "Domain models, storage trait, and shared utilities for superstac federated STAC search." +description = "Domain models, storage trait, and shared utilities for SuperSTAC federated STAC search." keywords = ["stac", "geospatial", "satellite", "remote-sensing"] categories = ["science::geo"] readme = "../../README.md" diff --git a/crates/core/src/lib.rs b/crates/core/src/lib.rs index 4851bac..3c94898 100644 --- a/crates/core/src/lib.rs +++ b/crates/core/src/lib.rs @@ -1,4 +1,4 @@ -//! Domain models, storage trait, and shared utilities for superstac. +//! Domain models, storage trait, and shared utilities for SuperSTAC. //! //! - [`models`]: `Catalog`, `Provider`, `Settings`, etc. //! - [`storages`]: the [`storages::factory::StorageBackend`] trait and the diff --git a/crates/core/src/models/catalog.rs b/crates/core/src/models/catalog.rs index f45bc35..0f0b283 100644 --- a/crates/core/src/models/catalog.rs +++ b/crates/core/src/models/catalog.rs @@ -31,6 +31,7 @@ pub struct CatalogSettings { pub health_check_strategy: HealthCheckFrequencyStrategy, /// Status codes considered "healthy" (inclusive). Default `(200, 299)`. pub healthy_status_code_range: (u16, u16), + pub enable_background_health_monitor: Option, } impl Default for CatalogSettings { @@ -38,6 +39,7 @@ impl Default for CatalogSettings { CatalogSettings { health_check_strategy: HealthCheckFrequencyStrategy::Hourly, healthy_status_code_range: (200, 299), + enable_background_health_monitor: None, } } } @@ -135,7 +137,8 @@ pub struct HealthStatus { pub status_code: u16, } -fn get_default_health_status(url: String) -> HealthStatus { + +pub fn get_default_health_status(url: String) -> HealthStatus { HealthStatus { // defaults to false. Always assumes the health status is down. It will be updated after the first health check. available: false, @@ -151,57 +154,7 @@ pub struct CatalogCapabilities { filtering: String, } -/// A data structure for a STAC catalog from the YAML file. -#[derive(Debug, Deserialize)] -pub struct CatalogConfig { - pub id: String, - pub provider: Option, - pub title: Option, - pub url: Option, - pub description: Option, - pub settings: Option, - /// Maps canonical collection IDs to this catalog's local collection IDs. - /// E.g. `sentinel-2-l2a: S2MSI2A` on a CDSE-style catalog. - pub collection_aliases: Option>, - /// Per-collection asset rename rules, keyed by canonical collection ID. - /// Inner map: canonical asset key -> this catalog's local asset key. - /// E.g. `{ "sentinel-2-l2a": { "blue": "B02", "green": "B03" } }`. - pub asset_aliases: Option>>, -} - -impl TryFrom for Catalog { - type Error = SuperSTACError; - - fn try_from(cfg: CatalogConfig) -> Result { - validate_identifier(&cfg.id)?; - - let url = match cfg.url { - Some(w) => { - parse_url(&w).map_err(|e| ValidationError::InvalidUrl(e.to_string()))?; - Some(w) - } - None => None, - }; - - Ok(Self { - id: cfg.id, - provider: None, - title: cfg.title, - url: url.clone().unwrap(), - description: cfg.description, - settings: cfg.settings.unwrap_or(CatalogSettings::default()), - health_status: get_default_health_status(url.unwrap()), - capabilities: None, - collection_aliases: cfg.collection_aliases.unwrap_or_default(), - asset_aliases: cfg.asset_aliases.unwrap_or_default(), - supported_collections: None, - created_at: Some(get_date_time()), - updated_at: None, - }) - } -} - -/// A STAC catalog endpoint registered with superstac. +/// A STAC catalog endpoint registered with SuperSTAC. /// /// Construct via [`Catalog::new`] for direct use, or by loading a YAML /// `superstac.yml` (which deserializes [`CatalogConfig`] and converts via diff --git a/crates/core/src/models/provider.rs b/crates/core/src/models/provider.rs index f87e673..46a5b71 100644 --- a/crates/core/src/models/provider.rs +++ b/crates/core/src/models/provider.rs @@ -6,59 +6,6 @@ use crate::{ utils::{get_date_time, parse_url, validate_identifier}, }; -/// YAML-deserialization shape for a provider entry. Converted to -/// [`CatalogProvider`] via `TryFrom`. -#[derive(Debug, Deserialize)] -pub struct CatalogProviderConfig { - pub id: String, - pub name: Option, - pub description: Option, - pub logo_url: Option, - pub website_url: Option, - pub stac_version: Option, - pub catalog_ids: Option>, -} - -impl TryFrom for CatalogProvider { - type Error = SuperSTACError; - - fn try_from(cfg: CatalogProviderConfig) -> Result { - validate_identifier(&cfg.id)?; - - let website_url = match cfg.website_url { - Some(w) => { - parse_url(&w).map_err(|e| ValidationError::InvalidUrl(e.to_string()))?; - Some(w) - } - None => None, - }; - - let logo_url = match cfg.logo_url { - Some(l) => { - parse_url(&l).map_err(|e| ValidationError::InvalidUrl(e.to_string()))?; - Some(l) - } - None => None, - }; - - let stac_version = cfg - .stac_version - .ok_or_else(|| ValidationError::MissingField("stac_version".into()))?; - - Ok(Self { - id: cfg.id, - name: cfg.name, - description: cfg.description, - website_url, - logo_url, - stac_version: Some(stac_version), - catalog_ids: None, - created_at: Some(get_date_time()), - updated_at: None, - }) - } -} - /// A vendor/organization that operates one or more STAC catalogs. Mostly /// metadata (name, logo, website) — the actual API endpoints live on /// [`super::catalog::Catalog`], linked back via `catalog_ids`. @@ -77,7 +24,7 @@ pub struct CatalogProvider { pub logo_url: Option, /// The STAC version the provider is conforming to. - pub stac_version: Option, + // pub stac_version: Option, /// The URL to the provider website/public page. pub website_url: Option, @@ -100,7 +47,7 @@ impl CatalogProvider { description: Option, website_url: Option, logo_url: Option, - stac_version: Option, + // stac_version: Option, catalog_ids: Option>, ) -> Result { validate_identifier(&id)?; @@ -128,7 +75,7 @@ impl CatalogProvider { id, name, website_url: valid_website, - stac_version, + // stac_version, logo_url: valid_logo, description, catalog_ids, @@ -148,7 +95,7 @@ impl CatalogProvider { website: Option, logo_url: Option, description: Option, - stac_version: Option, + // stac_version: Option, catalog_ids: Option>, ) -> Result<(), ValidationError> { if let Some(updated_url) = logo_url { @@ -175,7 +122,7 @@ impl CatalogProvider { self.name = name; self.description = description; - self.stac_version = stac_version; + // self.stac_version = stac_version; self.catalog_ids = catalog_ids; self.set_update_date(); Ok(()) @@ -225,7 +172,7 @@ pub struct CatalogProviderFilters { pub description: Option, /// Performs a string search on the provider stac_version. - pub stac_version: Option, + // pub stac_version: Option, /// Performs a string search on the provider catalogs. pub catalog_id: Option, @@ -245,7 +192,7 @@ impl Default for CatalogProviderFilters { CatalogProviderFilters{ id: None, name:None, - stac_version:None, + // stac_version:None, catalog_id:None, description: None, @@ -270,7 +217,7 @@ pub struct CatalogProviderUpdate { pub website_url: Option, /// Updates the provider stac_version. - pub stac_version: Option, + // pub stac_version: Option, /// Updates the provider stac_version. pub catalog_ids: Option>, diff --git a/crates/core/src/models/settings.rs b/crates/core/src/models/settings.rs index 74f7138..b46fbe1 100644 --- a/crates/core/src/models/settings.rs +++ b/crates/core/src/models/settings.rs @@ -10,8 +10,7 @@ pub enum LogLevel { Debug, } -/// Workspace-wide settings. Loaded from YAML (`settings:` block) or built -/// from [`Settings::default`]. Field-level docs cover each knob. +/// SuperSTAC global settings. #[derive(Clone, Debug, Serialize, Deserialize)] pub struct Settings { pub health_check_strategy: HealthCheckFrequencyStrategy, @@ -45,6 +44,8 @@ pub struct Settings { /// Hard cap on items returned per catalog (prevents runaway pagination). /// Defaults to 1000. pub max_items_per_catalog: Option, + /// Whether to spawn the background health monitor task. Defaults to true. + pub enable_background_health_monitor: Option, } impl Default for Settings { @@ -65,6 +66,7 @@ impl Default for Settings { retry_initial_backoff_ms: Some(100), retry_max_backoff_ms: Some(2000), max_items_per_catalog: Some(1000), + enable_background_health_monitor: Some(true), } } } @@ -87,6 +89,7 @@ pub struct SettingsUpdate { pub retry_initial_backoff_ms: Option, pub retry_max_backoff_ms: Option, pub max_items_per_catalog: Option, + pub enable_background_health_monitor: Option, } impl TryFrom for SettingsUpdate { @@ -108,6 +111,7 @@ impl TryFrom for SettingsUpdate { retry_initial_backoff_ms: value.retry_initial_backoff_ms, retry_max_backoff_ms: value.retry_max_backoff_ms, max_items_per_catalog: value.max_items_per_catalog, + enable_background_health_monitor: value.enable_background_health_monitor, }) } } diff --git a/crates/core/src/models/storage.rs b/crates/core/src/models/storage.rs index 2bb0ece..0b300d6 100644 --- a/crates/core/src/models/storage.rs +++ b/crates/core/src/models/storage.rs @@ -1,8 +1,7 @@ use crate::storages::{factory::StorageBackend, memory::MemoryStorage}; use serde::{Deserialize, Serialize}; -/// Backend selector. SQLite and Postgres variants currently fall back to -/// the in-memory backend — they're placeholders for future work. +/// Backend selector. #[derive(Clone, Debug, Serialize, Deserialize)] pub enum Storage { Memory, @@ -16,6 +15,7 @@ impl Storage { pub fn init(self) -> Box { match self { Storage::Memory => Box::new(MemoryStorage::init()), + // TODO - Implement these backends properly. For now they just return empty in-memory backends. Storage::Sqlite(_path) => Box::new(MemoryStorage::init()), Storage::Postgres(_url) => Box::new(MemoryStorage::init()), } diff --git a/crates/core/src/storages/factory.rs b/crates/core/src/storages/factory.rs index 4342f27..5de35f1 100644 --- a/crates/core/src/storages/factory.rs +++ b/crates/core/src/storages/factory.rs @@ -10,10 +10,6 @@ use crate::{ }; /// Storage trait implemented by each backend (memory, sqlite, postgres, ...). -/// -/// All federated-search state — catalogs, providers, settings — lives behind -/// this trait so the rest of the codebase doesn't know or care which backend -/// is in use. pub trait StorageBackend: Send + Sync { /// Apply partial settings update. `None` fields are left alone. fn update_settings(&self, update: SettingsUpdate); @@ -24,7 +20,7 @@ pub trait StorageBackend: Send + Sync { /// Get a provider by id. fn get_provider(&self, id: &str) -> Result<&CatalogProvider, SuperSTACError>; - /// Insert a provider. Honors `auto_fix_duplicate_provider_id` if id collides. + /// Insert a provider. fn create_provider( &mut self, provider: CatalogProvider, @@ -33,7 +29,7 @@ pub trait StorageBackend: Send + Sync { /// Delete a provider by id. fn delete_provider(&mut self, id: &str) -> Result<(), SuperSTACError>; - /// Delete multiple providers. Errors list ids that weren't found. + /// Delete multiple providers. fn delete_providers(&mut self, ids: Vec<&str>) -> Result<(), SuperSTACError>; /// List providers, optionally filtered. See [`CatalogProviderFilters`]. @@ -42,7 +38,7 @@ pub trait StorageBackend: Send + Sync { filters: Option, ) -> Result, SuperSTACError>; - /// Apply a partial provider update by id. `None` fields are left alone. + /// Apply a partial provider update by id. fn update_provider( &mut self, id: &str, @@ -52,7 +48,7 @@ pub trait StorageBackend: Send + Sync { /// Get a catalog by id. fn get_catalog(&self, id: &str) -> Result<&Catalog, SuperSTACError>; - /// Apply a partial catalog update by id. `None` fields are left alone. + /// Apply a partial catalog update by id. fn update_catalog( &mut self, id: &str, @@ -60,7 +56,6 @@ pub trait StorageBackend: Send + Sync { ) -> Result; /// Insert a catalog, optionally linked to a provider. - /// Honors `auto_fix_duplicate_catalog_id` if id collides. fn create_catalog( &mut self, catalog: Catalog, diff --git a/crates/core/src/storages/memory.rs b/crates/core/src/storages/memory.rs index 90c3638..213ea3d 100644 --- a/crates/core/src/storages/memory.rs +++ b/crates/core/src/storages/memory.rs @@ -211,7 +211,7 @@ impl StorageBackend for MemoryStorage { update.website_url, update.logo_url, update.description, - update.stac_version, + // update.stac_version, update.catalog_ids, )?; @@ -273,7 +273,7 @@ impl StorageBackend for MemoryStorage { let name_filter = filters.name.as_ref(); let description_filter = filters.description.as_ref(); let catalog_id_filter = filters.catalog_id.as_ref(); - let stac_version_filter = filters.stac_version.as_ref(); + // let stac_version_filter = filters.stac_version.as_ref(); let created_after_filter = filters.created_after.as_ref(); let created_before_filter = filters.created_before.as_ref(); let updated_after_filter = filters.updated_after.as_ref(); @@ -306,18 +306,18 @@ impl StorageBackend for MemoryStorage { None => true, }; - let stac_version_match = match stac_version_filter { - Some(stac_version_filter_ref) => provider - .stac_version - .as_ref() - .map(|stac_version_ref| { - stac_version_ref - .to_lowercase() - .contains(stac_version_filter_ref.to_lowercase().as_str()) - }) - .unwrap_or(false), - None => true, - }; + // let stac_version_match = match stac_version_filter { + // Some(stac_version_filter_ref) => provider + // .stac_version + // .as_ref() + // .map(|stac_version_ref| { + // stac_version_ref + // .to_lowercase() + // .contains(stac_version_filter_ref.to_lowercase().as_str()) + // }) + // .unwrap_or(false), + // None => true, + // }; let description_match = match description_filter { Some(d_filter_ref) => provider @@ -360,9 +360,9 @@ impl StorageBackend for MemoryStorage { (None, None) => true, }; - // Priority: Stac Vesion -> created_at -> then updated_at -> then the strings. - stac_version_match - && created_at_match + // Priority: created_at -> then updated_at -> then the strings. + // stac_version_match + created_at_match && updated_at_match && name_match && description_match diff --git a/crates/core/tests/storages/memory.rs b/crates/core/tests/storages/memory.rs index 4c30052..cb591b5 100644 --- a/crates/core/tests/storages/memory.rs +++ b/crates/core/tests/storages/memory.rs @@ -36,7 +36,7 @@ fn create_provider(id: &str) -> CatalogProvider { Some("https://website.com".to_string()), Some("https://www.google.com/logo.png".to_string()), None, - None, + ) .expect("Provider should be created") } @@ -49,7 +49,7 @@ fn create_provider_with_result(id: &str) -> Result, executor: SearchExecutor, - started: AtomicBool, + pub started: AtomicBool, } /// User-Agent attached to every outbound HTTP request. Set as a default /// header on the shared reqwest client at engine construction. When /// per-catalog headers are added later, this must be filtered out of any /// user-supplied set so it can't be overridden. -const USER_AGENT: &str = concat!("superstac/", env!("CARGO_PKG_VERSION")); +const USER_AGENT: &'static str = concat!("superstac/", env!("CARGO_PKG_VERSION")); impl SuperSTACEngine { /// Build an engine over the given storage. Construct the storage via /// `superstac_config::init_from_yaml` or directly via /// [`superstac_core::models::storage::Storage::init`]. pub fn new(storage: Box) -> Self { + Self::from_shared(Arc::new(Mutex::new(storage))) + } + + /// Build an engine over an already-shared storage handle. Useful when a + /// caller (e.g. the Python bindings) needs to retain mutation access to + /// the same backend the engine reads from. + pub fn from_shared(storage: SharedStorage) -> Self { let client = Client::builder() .user_agent(USER_AGENT) .build() .expect("failed to build reqwest client"); Self { - storage: Arc::new(Mutex::new(storage)), + storage, client: client.clone(), health_manager: Some(HealthManager::new(client.clone())), executor: SearchExecutor::new(client), @@ -86,6 +94,7 @@ impl SuperSTACEngine { // Introspect each healthy catalog's /collections so we can do source // selection at search time. Failures here are non-fatal — affected // catalogs remain `supported_collections = None` (pass-through). + // TODO - Maybe have a way to disable this by default ? self.introspect_capabilities().await?; self.started.store(true, Ordering::Relaxed); @@ -107,6 +116,7 @@ impl SuperSTACEngine { self.started.store(false, Ordering::Relaxed); } + /// Run health checks against every catalog, update storage with results. Then update the `supported_collections` sets for any newly-healthy catalogs. async fn introspect_capabilities(&self) -> Result<(), SuperSTACError> { let healthy_catalogs = { let storage = self.storage.lock(); @@ -161,6 +171,7 @@ impl SuperSTACEngine { /// Federated search. Applies source selection (filter catalogs that /// can't possibly serve the requested collections), then fans out. pub async fn search(&self, query: SearchQuery) -> Result { + self.ensure_started().await?; let (candidate_catalogs, options) = { @@ -210,11 +221,14 @@ impl SuperSTACEngine { .into_iter() .filter(|c| c.supports_any_of(&query.collections)) .collect(); + + // Perform the federated search across the selected catalogs. let mut response = self .executor .federated_search(catalogs, query, options) .await?; + response.metadata.unsupported_collections = unsupported; Ok(response) diff --git a/crates/engine/src/health/manager.rs b/crates/engine/src/health/manager.rs index a9a4b84..19f151c 100644 --- a/crates/engine/src/health/manager.rs +++ b/crates/engine/src/health/manager.rs @@ -6,11 +6,15 @@ use tokio::{task::JoinHandle, time::interval}; use crate::types::SharedStorage; use superstac_core::{errors::SuperSTACError, models::catalog::Catalog}; +/// Manager for background health monitoring tasks. Responsible for starting/stopping monitors and performing health checks. pub struct HealthManager { + /// Catalog ID -> background task handle. Used for stopping monitors when catalogs are removed or on shutdown. tasks: Arc>>>, + /// HTTP client for performing health check requests. Cloned into each monitor task. client: Client, } + impl HealthManager { pub fn new(client: Client) -> Self { Self { @@ -19,25 +23,85 @@ impl HealthManager { } } + /// Start background health monitors for every catalog in the given list that has a healthy initial status and an enabled monitor setting. + /// Catalogs with an unhealthy initial status are skipped (no monitor is spawned), but will be included in future checks if they later become healthy. pub async fn start( &self, storage: SharedStorage, catalogs: Vec, ) -> Result<(), SuperSTACError> { + tracing::debug!(catalogs = catalogs.len(), "starting health monitor"); for catalog in catalogs { let healthy = self.check_once(Arc::clone(&storage), &catalog).await; - if healthy { - // TODO, check settings to decide whether to spawn monitor or not - self.spawn_monitor(Arc::clone(&storage), catalog); + if !healthy { + continue; + } + + tracing::debug!( + catalog = %catalog.id, + "initial health check passed" + ); + + let global_enable_monitor = storage + .lock() + .get_settings() + .enable_background_health_monitor + .unwrap_or(true); + + // catalog setting takes priority, fallback to global default + let enable_monitor = catalog + .settings + .enable_background_health_monitor + .unwrap_or(global_enable_monitor); + + if enable_monitor { + tracing::debug!( + catalog = %catalog.id, + "spawning background health monitor" + ); + // TODO - Limit the number of concurrent monitors if there are a large number of catalogs. + // This could be done with a semaphore or by having a fixed number of worker tasks that check the health of multiple catalogs in batches. + self.spawn_health_monitor(Arc::clone(&storage), catalog); + } else { + tracing::debug!( + catalog = %catalog.id, + "background health monitor disabled" + ); } } Ok(()) } + /// Perform a single health check by sending a GET request to the catalog's health endpoint and checking if the status code is in the healthy range. + /// Returns true if the catalog is healthy, false if it's unhealthy or if the request fails. + async fn check_health_status(client: &Client, endpoint: &str, range: (u16, u16)) -> bool { + match client.get(endpoint).send().await { + Ok(resp) => { + let status = resp.status().as_u16(); + + range.0 <= status && status <= range.1 + } + + Err(_) => false, + } + } + /// Update the health status of the given catalog in storage. Logs a warning if the update fails, but otherwise ignores storage errors (health status is best-effort and shouldn't cause cascading failures). + fn update_health_status(storage: &SharedStorage, catalog_id: &str, healthy: bool) { + let mut storage = storage.lock(); + + if let Err(e) = storage.update_health(catalog_id, healthy) { + tracing::warn!( + catalog = %catalog_id, + error = %e, + "failed to persist health update" + ); + } + } + /// Stop all background health monitors. Used for graceful shutdown. pub async fn stop_all(&self) { let mut tasks = self.tasks.lock(); @@ -46,41 +110,31 @@ impl HealthManager { } } + /// Stop the background health monitor for the given catalog, if it exists. pub async fn stop(&self, id: &str) { if let Some(handle) = self.tasks.lock().remove(id) { handle.abort(); } } + /// Perform a single health check for the given catalog and update its status in storage. Returns the health status. pub async fn check_once(&self, storage: SharedStorage, catalog: &Catalog) -> bool { let endpoint = &catalog.health_status.endpoint; let range = catalog.settings.healthy_status_code_range; - let healthy = match self.client.get(endpoint).send().await { - Ok(resp) => { - let status = resp.status().as_u16(); - - range.0 <= status && status <= range.1 - } - - Err(_) => false, - }; + let healthy = Self::check_health_status(&self.client, endpoint, range).await; tracing::debug!(catalog = %catalog.id, healthy, "health check"); - { - let mut storage = storage.lock(); - - if let Err(e) = storage.update_health(&catalog.id, healthy) { - tracing::warn!(catalog = %catalog.id, error = %e, "failed to persist health update"); - } - } + Self::update_health_status(&storage, &catalog.id, healthy); healthy } - pub fn spawn_monitor(&self, storage: SharedStorage, catalog: Catalog) { + /// Spawn a background task that periodically checks the health status of the given catalog and updates it in storage. + /// If a task for this catalog already exists, does nothing. + pub fn spawn_health_monitor(&self, storage: SharedStorage, catalog: Catalog) { let id = catalog.id.clone(); if self.tasks.lock().contains_key(&id) { @@ -103,29 +157,11 @@ impl HealthManager { loop { ticker.tick().await; - let healthy = match client.get(&endpoint).send().await { - Ok(resp) => { - let status = resp.status().as_u16(); - - range.0 <= status && status <= range.1 - } - - Err(_) => false, - }; + let healthy = Self::check_health_status(&client, &endpoint, range).await; tracing::debug!(catalog = %task_id, healthy, "health tick"); - { - let mut storage = storage.lock(); - - if let Err(e) = storage.update_health(&task_id, healthy) { - tracing::warn!( - catalog = %task_id, - error = %e, - "failed to persist health update" - ); - } - } + Self::update_health_status(&storage, &task_id, healthy); } }); diff --git a/crates/python/Cargo.toml b/crates/python/Cargo.toml index cc15892..9a08acb 100644 --- a/crates/python/Cargo.toml +++ b/crates/python/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "superstac-python" -description = "Python bindings for superstac via PyO3." +description = "Python bindings for SuperSTAC via PyO3." keywords = ["stac", "geospatial", "federated", "satellite", "python"] categories = ["science::geo"] readme = "../../README.md" diff --git a/crates/python/README.md b/crates/python/README.md index 5f6e88a..2aa45f3 100644 --- a/crates/python/README.md +++ b/crates/python/README.md @@ -1,4 +1,4 @@ -# superstac (Python) +# SuperSTAC (Python) Python bindings for [superstac](https://github.com/spatialnode/superstac) — federated STAC search across multiple catalogs. diff --git a/crates/python/src/lib.rs b/crates/python/src/lib.rs index 7321054..fd12ec7 100644 --- a/crates/python/src/lib.rs +++ b/crates/python/src/lib.rs @@ -1,4 +1,4 @@ -//! PyO3 bindings for superstac. +//! PyO3 bindings for SuperSTAC. //! //! Exposes two top-level classes that share the same engine internals: //! diff --git a/crates/python/src/search.rs b/crates/python/src/search.rs index d31cbc1..57141c6 100644 --- a/crates/python/src/search.rs +++ b/crates/python/src/search.rs @@ -8,7 +8,7 @@ use superstac_search::response::SearchResponse; /// Returned by `Client.search(...)` and `await AsyncClient.search(...)`. /// /// Mirrors the parts of pystac-client's `ItemSearch` users actually iterate -/// over: `.items()`, `.matched()`, `.item_collection_as_dict()`. Superstac- +/// over: `.items()`, `.matched()`, `.item_collection_as_dict()`. SuperSTAC- /// specific provenance (per-catalog failures, dedupe stats, etc.) is on /// `.metadata`. #[pyclass(name = "Search", module = "superstac._superstac")] @@ -72,7 +72,7 @@ impl PySearch { self.item_collection_as_dict(py) } - /// Superstac-specific stats: catalogs queried/succeeded/failed, dedupe + /// SuperSTAC-specific stats: catalogs queried/succeeded/failed, dedupe /// count, per-catalog failures, etc. Schema mirrors `SearchMetadata`. #[getter] pub fn metadata(&self, py: Python<'_>) -> PyResult> { diff --git a/crates/python/src/utils.rs b/crates/python/src/utils.rs index f5c38d9..def33b1 100644 --- a/crates/python/src/utils.rs +++ b/crates/python/src/utils.rs @@ -3,6 +3,7 @@ use pyo3::prelude::*; use pythonize::{depythonize, pythonize}; use superstac_core::{errors::SuperSTACError, models::storage::Storage}; +/// Convert a SuperSTACError to a Python exception with a helpful error message. pub fn err_to_py(e: SuperSTACError) -> PyErr { PyRuntimeError::new_err(e.to_string()) } @@ -18,13 +19,14 @@ pub fn parse_storage_kind(kind: &str) -> PyResult { } } -// Todo - maybe find a way to prevent this ? E.g exploring arrow etc for zero-copy exchange... +/// Convert a Rust type to a Python object, with a helpful error message on failure. pub fn pythonize_obj(py: Python<'_>, value: &T) -> PyResult> { pythonize(py, value) .map(|b| b.unbind()) .map_err(|e| PyRuntimeError::new_err(format!("serialize failed: {}", e))) } +/// Convert a Python object to a Rust type, with a helpful error message on failure. pub fn depythonize_into<'py, T: serde::Deserialize<'py>>( obj: &'py Bound<'py, PyAny>, label: &str, diff --git a/crates/python/yarn.lock b/crates/python/yarn.lock new file mode 100644 index 0000000..fb57ccd --- /dev/null +++ b/crates/python/yarn.lock @@ -0,0 +1,4 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + diff --git a/crates/search/src/executor.rs b/crates/search/src/executor.rs index ed57e9d..cd8d28a 100644 --- a/crates/search/src/executor.rs +++ b/crates/search/src/executor.rs @@ -195,9 +195,8 @@ impl SearchExecutor { } } -/// For now: treat all `SearchFailed` errors as retryable. The proper fix is a -/// richer error taxonomy (Network / Timeout / Server5xx / Client4xx) which is -/// out of scope here. +/// For now: treat all `SearchFailed` errors as retryable. +/// TODO - richer error taxonomy (Network / Timeout / Server5xx / Client4xx) and only retry on appropriate ones. fn is_retryable(error: &SuperSTACError) -> bool { matches!(error, SuperSTACError::SearchFailed(_)) } diff --git a/crates/search/src/query.rs b/crates/search/src/query.rs index e0e0150..5543003 100644 --- a/crates/search/src/query.rs +++ b/crates/search/src/query.rs @@ -1,6 +1,8 @@ use serde::Deserialize; use stac::{Bbox, Geometry}; +use crate::options::SearchOptions; + /// A federated STAC search request. Mirrors the STAC API search params: /// the engine translates this per-catalog before dispatch. /// @@ -17,3 +19,9 @@ pub struct SearchQuery { pub sortby: Option>, } + +// TODO - Integrate it into the engine. +pub struct SearchRequest { + pub query: SearchQuery, + pub options: SearchOptions, +} \ No newline at end of file diff --git a/crates/search/src/translator.rs b/crates/search/src/translator.rs index 61c87e0..22e357a 100644 --- a/crates/search/src/translator.rs +++ b/crates/search/src/translator.rs @@ -1,7 +1,7 @@ use stac::api::Search; use crate::query::SearchQuery; -/// Convert a superstac `SearchQuery` into the typed `stac::api::Search` the +/// Convert a SuperSTAC `SearchQuery` into the typed `stac::api::Search` the /// stac-io client expects. Field-by-field copy with no canonicalization — /// alias rewriting happens upstream in the executor. pub fn to_stac_search( diff --git a/docs/assets/superstac-logo-dark.svg b/docs/assets/superstac-logo-dark.svg new file mode 100644 index 0000000..6f3f9e6 --- /dev/null +++ b/docs/assets/superstac-logo-dark.svg @@ -0,0 +1,11 @@ + +SuperSTAC — federated geospatial catalog search + + + + + + + + + \ No newline at end of file diff --git a/docs/assets/superstac-logo.md b/docs/assets/superstac-logo.md new file mode 100644 index 0000000..2ca303e --- /dev/null +++ b/docs/assets/superstac-logo.md @@ -0,0 +1,17 @@ +# SuperSTAC logo + +One entry point branches into three overlapping map sheets with simple contour curves. + +- `superstac-logo.svg`: charcoal for light backgrounds. +- `superstac-logo-dark.svg`: white for dark backgrounds. +- `superstac-logo.png`: original approved raster artwork, generated with the built-in image generation tool. + +The SVGs trace the approved artwork into matching vector paths, including the lettering. They have transparent backgrounds and require no fonts. The root README selects the appropriate SVG using a `` element with `prefers-color-scheme`. Documentation sites with manual theme controls should select the asset matching their active theme. + +## Edit prompt + +Edit the most recent SuperSTAC federation logo. Preserve the compact side-by-side layout, exact text "Super" above "STAC" on the RIGHT, its clean upright sans-serif typography, and the SINGLE entry stem branching into THREE destinations on the LEFT. Change the three plain rectangular catalog boxes into a compact stack of THREE OVERLAPPING MAP SHEETS: slightly offset vertically, shallow oblique perspective so they read as geospatial tiles rather than server boxes. Each map sheet is a simple outlined parallelogram with gently rounded corners, not a deep 3D block. The three branching lines terminate at the left edge of their respective sheets. Keep the layers visually distinct with clean gaps and occlusion. Add just ONE simple flowing contour/river line on each visible sheet surface, enough to suggest maps without clutter. Make the top sheet show the clearest single smooth contour. The entry stem is short and the fanout integrated tightly into the layered symbol so the mark stays compact and balanced with the two-line text. Thick consistent strokes, open negative space, readable at small sizes. All logo strokes and lettering SOLID WHITE, every other area including map interiors and letter counters SOLID OPAQUE charcoal #202020. No transparency. Flat clean vector-like design, no texture, shading, glow, halo, gradients, 3D extrusion, shadows, globe, pins, satellites, tiny details, extra labels or mockups. One finished refined logo only. + +## Cleanup prompt + +Clean up this exact logo rendering without redesigning it. Preserve one entry stem branching to three overlapping oblique map sheets with smooth contour lines, alongside the two-line text Super / STAC. Remove ALL white fog, speckles, distressed texture, debris and halos. Draw ONLY the intended symbol outlines, branches, contour curves and letters in solid opaque WHITE. Fill EVERY OTHER AREA with solid opaque DARK CHARCOAL #202020, including all map sheet interiors, gaps, letter counters, and the rectangular background. No transparency. The result must be a pristine two-color flat logo with clearly visible empty dark spaces and smoothly defined white strokes, like a clean SVG. Preserve layout and typography. No glow, shading, shadows or gradients. diff --git a/docs/assets/superstac-logo.png b/docs/assets/superstac-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..0106bcb67a2bc2e2f2fd2ec8ce44f46cbada3f8d GIT binary patch literal 994249 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Β=8x29O^X%Cz0dKO!XqRpbaY5r%9_=wtZ2i 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 z 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

wA?Zfs}DlPZBuK?>GxX@2d@ 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 AG7?!E>^QZ8!<<#7iIuPRFIW-F&` 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 z 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

Z!;=)Hi`my)C_k9iG{QP|1_e}^< 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
y4}9~rXE@r84Q=Jf=}Oc9 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

Y%>~y&@RtJ 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 +SuperSTAC — federated geospatial catalog search + + + + + + + + + \ No newline at end of file diff --git a/superstac.yml b/superstac.yml index 92265f1..a1b5827 100644 --- a/superstac.yml +++ b/superstac.yml @@ -4,14 +4,12 @@ providers: name: Microsoft Planetary Computer description: Microsoft's planetary-scale catalog website_url: https://planetarycomputer.microsoft.com/ - stac_version: "1.0.0" logo_url: https://planetarycomputer.microsoft.com/logo.png - id: element84 name: Element 84 description: Element 84 catalog website_url: https://element84.com - stac_version: "1.0.0" logo_url: https://element84.com/logo.png # A provider without a catalog. @@ -19,7 +17,6 @@ providers: name: Google Earth Engine description: Google Earth Engine catalog website_url: https://google.com - stac_version: "1.0.0" logo_url: https://planetarycomputer.microsoft.com/logo.png @@ -41,6 +38,7 @@ catalogs: settings: health_check_strategy: Hourly healthy_status_code_range: [200, 299] + enable_background_health_monitor: false # Example: a catalog that needs aliases because it uses non-canonical names. # Uncomment and adapt when adding a catalog like CDSE. @@ -65,4 +63,5 @@ settings: auto_fix_duplicate_provider_id: true log_level: info logging_enabled: true - search_healthy_catalogs_only: true \ No newline at end of file + search_healthy_catalogs_only: true + enable_background_health_monitor: true \ No newline at end of file From ef8a17595a0e5c6453d738acdfa6c45aaeb1d095 Mon Sep 17 00:00:00 2001 From: jeafreezy Date: Sun, 27 Sep 2026 08:51:39 +0200 Subject: [PATCH 4/7] chore: centerlized readme --- README.md | 13 +++++++------ crates/python/README.md | 8 ++++++++ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 75aeb01..b78c6ce 100644 --- a/README.md +++ b/README.md @@ -4,12 +4,13 @@ [![crates.io](https://img.shields.io/crates/v/superstac-search.svg)](https://crates.io/crates/superstac-search) [![docs.rs](https://docs.rs/superstac-core/badge.svg)](https://docs.rs/superstac-search) - - - - - SuperSTAC logo - +

+ + + + SuperSTAC logo + +

Federated [STAC](https://stacspec.org/) search across multiple catalogs. Query Element84, Microsoft Planetary Computer, and others through one API. diff --git a/crates/python/README.md b/crates/python/README.md index 2aa45f3..fe3a6ef 100644 --- a/crates/python/README.md +++ b/crates/python/README.md @@ -1,5 +1,13 @@ # SuperSTAC (Python) +

+ + + + SuperSTAC logo + +

+ Python bindings for [superstac](https://github.com/spatialnode/superstac) — federated STAC search across multiple catalogs. From 912ff4fd0bf8c31c2188d3964fc454fe4eae03da Mon Sep 17 00:00:00 2001 From: jeafreezy Date: Sun, 27 Sep 2026 10:23:51 +0200 Subject: [PATCH 5/7] chore: setting up pipeline to deploy docs --- docs/.dockerignore | 6 + docs/.gitignore | 9 + docs/.nvmrc | 1 + docs/Dockerfile | 20 + docs/README.md | 53 + docs/app/api/search/route.ts | 4 + docs/app/docs/[[...slug]]/page.tsx | 31 + docs/app/docs/layout.tsx | 11 + docs/app/global.css | 83 + docs/app/layout.tsx | 22 + docs/app/not-found.tsx | 4 + docs/app/page.tsx | 37 + docs/app/sitemap.ts | 9 + docs/components/code-preview.tsx | 27 + docs/components/federation-map.tsx | 17 + docs/components/logo.tsx | 9 + docs/components/powered-by-spatialnode.tsx | 8 + docs/content/docs/cli/meta.json | 7 + docs/content/docs/cli/overview.md | 62 + docs/content/docs/concepts/federation.md | 35 + docs/content/docs/concepts/meta.json | 7 + docs/content/docs/guides/aliases.md | 48 + docs/content/docs/guides/catalogs.md | 71 + docs/content/docs/guides/meta.json | 9 + docs/content/docs/guides/resilience.md | 61 + docs/content/docs/index.mdx | 37 + docs/content/docs/meta.json | 13 + docs/content/docs/python/api.md | 84 + docs/content/docs/python/async.md | 60 + docs/content/docs/python/meta.json | 10 + docs/content/docs/python/notebook.mdx | 36 + docs/content/docs/python/overview.md | 65 + docs/content/docs/reference/configuration.md | 81 + docs/content/docs/reference/meta.json | 11 + docs/content/docs/reference/results.md | 62 + docs/content/docs/reference/search.md | 48 + docs/content/docs/reference/status.md | 36 + .../content/docs/reference/troubleshooting.md | 49 + docs/content/docs/rust/meta.json | 7 + docs/content/docs/rust/overview.md | 89 + docs/content/docs/start/installation.md | 68 + docs/content/docs/start/meta.json | 8 + docs/content/docs/start/quickstart.mdx | 120 + docs/lib/layout.shared.tsx | 15 + docs/lib/source.ts | 7 + docs/mdx-components.tsx | 14 + docs/next-env.d.ts | 7 + docs/next.config.mjs | 8 + docs/package.json | 37 + docs/pnpm-lock.yaml | 4212 +++++++++++++++++ docs/postcss.config.mjs | 1 + docs/public/examples/superstac.yml | 24 + docs/public/favicon.svg | 1 + .../superstac-python-quickstart.ipynb | 400 ++ docs/public/powered-by-spatialnode-dark.svg | 27 + docs/public/powered-by-spatialnode.svg | 27 + docs/scripts/check-links.mjs | 53 + docs/scripts/deploy-coolify.sh | 20 + docs/scripts/sync-assets.mjs | 5 + docs/source.config.ts | 4 + docs/tsconfig.json | 41 + 61 files changed, 6438 insertions(+) create mode 100644 docs/.dockerignore create mode 100644 docs/.gitignore create mode 100644 docs/.nvmrc create mode 100644 docs/Dockerfile create mode 100644 docs/README.md create mode 100644 docs/app/api/search/route.ts create mode 100644 docs/app/docs/[[...slug]]/page.tsx create mode 100644 docs/app/docs/layout.tsx create mode 100644 docs/app/global.css create mode 100644 docs/app/layout.tsx create mode 100644 docs/app/not-found.tsx create mode 100644 docs/app/page.tsx create mode 100644 docs/app/sitemap.ts create mode 100644 docs/components/code-preview.tsx create mode 100644 docs/components/federation-map.tsx create mode 100644 docs/components/logo.tsx create mode 100644 docs/components/powered-by-spatialnode.tsx create mode 100644 docs/content/docs/cli/meta.json create mode 100644 docs/content/docs/cli/overview.md create mode 100644 docs/content/docs/concepts/federation.md create mode 100644 docs/content/docs/concepts/meta.json create mode 100644 docs/content/docs/guides/aliases.md create mode 100644 docs/content/docs/guides/catalogs.md create mode 100644 docs/content/docs/guides/meta.json create mode 100644 docs/content/docs/guides/resilience.md create mode 100644 docs/content/docs/index.mdx create mode 100644 docs/content/docs/meta.json create mode 100644 docs/content/docs/python/api.md create mode 100644 docs/content/docs/python/async.md create mode 100644 docs/content/docs/python/meta.json create mode 100644 docs/content/docs/python/notebook.mdx create mode 100644 docs/content/docs/python/overview.md create mode 100644 docs/content/docs/reference/configuration.md create mode 100644 docs/content/docs/reference/meta.json create mode 100644 docs/content/docs/reference/results.md create mode 100644 docs/content/docs/reference/search.md create mode 100644 docs/content/docs/reference/status.md create mode 100644 docs/content/docs/reference/troubleshooting.md create mode 100644 docs/content/docs/rust/meta.json create mode 100644 docs/content/docs/rust/overview.md create mode 100644 docs/content/docs/start/installation.md create mode 100644 docs/content/docs/start/meta.json create mode 100644 docs/content/docs/start/quickstart.mdx create mode 100644 docs/lib/layout.shared.tsx create mode 100644 docs/lib/source.ts create mode 100644 docs/mdx-components.tsx create mode 100644 docs/next-env.d.ts create mode 100644 docs/next.config.mjs create mode 100644 docs/package.json create mode 100644 docs/pnpm-lock.yaml create mode 100644 docs/postcss.config.mjs create mode 100644 docs/public/examples/superstac.yml create mode 100644 docs/public/favicon.svg create mode 100644 docs/public/notebooks/superstac-python-quickstart.ipynb create mode 100644 docs/public/powered-by-spatialnode-dark.svg create mode 100644 docs/public/powered-by-spatialnode.svg create mode 100644 docs/scripts/check-links.mjs create mode 100644 docs/scripts/deploy-coolify.sh create mode 100644 docs/scripts/sync-assets.mjs create mode 100644 docs/source.config.ts create mode 100644 docs/tsconfig.json diff --git a/docs/.dockerignore b/docs/.dockerignore new file mode 100644 index 0000000..cd910e9 --- /dev/null +++ b/docs/.dockerignore @@ -0,0 +1,6 @@ +node_modules +.next +.source +.git +*.tsbuildinfo +.env* diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 0000000..acc0cec --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,9 @@ +node_modules/ +.next/ +.source/ +out/ +*.tsbuildinfo +.env*.local +public/brand/ +!lib/ +!lib/** diff --git a/docs/.nvmrc b/docs/.nvmrc new file mode 100644 index 0000000..2bd5a0a --- /dev/null +++ b/docs/.nvmrc @@ -0,0 +1 @@ +22 diff --git a/docs/Dockerfile b/docs/Dockerfile new file mode 100644 index 0000000..556c6fe --- /dev/null +++ b/docs/Dockerfile @@ -0,0 +1,20 @@ +# Build context is docs/, not the repository root. +FROM node:22-alpine AS build +WORKDIR /app +ENV NEXT_TELEMETRY_DISABLED=1 +RUN npm install --global pnpm@9.8.0 +COPY package.json pnpm-lock.yaml source.config.ts ./ +RUN pnpm install --frozen-lockfile +COPY . . +RUN pnpm check && pnpm build + +FROM node:22-alpine AS runner +WORKDIR /app +ENV NODE_ENV=production NEXT_TELEMETRY_DISABLED=1 HOSTNAME=0.0.0.0 PORT=3000 +COPY --from=build --chown=node:node /app/.next/standalone ./ +COPY --from=build --chown=node:node /app/.next/static ./.next/static +COPY --from=build --chown=node:node /app/public ./public +USER node +EXPOSE 3000 +HEALTHCHECK --interval=30s --timeout=5s --start-period=20s --retries=3 CMD node -e "fetch('http://127.0.0.1:3000/superstac').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))" +CMD ["node", "server.js"] diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..d51e720 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,53 @@ +# SuperSTAC documentation + +A Fumadocs / Next.js site for **https://spatialnode.com/superstac**, with the approved logo, a custom landing page, search, light/dark themes, and Python/Rust/CLI guides. Source content lives in `content/docs`; branding originals stay in `assets` for the repository READMEs. + +## Develop + +Use Node **22.19+** (the latest Node 22 LTS patch is recommended). + +```bash +cd docs +nvm use +npm install --global pnpm@9.8.0 +pnpm install --frozen-lockfile +pnpm dev +``` + +Open **http://localhost:3000/superstac**. The reference pages start at `/superstac/docs`. The `/superstac` base path is intentionally enabled in development so broken asset and search URLs can be caught before deployment. + +```bash +pnpm check +pnpm build +pnpm start +# In another terminal, while the production server is running: +pnpm test:links +``` + +`test:links` visits all authored docs routes, checks rendered internal links and assets, and exercises the search endpoint. Set `DOCS_TEST_ORIGIN` if the server is on another port. + +## Authoring + +- Add Markdown or MDX pages in `content/docs`. +- Set `title` and `description` in frontmatter and order pages in each folder's `meta.json`. +- Link between docs using `/docs/...`. Next.js adds `/superstac` for these links. +- Public asset/download URLs use `/superstac/...` explicitly; plain image URLs do not receive Next.js base-path handling. +- Edit the complete downloadable YAML in `public/examples/superstac.yml` and keep the quickstart snippet in sync. +- Build hooks copy the two approved SVGs from `assets` to `public/brand`. Do not edit generated copies. +- The Spatialnode footer badge is in `public/powered-by-spatialnode.svg`; its dark variant preserves the paths with white lettering and a dark background. Both follow the site's theme toggle. +- The runnable Python notebook lives in `public/notebooks/superstac-python-quickstart.ipynb`, served at `/superstac/notebooks/superstac-python-quickstart.ipynb`. Keep this single source of truth free of saved outputs, execution counts, credentials, and personal runtime metadata. Its documentation page is `content/docs/python/notebook.mdx`. +- Verify examples against the source when the alpha API changes. The docs record current implementation behavior, including limitations; they do not promise future features. + +Commit `pnpm-lock.yaml` whenever dependencies change. The Docker build uses pnpm 9.8.0 with `--frozen-lockfile`; dependency drift fails the build. + +## Python notebook + +Download [the notebook](public/notebooks/superstac-python-quickstart.ipynb) and upload it to Colab, or open it locally with Jupyter. Its cells install the Python dependencies when the reader runs them, search two public catalogs, show a footprint map, and export a ZIP of the results. They have not been executed against live catalogs here. + +The direct **Open in Colab** links target this file on GitHub's `main` branch and become usable after it is pushed there. Before publishing an updated notebook, run all cells in a fresh runtime, check the diagnostics and downloaded results, then clear outputs and execution counts before saving it back to the repository. + +## GitHub deployment automation + +[Deploy docs](../.github/workflows/docs-deploy.yml) runs on **published GitHub releases**, including prereleases, and through **Actions → Deploy docs → Run workflow**. Ordinary pushes and tag creation alone do not deploy. Publish a release only when its corresponding package is available; the workflow does not publish packages or wait for a separate package-publishing workflow. + +The workflow checks out the release tag or the manually supplied Git ref. It builds an AMD64 image, runs the Dockerfile's type check and production build, starts the resulting container, and checks pages, links, assets, search, and the 404 response. Only then does it publish to GHCR and deploy through the Coolify API. Use an x86-64 Coolify server for this workflow; an ARM server needs a matching runner/image platform. diff --git a/docs/app/api/search/route.ts b/docs/app/api/search/route.ts new file mode 100644 index 0000000..2d9c78a --- /dev/null +++ b/docs/app/api/search/route.ts @@ -0,0 +1,4 @@ +import { source } from '@/lib/source'; +import { createFromSource } from 'fumadocs-core/search/server'; + +export const { GET } = createFromSource(source, { language: 'english' }); diff --git a/docs/app/docs/[[...slug]]/page.tsx b/docs/app/docs/[[...slug]]/page.tsx new file mode 100644 index 0000000..03077a0 --- /dev/null +++ b/docs/app/docs/[[...slug]]/page.tsx @@ -0,0 +1,31 @@ +import { source } from '@/lib/source'; +import { DocsBody, DocsDescription, DocsPage, DocsTitle } from 'fumadocs-ui/layouts/docs/page'; +import { notFound } from 'next/navigation'; +import { getMDXComponents } from '@/mdx-components'; +import type { Metadata } from 'next'; +import { PoweredBySpatialnode } from '@/components/powered-by-spatialnode'; + +type Props = { params: Promise<{ slug?: string[] }> }; +export default async function Page({ params }: Props) { + const { slug } = await params; + const page = source.getPage(slug); + if (!page) notFound(); + const MDX = page.data.body; + return ( + + {page.data.title} + {page.data.description} + +
+ + ); +} +export function generateStaticParams() { return source.generateParams(); } +export async function generateMetadata({ params }: Props): Promise { + const page = source.getPage((await params).slug); + if (!page) notFound(); + return { title: page.data.title, description: page.data.description, alternates: { canonical: `/superstac${page.url}` } }; +} diff --git a/docs/app/docs/layout.tsx b/docs/app/docs/layout.tsx new file mode 100644 index 0000000..7d50e5d --- /dev/null +++ b/docs/app/docs/layout.tsx @@ -0,0 +1,11 @@ +import { DocsLayout } from 'fumadocs-ui/layouts/docs'; +import { source } from '@/lib/source'; +import { baseOptions } from '@/lib/layout.shared'; + +export default function Layout({ children }: { children: React.ReactNode }) { + return ( + v0.1 · Alpha }}> + {children} + + ); +} diff --git a/docs/app/global.css b/docs/app/global.css new file mode 100644 index 0000000..ff9b42b --- /dev/null +++ b/docs/app/global.css @@ -0,0 +1,83 @@ +@import 'tailwindcss'; +@import 'fumadocs-ui/css/neutral.css'; +@import 'fumadocs-ui/css/preset.css'; + +@theme { + --font-sans: 'Inter', ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; +} +:root { + --color-fd-primary: #235d46; + --color-fd-primary-foreground: #fff; + --color-fd-background: #fdfdfb; + --color-fd-card: #fff; + --color-fd-border: #e5e7e0; + --brand: #285d46; + --ink: #212b24; + --muted: #687268; + --panel: #f3f5ed; + --grid: #dae1d4; + --line: #cad4c3; +} +.dark { + --color-fd-primary: #b4d8aa; + --color-fd-primary-foreground: #14251a; + --color-fd-background: #121614; + --color-fd-card: #181e19; + --color-fd-border: #2a332c; + --brand: #b4d8aa; + --ink: #eef1e9; + --muted: #9eaa9c; + --panel: #1b241c; + --grid: #334231; + --line: #3f4e3b; +} +body { -webkit-font-smoothing: antialiased; } +a, button { -webkit-tap-highlight-color: transparent; } +button { cursor: pointer; } +:focus-visible { outline: 2px solid var(--brand); outline-offset: 4px; } +.brand-logo { display: inline-flex; align-items: center; width: 130px; } +.brand-logo img { width: 130px; height: auto; } +.logo-dark, .dark .logo-light { display: none; } +.dark .logo-dark { display: block; } +.spatialnode-badge { display: inline-flex; flex-shrink: 0; border-radius: 12px; } +.spatialnode-badge img { width: 187px; height: 48px; } +.site-footer, .doc-endnote { align-items: center; } +#nd-home-layout { background: var(--color-fd-background); } +.landing { width: min(1200px, calc(100% - 64px)); margin: auto; } +.landing-hero { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 52px; padding: 92px 0 68px; } +.release-pill { display: inline-flex; align-items: center; gap: 9px; border: 1px solid var(--color-fd-border); border-radius: 99px; padding: 7px 10px; font-size: 9px; letter-spacing: .07em; color: var(--muted); background: var(--color-fd-card); } +.tiny-dot { display: inline-block; width: 5px; height: 5px; background: var(--brand); border-radius: 50%; flex-shrink: 0; } +.hero-copy h1 { font-size: clamp(48px, 5.5vw, 72px); line-height: 1.08; font-weight: 560; letter-spacing: -.065em; color: var(--ink); margin: 23px 0; } +.hero-copy h1 > span { color: var(--brand); } +.hero-description { font-size: 17px; line-height: 1.75; max-width: 410px; color: var(--muted); } +.hero-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 28px; } +.button-primary, .button-secondary { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 11px 16px; border: 1px solid var(--color-fd-border); border-radius: 7px; font-size: 12px; font-weight: 600; transition: background .15s; } +.button-primary { background: var(--ink); border-color: var(--ink); color: var(--color-fd-background); } +.button-primary:hover { background: var(--brand); border-color: var(--brand); } +.button-secondary:hover { background: var(--panel); } +.hero-install { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-top: 25px; font: 11px ui-monospace, monospace; color: var(--muted); } +.hero-install > span:first-child { color: var(--brand); } +.install-note { font: 10px var(--font-sans); margin-left: 8px; } +.federation-map { position: relative; aspect-ratio: 600/450; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); overflow: hidden; } +.map-grid { position: absolute; inset: 0; background-image: linear-gradient(var(--grid) 1px, transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px); background-size: 28px 28px; opacity: .5; } +.contours { position: absolute; width: 150%; left: -20%; top: -10%; color: var(--line); opacity: .6; } +.map-label { position: absolute; top: 6%; left: 6%; right: 6%; display: flex; justify-content: space-between; color: var(--muted); font: 8px ui-monospace, monospace; letter-spacing: .08em; }.map-cross { font-size: 17px; } +.network-lines { position: absolute; inset: 0; width: 100%; height: 100%; color: var(--brand); } +.query-node { position: absolute; left: 5%; top: 40%; width: 26%; height: 16%; background: var(--brand); color: var(--color-fd-background); border: 1px solid var(--brand); border-radius: 6px; display: flex; flex-direction: column; justify-content: center; padding: 12px; } +.query-node > span { font: 7px ui-monospace, monospace; letter-spacing: .09em; opacity: .8; }.query-node code { font: 16px ui-monospace, monospace; margin-top: 5px; }.query-node > svg { position: absolute; right: 8px; top: 8px; opacity: .8; } +.catalog-node { position: absolute; right: 5%; width: 43%; height: 15%; border: 1px solid var(--line); background: var(--color-fd-card); border-radius: 6px; display: flex; align-items: center; gap: 9px; padding: 10px; box-shadow: 0 3px 7px #00000004; } +.catalog-node > svg { color: var(--brand); flex-shrink: 0; }.catalog-node strong { display: block; color: var(--ink); font-size: 10px; font-weight: 600; }.catalog-node small { display: block; color: var(--muted); font-size: 8px; margin-top: 3px; }.catalog-node .tiny-dot { margin-left: auto; width: 4px; height: 4px; } +.catalog-one { top: 20%; }.catalog-two { top: 40%; }.catalog-three { top: 60%; } +.map-result { position: absolute; bottom: 10%; left: 7%; display: flex; align-items: center; gap: 7px; color: var(--brand); font: 8px ui-monospace,monospace; }.map-coordinate { position: absolute; bottom: 5%; right: 5%; font: 7px ui-monospace,monospace; color: var(--muted); } +.principles-strip { display: flex; align-items: center; justify-content: space-between; padding: 22px 0; border-block: 1px solid var(--color-fd-border); color: var(--muted); font-size: 11px; }.principles-strip a { color: var(--ink); font-weight: 500; } +.start-section { padding-top: 76px; }.eyebrow { font: 9px ui-monospace, monospace; letter-spacing: .13em; color: var(--brand); margin-bottom: 14px; }.section-intro h2,.code-section h2,.reference-banner h2 { color: var(--ink); font-size: 34px; font-weight: 530; letter-spacing: -.045em; line-height: 1.2; }.section-intro > p:last-child { margin-top: 12px; color: var(--muted); font-size: 14px; } +.path-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-top: 30px; }.path-card { padding: 25px; border: 1px solid var(--color-fd-border); border-radius: 10px; background: var(--color-fd-card); transition: border-color .15s,transform .15s; }.path-card:hover { border-color: var(--brand); transform: translateY(-2px); }.path-card-top { display: flex; justify-content: space-between; align-items: center; color: var(--brand); margin-bottom: 32px; }.path-card-top span { color: var(--muted); font: 9px ui-monospace,monospace; }.path-label { font-size: 10px; color: var(--muted); }.path-card h3 { color: var(--ink); font-size: 17px; letter-spacing: -.03em; font-weight: 550; margin: 8px 0 12px; }.path-card p { color: var(--muted); font-size: 12px; line-height: 1.8; }.path-link { display: flex; align-items: center; gap: 7px; margin-top: 26px; color: var(--brand); font-size: 11px; } +.code-section { display: grid; grid-template-columns: .85fr 1.15fr; gap: 60px; align-items: center; padding: 88px 0; }.code-section-copy > p:not(.eyebrow) { color: var(--muted); font-size: 14px; line-height: 1.8; margin-top: 20px; max-width: 350px; }.code-section ul { margin-top: 24px; display: grid; gap: 17px; }.code-section li { display: flex; align-items: center; gap: 12px; font-size: 11px; color: var(--muted); }.code-section li svg { color: var(--brand); flex-shrink: 0; }.text-link { display: inline-flex; gap: 8px; align-items: center; color: var(--brand); font-size: 12px; margin-top: 28px; } +.code-preview { border: 1px solid #354036; border-radius: 11px; background: #171e19; color: #d6e2d1; overflow: hidden; min-width: 0; }.code-toolbar { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #354036; padding: 0 14px; }.code-toolbar button { padding: 13px 12px; font-size: 11px; color: #adb8a9; border-bottom: 2px solid transparent; }.code-toolbar button[aria-selected='true'] { color: #c9e5b9; border-bottom-color: #b0d395; }.code-preview pre { min-height: 286px; max-height: 380px; overflow: auto; font: 10.5px/1.9 ui-monospace,monospace; padding: 22px; }.code-footer { display: flex; justify-content: space-between; border-top: 1px solid #354036; color: #9eaf99; padding: 10px 18px; font: 8px ui-monospace,monospace; } +.reference-banner { border: 1px solid var(--color-fd-border); border-radius: 10px; background: var(--panel); padding: 34px; display: flex; gap: 25px; align-items: center; justify-content: space-between; }.reference-banner h2 { font-size: 25px; }.reference-banner > div:last-child { display: grid; gap: 12px; min-width: 180px; }.reference-banner a { display: flex; justify-content: space-between; gap: 20px; font-size: 11px; color: var(--brand); } +.alpha-note { display: flex; align-items: baseline; gap: 9px; margin: 25px 0 55px; font-size: 10px; color: var(--muted); line-height: 1.7; }.alpha-note a { color: var(--brand); }.site-footer { width: min(1200px,calc(100% - 64px)); margin: 0 auto; border-top: 1px solid var(--color-fd-border); padding: 23px 0; display: flex; justify-content: space-between; gap: 20px; font-size: 10px; color: var(--muted); }.site-footer > div { display: flex; gap: 20px; }.footer-separator { opacity: .4; margin: 0 10px; } +.sidebar-version { color: var(--muted); font-size: 11px; display: flex; gap: 7px; align-items: center; padding: 8px 2px; }.doc-endnote { font-size: 11px; color: var(--muted); border-top: 1px solid var(--color-fd-border); padding-top: 20px; display: flex; gap: 15px; justify-content: space-between; flex-wrap: wrap; }.doc-endnote a { color: var(--brand); } +.not-found { max-width: 600px; padding: 90px 24px; margin: auto; }.not-found h1 { font-size: 40px; letter-spacing: -.04em; }.not-found > p { margin-block: 20px; } +@media (max-width: 950px) { .landing-hero { gap: 25px; padding-top: 60px; }.hero-copy h1 { font-size: 52px; }.catalog-node { padding: 7px; gap: 5px; }.catalog-node strong { font-size: 8px; }.catalog-node small { font-size: 6px; }.catalog-node > svg { width: 15px; }.code-section { gap: 25px; }.path-card { padding: 20px; }.path-card h3 { font-size: 16px; } } +@media (max-width: 700px) { .landing { width: calc(100% - 36px); }.landing-hero { grid-template-columns: 1fr; padding: 40px 0; gap: 34px; }.hero-copy h1 { font-size: 54px; }.hero-description { font-size: 16px; }.federation-map { max-width: 520px; }.catalog-node strong { font-size: 10px; }.catalog-node small { font-size: 8px; }.catalog-node > svg { width: 18px; }.principles-strip { flex-wrap: wrap; gap: 16px; font-size: 10px; }.path-cards { grid-template-columns: 1fr; gap: 12px; }.start-section { padding-top: 45px; }.path-card-top { margin-bottom: 15px; }.path-card { padding: 24px; }.path-card h3 { font-size: 20px; }.path-card p { font-size: 14px; }.code-section { grid-template-columns: 1fr; padding: 50px 0; gap: 30px; }.section-intro h2,.code-section h2 { font-size: 30px; }.reference-banner { align-items: stretch; flex-direction: column; padding: 25px; }.site-footer { width: calc(100% - 36px); flex-wrap: wrap; }.alpha-note { font-size: 11px; }.brand-logo,.brand-logo img { width: 112px; } } +@media (prefers-reduced-motion: reduce) { *,*::before,*::after { transition: none !important; scroll-behavior: auto !important; } } diff --git a/docs/app/layout.tsx b/docs/app/layout.tsx new file mode 100644 index 0000000..6f438b5 --- /dev/null +++ b/docs/app/layout.tsx @@ -0,0 +1,22 @@ +import type { Metadata } from 'next'; +import { RootProvider } from 'fumadocs-ui/provider/next'; +import './global.css'; + +export const metadata: Metadata = { + metadataBase: new URL('https://spatialnode.com'), + title: { default: 'SuperSTAC — Many catalogs. One search.', template: '%s | SuperSTAC' }, + description: 'Search across STAC catalogs through one interface, with Python, Rust, or the command line. A Spatialnode open-source project.', + icons: { icon: '/superstac/favicon.svg' }, +}; + +export default function RootLayout({ children }: { children: React.ReactNode }) { + return ( + + + + {children} + + + + ); +} diff --git a/docs/app/not-found.tsx b/docs/app/not-found.tsx new file mode 100644 index 0000000..526eb08 --- /dev/null +++ b/docs/app/not-found.tsx @@ -0,0 +1,4 @@ +import Link from 'next/link'; +export default function NotFound() { + return

404 · OFF THE MAP

This page isn’t here.

Find your way back to the SuperSTAC documentation.

Open documentation →
; +} diff --git a/docs/app/page.tsx b/docs/app/page.tsx new file mode 100644 index 0000000..a89a4c3 --- /dev/null +++ b/docs/app/page.tsx @@ -0,0 +1,37 @@ +import Link from 'next/link'; +import { HomeLayout } from 'fumadocs-ui/layouts/home'; +import { ArrowRight, ArrowUpRight, Braces, Layers, Terminal, GitMerge, Scan, BookOpen } from 'lucide-react'; +import { baseOptions } from '@/lib/layout.shared'; +import { FederationMap } from '@/components/federation-map'; +import { CodePreview } from '@/components/code-preview'; +import { PoweredBySpatialnode } from '@/components/powered-by-spatialnode'; +import type { Metadata } from 'next'; + +export const metadata: Metadata = { alternates: { canonical: '/superstac' } }; +const paths = [ + { icon: Braces, label: 'Python', title: 'From notebook to pipeline.', text: 'A familiar client, ordinary dictionaries, and sync or async search.', href: '/docs/python/overview' }, + { icon: Layers, label: 'Rust', title: 'Built into your application.', text: 'Embed the engine. Keep control of configuration and lifecycle.', href: '/docs/rust/overview' }, + { icon: Terminal, label: 'Command line', title: 'An answer from your terminal.', text: 'Discover collections, search an area, and inspect the results.', href: '/docs/cli/overview' }, +]; +export default function Home() { + return +
+
+
+ OPEN SOURCE · V0.1 ALPHA +

Many catalogs.
One search.

+

Search across STAC catalogs through one interface, with Python, Rust, or the command line.

+
Start searching Explore the docs
+
pip install superstacPython · Rust · CLI
+
+ +
+
A Spatialnode ↗ projectSTAC nativeRust engineMIT licensed
+

MEET YOUR NEXT WORKFLOW

Start where you work.

One engine. Three ways to make it yours.

{paths.map(({icon:Icon,...path},i) =>
0{i+1}
{path.label}

{path.title}

{path.text}

Read the guide )}
+

LESS PLUMBING. MORE DISCOVERY.

Different sources.
A shared vocabulary.

Register your catalogs, choose an area and a time range, and get back STAC items. SuperSTAC handles the search across sources.

  • Query the catalogs that can serve your collections.
  • Normalize names and remove duplicate item IDs.
  • Inspect failures and counts with each response.
How federation works
+

WHEN YOU NEED THE DETAILS

Make the next query your own.

Configuration Python API Troubleshooting
+

Built in the open. SuperSTAC is in alpha; APIs and configuration may change. See current capabilities →

+
+ +
; +} diff --git a/docs/app/sitemap.ts b/docs/app/sitemap.ts new file mode 100644 index 0000000..8017485 --- /dev/null +++ b/docs/app/sitemap.ts @@ -0,0 +1,9 @@ +import type { MetadataRoute } from 'next'; +import { source } from '@/lib/source'; + +export default function sitemap(): MetadataRoute.Sitemap { + return [ + { url: 'https://spatialnode.com/superstac' }, + ...source.getPages().map((page) => ({ url: `https://spatialnode.com/superstac${page.url}` })), + ]; +} diff --git a/docs/components/code-preview.tsx b/docs/components/code-preview.tsx new file mode 100644 index 0000000..bbcef25 --- /dev/null +++ b/docs/components/code-preview.tsx @@ -0,0 +1,27 @@ +'use client'; +import { useState } from 'react'; +import { Check, Copy } from 'lucide-react'; +const examples = { + Python: 'from superstac import Client\n\nclient = Client(catalogs=[\n {"id": "earth-search", "url": "https://earth-search.aws.element84.com/v1"},\n {"id": "microsoft", "url": "https://planetarycomputer.microsoft.com/api/stac/v1"},\n])\ntry:\n result = client.search(collections=["sentinel-2-l2a"], limit=5)\n for item in result.items():\n print(item["id"])\nfinally:\n client.shutdown()', + Rust: 'use superstac_config::init_from_yaml;\nuse superstac_core::models::storage::Storage;\nuse superstac_engine::SuperSTACEngine;\nuse superstac_search::query::SearchQuery;\n\n#[tokio::main]\nasync fn main() -> Result<(), Box> {\n let engine = SuperSTACEngine::new(init_from_yaml(Storage::Memory, "superstac.yml")?);\n let result = engine.search(SearchQuery {\n collections: vec!["sentinel-2-l2a".into()], limit: Some(5),\n ids: None, bbox: None, intersects: None, datetime: None, sortby: None,\n }).await;\n engine.shutdown().await;\n println!("{} items", result?.metadata.total_items);\n Ok(())\n}', + CLI: '# Save the quickstart configuration as superstac.yml first.\nsuperstac collections\n\nsuperstac search \\\n -c sentinel-2-l2a \\\n -b 6.0,49.0,7.0,50.0 \\\n -l 5\n\nsuperstac --json search -c sentinel-2-l2a -l 5', +}; +export function CodePreview() { + const [tab, setTab] = useState('Python'); + const [copied, setCopied] = useState(false); + const [copyFailed, setCopyFailed] = useState(false); + async function copy() { + try { await navigator.clipboard.writeText(examples[tab]); setCopied(true); setCopyFailed(false); setTimeout(() => setCopied(false), 1600); } + catch { setCopyFailed(true); } + } + return
+
{(Object.keys(examples) as (keyof typeof examples)[]).map((name) => )}
+
{examples[tab]}
+
{copyFailed ? 'Select the code to copy it manually.' : copied ? 'Copied to clipboard.' : 'Real catalogs. Familiar interfaces.'}superstac
+
; +} diff --git a/docs/components/federation-map.tsx b/docs/components/federation-map.tsx new file mode 100644 index 0000000..c4d2f45 --- /dev/null +++ b/docs/components/federation-map.tsx @@ -0,0 +1,17 @@ +import { Layers, ArrowUpRight, Check } from 'lucide-react'; +export function FederationMap() { + return ( +
+ + ); +} diff --git a/docs/components/logo.tsx b/docs/components/logo.tsx new file mode 100644 index 0000000..e111e78 --- /dev/null +++ b/docs/components/logo.tsx @@ -0,0 +1,9 @@ +export function Logo() { + return ( + + {/* Plain SVG images preserve the exact artwork and need no image optimizer. */} + SuperSTAC + SuperSTAC + + ); +} diff --git a/docs/components/powered-by-spatialnode.tsx b/docs/components/powered-by-spatialnode.tsx new file mode 100644 index 0000000..60c8bb8 --- /dev/null +++ b/docs/components/powered-by-spatialnode.tsx @@ -0,0 +1,8 @@ +export function PoweredBySpatialnode() { + return ( + + + + + ); +} diff --git a/docs/content/docs/cli/meta.json b/docs/content/docs/cli/meta.json new file mode 100644 index 0000000..5d2d4a3 --- /dev/null +++ b/docs/content/docs/cli/meta.json @@ -0,0 +1,7 @@ +{ + "title": "Command line", + "pages": [ + "overview" + ], + "defaultOpen": true +} diff --git a/docs/content/docs/cli/overview.md b/docs/content/docs/cli/overview.md new file mode 100644 index 0000000..8b32226 --- /dev/null +++ b/docs/content/docs/cli/overview.md @@ -0,0 +1,62 @@ +--- +title: Command-line interface +description: Search catalogs and inspect collections from your terminal. +--- + +The binary is `superstac`. [Install it](/docs/start/installation/) and save the [complete sample](/superstac/examples/superstac.yml) as `superstac.yml`. + +## Global options + +| Option | Meaning | +| --- | --- | +| `--config PATH` | Configuration path; default `superstac.yml`. The basename must remain `superstac.yml` or `superstac.yaml`. | +| `--json` | Structured JSON output. | +| `-v`, `--verbose` | Debug logging. | +| `-q`, `--quiet` | Warning-level logging; conflicts with verbose. | +| `--help`, `--version` | Command help or binary version. | + +## Search + +```bash +superstac search -c sentinel-2-l2a -b 6.0,49.0,7.0,50.0 -l 10 +superstac search -c sentinel-2-l2a -c landsat-c2-l2 -l 5 +superstac search -c sentinel-2-l2a --id scene-id +``` + +| Option | Meaning | +| --- | --- | +| `-c`, `--collection ID` | Canonical collection ID; repeatable. Omit for no collection filter. | +| `-b`, `--bbox W,S,E,N` | Four comma-separated coordinates. | +| `-d`, `--datetime VALUE` | Datetime instant or interval forwarded to the catalog. | +| `-l`, `--limit N` | Maximum items per catalog; default `10`. | +| `--id ID` | Item ID; repeatable. | + +For negative coordinates, use `--bbox=-10,35,5,45` to avoid flag parsing ambiguity. `intersects` and `sortby` are not CLI options. + +## Collection discovery + +```bash +# All discovered collections and their catalogs +superstac collections + +# Collection IDs advertised by one catalog +superstac collections earth-search + +# Full collection document +superstac collections earth-search sentinel-2-l2a +``` + +## JSON and logs + +```bash +superstac --json search -c sentinel-2-l2a -l 5 +RUST_LOG=superstac_search=debug superstac search -c sentinel-2-l2a +``` + +The JSON search response contains `items` and `metadata`. Each item is wrapped with `catalog_id`, `item`, and `seen_in`; it is not directly a GeoJSON FeatureCollection. + +> **Current CLI logging caveat** +> +> The current tracing subscriber uses its default writer, which can put logs on standard output. For reliable JSON piping, set `logging_enabled: false` in your configuration before using `jq` or another parser. `--quiet` changes the level but does not disable all logs. + +`RUST_LOG` overrides the CLI-selected logging level when logging is enabled. Per-catalog failures may appear inside a successfully serialized response; check the metadata rather than relying only on the exit code. diff --git a/docs/content/docs/concepts/federation.md b/docs/content/docs/concepts/federation.md new file mode 100644 index 0000000..2c23997 --- /dev/null +++ b/docs/content/docs/concepts/federation.md @@ -0,0 +1,35 @@ +--- +title: How federation works +description: Follow a search from one request to multiple catalogs and back to a combined result. +--- + +SuperSTAC is a client-side search engine. It sends requests to STAC API catalogs you register; it does not maintain a global index or copy imagery into its own storage. + +## The vocabulary + +| Term | Meaning | +| --- | --- | +| Catalog | A registered STAC API endpoint with a local ID and URL. | +| Provider | Optional descriptive grouping for catalogs. | +| Collection | A dataset within a catalog, such as `sentinel-2-l2a`. | +| Item | A STAC record describing a scene or other geospatial asset. | +| Asset | A named link within an item, such as a spectral band or thumbnail. | +| Canonical name | The collection ID or asset key your application uses across providers. | + +## From request to response + +1. **Start and inspect.** The engine checks catalog health and discovers `/collections` on healthy catalogs. +2. **Choose sources.** It normally excludes unhealthy catalogs and catalogs known not to serve any requested collection. If collection discovery failed, the unknown catalog can still be queried. +3. **Translate names.** Each catalog's collection aliases translate your canonical query into local names. +4. **Search concurrently.** The executor bounds concurrent catalog searches, applies timeouts and retries, and follows upstream pagination up to a per-catalog cap. +5. **Normalize and combine.** Asset keys and collection IDs can be normalized. Items with the same ID can be collapsed, and failures are included in metadata. + +An empty `collections` list removes the collection filter; it does not select a default dataset. + +## What federation does not guarantee + +Different providers may index different dates, use different item IDs for the same scene, or expose different assets. Searching two catalogs does not guarantee identical coverage or double the number of unique items. + +Deduplication uses **item ID only**. Equal IDs in unrelated collections can be collapsed; different IDs for the same physical scene remain separate. The first encountered item body is retained, without merging its asset dictionaries. Concurrent completion and storage ordering mean you should not rely on a particular provider winning. + +There is no global sort or stable pagination cursor across catalogs. See [search parameters](/docs/reference/search/) and [results](/docs/reference/results/) for exact semantics. diff --git a/docs/content/docs/concepts/meta.json b/docs/content/docs/concepts/meta.json new file mode 100644 index 0000000..40133cd --- /dev/null +++ b/docs/content/docs/concepts/meta.json @@ -0,0 +1,7 @@ +{ + "title": "Concepts", + "pages": [ + "federation" + ], + "defaultOpen": true +} diff --git a/docs/content/docs/guides/aliases.md b/docs/content/docs/guides/aliases.md new file mode 100644 index 0000000..ed7716d --- /dev/null +++ b/docs/content/docs/guides/aliases.md @@ -0,0 +1,48 @@ +--- +title: Collection and asset aliases +description: Use consistent names when catalogs expose different collection IDs or band keys. +--- + +Aliases let your application speak one vocabulary while each catalog keeps its local names. They are configured per catalog. + +## Collection aliases + +The direction is **canonical name → catalog-local name**. For example, a catalog using `S2MSI2A` locally could be configured with: + +```yaml +# Fragment of one catalog entry, not a complete config file. +collection_aliases: + sentinel-2-l2a: S2MSI2A +``` + +Search for `sentinel-2-l2a` in your application. SuperSTAC translates the outgoing query to `S2MSI2A` for that catalog. When response unification is enabled, the returned item's `collection` is changed back to the canonical name. + +Use aliases only after confirming the actual collection IDs advertised by your endpoint. This mapping is illustrative, not a promise about any provider's current schema. + +## Asset aliases + +Asset mappings are nested under the **canonical collection ID**, and follow the same direction: + +```yaml +# Fragment of one catalog entry. +asset_aliases: + sentinel-2-l2a: + blue: B02 + green: B03 + red: B04 + nir: B08 +``` + +With unification enabled, an asset stored under `B04` becomes `red` in the returned item. Asset URLs are not downloaded, authenticated, or reprojected by this operation. Aliases rename keys; they do not make datasets scientifically equivalent. + +## Disable response normalization + +```python +from superstac import Client + +client = Client(settings={"unify_response": False}) +``` + +This preserves provider-local collection and asset names in results. Outgoing collection-name translation still occurs. Missing alias entries fall back to their original names. + +See the [full configuration reference](/docs/reference/configuration/) for where these fragments belong. diff --git a/docs/content/docs/guides/catalogs.md b/docs/content/docs/guides/catalogs.md new file mode 100644 index 0000000..b36137c --- /dev/null +++ b/docs/content/docs/guides/catalogs.md @@ -0,0 +1,71 @@ +--- +title: Catalogs and discovery +description: Register STAC APIs, group them with providers, and discover which collections they serve. +--- + +## Register a catalog + +Give each endpoint a distinct ID and an explicit URL. Use simple ASCII identifiers such as `earth-search` or `my-catalog`. + +```python +from superstac import Client + +client = Client() +client.add_catalog({ + "id": "earth-search", + "title": "Earth Search", + "url": "https://earth-search.aws.element84.com/v1", +}) +try: + client.start() + print(client.list_collections()) +finally: + client.shutdown() +``` + +Catalog URLs must identify compatible STAC APIs, not arbitrary static catalog JSON files. Always supply `url`: although the current configuration type marks it optional, conversion assumes that it exists. + +## Group catalogs by provider + +Providers carry descriptive metadata; they are not authentication credentials. + +```python +from superstac import Client + +client = Client() +client.add_provider({"id": "element84", "name": "Element 84"}) +client.add_catalog( + {"id": "earth-search", "url": "https://earth-search.aws.element84.com/v1"}, + provider="element84", +) +print(client.list_catalogs()) +``` + +Register providers before catalogs that refer to them. Prefer explicit catalog-to-provider assignment over the provider's `catalog_ids` input, which is not used during config conversion. + +## Discover collection availability + +```python +from superstac import Client + +client = Client.open("https://earth-search.aws.element84.com/v1") +try: + print(client.list_collections()) + print(client.collections_by_catalog()) + print(client.catalogs_supporting("sentinel-2-l2a")) + collection = client.describe_collection("earth-search", "sentinel-2-l2a") + if collection is not None: + print(collection["id"]) +finally: + client.shutdown() +``` + +`list_collections()` returns a lightweight list of `{"id": ..., "catalogs": [...]}` records. `get_collections()` fetches full collection documents and can issue one HTTP request per distinct collection. Prefer the lightweight method when you only need availability. + +## Change the registry + +`add_catalogs()`, `get_catalog()`, `list_catalogs()`, `update_catalog()`, and `delete_catalog()` operate on the in-memory registry. Register catalogs before starting the client so the initial health checks and discovery cover them. + +If you add catalogs after startup, call `shutdown()` and then `start()` to run startup discovery again. Calling `start()` while already started is a no-op. + +Catalog updates are not fully patch-like yet: omitted title and description fields can be cleared. Preserve these fields explicitly when updating. Registry changes disappear when the client is discarded; persistent backends are not implemented. diff --git a/docs/content/docs/guides/meta.json b/docs/content/docs/guides/meta.json new file mode 100644 index 0000000..1ae8dd9 --- /dev/null +++ b/docs/content/docs/guides/meta.json @@ -0,0 +1,9 @@ +{ + "title": "Guides", + "pages": [ + "catalogs", + "aliases", + "resilience" + ], + "defaultOpen": true +} diff --git a/docs/content/docs/guides/resilience.md b/docs/content/docs/guides/resilience.md new file mode 100644 index 0000000..38ced83 --- /dev/null +++ b/docs/content/docs/guides/resilience.md @@ -0,0 +1,61 @@ +--- +title: Health, retries, and failures +description: Configure search concurrency and understand how partial failures affect results. +--- + +## Bound the work + +```python +from superstac import Client + +client = Client(settings={ + "max_concurrent_catalogs": 4, + "per_catalog_timeout_seconds": 20, + "max_retry_attempts": 2, + "retry_initial_backoff_ms": 100, + "retry_max_backoff_ms": 2000, + "max_items_per_catalog": 100, +}) +``` + +Use positive values for concurrency, timeouts, attempts, and item caps. `max_retry_attempts` counts the initial attempt: `1` disables retry. Backoff grows exponentially up to the configured ceiling. + +The timeout applies to each catalog search attempt, including its item collection. It is not a timeout for the entire client lifecycle: initial health checks and collection discovery use separate requests. + +The current retry classification is broad: search errors are retried, including some permanent failures. Do not assume only HTTP 5xx responses are retried. + +## Inspect partial failures + +A catalog failure can be recorded while other catalogs return useful items. Always inspect the response metadata when completeness matters. + +```python +from superstac import Client + +client = Client.open("https://earth-search.aws.element84.com/v1") +try: + search = client.search(collections=["sentinel-2-l2a"], limit=5) + for failure in search.metadata["failures"]: + print(failure["catalog_id"], failure["reason"]) +finally: + client.shutdown() +``` + +A response with zero items is not necessarily a successful empty search. Check both `catalogs_queried` and `catalogs_failed`. The executor can return a response even if all selected catalogs fail. + +## Health monitoring in the current alpha + +Search normally selects healthy catalogs only. Startup checks each endpoint and starts monitors for catalogs that initially pass. A catalog that is unhealthy at startup does not currently receive a background monitor, so automatic recovery is not guaranteed; restart the engine to recheck it. + +Set polling frequency and healthy status range on each catalog. The current monitor reads **catalog settings**, rather than inheriting the similarly named global settings. + +```yaml +# Fragment within a catalog entry. +settings: + health_check_strategy: "15m" + healthy_status_code_range: [200, 299] + enable_background_health_monitor: false +``` + +Disabling the monitor does not skip the initial health check. The global `enable_background_health_monitor` update is not currently applied by memory storage; use the per-catalog setting above. + +Always call `shutdown()` (or `await client.shutdown()`) to stop background tasks when finished. diff --git a/docs/content/docs/index.mdx b/docs/content/docs/index.mdx new file mode 100644 index 0000000..51e7824 --- /dev/null +++ b/docs/content/docs/index.mdx @@ -0,0 +1,37 @@ +--- +title: Introduction +description: Search across STAC catalogs through one interface, with Python, Rust, or the command line. +--- + +import { Cards, Card } from 'fumadocs-ui/components/card'; + +**Many catalogs. One search.** + +Your data lives across catalogs. SuperSTAC gives you one place to search them: register compatible STAC APIs, submit a query, and work with a combined set of items. + +The same Rust engine powers a Python package, a Rust library, and a command-line tool. It handles source selection, concurrent requests, collection and asset aliases, duplicate IDs, and per-catalog failures. + + + + + + + + + +## What you can build + +Search imagery across public and private-compatible endpoints, create a shared collection vocabulary for your application, or explore catalog availability from the terminal. SuperSTAC returns STAC item metadata; asset downloads and processing stay in your existing workflow. + +## Before you start + +SuperSTAC is **alpha software**. Start with [installation](/docs/start/installation), then the [quickstart](/docs/start/quickstart). Read the [current limitations](/docs/reference/status) before relying on the API in production. + +## Choose your interface + +| Interface | A good fit for | +| --- | --- | +| [Python Client](/docs/python/overview) | Notebooks, scripts, and synchronous pipelines. | +| [Python AsyncClient](/docs/python/async) | Applications that already use asyncio. | +| [Rust engine](/docs/rust/overview) | Native integrations on Tokio. | +| [CLI](/docs/cli/overview) | Terminal exploration and shell workflows. | diff --git a/docs/content/docs/meta.json b/docs/content/docs/meta.json new file mode 100644 index 0000000..261966c --- /dev/null +++ b/docs/content/docs/meta.json @@ -0,0 +1,13 @@ +{ + "title": "Documentation", + "pages": [ + "index", + "start", + "concepts", + "guides", + "python", + "rust", + "cli", + "reference" + ] +} diff --git a/docs/content/docs/python/api.md b/docs/content/docs/python/api.md new file mode 100644 index 0000000..b5ca009 --- /dev/null +++ b/docs/content/docs/python/api.md @@ -0,0 +1,84 @@ +--- +title: Python API reference +description: Constructors, lifecycle, catalog registry, discovery, search, and result methods. +--- + +Import the public types with `from superstac import Client, AsyncClient`. Both clients accept `storage="memory"`; other storage backends are rejected by the current Python bindings. + +## Constructors + +```text +Client(config=None, *, catalogs=None, providers=None, settings=None, storage="memory") +Client.open(url, *, id=None, storage="memory") +Client.from_yaml(yaml_path, *, storage="memory") +``` + +`AsyncClient` has the same signatures. Await only `AsyncClient.open(...)`; its constructor and `from_yaml()` are synchronous. + +`config` is a dictionary with optional `catalogs`, `providers`, and `settings` entries. Supplying it takes precedence over the separate constructor keywords. Without an explicit ID, `open()` derives one from the first dot-separated hostname label. + +## Lifecycle and settings + +| Method | Behavior | +| --- | --- | +| `start()` | Initial health checks and collection discovery; no-op while started. | +| `shutdown()` | Cancel monitors and mark the engine unstarted. | +| `get_settings()` | Return the stored settings dictionary. | +| `update_settings(update)` | Apply supported non-null fields from a dictionary. | + +On `AsyncClient`, await `start()` and `shutdown()`. Read [health limitations](/docs/guides/resilience/) before relying on global monitoring settings. + +## Catalog registry + +| Method | Input / output | +| --- | --- | +| `add_catalog(catalog, *, provider=None)` | Add one catalog dictionary; return created catalog. | +| `add_catalogs(catalogs)` | Add a list of dictionaries, honoring each `provider` field. | +| `get_catalog(id)` | Return one catalog dictionary. | +| `list_catalogs()` | Return registered catalogs. | +| `update_catalog(id, update)` | Update supported catalog fields. | +| `delete_catalog(id)` | Remove a catalog. | + +Always include `id` and `url` when creating a catalog. `update_catalog` accepts `provider`, `title`, `description`, `url`, and `settings`. Alias maps are configured at creation, not through this update shape. Omitted title/description can be cleared by the current implementation. + +## Provider registry + +`add_provider(provider)`, `add_providers(providers)`, `get_provider(id)`, `list_providers()`, `update_provider(id, update)`, and `delete_provider(id)` operate on descriptive provider records. Register a provider before linking catalogs to it. + +These registry methods remain synchronous on `AsyncClient`. + +## Discovery + +| Method | Result | +| --- | --- | +| `list_collections()` | List of `{"id": collection_id, "catalogs": [catalog_id, ...]}`. | +| `collections_by_catalog()` | Dictionary of catalog IDs to collection ID lists. | +| `catalogs_supporting(collection_id)` | Catalog IDs advertising the collection. | +| `describe_collection(catalog_id, collection_id)` | Full collection dictionary or `None` for a 404. | +| `get_collection(id)` | First matching collection document; raises `KeyError` if none is found. | +| `get_collections()` | Full documents for discovered collections; potentially many requests. | + +Await all discovery methods on `AsyncClient`. + +## Search + +```python +client.search( + collections=["sentinel-2-l2a"], + bbox=[6.0, 49.0, 7.0, 50.0], + datetime="2024-01-01T00:00:00Z/2024-01-31T23:59:59Z", + limit=10, +) +``` + +Pass `collections` explicitly, using `[]` for all collections. See [search parameters](/docs/reference/search/) for `ids`, `intersects`, limit semantics, and unsupported parameters. The return value is a `Search` object; await the call on `AsyncClient`. + +## Search results + +`items()`, `matched()`, `to_geojson()`, `item_collection_as_dict()`, `len(search)`, and the `metadata` property are synchronous. See [result fields](/docs/reference/results/). + +Python item dictionaries do not expose the Rust `SearchItem.catalog_id` / `seen_in` wrapper. Metadata includes run-level failures and counts, not per-item provenance. + +## Errors + +Invalid Python input generally raises `ValueError`. Engine errors are mapped to `RuntimeError`; `get_collection()` uses `KeyError` for a missing collection. Per-catalog search failures can instead be returned in `search.metadata["failures"]`, so catching exceptions alone does not establish completeness. diff --git a/docs/content/docs/python/async.md b/docs/content/docs/python/async.md new file mode 100644 index 0000000..9716132 --- /dev/null +++ b/docs/content/docs/python/async.md @@ -0,0 +1,60 @@ +--- +title: Async Python +description: Use AsyncClient in asyncio applications while keeping local registry operations synchronous. +--- + +`AsyncClient` exposes the same search engine without blocking the asyncio event loop on network operations. + +```python +import asyncio +from superstac import AsyncClient + +async def main(): + client = AsyncClient(catalogs=[ + {"id": "earth-search", "url": "https://earth-search.aws.element84.com/v1"}, + {"id": "microsoft", "url": "https://planetarycomputer.microsoft.com/api/stac/v1"}, + ]) + try: + await client.start() + search = await client.search(collections=["sentinel-2-l2a"], limit=5) + for item in search.items(): + print(item["id"]) + print(search.metadata) + finally: + await client.shutdown() + +asyncio.run(main()) +``` + +In a notebook that already has an event loop, use `await main()` instead of `asyncio.run(main())`. + +## What needs await? + +| Operation | AsyncClient behavior | +| --- | --- | +| `AsyncClient(...)` | Synchronous construction. | +| `AsyncClient.from_yaml(path)` | Synchronous construction and file loading. | +| `AsyncClient.open(url)` | Await; registers and starts a single-catalog client. | +| `start()`, `shutdown()`, `search(...)` | Await. | +| `list_collections()`, `get_collections()`, `get_collection(id)` | Await. | +| `catalogs_supporting(id)`, `collections_by_catalog()`, `describe_collection(catalog_id, collection_id)` | Await. | +| Catalog/provider CRUD and settings operations | Synchronous; access local memory. | +| `search.items()`, `search.to_geojson()`, `search.matched()` | Synchronous; results are already collected. | + +## Open one endpoint + +```python +import asyncio +from superstac import AsyncClient + +async def main(): + client = await AsyncClient.open("https://earth-search.aws.element84.com/v1") + try: + print(await client.list_collections()) + finally: + await client.shutdown() + +asyncio.run(main()) +``` + +Async search still collects each catalog's results before returning. It is not an async iterator over a federated result stream. diff --git a/docs/content/docs/python/meta.json b/docs/content/docs/python/meta.json new file mode 100644 index 0000000..a44e413 --- /dev/null +++ b/docs/content/docs/python/meta.json @@ -0,0 +1,10 @@ +{ + "title": "Python", + "pages": [ + "overview", + "notebook", + "async", + "api" + ], + "defaultOpen": true +} diff --git a/docs/content/docs/python/notebook.mdx b/docs/content/docs/python/notebook.mdx new file mode 100644 index 0000000..e7ecf06 --- /dev/null +++ b/docs/content/docs/python/notebook.mdx @@ -0,0 +1,36 @@ +--- +title: Try it in a notebook +description: Run a complete Python example in Google Colab or Jupyter, from federated search to a footprint map and GeoJSON export. +--- + +Explore SuperSTAC with a runnable notebook that searches Earth Search and Microsoft Planetary Computer for Sentinel-2 imagery. It uses a standard Python CPU runtime; no GPU or API key is needed for the public metadata searches. + +## Open the notebook + +Download the Python quickstart notebook, then open [Google Colab](https://colab.research.google.com/) and choose **File → Upload notebook**. You can also open the downloaded file in Jupyter. + + +[Open directly in Colab](https://colab.research.google.com/drive/1HBrujCASqaIST0sbcX7s90kQ-kOInzoA?usp=sharing) · [View on GitHub](https://github.com/Spatialnode/superstac/blob/main/docs/public/notebooks/superstac-python-quickstart.ipynb) + +The GitHub and direct Colab links require the notebook to be published on the repository's `main` branch. Downloading and uploading the file works independently of that publication step. + +## What you will do + +1. Install SuperSTAC, Pandas, and Folium in the notebook kernel. +2. Register two catalogs and discover which advertise the requested collection. +3. Search an area and date range through one Python client. +4. Inspect item details, duplicate counts, and catalog failures. +5. Display scene footprints and the search area on a map. +6. Export full STAC items, metadata, query settings, and a map to a downloadable ZIP. + +Run the cells from top to bottom. The sample searches a fixed month around Luxembourg with at most five items per catalog. Change the bounding box, dates, or catalogs to explore another query. If you raise the item limit, update both the query limit and the configured per-catalog cap. + +## Understand the output + +The map shows scene footprints, not satellite pixels. Item asset links may require provider-specific signing or authentication before downloads. The notebook closes the client in a `finally` block and continues working with the materialized results. + +Results depend on public catalog availability and the installed alpha version. An empty result is not necessarily a successful search: inspect the discovery table, `catalogs_queried`, and `failures`. Python exposes item dictionaries and run-level diagnostics, without the Rust per-item provenance wrapper. + +Internet access is required for installation, catalog requests, and map tiles. Colab runtime files are temporary, so download the exported ZIP before ending the session. If installation fails because no compatible wheel is available, follow the [source installation guide](/docs/start/installation). + +Continue with the [Python API reference](/docs/python/api), [search parameters](/docs/reference/search), or [results and provenance](/docs/reference/results). diff --git a/docs/content/docs/python/overview.md b/docs/content/docs/python/overview.md new file mode 100644 index 0000000..000f556 --- /dev/null +++ b/docs/content/docs/python/overview.md @@ -0,0 +1,65 @@ +--- +title: Python client +description: Search multiple STAC APIs from scripts and notebooks with the synchronous Client. +--- + +The Python package wraps the Rust engine using PyO3. Items and collection documents are returned as ordinary Python dictionaries. + +For an interactive walkthrough, [try the Python notebook in Colab or Jupyter](/docs/python/notebook). It includes a federated search, item table, footprint map, and GeoJSON export. + +## Connect to one catalog + +```python +from superstac import Client + +client = Client.open("https://earth-search.aws.element84.com/v1") +try: + search = client.search(collections=["sentinel-2-l2a"], limit=10) + for item in search.items(): + print(item["id"], list(item.get("assets", {}))) +finally: + client.shutdown() +``` + +`open()` registers the endpoint and starts the engine. `Client(...)` and `Client.from_yaml(...)` construct an unstarted client; the first search or discovery operation starts it automatically. + +## Connect to multiple catalogs + +```python +from superstac import Client + +client = Client( + catalogs=[ + {"id": "earth-search", "url": "https://earth-search.aws.element84.com/v1"}, + {"id": "microsoft", "url": "https://planetarycomputer.microsoft.com/api/stac/v1"}, + ], + settings={"max_concurrent_catalogs": 4, "deduplicate_items": True}, +) +try: + search = client.search(collections=["sentinel-2-l2a"], limit=10) + print(search.matched()) + print(search.metadata["duplicates_removed"]) +finally: + client.shutdown() +``` + +A positional configuration dictionary can contain `catalogs`, `providers`, and `settings`. If you pass `config`, it takes precedence over the separate keyword arguments. Choose one style per client. + +## Work with the results + +| Operation | Returns | +| --- | --- | +| `search.items()` | A materialized list of STAC item dictionaries. | +| `search.matched()` | The number of items returned after aggregation, not the upstream total. | +| `len(search)` | Number of returned items. | +| `search.to_geojson()` | A GeoJSON FeatureCollection dictionary. | +| `search.item_collection_as_dict()` | The same FeatureCollection representation. | +| `search.metadata` | Search counts, failures, and unsupported collection IDs. | + +Iterate with `for item in search.items()`. The Python API does not stream items as they arrive; the Rust search has completed before the `Search` object is returned. + +## Moving from pystac-client + +The familiar `Client.open()`, `search()`, and `items()` shapes make migration easier, but this is **not full drop-in compatibility**. Returned items are dictionaries, not `pystac.Item` instances. `matched()` reports collected items, and arbitrary pystac-client options, modifiers, authentication hooks, and pagination APIs are not implemented. + +Use `to_geojson()`, not `as_geojson()`. See the [API reference](/docs/python/api/) for the supported surface and [async guide](/docs/python/async/) for asyncio applications. diff --git a/docs/content/docs/reference/configuration.md b/docs/content/docs/reference/configuration.md new file mode 100644 index 0000000..e3ef785 --- /dev/null +++ b/docs/content/docs/reference/configuration.md @@ -0,0 +1,81 @@ +--- +title: Configuration +description: Complete YAML structure, catalog fields, and global search settings. +--- + +## Configuration sources + +Python accepts a dictionary with optional `catalogs`, `providers`, and `settings` keys. The YAML loader is stricter: the current `SuperStacConfig` requires all three top-level fields, and `Settings` has six required fields. Start from the [complete downloadable config](/superstac/examples/superstac.yml). + +The filename must be **`superstac.yml` or `superstac.yaml`**, even when supplied by an explicit path. + +## Catalog entries + +| Field | Meaning | +| --- | --- | +| `id` | Required local identifier. | +| `url` | Always provide the STAC API root URL; conversion assumes it is present. | +| `provider` | Optional ID of an already registered provider. | +| `title`, `description` | Optional descriptive strings. | +| `settings` | Optional complete per-catalog settings object. | +| `collection_aliases` | Dictionary of canonical collection IDs to local IDs. | +| `asset_aliases` | Dictionary keyed by canonical collection ID, then canonical asset key to local asset key. | + +If you include catalog `settings`, supply `health_check_strategy` and `healthy_status_code_range`. The optional `enable_background_health_monitor` controls that catalog's monitor. + +```yaml +# One catalog entry, to place inside the catalogs list. +- id: earth-search + url: https://earth-search.aws.element84.com/v1 + settings: + health_check_strategy: "15m" + healthy_status_code_range: [200, 299] + enable_background_health_monitor: false +``` + +Use these per-catalog fields to control health checks. Their defaults are hourly and HTTP 200–299; current health monitoring reads the catalog values, not the similarly named global settings. + +## Provider entries + +`id` is required. Optional descriptive fields are `name`, `description`, `logo_url`, and `website_url`. Use `providers: []` when no grouping is needed. Assign membership with each catalog's `provider`; the config conversion does not use provider `catalog_ids`. + +## Global settings + +Defaults below describe a new in-memory backend. In YAML, the first six fields are still required explicitly; Rust `Default` is not automatically applied by the YAML deserializer. + +| Field | Default | Notes | +| --- | --- | --- | +| `health_check_strategy` | `hourly` | Required in YAML; current monitors read per-catalog settings. | +| `healthy_status_code_range` | `[200, 299]` | Required in YAML; inclusive range; use catalog override for monitoring. | +| `auto_fix_duplicate_catalog_id` | `true` | Required in YAML; suffix duplicate IDs instead of failing. | +| `auto_fix_duplicate_provider_id` | `true` | Required in YAML; same behavior for providers. | +| `log_level` | `info` | Required in YAML; `info`, `warning`, or `debug`. | +| `logging_enabled` | `true` | Required in YAML; controls CLI tracing setup. | +| `search_healthy_catalogs_only` | `true` | Filter candidates by health. | +| `deduplicate_items` | `true` | Collapse records sharing `Item.id`. | +| `unify_response` | `true` | Normalize collection and asset keys using aliases. | +| `max_concurrent_catalogs` | `8` | Concurrent catalog searches. | +| `per_catalog_timeout_seconds` | `30` | Timeout per search attempt. | +| `max_retry_attempts` | `2` | Includes initial attempt; `1` means no retry. | +| `retry_initial_backoff_ms` | `100` | Delay before first retry. | +| `retry_max_backoff_ms` | `2000` | Backoff ceiling. | +| `max_items_per_catalog` | `1000` | Hard cap; effective cap is the smaller of this and the query limit. | +| `enable_background_health_monitor` | `true` | Current memory-storage update path does not apply this global field; use per-catalog override. | + +Use positive values for execution limits. Optional fields omitted from YAML preserve the memory backend's defaults through the loader's partial update path. + +## Health frequency values + +Named YAML values are `minutely`, `hourly`, `daily`, `weekly`, and `monthly` (30 days). Custom strings accept integer seconds, minutes, or hours: `"30s"`, `"15m"`, `"2h"`. Use a positive duration. + +## Updating Python settings + +```python +from superstac import Client + +client = Client() +client.update_settings({"max_concurrent_catalogs": 4, "max_retry_attempts": 1}) +print(client.get_settings()) +``` + +These settings are held in memory and affect later searches. Read [health and retries](/docs/guides/resilience/) for lifecycle limitations. These references document the working tree, so released packages may differ. diff --git a/docs/content/docs/reference/meta.json b/docs/content/docs/reference/meta.json new file mode 100644 index 0000000..61f554b --- /dev/null +++ b/docs/content/docs/reference/meta.json @@ -0,0 +1,11 @@ +{ + "title": "Reference", + "pages": [ + "configuration", + "search", + "results", + "troubleshooting", + "status" + ], + "defaultOpen": true +} diff --git a/docs/content/docs/reference/results.md b/docs/content/docs/reference/results.md new file mode 100644 index 0000000..bf29da9 --- /dev/null +++ b/docs/content/docs/reference/results.md @@ -0,0 +1,62 @@ +--- +title: Results and provenance +description: Interpret item wrappers, metadata counts, partial failures, and deduplication. +--- + +## Rust and CLI response + +The following is a schematic response; the `item` dictionary is abbreviated, not a complete STAC Item. + +```json +{ + "items": [ + { + "catalog_id": "earth-search", + "item": {"id": "example-scene", "collection": "sentinel-2-l2a"}, + "seen_in": ["earth-search", "microsoft"] + } + ], + "metadata": { + "catalogs_queried": 2, + "catalogs_succeeded": 2, + "catalogs_failed": 0, + "total_items": 1, + "duplicates_removed": 1, + "failures": [], + "unsupported_collections": [] + } +} +``` + +`catalog_id` is the catalog whose item body was retained. `seen_in` tracks catalogs returning the same item ID. Deduplication does not combine asset dictionaries or resolve which provider has the best data. + +## Metadata fields + +| Field | Meaning | +| --- | --- | +| `catalogs_queried` | Number selected for execution, after health/source filtering. | +| `catalogs_succeeded` | Selected catalogs that completed successfully. | +| `catalogs_failed` | Selected catalogs that failed. | +| `total_items` | Items in the final response, after optional deduplication. | +| `duplicates_removed` | Number of collapsed item records. | +| `failures` | List of `{catalog_id, reason}` for failed searches. | +| `unsupported_collections` | Requested canonical IDs that no candidate catalog was known to serve, reported conservatively when collection knowledge is complete. | + +A catalog excluded for health or capability reasons is not necessarily represented in `failures`. Compare metadata with your configured registry when diagnosing missing sources. + +## Python representation + +`search.items()` unwraps the item bodies into Python dictionaries. The per-item `catalog_id` and `seen_in` fields are not currently exposed by the Python `Search` object. `search.metadata` exposes the run-level fields above. + +`search.to_geojson()` returns `{ "type": "FeatureCollection", "features": [...] }`. It omits the Rust provenance wrappers and run metadata. Store `search.metadata` separately if you need a record of search failures. + +## Deduplication identity + +Deduplication compares `Item.id` across the entire response, without including the collection ID. Disable it if your sources reuse item IDs for unrelated records: + +```python +from superstac import Client +client = Client(settings={"deduplicate_items": False}) +``` + +Repeated observations with different IDs are not recognized as duplicates. Output order and the retained provider are not a stable ranking. diff --git a/docs/content/docs/reference/search.md b/docs/content/docs/reference/search.md new file mode 100644 index 0000000..4f5d583 --- /dev/null +++ b/docs/content/docs/reference/search.md @@ -0,0 +1,48 @@ +--- +title: Search parameters +description: Supported spatial, temporal, collection, and item filters and their exact limits. +--- + +Python clients take keyword arguments. Rust uses `SearchQuery`. Both are translated into a STAC API search for each selected catalog. + +| Field | Python shape | Behavior | +| --- | --- | --- | +| `collections` | List of strings | Required by the Python query deserializer. Use canonical names, or `[]` for no collection filter. | +| `ids` | List of strings, optional | Filter by item IDs. | +| `bbox` | Coordinate list, optional | Bounding box. Use `[west, south, east, north]` in longitude/latitude for ordinary searches. | +| `intersects` | GeoJSON geometry dictionary, optional | Spatial geometry, not a Feature or FeatureCollection. | +| `datetime` | String, optional | Datetime instant or interval passed to upstream catalogs. | +| `limit` | Nonnegative integer, optional | Maximum collected items per catalog, default `10`; also capped by `max_items_per_catalog`. Prefer a positive value. | +| `sortby` | List of strings, optional | Present in the query model but **not forwarded by the current translator**. Do not rely on it. | + +## Spatial and temporal filtering + +```python +from superstac import Client + +client = Client.open("https://earth-search.aws.element84.com/v1") +try: + search = client.search( + collections=["sentinel-2-l2a"], + bbox=[6.0, 49.0, 7.0, 50.0], + datetime="2024-01-01T00:00:00Z/2024-01-31T23:59:59Z", + limit=20, + ) + print(search.matched()) +finally: + client.shutdown() +``` + +Choose either `bbox` or `intersects` for a query. Use a closed GeoJSON polygon ring when passing a polygon. Coordinate and filter support ultimately depends on the target catalog. + +## Limit and pagination + +SuperSTAC follows upstream pagination internally until it collects `min(limit, max_items_per_catalog)` items from each catalog. There is no exposed federated cursor or lazy Python pagination API. + +With three selected catalogs and `limit=10`, the engine may collect up to 30 items before deduplication. The final total is neither a complete match count nor guaranteed to equal your limit. + +## Unsupported options + +There is no implemented CQL2 filter, cloud-cover query, fields projection, global sort, or user-supplied search-header integration in the current engine path. Unknown Python dictionary keys may be ignored rather than rejected; only use the documented fields. + +`SearchOptions` and `SearchRequest` exist in Rust source but are not wired into the engine's `search()` method. Do not treat their `headers` or `max_items` fields as active engine features. diff --git a/docs/content/docs/reference/status.md b/docs/content/docs/reference/status.md new file mode 100644 index 0000000..2294f39 --- /dev/null +++ b/docs/content/docs/reference/status.md @@ -0,0 +1,36 @@ +--- +title: Status and limitations +description: What the current alpha supports and what is still being built. +--- + +SuperSTAC is a pre-1.0, MIT-licensed project. This documentation describes the current repository API; there may be differences from published artifacts. APIs and YAML shapes may change. + +## Available + +- Python sync and async clients backed by Rust. +- A Tokio-based Rust engine and command-line tool. +- In-memory catalog and provider registration. +- Collection discovery and source selection. +- Concurrent searches with per-catalog caps, retries, and timeouts. +- Collection/asset aliases and optional response normalization. +- Item-ID deduplication, failure metadata, and Rust/CLI item provenance. + +## Not implemented yet + +- Persistent SQLite and Postgres backends. Rust enum variants exist but currently return memory storage. +- Integrated authentication, custom request headers, OAuth, or asset signing in the engine search path. +- Federated cursors, lazy Python streaming, and stable global sorting. +- CQL2, field projection, or cloud-cover search options. +- Full pystac-client API compatibility. + +The package searches item metadata; it does not download, mosaic, render, or reproject imagery. + +## Current alpha behavior to account for + +YAML and Python dictionary configuration have different required fields. Python `matched()` counts returned records. Python item dictionaries omit per-item provenance wrappers. `sortby` is currently ignored by translation. Health monitors and global monitoring settings have limitations documented in [resilience](/docs/guides/resilience/). + +These are implementation constraints, not promises about future releases. Track development in the [repository](https://github.com/spatialnode/superstac) and [changelog](https://github.com/spatialnode/superstac/blob/main/CHANGELOG.md). + +## License + +SuperSTAC uses the MIT license. See the [repository LICENSE](https://github.com/spatialnode/superstac/blob/main/LICENSE) for its terms. diff --git a/docs/content/docs/reference/troubleshooting.md b/docs/content/docs/reference/troubleshooting.md new file mode 100644 index 0000000..1d49431 --- /dev/null +++ b/docs/content/docs/reference/troubleshooting.md @@ -0,0 +1,49 @@ +--- +title: Troubleshooting +description: Diagnose empty results, configuration errors, import failures, and unexpected search behavior. +--- + +## A search returns no items + +Inspect `search.metadata` before changing the query: + +- `catalogs_queried == 0`: no eligible catalogs were selected. Check registration, startup health, and collection IDs. +- `catalogs_failed > 0`: read each entry in `failures` for the catalog and reason. +- `unsupported_collections` is nonempty: discovered capabilities did not advertise those canonical IDs. +- Successful catalogs with zero returned items: broaden the spatial or temporal filter and verify upstream coverage. + +Use `list_catalogs()` to inspect health and `list_collections()` for discovery. A failed `/collections` request leaves capability knowledge unknown; this does not itself prove a collection is unsupported. + +## YAML reports missing fields + +Use the [complete sample](/superstac/examples/superstac.yml). YAML requires `catalogs`, `providers`, and `settings`, plus the six non-optional settings described in [configuration](/docs/reference/configuration/). A minimal Python configuration dictionary is not a valid complete YAML file. + +If you set a catalog's `settings`, include its frequency and status range. The file must be called `superstac.yml` or `superstac.yaml`. + +## Python raises AttributeError for as_geojson + +The implemented method is `search.to_geojson()` (or `search.item_collection_as_dict()`). Returned items are dictionaries, not PySTAC objects. + +## Fewer items than expected + +The limit is per catalog and bounded by `max_items_per_catalog`. Deduplication compares item IDs; it can collapse equal IDs even across different collections. Inspect `duplicates_removed` and try `deduplicate_items=False` if your sources reuse IDs. + +## Sorting or cloud-cover filters have no effect + +The current engine does not forward `sortby`, and does not implement a cloud-cover/CQL2 filter interface. Unsupported Python keyword arguments may be ignored. Use only [documented search fields](/docs/reference/search/). + +## A catalog never recovers + +Catalogs unhealthy at startup currently do not get a background monitor. Shut down and restart the client to repeat health checks. Check per-catalog monitor settings; the global monitor update is not applied by memory storage in this alpha. + +## JSON piping fails + +Set `logging_enabled: false` in YAML before piping CLI JSON. The current tracing writer can mix log output into stdout, and `--quiet` does not disable warnings. + +## Python cannot load the extension + +Use Python 3.9+ and ensure the package is installed in the interpreter you are running. Check `python -m pip show superstac`. If a compatible wheel is unavailable, follow the [source build instructions](/docs/start/installation/). + +## Report a reproducible issue + +Include the package version or commit, Python/Rust version, operating system, a minimal configuration without credentials, the query, and failure metadata. Open an issue on [GitHub](https://github.com/spatialnode/superstac/issues). diff --git a/docs/content/docs/rust/meta.json b/docs/content/docs/rust/meta.json new file mode 100644 index 0000000..1b5787d --- /dev/null +++ b/docs/content/docs/rust/meta.json @@ -0,0 +1,7 @@ +{ + "title": "Rust", + "pages": [ + "overview" + ], + "defaultOpen": true +} diff --git a/docs/content/docs/rust/overview.md b/docs/content/docs/rust/overview.md new file mode 100644 index 0000000..2a9610e --- /dev/null +++ b/docs/content/docs/rust/overview.md @@ -0,0 +1,89 @@ +--- +title: Rust engine +description: Embed SuperSTAC in an asynchronous Rust application with explicit configuration and lifecycle. +--- + +`SuperSTACEngine` orchestrates storage, health checks, collection discovery, and federated search. It runs on Tokio. + +## Dependencies + +```toml title="Cargo.toml" +[dependencies] +superstac-core = "0.1" +superstac-config = "0.1" +superstac-search = "0.1" +superstac-engine = "0.1" +tokio = { version = "1", features = ["macros", "rt-multi-thread"] } +``` + +For this checkout's unreleased API, replace version dependencies with paths such as `superstac-engine = { path = "../superstac/crates/engine" }`. Use Rust 1.88 or newer as declared by the workspace. + +## A complete search + +Save the [quickstart configuration](/superstac/examples/superstac.yml) as `superstac.yml` next to where you run the binary. + +```rust title="src/main.rs" +use superstac_config::init_from_yaml; +use superstac_core::models::storage::Storage; +use superstac_engine::SuperSTACEngine; +use superstac_search::query::SearchQuery; + +#[tokio::main] +async fn main() -> Result<(), Box> { + let storage = init_from_yaml(Storage::Memory, "superstac.yml")?; + let engine = SuperSTACEngine::new(storage); + + let result = engine.search(SearchQuery { + collections: vec!["sentinel-2-l2a".into()], + ids: None, + intersects: None, + bbox: None, + datetime: Some("2024-01-01T00:00:00Z/2024-01-31T23:59:59Z".into()), + limit: Some(10), + sortby: None, + }).await; + + engine.shutdown().await; + let response = result?; + for entry in response.items { + println!("{} from {:?}", entry.item.id, entry.seen_in); + } + for failure in response.metadata.failures { + eprintln!("{}: {}", failure.catalog_id, failure.reason); + } + Ok(()) +} +``` + +Search starts the engine if needed. Explicit `engine.start().await?` is useful when you want to finish startup before serving application requests. `shutdown().await` cancels background health tasks. + +## Discovery + +| Method | Purpose | +| --- | --- | +| `list_collections().await` | Aggregated collection availability. | +| `collections_by_catalog().await` | Collections grouped by catalog. | +| `catalogs_supporting(id).await` | Catalogs advertising a canonical collection. | +| `describe_collection(catalog_id, collection_id).await` | Full collection document from one catalog. | + +## Shared storage + +`SuperSTACEngine::new` takes ownership of a boxed storage backend. `SuperSTACEngine::from_shared` accepts the exported `SharedStorage` handle for applications that need to retain registry access. Configure sources before startup; after changing the registry, restart the engine to refresh startup discovery. + +## Crate boundaries + +| Crate | Responsibility | +| --- | --- | +| `superstac-core` | Catalog/provider models, settings, errors, and storage traits. | +| `superstac-config` | YAML loading and backend population. | +| `superstac-search` | Query translation, concurrent execution, normalization, aggregation. | +| `superstac-engine` | Lifecycle, health, discovery, source selection. | +| `superstac-cli` | Terminal interface over the engine. | + +Generate API documentation for the exact checkout with: + +```bash +cargo doc --no-deps -p superstac-core -p superstac-config -p superstac-search -p superstac-engine --open +``` + +Only memory storage is implemented. The `Sqlite` and `Postgres` variants currently construct memory backends; they do not provide persistence. diff --git a/docs/content/docs/start/installation.md b/docs/content/docs/start/installation.md new file mode 100644 index 0000000..b332817 --- /dev/null +++ b/docs/content/docs/start/installation.md @@ -0,0 +1,68 @@ +--- +title: Installation +description: Install the Python bindings, Rust crates, or command-line tool and choose the right interface. +--- + +SuperSTAC has three interfaces over the same Rust search engine. Choose Python for notebooks and pipelines, Rust for embedding, or the CLI for terminal workflows. + +## Python + +```bash +python -m pip install superstac +``` + +Use **Python 3.9 or newer** for the current bindings: the native extension targets the `abi3-py39` ABI. The package metadata currently declares an older minimum; the extension's ABI is the practical constraint. + +Verify the import: + +```bash +python -c "from superstac import Client, AsyncClient; print(Client, AsyncClient)" +``` + +If no wheel is available for your platform or the registry release differs from this checkout, build the bindings from source. You need a Rust toolchain compatible with the workspace's **Rust 1.88 minimum** and Python development tools. + +```bash +git clone https://github.com/spatialnode/superstac +cd superstac/crates/python +python -m venv .venv +source .venv/bin/activate +python -m pip install maturin +maturin develop --release +``` + +On Windows, activate the environment with `.venv\Scripts\Activate.ps1` in PowerShell. + +## Rust + +Add the crates that your application uses: + +```bash +cargo add superstac-core superstac-config superstac-search superstac-engine +cargo add tokio --features macros,rt-multi-thread +``` + +These docs describe the working tree's 0.1 API. For unreleased changes, use path dependencies to a local checkout instead of assuming that a registry release has the same API. See the [Rust guide](/docs/rust/overview/). + +## Command-line tool + +Build and install the CLI from the repository: + +```bash +git clone https://github.com/spatialnode/superstac +cd superstac +cargo install --path crates/cli +superstac --help +``` + +Or build without installing: + +```bash +cargo build --release -p superstac-cli +./target/release/superstac --help +``` + +The executable is named `superstac`; the Rust package is `superstac-cli`. + +## Next step + +[Run a first search](/docs/start/quickstart/) against two catalogs, or read the [CLI reference](/docs/cli/overview/) for flags and output formats. diff --git a/docs/content/docs/start/meta.json b/docs/content/docs/start/meta.json new file mode 100644 index 0000000..70fcbf2 --- /dev/null +++ b/docs/content/docs/start/meta.json @@ -0,0 +1,8 @@ +{ + "title": "Get started", + "pages": [ + "installation", + "quickstart" + ], + "defaultOpen": true +} diff --git a/docs/content/docs/start/quickstart.mdx b/docs/content/docs/start/quickstart.mdx new file mode 100644 index 0000000..f54dfa1 --- /dev/null +++ b/docs/content/docs/start/quickstart.mdx @@ -0,0 +1,120 @@ +--- +title: Your first search +description: Register two catalogs, search Sentinel-2 imagery, and inspect a combined response. +--- + +import { Tabs, Tab } from 'fumadocs-ui/components/tabs'; + +[Install SuperSTAC](/docs/start/installation/) first. This example searches Sentinel-2 imagery in Earth Search and Microsoft Planetary Computer. + +Prefer to run the example interactively? [Open the Python notebook](/docs/python/notebook) in Colab or Jupyter for a complete walkthrough with a map and downloadable results. + +## 1. Register your catalogs + +Python can take a dictionary directly. The CLI and the Rust example below load a YAML file. Save this complete file as `superstac.yml` in your working directory, or [download it](/superstac/examples/superstac.yml). + +```yaml title="superstac.yml" +providers: [] + +catalogs: + - id: earth-search + url: https://earth-search.aws.element84.com/v1 + - id: microsoft + url: https://planetarycomputer.microsoft.com/api/stac/v1 + +settings: + health_check_strategy: hourly + healthy_status_code_range: [200, 299] + auto_fix_duplicate_catalog_id: true + auto_fix_duplicate_provider_id: true + log_level: info + logging_enabled: true + search_healthy_catalogs_only: true + deduplicate_items: true + unify_response: true + max_concurrent_catalogs: 8 + per_catalog_timeout_seconds: 30 + max_retry_attempts: 2 + retry_initial_backoff_ms: 100 + retry_max_backoff_ms: 2000 + max_items_per_catalog: 1000 +``` + +> **Use the complete YAML** +> +> The current YAML loader requires `catalogs`, `providers`, and `settings`, including the non-optional settings shown above. Python dictionary configuration accepts partial settings. They are not interchangeable deserialization paths. + +## 2. Search an area and time range + + + + +```python +from superstac import Client + +client = Client(catalogs=[ + {"id": "earth-search", "url": "https://earth-search.aws.element84.com/v1"}, + {"id": "microsoft", "url": "https://planetarycomputer.microsoft.com/api/stac/v1"}, +]) +try: + search = client.search( + collections=["sentinel-2-l2a"], + bbox=[6.0, 49.0, 7.0, 50.0], + datetime="2024-01-01T00:00:00Z/2024-01-31T23:59:59Z", + limit=5, + ) + for item in search.items(): + print(item["id"], item["collection"]) + print(search.metadata) +finally: + client.shutdown() +``` + +To use the YAML file instead, replace construction with `client = Client.from_yaml("superstac.yml")`. + + + + +```bash +superstac search \ + -c sentinel-2-l2a \ + -b 6.0,49.0,7.0,50.0 \ + -d 2024-01-01T00:00:00Z/2024-01-31T23:59:59Z \ + -l 5 +``` + +Inspect the full response as JSON: + +```bash +superstac --json search -c sentinel-2-l2a -l 5 +``` + + + + +The first search starts the engine automatically: it checks catalog health and discovers available collections before querying. This initial work can take longer than later searches. + +## 3. Understand the response + +`limit=5` caps each catalog at five returned items. Two selected catalogs can contribute up to ten items before duplicates are removed. It is not a global limit or a count of all matching scenes. + +Inspect `catalogs_queried`, `catalogs_failed`, and `failures` in the metadata. An empty result can mean no matching scenes, no selected healthy catalogs, or catalog failures; the counts help distinguish them. + +## 4. Export the items + +```python +import json +from superstac import Client + +client = Client.open("https://earth-search.aws.element84.com/v1") +try: + search = client.search(collections=["sentinel-2-l2a"], limit=5) + with open("items.geojson", "w") as output: + json.dump(search.to_geojson(), output) +finally: + client.shutdown() +``` + +This writes item metadata, not satellite image pixels. Accessing an asset URL may require provider-specific authentication or signing. + +Continue with [Python](/docs/python/overview/), [Rust](/docs/rust/overview/), or [configuration](/docs/reference/configuration/). diff --git a/docs/lib/layout.shared.tsx b/docs/lib/layout.shared.tsx new file mode 100644 index 0000000..6f0aedf --- /dev/null +++ b/docs/lib/layout.shared.tsx @@ -0,0 +1,15 @@ +import type { BaseLayoutProps } from 'fumadocs-ui/layouts/shared'; +import { Logo } from '@/components/logo'; + +export function baseOptions(): BaseLayoutProps { + return { + nav: { title: , url: '/' }, + githubUrl: 'https://github.com/spatialnode/superstac', + links: [ + { text: 'Documentation', url: '/docs' }, + { text: 'Python', url: '/docs/python/overview' }, + { text: 'Rust', url: '/docs/rust/overview' }, + { text: 'Spatialnode', url: 'https://spatialnode.com', external: true }, + ], + }; +} diff --git a/docs/lib/source.ts b/docs/lib/source.ts new file mode 100644 index 0000000..26878cd --- /dev/null +++ b/docs/lib/source.ts @@ -0,0 +1,7 @@ +import { docs } from '@/.source/server'; +import { loader } from 'fumadocs-core/source'; + +export const source = loader({ + baseUrl: '/docs', + source: docs.toFumadocsSource(), +}); diff --git a/docs/mdx-components.tsx b/docs/mdx-components.tsx new file mode 100644 index 0000000..b0d2b4b --- /dev/null +++ b/docs/mdx-components.tsx @@ -0,0 +1,14 @@ +import defaultMdxComponents from 'fumadocs-ui/mdx'; +import type { MDXComponents } from 'mdx/types'; +import Link from 'next/link'; +import type { ComponentProps } from 'react'; + +function ContentLink({ href = '', ...props }: ComponentProps<'a'>) { + // Public downloads already include basePath; normal documentation links don't. + if (href.startsWith('/superstac/') || !href.startsWith('/')) return ; + return ; +} + +export function getMDXComponents(components?: MDXComponents): MDXComponents { + return { ...defaultMdxComponents, a: ContentLink, ...components }; +} diff --git a/docs/next-env.d.ts b/docs/next-env.d.ts new file mode 100644 index 0000000..a419cbe --- /dev/null +++ b/docs/next-env.d.ts @@ -0,0 +1,7 @@ +/// +/// +import "./.next/dev/types/routes.d.ts"; +import "./.next/dev/types/root-params.d.ts"; + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/app/api-reference/config/typescript for more information. diff --git a/docs/next.config.mjs b/docs/next.config.mjs new file mode 100644 index 0000000..446c0f8 --- /dev/null +++ b/docs/next.config.mjs @@ -0,0 +1,8 @@ +import { createMDX } from 'fumadocs-mdx/next'; + +const withMDX = createMDX(); +export default withMDX({ + basePath: '/superstac', + output: 'standalone', + reactStrictMode: true, +}); diff --git a/docs/package.json b/docs/package.json new file mode 100644 index 0000000..abc82e2 --- /dev/null +++ b/docs/package.json @@ -0,0 +1,37 @@ +{ + "name": "superstac-docs", + "private": true, + "version": "0.1.0", + "type": "module", + "engines": { + "node": ">=20.13.0" + }, + "scripts": { + "dev": "next dev --hostname 127.0.0.1", + "build": "next build --webpack", + "check": "fumadocs-mdx && tsc --noEmit", + "start": "next start --hostname 0.0.0.0", + "postinstall": "fumadocs-mdx", + "test:links": "node scripts/check-links.mjs", + "predev": "node scripts/sync-assets.mjs", + "prebuild": "node scripts/sync-assets.mjs" + }, + "dependencies": { + "@tailwindcss/postcss": "4.3.3", + "fumadocs-core": "16.15.14", + "fumadocs-mdx": "15.4.5", + "fumadocs-ui": "16.15.14", + "lucide-react": "1.48.0", + "next": "16.3.6", + "react": "19.3.0", + "react-dom": "19.3.0", + "tailwindcss": "4.3.3" + }, + "devDependencies": { + "@types/mdx": "^2.0.13", + "@types/node": "^22.0.0", + "@types/react": "^19.0.0", + "@types/react-dom": "^19.0.0", + "typescript": "^5.9.0" + } +} diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml new file mode 100644 index 0000000..cdb06d0 --- /dev/null +++ b/docs/pnpm-lock.yaml @@ -0,0 +1,4212 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@tailwindcss/postcss': + specifier: 4.3.3 + version: 4.3.3 + fumadocs-core: + specifier: 16.15.14 + version: 16.15.14(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.48.0(react@19.3.0))(next@16.3.6(@types/node@22.20.4)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(zod@4.6.5) + fumadocs-mdx: + specifier: 15.4.5 + version: 15.4.5(@types/mdast@4.0.4)(@types/mdx@2.0.14)(@types/react@19.3.0)(fumadocs-core@16.15.14(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.48.0(react@19.3.0))(next@16.3.6(@types/node@22.20.4)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(zod@4.6.5))(next@16.3.6(@types/node@22.20.4)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react@19.3.0) + fumadocs-ui: + specifier: 16.15.14 + version: 16.15.14(@types/mdx@2.0.14)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(fumadocs-core@16.15.14(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.48.0(react@19.3.0))(next@16.3.6(@types/node@22.20.4)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(zod@4.6.5))(next@16.3.6(@types/node@22.20.4)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(tailwindcss@4.3.3) + lucide-react: + specifier: 1.48.0 + version: 1.48.0(react@19.3.0) + next: + specifier: 16.3.6 + version: 16.3.6(@types/node@22.20.4)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + react: + specifier: 19.3.0 + version: 19.3.0 + react-dom: + specifier: 19.3.0 + version: 19.3.0(react@19.3.0) + tailwindcss: + specifier: 4.3.3 + version: 4.3.3 + devDependencies: + '@types/mdx': + specifier: ^2.0.13 + version: 2.0.14 + '@types/node': + specifier: ^22.0.0 + version: 22.20.4 + '@types/react': + specifier: ^19.0.0 + version: 19.3.0 + '@types/react-dom': + specifier: ^19.0.0 + version: 19.3.0(@types/react@19.3.0) + typescript: + specifier: ^5.9.0 + version: 5.9.3 + +packages: + + '@alloc/quick-lru@5.3.0': + resolution: {integrity: sha512-U4+70Pc5ZS9osnCBCE5Jha/ciHM+Yp+CNMNC/7HvYbNRk1Ldd+f7qO65W5qfhu/TCv+/ozljlXXe9Nj8419DMA==} + engines: {node: '>=10'} + + '@emnapi/runtime@1.11.3': + resolution: {integrity: sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==} + + '@esbuild/aix-ppc64@0.28.2': + resolution: {integrity: sha512-XExcO+dvLKvVtNTibSTBej1NCAbaGhWn9Ww1ZPx80qsahhPFe/8jgWP0IchNe0F3HwkU7n8ejhH8bjonqht8mQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.28.2': + resolution: {integrity: sha512-5YfKeeI8qWfBZIX+u2xZC3Zlb3Os/gLS2sbEKM+I4ZOcsWmHS2WLysCcQZDAFRslDUU5Oiq44gf6PYN1vGwG5A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.28.2': + resolution: {integrity: sha512-kXXoiPVVGQcnIYGOeaovwOURpniDBpSq4A03qkQ+BMQqtGG6HYap3xne9C1O1yo4TR3qxlCX5IqqmX6fFo2Lqg==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.28.2': + resolution: {integrity: sha512-O387ite7SzUyCcy3JQX4P4bLtEA7bLLkx+esve5JHnyYfNTxcVpXZo9jhdB0lTKN44gztELTdU7nS8Nr16Fs1Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.28.2': + resolution: {integrity: sha512-n4KqkOQrraxHJcgjM1RvwbigfQKIKJVpM7xp+KsxiyUSrRdIXnt73VhrPAx0fV44hgfmIVKjxMN9J1t5jySVkw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.28.2': + resolution: {integrity: sha512-uq6suIWYP37qzGddBKPw5QEQPi6HiLGsO7UmkpfyaYNQ3D+rN6w6WfwH+nuqcGXWvawGwxOEroO4YGnFh95azw==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.28.2': + resolution: {integrity: sha512-n+I0BTSRIoy+d6RPKnEVwql5UwBJolytvY4mAOIEJorKlqgPII8ix6slVVrfZ5Tnj7glIZvloylbB/EJPMWEXw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.28.2': + resolution: {integrity: sha512-78XJTJkvPs0kz2w61301PJjXl4g7q3JqiYMZ/M/yVI73EHBrCRTgkhu9oqG7vPqq+a/yadEW8aD+agKlk5xrmg==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.28.2': + resolution: {integrity: sha512-pW4AC0P3it8c7do9MVM4p51FzHzdM/TZrerurgRcHJ2WTa1VQ1CIq18xncfpBJw4ojkiZZrKW2yIBWBP92j6Ug==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.28.2': + resolution: {integrity: sha512-XlDnu2q5yoqems+xay6wSAcg9DDD7K9RLKZEBOMZm3ckNpJBvOX20tSfby8KfrrhINDyv9V2YVZKY/SpoGJI8w==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.28.2': + resolution: {integrity: sha512-CYbnj78HsIeA+DhgUKgFCfvNsTHFhMMrinUrMZpDXJXKN8T3XViTZ/+wtHeVxEWY8ewSzTFN+nRmSwO2tZaLUQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.28.2': + resolution: {integrity: sha512-buwkd8nsph4R+ajRvw0qM5Hja/TXQow3ptzWO2EbG/cqcIkHloRrdlBtQlshyYGTNFvfkfJ5tpPLVkY4DtsPfQ==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.28.2': + resolution: {integrity: sha512-ZVykbDyk7519VwiNb9Lcj9m8XM6v5V9uKPvrEMkkEedVewf+0itkhahp4HDpgERXhwLRpWFypsGbG/J8s0QjJA==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.28.2': + resolution: {integrity: sha512-CAXl+Dtd9UUuJd8pKKdwh6MLm3MUMiqMPmhZ3tTSXPqfyQ3vDl6R5hZdZ/kYojK4ofXtdfSv1tFq8XzWx3heNQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.28.2': + resolution: {integrity: sha512-GeXCej4IQtU1B+QlDV8W/RRvbzI3O/Stss+/bCXv4lZls5WGRtu2a+3JkA3i4qIUlMXpcHebWpF8AkJhATowuA==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.28.2': + resolution: {integrity: sha512-3H1weTYZPxt/WOhByszQZybS9w5lKzUn1FDMsgEChbHWQwHYQQRfBxgCcZvPhjHfKyJjIievvMmEUawJrdY9Dg==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.28.2': + resolution: {integrity: sha512-4xTZr1FUmSoQW4XIWmit3tzQrUTZM+N3P0XV8xROKYF50XfI7xeO90+1bZvNwxIufQ9hDQVRJH5YhgPVF8A/HQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.28.2': + resolution: {integrity: sha512-sSATRjPeDBg3pdgHoQfoYBob11Kk1FGa9lui5RIHZCoCkJa9QKlvl3/vKz2usCmYYjs7ymJR/2Nnsqe+Hjt5nw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.28.2': + resolution: {integrity: sha512-lqnzCV+mM0gIADaKihiCg6ifgfU2L3h5E33rNQBN1Y4MaVGnzryzmvvf7UHxprpQdE8hpqLolJ9Rl+SkIRDpyw==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.28.2': + resolution: {integrity: sha512-AL2qJILH7lNjrDmCQDvdxMfAUIv8KMNZOvrwAQ8i8//ntL9FflhOyMJ8OZSMBb8/AWXe3/5v5S20y3zCoZWKoQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.28.2': + resolution: {integrity: sha512-QtiuPytchRyC4rwUKhexJdQKvDuZ6hWloi3igqPQNUJCS1/v9EiO3UTOXR6A3FoMo4fnAKbWJdqaIwhOzh8qEw==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openharmony-arm64@0.28.2': + resolution: {integrity: sha512-WkhYDmpTjLvGlScA1rwjRUmhl4k8oXR3cIbtqWmELgU/dFeHHlEllxDvdWcNJV9rbzCexB5vz8gtNewWLgCT7Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + + '@esbuild/sunos-x64@0.28.2': + resolution: {integrity: sha512-GPMSkTOtMnv2U2F8gxe4Io6qmVs+YKyp832Etqqxr0hFngmXQ3rzwytelm3GIn7T4VviRUlf3sOgBOiTdvaf7g==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.28.2': + resolution: {integrity: sha512-PIhhEkE9uPBleRBrQEJpUn7MBnibZzbGzYWPmY3x+YoVg/95zbjB4CxPPOQ8l5tYYM4mMaCthF8/1DIfBQQyWQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.28.2': + resolution: {integrity: sha512-YmJbfTlvU7Sdn9BB+4PRES4oB6pxgS37MAONj+hBr/cpXS1aBPKXxNnDbu+QCWPj0o9dgyxeq79g6c5P8KeuYA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.28.2': + resolution: {integrity: sha512-5ebpxr3nWMzrL/rnUI755Jkuee0bHL/Gq0WTF9lvcpv73wAp5eu8MfBUgWK9bhWvZjj7yX8etf/8tI8Ney695g==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@floating-ui/core@1.8.0': + resolution: {integrity: sha512-0CIZ5itps/8x7BG8dEIhs53BvCUH2PCoogtakwRTut+Arm58sJooJ0AuZhLw2HJYIR5cMLNPBSS728sPho2khQ==} + + '@floating-ui/dom@1.8.0': + resolution: {integrity: sha512-yXSrzeHZBTZadLOlfyhCkJHNeLJnHRnRInwdZ40L7ZiaAtrBwoYlsDrX3v5zB1Utk7CLfzcOVnVVWoXEky7Ceg==} + + '@floating-ui/react-dom@2.1.9': + resolution: {integrity: sha512-JDjEFGCpImxDCA7JJKviA0M9+RtmJdj0m/NVU5IMgBK+AmZouAQQ7/+2GLH0GXXY0YMw9oXPB8hKdbPYg5QLYg==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + + '@floating-ui/utils@0.2.12': + resolution: {integrity: sha512-HpCo8tmWzLVad5s2d19EhAz5zqrrQ6s69qd6moPMQvkOuSwDT1YgRfWSVuc4ennqrgv3OHppiOGMQ7oC13yIww==} + + '@fuma-translate/react@1.0.2': + resolution: {integrity: sha512-uOiOtBx3nRXR8Nu1GzBf1tApgF1FErDBTHxRIAQeyQdyOoZbrNRN6H4kDCWObY4qyGeGbHydG0DHzgeUgFDMIw==} + peerDependencies: + '@types/react': '*' + react: ^19.2.0 + react-dom: ^19.2.0 + peerDependenciesMeta: + '@types/react': + optional: true + + '@fumadocs/tailwind@0.1.2': + resolution: {integrity: sha512-VppeXgIRXjZMgpf2qijj1hcfxyeYl1s0ok8k6N3jyjiX64M7sDwnt2zGPd6dbfDybgbBvDw6C6J1e42gB5NzsA==} + peerDependencies: + tailwindcss: ^4.0.0 + peerDependenciesMeta: + tailwindcss: + optional: true + + '@fumari/image-size@0.1.1': + resolution: {integrity: sha512-iaiV2wyzJ4mW358NX4CX3yGit+WjKYzpaQ+rldK9BjL/5jFpeV6ruWnZVq7MEyMn3Gd0DLi8g/79NZAAQaGscw==} + + '@img/colour@1.1.0': + resolution: {integrity: sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==} + engines: {node: '>=18'} + + '@img/sharp-darwin-arm64@0.35.4': + resolution: {integrity: sha512-Uhfl4V4lhP2nbUVF9+hyH1+luj86f1gUFeo8ALYxFoULoU+G87D43BfeMP8XHsk9boxAnCY/bf2EHwhA7MuGsA==} + engines: {node: '>=20.9.0'} + cpu: [arm64] + os: [darwin] + + '@img/sharp-darwin-x64@0.35.4': + resolution: {integrity: sha512-hWniXY3bG5qKpkKrAwPe4y+VTPmf086YQAnkxWh7uA1YrlRouWGa0M0Mxj3ZjnXFkv7/TD1bTy9lGUK26vRvWw==} + engines: {node: '>=20.9.0'} + cpu: [x64] + os: [darwin] + + '@img/sharp-freebsd-wasm32@0.35.4': + resolution: {integrity: sha512-lIsKw/BU+kjB4eZjxrYrZmwOJYi3Ajrv66iAlBmUPyKc3HpnloevB1g3wxGD9P/5BbQ1brBGl65VRRrCvQDEqA==} + engines: {node: '>=20.9.0'} + os: [freebsd] + + '@img/sharp-libvips-darwin-arm64@1.3.3': + resolution: {integrity: sha512-suTBPTDGrI9WodccaDdwZItTSaBYASlBk1NSfElSHrUfzu3szG6lvIF58+WiFvnfzuK8ZBFS5zE00PxqxnRiPg==} + cpu: [arm64] + os: [darwin] + + '@img/sharp-libvips-darwin-x64@1.3.3': + resolution: {integrity: sha512-FVJZ5mITMobmXIz/hPDTw0EintTW5H3WfrxwLqEqjiIihlu+hVRyGrFQ60xl0Lxn7Bt3zdpevPaQi0HEzqz9fw==} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-linux-arm64@1.3.3': + resolution: {integrity: sha512-0DaL0A6Xu6sQSQFwe4iVCrKWU2cCTItnRsYsCdxAMm9NF6twAA9BKnoqy4hqz4+azQ0JHuA26qiUKsf1XJ/v5A==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-arm@1.3.3': + resolution: {integrity: sha512-3rbU4vqXXc3hY/OiXdl52xZvT0F1yEngWfvqudtPJg/KkyiaQw2DRsFrNzpmLvfavbwOq3qXn36GP8obHRULQA==} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-ppc64@1.3.3': + resolution: {integrity: sha512-cdn1OvUBwsXhbC0zSzJnNzf5MZ/mTrobawDvNXBTxe8VtqKAm0sRuEY2Evzovb/w9JMk4TvRxqt1mekSuJz64w==} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-riscv64@1.3.3': + resolution: {integrity: sha512-HjPVx7yKz+0lqdhDlTw1tt90wamBoxhiXpvl1XZpJLiHH4RCJ5yDTqH+VlYPv2fwFs89JFw4c1IexYOcQUi4IQ==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-s390x@1.3.3': + resolution: {integrity: sha512-neWLh+3yCNThxnfy3c4BbVBeGgt9aftno+XbT56iK28RgeDs3UOFWviLWlUu0bArYVYJaFDK+RRohbicUNCm8Q==} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linux-x64@1.3.3': + resolution: {integrity: sha512-4vKmvAst9nrowcqquKFAyZJUDolUaIp8uRiN0mWFguJ1IplC9/pitXtlnnlU4aa/eJw3J7i67V+pwUL+wZGdsA==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@img/sharp-libvips-linuxmusl-arm64@1.3.3': + resolution: {integrity: sha512-Y9kQaLMuNoB0bPYOOdcZMaseNrFpPodIWWMrx+CZyydf2xn68j9WYc6sWWRrDwNkzCQjKYfc68L7jKjGlHMibw==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@img/sharp-libvips-linuxmusl-x64@1.3.3': + resolution: {integrity: sha512-fj8Mv0HHfD1Rr+4I68+3agJynxDWtBFgicTbSOb9Bke6pIwzGcJ+RX/yHjmiEGFMCavY/dxvem7MyNaJF+wDiw==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@img/sharp-linux-arm64@0.35.4': + resolution: {integrity: sha512-De4jpEnAU8Hd5oT0j1G3uL4ZvTuipVMn7YC6vPaJhy6/7EwEae0SVAoBrUMYQbkLGDm85taVWwuPc1a44LTzCQ==} + engines: {node: '>=20.9.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-arm@0.35.4': + resolution: {integrity: sha512-7OAS8gI0EReKGVN2HssHlM6umJgxF5VI3xN0p9FA91p/YO+ou5hiNghLdZ5BEHztwaaK5+bLKRf8x/o2L2nk9A==} + engines: {node: '>=20.9.0'} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-ppc64@0.35.4': + resolution: {integrity: sha512-2oYZJeIl4kCcMGk4ouZVjnkCtFrpQFlNEtJ6GbxzhHQchwH0NH/qEb9ykmOl29dqwMq+JhFdZn+1ak2FKhI9fQ==} + engines: {node: '>=20.9.0'} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-riscv64@0.35.4': + resolution: {integrity: sha512-cPbNChoRURAWdebDIHSenxRpgEdy7JkPydSnUxRm9VvKD7m0/xVaR/8Fzlu81pk5nHEvHH87UZUA7cTtwnbJSA==} + engines: {node: '>=20.9.0'} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-s390x@0.35.4': + resolution: {integrity: sha512-RY0JFY8Fd6RonCBtHz+DvadaPkXDSI1AUn6yWL9TipqkZ1vY8w8evqdgyDFnkm4/K1ve1TvZiaePP5oSd4+WVQ==} + engines: {node: '>=20.9.0'} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@img/sharp-linux-x64@0.35.4': + resolution: {integrity: sha512-9qvvEAuk8k89TfWUoX2htWjbAMX8p+NxCppjpcg5k6xMsjhBQPTsoIh36h9Qde4WRuGpJeYnOjdosDn/cnv+OA==} + engines: {node: '>=20.9.0'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@img/sharp-linuxmusl-arm64@0.35.4': + resolution: {integrity: sha512-KB5jxpfWQTr0nc3xdHtWChdbifHrBGsd2SM62Eyxrl8afikm+f5qGBU75SJIZBT/S1MC8XyacdlXBMSWq6OURA==} + engines: {node: '>=20.9.0'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@img/sharp-linuxmusl-x64@0.35.4': + resolution: {integrity: sha512-f+eZJZIQNEEd26RPSW+76chwOf1XtA2Y/O+5ocVyLliHkeih3e+jhLVBdNTd2rS3IbNXK8+ug93Vf5ZXtF5Lxg==} + engines: {node: '>=20.9.0'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@img/sharp-wasm32@0.35.4': + resolution: {integrity: sha512-zQnl4Kwp7Q6NHsENtU2T/00Zi+w3AQNwz3+UaTyVBy2FpXrzXzGjndpK61onhZjRtRpQXxCTeqw19bVyXOh7jA==} + engines: {node: '>=20.9.0'} + + '@img/sharp-webcontainers-wasm32@0.35.4': + resolution: {integrity: sha512-ESfNkywmCfPNyaZjxooddJQiQ+l/nTpGEOGthxiLnIHXC/CmcBixnfwUleX9mCz9ovrUUvKMap/pm8RYbzfwaA==} + engines: {node: '>=20.9.0'} + cpu: [wasm32] + + '@img/sharp-win32-arm64@0.35.4': + resolution: {integrity: sha512-iNdlBX9gLVvqe2I3uIJSIKTq6wckP/DYxZtcqxm09x5Gi24DnFBmPAWZmr60ZyYMG0xlzo6goG3670ar+RXvRw==} + engines: {node: '>=20.9.0'} + cpu: [arm64] + os: [win32] + + '@img/sharp-win32-ia32@0.35.4': + resolution: {integrity: sha512-kqRsbaa5CS6KHlpxnN7WhE6vAAugXyZButpRdvDWetlv6Qv4N9WTcrWzF7tXfB9T7MsoadqdI8hmwLq6UlLvtw==} + engines: {node: ^20.9.0} + cpu: [ia32] + os: [win32] + + '@img/sharp-win32-x64@0.35.4': + resolution: {integrity: sha512-XtmnYhBcrORsJ4XJngyzr/EWP0hRZLAZRFaApdKuviyqF78+ylxh2y06ZmtULAMOnObJ3ucpN0AcwSWnMowTRg==} + engines: {node: '>=20.9.0'} + cpu: [x64] + os: [win32] + + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.6.0': + resolution: {integrity: sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==} + + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + + '@mdx-js/mdx@3.1.1': + resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==} + + '@next/env@16.3.6': + resolution: {integrity: sha512-x9Vblze1EbtltQYnNH38xCPWU3TVfBd1eXqA3+w9+BTpedkkdNpAaltXlGQ/nsc1+E0mVTNrtcbX3GoO09zeLQ==} + + '@next/swc-darwin-arm64@16.3.6': + resolution: {integrity: sha512-E/7GEqaUkt8mk/T8v9lAnrhzR06kdq1ZBkC12F8tAMkdIadwNp3H1KqHynDHrpcTlGCUdq/qu6vUL2aYVyYBdw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@next/swc-darwin-x64@16.3.6': + resolution: {integrity: sha512-yBE893/nDWTlaiBD1p+qgt7NUen4U5R6FXyH0s67Npq1S3E0cVSef1WIXC2xBRgQvwAvJq6DnS6Y6PrY0cy4Ew==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@next/swc-linux-arm64-gnu@16.3.6': + resolution: {integrity: sha512-KJDpjBqBPYlvkivmyrp+Qys6k/7ksbqGQvRVc6ZEGfR+cjQxx+nUkJaWmNZJsmoOrqYNbaXByF8wa0lBwDhB3Q==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@next/swc-linux-arm64-musl@16.3.6': + resolution: {integrity: sha512-mqNg2K+hvWskSRb/QM+Ix412DvBsuSF0XV+frTSw5vmoucNnIlynFwKYew8D01bfATErMOM7Bujrf0BA5DRKFA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@next/swc-linux-x64-gnu@16.3.6': + resolution: {integrity: sha512-nFncBNGAYouRHjRVaITs9beZRfhX4ssVwpnvPIAbkZVH6LtGoAVlH4bJ8Cnf9SOo9bsXgPFer/GdHtEE3JNOkw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@next/swc-linux-x64-musl@16.3.6': + resolution: {integrity: sha512-5Mf3cHDGR/Iz0ng2Bj3zUR3p5QS9YK3Hn2QiAfavFmyF48zwThAjpFoiTKNIcOHLYS4zEk+gzyJ/9deQ2ZB8yQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@next/swc-win32-arm64-msvc@16.3.6': + resolution: {integrity: sha512-0jkJy0C2kbrJWTk4YLa3xk80pVBpx8FCHJym7CnUfDAXe/FWv5qT7SQJbR0KuemyxaEDlEx5WT4VQJoTW+/9Qw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@next/swc-win32-x64-msvc@16.3.6': + resolution: {integrity: sha512-/YXjI1e5OXcZ7YpxRwgP/1jAV/SBKTzeVKqN2mk7mLpcICsyn3Gl5+dIfDTJp70M0ccMhyMMRso4v6mPDCGepg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@radix-ui/number@1.1.3': + resolution: {integrity: sha512-Road2bidD0uu/1BGDOWNdPI06g0lIRy6IF9GZcIrDK2KGItfor8IQwQa+yM2ERgHM1MmHxaxpTzk0/Jp42lNfA==} + + '@radix-ui/primitive@1.1.7': + resolution: {integrity: sha512-rqWnm76nYT8HoNNqEjpgJ7Pw/DrBj5iBTrmEPo6HTX5+VJyBNOqTdv4g89G63HuR5g0AaENoAcH7Is5fF2kZ8Q==} + + '@radix-ui/react-accordion@1.2.20': + resolution: {integrity: sha512-jDhG9FvAEnlhnjrsINbNXcUa4G+L1KqSkJSunkbKEzFRcAb52jvM0PjPxPRvhe1HNc5F5yc0yzzWeeqlH4yBIg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-arrow@1.1.15': + resolution: {integrity: sha512-v4zggRcjadnI+ClKDuijlQEW4tw3NoaeHc/PwpKnLoLLKNUG4InLegkstooLcRIUWCs+8L22dGURCVuFfOKfnA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-collapsible@1.1.20': + resolution: {integrity: sha512-mcGesGplBnzN2sbvJETzpCNfSMyPnb29q1GRLU+Ib7bJrpIG2ywmRoh2V5VbA2uNvKikKUlVbAPks7JDjz4A8Q==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-collection@1.1.15': + resolution: {integrity: sha512-9W+B9NPF0NaaPh/1NJd3+KqsnlLqU9H7T2rvww+fp+T/evVXdNAyYcnfRQZFOjkR1ajQp3yORlqnI8soawLvNA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-compose-refs@1.1.5': + resolution: {integrity: sha512-+48PbAAbq3didjJxa+OaWY2ZwgAKsNiRGyeHKszblZMQ+kcpd9pAaT11cMkGEie0vsOi3QdeTE6d5Fe3Gn61kA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-context@1.2.2': + resolution: {integrity: sha512-RHCUGwKHDr0hDGg4X7ma4JG4/+12qxw8rkh5QKdDldlCvtja6nUx1Ef/8HVrJze81lEsgLQlqjzjGNHantgnQA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-dialog@1.1.23': + resolution: {integrity: sha512-Ksw4WeROkO4rC9k/onilX/Ao2Cr1ku1unMNH+XSCcP4jSXYu7HDsg9n4ojMjVb22XpYjAQ9qfrFlVbru1vXDUA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-direction@1.1.4': + resolution: {integrity: sha512-5pzg4FGQNpExhnhT2zlrP1wZFaYCd1K0nYWoFAdcYoYK868IEigqMX3B3f8yIoRlAhAeDWciLI6ZdCKHF9P4Vg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-dismissable-layer@1.1.19': + resolution: {integrity: sha512-8g4pfOL9HoKKLWGiypT+dphVqjFfmcXO5GBnhsG6zI+lxAx/8feQpr+1LSN8Re3hiZ+XkLNS4O9ztK11/LzQ6w==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-focus-guards@1.1.6': + resolution: {integrity: sha512-RNOJjfZMTyBM6xYmV3IVGXkPjIhcBAuv48POevAXwrGJhkWZ9p1rFoIS1JFooPuT193AZmRsCPhpoVJxx6OPoQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-focus-scope@1.1.16': + resolution: {integrity: sha512-wmRZ2WWLvmt6KHy2rNPOdPUjwq5xOHY02+m+udwJTn0aNIox/rkskAvJTyTLGhPK6KgrUjlJUJpgmx/+wFiFIQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-id@1.1.4': + resolution: {integrity: sha512-TMQp2llA+RYn7JcjnrMnz7wN4pcVttPZnRZo52PLQsoLVKzNlVwUeHmfePgTgRluXFvlD3GD5g5MOVVTJCO0qA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-navigation-menu@1.2.22': + resolution: {integrity: sha512-ou7iLEJ+yrhQndkkA4U21XIdS/CS45F4iXIkTZcb6/Ne9EMsOuDudVmCwmDnfFZZ+y1FZqXRNSIgBy+YMvZVZg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-popover@1.1.23': + resolution: {integrity: sha512-mw58MrBlyHWFisTOYignD0vf/3gdcgAR+9of1s9G/38CbFiUwH1nCDkc0AUM9IrXFgN5Ue8n45j9WCgyM1sbiQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-popper@1.3.7': + resolution: {integrity: sha512-UsJrrd7w4wuKKTdvd/DNERVlwSlUcyXzjhyDwBk+3aPOsCjOY6ZSbxuw8E6lZTjjfP8Cpd0J8VVkrYUWyGYXyg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-portal@1.1.17': + resolution: {integrity: sha512-vKQLcWypUnwZVvfV7UkGahH2g6ySe8M8R+zYBwPrv5byZ9QAW6cQVvNKo7GgmD+p8aYb6D9JBuvy8/WhOno2wQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-presence@1.1.10': + resolution: {integrity: sha512-3wyzCQ6+ubRA+D4uv9m95JYLXxmOHp05qjrkjeA7uKHHtjpPggQzc6DAb0URl7j67oR0K2foO4ip27TiX037Bw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-primitive@2.1.10': + resolution: {integrity: sha512-MucOnzh6hR5mid6VpkbglRAMYMjKLqRnGBbjXkzjK52fuQDd1qbkx78a5P40mkcnVXJdEVxm26E9OPAiUq7nBg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-roving-focus@1.1.19': + resolution: {integrity: sha512-V9jI6hDjT7l3jsCQD9bLNvDLM3tH/gdbOTp7Tefp3hbbgCGQoK7tUvrWiRlcoBHIZ809ElXwNQwVo0B98LuTXQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-scroll-area@1.2.18': + resolution: {integrity: sha512-Zn5Cd171wxsO3Dfg8HaW6RifTb9CYTKQJHs/G4+LN1GfmJpaQMZQyQxMprVPHpaz7QY4l9BxK2JwQuzHsXC8nA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-slot@1.3.3': + resolution: {integrity: sha512-qx7oqnYbxnK9kYI9m317qmFmEgo6ywqWvbTogdj7cL9p3/yx4M48p7Rnw5z3H890cL/ow/EeWJsuTykeZVXP5Q==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-tabs@1.1.21': + resolution: {integrity: sha512-UKxJlZid7FVtsk/WTxj4i4uSEgj2Au+KBbS7SQyTlzMhhn+86Cz3tISZdTa87bfEfcuvZezf2ZsxD4xuEKtkog==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-use-callback-ref@1.1.4': + resolution: {integrity: sha512-R6OUY2e2fA6Yn6s+VSx5KBV6Nx8LQEhu+cz7LCej18rQ1HLyg9PSC9jP/ZNx0o6FAIK9c0F1kHylzSxKsdlkrQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-controllable-state@1.2.6': + resolution: {integrity: sha512-uEQJGT97ZA/TgP/Hydw47lHu+/vQj6z/0jA+WeTbK1o9Rx45GImjpD0tc3W5ad3D6XTSR6e1yEO0FvGq6WQfVQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-effect-event@0.0.5': + resolution: {integrity: sha512-7cshFL8HGS/7HEiHH+9kL9HBwp2sa9yX18Knwek6KYWmXwM7pegMgta2AXMQKI+rq3JnfSj9x8wYqFMTdG1Jgg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-is-hydrated@0.1.3': + resolution: {integrity: sha512-umO/aJ+82CpOnhDZUTbILCQf7kU/g0iv+oGs/Q8jw7IkhWBzaEP4sA268PhFAJTFetbwp3ICc6ktpI4TqtxcIw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-layout-effect@1.1.4': + resolution: {integrity: sha512-K20DkRkUwDnxEYMBPcg3Y6voLkEy5p5QQmszZgLngKKiC7dzBR/aEuK3w1qlx2JWDUNH6FluahYdgR3BP+QbYw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-previous@1.1.4': + resolution: {integrity: sha512-XoSLhbRbqxFtgJoi2fNHA3C6pDlY34x508vUpUGoFZfvePfHXHbE1lC4FYFMnJWgiCRroSTw6fOsXQoVS9RwZg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-rect@1.1.4': + resolution: {integrity: sha512-cSOCh6JlkmfjLyNcLiu2nB4v+nm+dkZ+Q5KHWk/soo4U7ZLiEQFKHK9/YmtBHjfCEaU43IBKQOc4/uJmCaiCTQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-size@1.1.4': + resolution: {integrity: sha512-D3anSY15EJoxrihpsXI6SMrmmonnQtR2ni7arO+Lfdg3O95b9hNXxONk8jA5C8ANdF/h5HMAxejgs8PWJ6rlhw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-visually-hidden@1.2.11': + resolution: {integrity: sha512-NFS86RYYZb4/exihaESBGOpMJFz8MGLAfu3mOBSGByVnVPC9JPASfYubxd/8KbkQK0sYAv8lVQDEQukDX/qXvQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/rect@1.1.3': + resolution: {integrity: sha512-JtyZR+mqgBibTo8xea3B6ZRmzZiM/YeVBtUkas6zMuXjAlfIFIW2FgqeM9eLyvEaYX66vr6DJMK+4U6LV0KhNw==} + + '@shikijs/core@4.4.3': + resolution: {integrity: sha512-QCR4q2ZO/ILJEuwiBMel4wdcTDb1JGwfjKTxPDF6x8ixOaluPrVqIn06C99AcRPhmYlBR56d/Fb+GN58GzExpg==} + engines: {node: '>=20'} + + '@shikijs/engine-javascript@4.4.3': + resolution: {integrity: sha512-FbOjFJp9VLdo1Wevs10BBtVxiTWwNLqZh5Gkhjgda/ioL15YOgeSl9n+6XMa3qRlPQzfhFNe641SrynFHYG0nQ==} + engines: {node: '>=20'} + + '@shikijs/engine-oniguruma@4.4.3': + resolution: {integrity: sha512-EcOQkxdxGQrc1Row/cC2c96/v1dbZqGnEVu1qTuT/MJmp6+cXCvQussowVmCv5Tqr3KuY3c7IbM6HTW3LJ1k9w==} + engines: {node: '>=20'} + + '@shikijs/langs@4.4.3': + resolution: {integrity: sha512-ePic0yfAJGOF83D5wBHK/00EjK65oahBYxFk5epgq33WRv7X9UuxLEV8PtR0szC0z8dl7INIpIodB99JRFlR+A==} + engines: {node: '>=20'} + + '@shikijs/primitive@4.4.3': + resolution: {integrity: sha512-m0wBeLDQDeIxRdUmrCPdQqfuUamDwRL5isCfYbguKD6NiaKpVbsv+3J81DyIKgNW5h4WAIIr8T4EkgQrBBxvaQ==} + engines: {node: '>=20'} + + '@shikijs/themes@4.4.3': + resolution: {integrity: sha512-w8UHjeUnIR965KMWJHUPXOc2mNJUnK3vpVLYLvw5IYU2mnTTJ89E24OrJDBNiJDQ0qzb0tc4l7mrIXx5cFeIyw==} + engines: {node: '>=20'} + + '@shikijs/types@4.4.3': + resolution: {integrity: sha512-UEJxmRR++MAGR6hugn0vgVS2W/6lWAts84FFSrnlH9sP0LNol7E5+NQ792pH8liWUhyMyjhTgSUH3k7iD7tc5g==} + engines: {node: '>=20'} + + '@shikijs/vscode-textmate@10.0.2': + resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} + + '@standard-schema/spec@1.1.0': + resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} + + '@swc/helpers@0.5.23': + resolution: {integrity: sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw==} + + '@tailwindcss/node@4.3.3': + resolution: {integrity: sha512-/T8IKEsf9VTU6tLjgC7+sv2mOPtQxzE2jMw7u4Tt40Tx+QSZxpzh95/H6cMKoja9XuW7iMdLJYBB0o9G1CaAgg==} + + '@tailwindcss/oxide-android-arm64@4.3.3': + resolution: {integrity: sha512-Y85A2gmPSkl5Ve5qR86GL4HT509cFqQh1aes9p3sSkyTPwt0Pppf3GkwGe4JPACcRYjgJIEhQgM6dBClnr0NYw==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [android] + + '@tailwindcss/oxide-darwin-arm64@4.3.3': + resolution: {integrity: sha512-BiaWatpBcERQFDlOjRDpIVXuFK5PJez5SA4JMg6VYZdBYU+qKfV/vqjcIs+IYmtitf1xYQZTwXvU/8y4lfZUGw==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [darwin] + + '@tailwindcss/oxide-darwin-x64@4.3.3': + resolution: {integrity: sha512-fAeUqfV5ndhxRwai8cXGzdLvul9utWOmeTkv69unv4ZXixjn61Z+p9lCWdwOwA3TYboG3BwdVuN/RDjhBRl0mw==} + engines: {node: '>= 20'} + cpu: [x64] + os: [darwin] + + '@tailwindcss/oxide-freebsd-x64@4.3.3': + resolution: {integrity: sha512-iyf5bV6+wnAlflVeEy7R25dupxTNECZN5QMI0qNT6eT+EgaGdZcKhGkr5SdoaWiLJ3spLqIY9VCeSGrwmtg4kw==} + engines: {node: '>= 20'} + cpu: [x64] + os: [freebsd] + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.3': + resolution: {integrity: sha512-aAYUprJAJQWWbRrPvtjdroZ56Md+JM8pMiopS6xGEwDfLhqj+2ver2p4nU4Mb3CRqcMmNBjo8KkUgcxhkzVQGQ==} + engines: {node: '>= 20'} + cpu: [arm] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-gnu@4.3.3': + resolution: {integrity: sha512-nDxldcEENOxZRzC2uu9jrutZdAAQtb+8WWDCSnWL1zvBk1+FN+x6MtDViPB5AJMfttVCUhehGWus3XBPgatM/w==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@tailwindcss/oxide-linux-arm64-musl@4.3.3': + resolution: {integrity: sha512-Md44bD6veX/PC5iyF8cDVnw4HBIANZepRZZ7a8DQOvkfo5WUBwcp6iAuCUz23u+4SUkhJlD3eL7hNdW8ezd/kA==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@tailwindcss/oxide-linux-x64-gnu@4.3.3': + resolution: {integrity: sha512-tx7us1muwOKAKWao2v/GaafFeQboE6aj88vC6ziN2NCGcRm8gWUhwjzg+YdVB1e4boAtdtma4L43onunI6NS4w==} + engines: {node: '>= 20'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@tailwindcss/oxide-linux-x64-musl@4.3.3': + resolution: {integrity: sha512-SJxX60smvHgasZoBy11dX6YRjXJFovwWBoedhbQPOBzgFWBHGB+TVPWB9BxzR7TTxU8FQZAI2AyiNCMzFm8Img==} + engines: {node: '>= 20'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@tailwindcss/oxide-wasm32-wasi@4.3.3': + resolution: {integrity: sha512-jx1+rPhY/5Ympkktd656HBWEBLxP7dH06losBLjjf5vgCODXvi9KhtftWcMIwTFIDqBr7cRnQkdLnAG+IOlGvQ==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + bundledDependencies: + - '@napi-rs/wasm-runtime' + - '@emnapi/core' + - '@emnapi/runtime' + - '@tybys/wasm-util' + - '@emnapi/wasi-threads' + - tslib + + '@tailwindcss/oxide-win32-arm64-msvc@4.3.3': + resolution: {integrity: sha512-3rc292Ca2ceK6Ulcc/bAVnTs/3nDtoPhyEKlgPv+yQJQi/JS/AMJlqzxvlDacL1nekbrcf6bTqp/jV4qgnPxNQ==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [win32] + + '@tailwindcss/oxide-win32-x64-msvc@4.3.3': + resolution: {integrity: sha512-yJ0pwIVc/nYeGoV02WtsN8KYyLQv7kyI2wDnkezyJlGGjkd4QLwDGAwl47YpPJeuI0M0ObaXGSPjvWDPeTPggw==} + engines: {node: '>= 20'} + cpu: [x64] + os: [win32] + + '@tailwindcss/oxide@4.3.3': + resolution: {integrity: sha512-krXjAikiaFSPaK/FkAQT5UTx3VormQaiZ5hBFlJZ9UFQGB/rwg1MZIhHAG9smMQRTdyJxP6Qt5MwMtdyU5FWrA==} + engines: {node: '>= 20'} + + '@tailwindcss/postcss@4.3.3': + resolution: {integrity: sha512-JTSZZGQi1AyKirbLN3azmjVzef92tcX7h+iSqPdaeStyFpGpDlKvvpxeOE8njhbUanbRwr3z8DyzhICWnMtQeg==} + + '@types/debug@4.1.13': + resolution: {integrity: sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==} + + '@types/estree-jsx@1.0.5': + resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} + + '@types/estree@1.0.9': + resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} + + '@types/hast@3.0.5': + resolution: {integrity: sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g==} + + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + + '@types/mdx@2.0.14': + resolution: {integrity: sha512-T48PeuJtvLosNTPVhfnIp3i/n3a4g4Bad7YCq5k64D4u7NwDrAotikQ+5+sjtUvBmxCMlbo3dVL+C2dP0rWHzg==} + + '@types/ms@2.1.0': + resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} + + '@types/node@22.20.4': + resolution: {integrity: sha512-zJRE40jpHtKqE/C4fgHrAKQLJuSpzEnP9ff9Y7YtoR3Wd2pwqzlekDeEuUQXjRd+QCYnVnNwuJYmhdk9XV8gvA==} + + '@types/react-dom@19.3.0': + resolution: {integrity: sha512-ZI7bU42mZXXKHn/qNLEw2IrbiINU7X5+vfgdixBHkCNpYWXjKgfQ/P+uyGb5CjOLB9UcnTeg3rylQtV2hym44Q==} + peerDependencies: + '@types/react': ^19.3.0 + + '@types/react@19.3.0': + resolution: {integrity: sha512-N0rFCuH9YoxG9/m61l9MfpJKfmLOVU0em7ipIz6TRgSSkvReLB9vL85GB+yr8Bs5leqpvg96JSwF4ZS1s4viQg==} + + '@types/unist@2.0.11': + resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} + + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + + '@ungap/structured-clone@1.4.0': + resolution: {integrity: sha512-1mEZtMKPM09vDmQt5y7YvmN2+DFTP7Tg0EWXdic8/C6VRnpb33e4ghisCIE3WZjsE2N8mf+QV1Zqh7ZFYLWInQ==} + + '@yuku-analyzer/binding-android-arm64@0.10.2': + resolution: {integrity: sha512-xt4Vy3RTBw1NfszBlf4A0Rr6ZjA/th2Pj9XlWFLQHW9A1qOCtxNCoIWSzn/INtnZLMB4jO2gWdEtSaHUtK73wA==} + cpu: [arm64] + os: [android] + + '@yuku-analyzer/binding-darwin-arm64@0.10.2': + resolution: {integrity: sha512-ftokSqvYXZxfmA/bfIbp8c1BJ8QxNax371kUOQNFyvR5hmtKqQyTqSKtMk+WaixHM3w4tKj/JdyY+ud1bGamXA==} + cpu: [arm64] + os: [darwin] + + '@yuku-analyzer/binding-darwin-x64@0.10.2': + resolution: {integrity: sha512-yUrmmhmF5R4Xmbfo8gUxJKr3YbvbLcE2JvLhDLzFJkMN29/fGm6K3dZX6YpNecfgBDnQ+VywGp8K9xjRaBFZ3Q==} + cpu: [x64] + os: [darwin] + + '@yuku-analyzer/binding-freebsd-x64@0.10.2': + resolution: {integrity: sha512-cy9+KvVoK5Xad3Vs5pLwAeZf3JC/1y0XJElgv1q6g7W7g/n52FRjedpYmQiJeMZdnhJiAshq7Vz/Xj3jC5Ns2Q==} + cpu: [x64] + os: [freebsd] + + '@yuku-analyzer/binding-linux-arm-gnu@0.10.2': + resolution: {integrity: sha512-AgVZ6VCV2XP4yHCwyv78KLV76gcu2neiEF2+RBTPQN7sqYY+bLvMxphGPmfG+9qk5Uf1PJAhZYIUnMGVbbRCZw==} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@yuku-analyzer/binding-linux-arm-musl@0.10.2': + resolution: {integrity: sha512-5qAj2GjoSN6+HuH75+g5r40CFhWmMvH0K8VKWmPfQyOgA/LonoDMr5H5O5feJwzdnfdCytPDAh1RAf7/SSg7dg==} + cpu: [arm] + os: [linux] + libc: [musl] + + '@yuku-analyzer/binding-linux-arm64-gnu@0.10.2': + resolution: {integrity: sha512-eJvQ4Ja5oPf/HOjmBkCLYyhOHUkL7U+iMAN8sX44x8exBBpPRyqnhEgTsuU73HzxPLrGPdRhybFnAE63Omib/Q==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@yuku-analyzer/binding-linux-arm64-musl@0.10.2': + resolution: {integrity: sha512-TppF2j194mOQ/kBXvNr9u5TYO+eR9r8ieg4lTIEyJIVYHAR9GWeB0oFHLcJiLXVa3qUJGzE4bmzSntCW5ylA7A==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@yuku-analyzer/binding-linux-x64-gnu@0.10.2': + resolution: {integrity: sha512-03xu6ocJuwhm1a/JKmrHiaJUO1Oj86rABsm4FAl8AvfewfW/9idIUmPiFxZfb6RfiIONegebsTGJhFx0NbBNpA==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@yuku-analyzer/binding-linux-x64-musl@0.10.2': + resolution: {integrity: sha512-f7W2sAWWQN8x8YB0RRxIche7mLImH7lDgzUy9+B69cM2I6VFJ4a5+0pgAuMLROPOqimaxFPdXqLdDE/vpgGltg==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@yuku-analyzer/binding-win32-arm64@0.10.2': + resolution: {integrity: sha512-f534qNc5YaJI29e1oryxEnxPkp7WCYJ1j7ChSec8pQNlYqTm8Tao7hij7NxRF+9BuxzeZCZ+WsbaAfLlklR0Eg==} + cpu: [arm64] + os: [win32] + + '@yuku-analyzer/binding-win32-x64@0.10.2': + resolution: {integrity: sha512-sKHkmLK8BsindMfyIThoN0bWC5uqSJEVNaLRD/ifA99mtb0UDin1ZCg4WYSVQAmM4k2iOTl4UZx/p3zcBiBgYw==} + cpu: [x64] + os: [win32] + + '@yuku-toolchain/types@0.10.2': + resolution: {integrity: sha512-sSeo4SSSToiS+sSD+bwn/s94EEcaLJ7tG5LCp8gFYC1G5VzxzX7fqB6m9RU1yMD8KTpu6zdU/I1NlQf8hVBJ9Q==} + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn@8.18.0: + resolution: {integrity: sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==} + engines: {node: '>=0.4.0'} + hasBin: true + + aria-hidden@1.2.6: + resolution: {integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==} + engines: {node: '>=10'} + + astring@1.9.0: + resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} + hasBin: true + + bail@2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + + baseline-browser-mapping@2.11.26: + resolution: {integrity: sha512-GLQdD3y6UF8iVuMJl5fHgE4jdn/ua7n+toKfLgNlg3BqQtOZjpy68T8Tup8/wGWZCDlm7KMg7tPb4MPn7oN0TQ==} + engines: {node: '>=6.0.0'} + hasBin: true + + caniuse-lite@1.0.30001812: + resolution: {integrity: sha512-qN+QNNBr93TCmFrmte0bBCjSDMuRvt78VlHT99qIGPszm4QsqCX8lnyWUFkHi8B7ZBAPq8SH+UqyXNy/odMdng==} + + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + + character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + + character-reference-invalid@2.0.1: + resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} + + chokidar@5.0.0: + resolution: {integrity: sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==} + engines: {node: '>= 20.19.0'} + + class-variance-authority@0.7.1: + resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==} + + client-only@0.0.1: + resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} + + clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} + + cn@0.3.3: + resolution: {integrity: sha512-OEiyJkSpYm2kOuNOKQ+c2wmzZRG8orrb9fnObtHTbCGNx/E9KLnGcmcocItOzREKk5KzQN5I2e3BUCj563KEpw==} + engines: {node: '>=20'} + hasBin: true + + collapse-white-space@2.1.0: + resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} + + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + + compute-scroll-into-view@3.1.1: + resolution: {integrity: sha512-VRhuHOLoKYOy4UbilLbUzbYg93XLjv2PncJC50EuTWPA3gaja1UjBsUP/D/9/juV3vQFr6XBEzn9KCAHdUvOHw==} + + csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} + + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decode-named-character-reference@1.3.0: + resolution: {integrity: sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==} + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + detect-libc@2.1.2: + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} + engines: {node: '>=8'} + + detect-node-es@1.1.0: + resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} + + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + + enhanced-resolve@5.25.1: + resolution: {integrity: sha512-nGXts5znJzmWPu+mIE9izCOzdg63oJca2mDzGWWTth7sr4aCToKcoyFVBQwN75Ij5Pf6p510EwkTqViTRzDV+w==} + engines: {node: '>=10.13.0'} + + entities@6.0.1: + resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} + engines: {node: '>=0.12'} + + esast-util-from-estree@2.0.0: + resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==} + + esast-util-from-js@2.0.1: + resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==} + + esbuild@0.28.2: + resolution: {integrity: sha512-HKVLS8dvII+xoKW9kmqxbRKrnWEXfJJr/FZhhJmiqIB0e053QNYFqOBouTMO/k5sID4MvCiUCvv8b9M4h32wIA==} + engines: {node: '>=18'} + hasBin: true + + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + + estree-util-attach-comments@3.0.0: + resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==} + + estree-util-build-jsx@3.0.1: + resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==} + + estree-util-is-identifier-name@3.0.0: + resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} + + estree-util-scope@1.0.1: + resolution: {integrity: sha512-B0np3dcdxqILX5e9nEi5/Fr4K7gL4oYFVPV1zRa2e9wRCbQoZZNWOZFYyoInvXUPJXBXjss+QXlWLJChDEHDkA==} + + estree-util-to-js@2.0.0: + resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} + + estree-util-value-to-estree@3.5.0: + resolution: {integrity: sha512-aMV56R27Gv3QmfmF1MY12GWkGzzeAezAX+UplqHVASfjc9wNzI/X6hC0S9oxq61WT4aQesLGslWP9tKk6ghRZQ==} + + estree-util-visit@2.0.0: + resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + framer-motion@13.4.4: + resolution: {integrity: sha512-lbsZO95NGbulo6apz70zEt6Vxf/anoRwQI2ECEc/EQYWO5CGbITtl7plDW8P/VXgXw6e8wrbhH4a9i+ygke0Mg==} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + + fumadocs-core@16.15.14: + resolution: {integrity: sha512-2Jov3x/wCkz8C8MWpmWHoWyLn+pBNrER49m35qqAV0OZekVE8mgs71TS6OfgJHzO00jICkIB+NFhv/XQx/yf/Q==} + peerDependencies: + '@mdx-js/mdx': '*' + '@mixedbread/sdk': 0.x.x + '@modelcontextprotocol/server': 2.x.x + '@orama/core': 1.x.x + '@oramacloud/client': 2.x.x + '@tanstack/react-router': 1.x.x + '@types/estree-jsx': '*' + '@types/hast': '*' + '@types/mdast': '*' + '@types/react': '*' + algoliasearch: 5.x.x + flexsearch: '*' + lucide-react: '*' + next: 16.x.x + react: ^19.2.0 + react-dom: ^19.2.0 + react-router: 7.x.x || 8.x.x + waku: '*' + zod: 4.x.x + peerDependenciesMeta: + '@mdx-js/mdx': + optional: true + '@mixedbread/sdk': + optional: true + '@modelcontextprotocol/server': + optional: true + '@orama/core': + optional: true + '@oramacloud/client': + optional: true + '@tanstack/react-router': + optional: true + '@types/estree-jsx': + optional: true + '@types/hast': + optional: true + '@types/mdast': + optional: true + '@types/react': + optional: true + algoliasearch: + optional: true + flexsearch: + optional: true + lucide-react: + optional: true + next: + optional: true + react: + optional: true + react-dom: + optional: true + react-router: + optional: true + waku: + optional: true + zod: + optional: true + + fumadocs-mdx@15.4.5: + resolution: {integrity: sha512-r8gzaqleN+YXgPIbkYSZ05zr89dsr67/64Ar/00Uu7dRWTIHzbgmN1nC0lB8RFNeWnrL41bOTJilhLM4PAsrbw==} + hasBin: true + peerDependencies: + '@fumadocs/satteri': 0.x.x + '@types/mdast': '*' + '@types/mdx': '*' + '@types/react': '*' + fumadocs-core: ^16.15.3 + mdast-util-directive: '*' + next: ^15.3.0 || ^16.0.0 + react: ^19.2.0 + rolldown: '*' + satteri: ^0.10.5 + vite: 7.x.x || 8.x.x + peerDependenciesMeta: + '@fumadocs/satteri': + optional: true + '@types/mdast': + optional: true + '@types/mdx': + optional: true + '@types/react': + optional: true + mdast-util-directive: + optional: true + next: + optional: true + react: + optional: true + rolldown: + optional: true + satteri: + optional: true + vite: + optional: true + + fumadocs-ui@16.15.14: + resolution: {integrity: sha512-yYnun6im7eBK3gMrErl69QRt+C7/KV5exZFFnoOnRx3HRi9WwAgPtAhwNhFIx1gAYLioSaSjP12+ZrpH9x2b7w==} + peerDependencies: + '@types/mdx': '*' + '@types/react': '*' + fumadocs-core: 16.15.14 + next: 16.x.x + react: ^19.2.0 + react-dom: ^19.2.0 + takumi-js: '*' + peerDependenciesMeta: + '@types/mdx': + optional: true + '@types/react': + optional: true + next: + optional: true + takumi-js: + optional: true + + get-nonce@1.0.1: + resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} + engines: {node: '>=6'} + + github-slugger@2.0.0: + resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + hast-util-from-parse5@8.0.3: + resolution: {integrity: sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==} + + hast-util-parse-selector@4.0.0: + resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} + + hast-util-raw@9.1.0: + resolution: {integrity: sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==} + + hast-util-to-estree@3.1.3: + resolution: {integrity: sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==} + + hast-util-to-html@9.0.5: + resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==} + + hast-util-to-jsx-runtime@2.3.6: + resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==} + + hast-util-to-parse5@8.0.1: + resolution: {integrity: sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==} + + hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + + hastscript@9.0.1: + resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==} + + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + + inline-style-parser@0.2.7: + resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==} + + is-alphabetical@2.0.1: + resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} + + is-alphanumerical@2.0.1: + resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} + + is-decimal@2.0.1: + resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} + + is-hexadecimal@2.0.1: + resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} + + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + + jiti@2.7.0: + resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==} + hasBin: true + + lightningcss-android-arm64@1.32.0: + resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [android] + + lightningcss-darwin-arm64@1.32.0: + resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + + lightningcss-darwin-x64@1.32.0: + resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-freebsd-x64@1.32.0: + resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-linux-arm-gnueabihf@1.32.0: + resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm64-gnu@1.32.0: + resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + lightningcss-linux-arm64-musl@1.32.0: + resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [musl] + + lightningcss-linux-x64-gnu@1.32.0: + resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [glibc] + + lightningcss-linux-x64-musl@1.32.0: + resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [musl] + + lightningcss-win32-arm64-msvc@1.32.0: + resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-x64-msvc@1.32.0: + resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss@1.32.0: + resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==} + engines: {node: '>= 12.0.0'} + + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + + lucide-react@1.48.0: + resolution: {integrity: sha512-R0CIKY/fXiC6y9xRBADgsK+VW2p/pcTJOMhLZf1T+uG+vJUvyUR02nGOgmIIC7MPkiNK4Ox8QDnbqF8rJYWPZQ==} + peerDependencies: + react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + + magic-string@1.4.2: + resolution: {integrity: sha512-vG+rjFRj1PqdIBozIxAGMjPlOhaVe+GXpbttY/iSK7rGcJRMlwNJO7dcUwmUqkymsFLJiNGI06t4D7Fr7yRC9g==} + + markdown-extensions@2.0.0: + resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} + engines: {node: '>=16'} + + markdown-table@3.0.4: + resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} + + mdast-util-find-and-replace@3.0.2: + resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} + + mdast-util-from-markdown@2.0.3: + resolution: {integrity: sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==} + + mdast-util-gfm-autolink-literal@2.0.1: + resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} + + mdast-util-gfm-footnote@2.1.0: + resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==} + + mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} + + mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} + + mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} + + mdast-util-gfm@3.1.0: + resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==} + + mdast-util-mdx-expression@2.0.1: + resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==} + + mdast-util-mdx-jsx@3.2.0: + resolution: {integrity: sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==} + + mdast-util-mdx@3.0.0: + resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==} + + mdast-util-mdxjs-esm@2.0.1: + resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} + + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + + mdast-util-to-hast@13.2.1: + resolution: {integrity: sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==} + + mdast-util-to-markdown@2.1.2: + resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} + + mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + + micromark-core-commonmark@2.0.4: + resolution: {integrity: sha512-wxEeE8v8XVvOrxn1TZj74qYhAtTQsSqufHVS3uNVyT1MupXxhyaHk8/9xDNPh9BmL77QNDgWTkZ3RsYHB2ry7w==} + + micromark-extension-gfm-autolink-literal@2.1.0: + resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} + + micromark-extension-gfm-footnote@2.1.0: + resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} + + micromark-extension-gfm-strikethrough@2.1.0: + resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} + + micromark-extension-gfm-table@2.1.2: + resolution: {integrity: sha512-pRzm4kDTu0MjlmBkxmS9yYhw60nncfcEwu9NNdPFSQEFXS95ZKyIIyTSHu/o3ReBUrLKYEq+7YaXCRn/bPB4MA==} + + micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} + + micromark-extension-gfm-task-list-item@2.1.0: + resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} + + micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + + micromark-extension-mdx-expression@3.0.1: + resolution: {integrity: sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==} + + micromark-extension-mdx-jsx@3.0.2: + resolution: {integrity: sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==} + + micromark-extension-mdx-md@2.0.0: + resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==} + + micromark-extension-mdxjs-esm@3.0.0: + resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==} + + micromark-extension-mdxjs@3.0.0: + resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==} + + micromark-factory-destination@2.0.1: + resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} + + micromark-factory-label@2.0.1: + resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} + + micromark-factory-mdx-expression@2.0.3: + resolution: {integrity: sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==} + + micromark-factory-space@2.1.0: + resolution: {integrity: sha512-fS8hnLIjnjvdQIj39Geug8wWsR0HrYZ43KShKxNfwT7t2LOHo/LbWZEzEaSOjwtjdCsjoE6syHhonEzW0zv0+Q==} + + micromark-factory-title@2.0.1: + resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==} + + micromark-factory-whitespace@2.0.1: + resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} + + micromark-util-character@2.1.1: + resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} + + micromark-util-chunked@2.0.1: + resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==} + + micromark-util-classify-character@2.0.1: + resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==} + + micromark-util-combine-extensions@2.0.1: + resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==} + + micromark-util-decode-numeric-character-reference@2.0.2: + resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==} + + micromark-util-decode-string@2.0.1: + resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==} + + micromark-util-edit-map@1.0.0: + resolution: {integrity: sha512-Pa2ljlsEL6sVwFaYeyrOLSYbQt73JvGbPOYFq+9AElXiSnfI5Q4465RRZ1sHv7lDjDOnGRDDaqPXqClqWK/q1Q==} + + micromark-util-encode@2.0.1: + resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} + + micromark-util-events-to-acorn@2.0.3: + resolution: {integrity: sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==} + + micromark-util-html-tag-name@2.0.1: + resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} + + micromark-util-normalize-identifier@2.0.1: + resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==} + + micromark-util-resolve-all@2.0.1: + resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==} + + micromark-util-sanitize-uri@2.0.1: + resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} + + micromark-util-subtokenize@2.1.0: + resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==} + + micromark-util-symbol@2.0.1: + resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} + + micromark-util-types@2.0.3: + resolution: {integrity: sha512-oxB2Ik03hI0gv+VNn9tnh1t1YEe9MDPptViAEgfdf3YQHsn0pzGTgCdlSCJXcwhqm8phaEuM7zeEu3QQzVBrPg==} + + micromark@4.0.3: + resolution: {integrity: sha512-oGYfQzHSG5dOMovQcJ3fyTmZlWAWpi0XA0sJwJs+i6OT88o1+Jtw/8z0CmdowSLxGhhFK89rQ/oXph/wN02PNw==} + + motion-dom@13.4.4: + resolution: {integrity: sha512-z2qN3RUABSci4G7cr5aHTFhqPNCWJsEMMfRlzxqtANQsSCIbVJmHvMV288m5x7doEQBTYbRTWbKdztmquCn4Sw==} + + motion-utils@13.3.0: + resolution: {integrity: sha512-sgSschQp7EseHInIlR7hBbMuvet3RA0bs28KPZAXJcGKGdxHGvh1ogpYDilY3bOMtl73EqPNmp75sAKHYPU5sg==} + + motion@13.4.4: + resolution: {integrity: sha512-lyX5kpAum2MmigecKWrFdIj3Sjn7pHek2EUrXY0WGZbOjJ1f5NfX0g4KQAb2Bp2EqL0a6dUzse11s1n7OYr5jg==} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + nanoid@3.3.19: + resolution: {integrity: sha512-Y2tUNy4ouw6tq5oDSKeQYGOyhkUBhNOcGV/02KC+6kd9eDGqdZd++mjMiIDilrBYvjEnCYvVtsuHCuP+okSfug==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + next-themes@0.4.6: + resolution: {integrity: sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==} + peerDependencies: + react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc + react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc + + next@16.3.6: + resolution: {integrity: sha512-L+otWM/aQbYTx98aZhgEoMb4bZAXx1YVW4UMA/vuCyCoWG5HJyZUili8QAkqzrcC+5///tsz3s0M+SlyB5bLMw==} + engines: {node: '>=20.9.0'} + hasBin: true + peerDependencies: + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.51.1 + babel-plugin-react-compiler: '*' + react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 + react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 + sass: ^1.3.0 + peerDependenciesMeta: + '@opentelemetry/api': + optional: true + '@playwright/test': + optional: true + babel-plugin-react-compiler: + optional: true + sass: + optional: true + + npm-to-yarn@3.2.0: + resolution: {integrity: sha512-K1HmQeZT2HrjpsR6KgqbN2FAXL2NrJJmNUSD9ck7HGTVu1JKXox8n9SB+tjbU8m8JGLF4OscrroPepew/L7/Xw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + oniguruma-parser@0.12.2: + resolution: {integrity: sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw==} + + oniguruma-to-es@4.3.6: + resolution: {integrity: sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==} + + parse-entities@4.0.2: + resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} + + parse5@7.3.0: + resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@4.0.7: + resolution: {integrity: sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==} + engines: {node: '>=12'} + + postcss@8.5.23: + resolution: {integrity: sha512-g50586zr4bZmwFiTlflMu8E0bDTb5I5gertgwAKmsdUlTQIhZtunzUlD1WSzwcVWPoAVpsrA6vlfCD7oXvRwgg==} + engines: {node: ^10 || ^12 || >=14} + + postcss@8.5.28: + resolution: {integrity: sha512-RRuzqDtt5Y9h3quz5hWhK+TPnsmVs6WwSU6LkJMeY4HstUEDuYTG8UJSdawMRzmzAtV+KEoG8N3Qg2qLy5vM/A==} + engines: {node: ^10 || ^12 || >=14} + + property-information@7.2.0: + resolution: {integrity: sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==} + + react-dom@19.3.0: + resolution: {integrity: sha512-JDk8dgif51OjFoDE70+OT9ICyYr+69HlmihNwp1+Nsfbna3t5sIiCa9ZJktDmQ4/1b/rn26hIAR2uYXDMr5r0Q==} + peerDependencies: + react: ^19.3.0 + + react-remove-scroll-bar@2.3.8: + resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + react-remove-scroll@2.7.2: + resolution: {integrity: sha512-Iqb9NjCCTt6Hf+vOdNIZGdTiH1QSqr27H/Ek9sv/a97gfueI/5h1s3yRi1nngzMUaOOToin5dI1dXKdXiF+u0Q==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + react-style-singleton@2.2.3: + resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + react@19.3.0: + resolution: {integrity: sha512-E8LUcbtBWt20bbl2YoHfx4ZDBdxVTfOKtCZn9cDSJ4l6/nuoApcpIBcj47t2wZoVX8g2ZHuMHbiShgCR1T5Sog==} + engines: {node: '>=0.10.0'} + + readdirp@5.1.1: + resolution: {integrity: sha512-Kko+Y5XQ6fM+Ce3dq3m9YGxnacYZYl9cA1wZjaF3Vbry2L3i1qVg8+CAgNPsXRArPMUMCaOR7oa9Nqntc43JKA==} + engines: {node: '>= 20.19.0'} + + recma-build-jsx@1.0.0: + resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} + + recma-jsx@1.0.1: + resolution: {integrity: sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + recma-parse@1.0.0: + resolution: {integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==} + + recma-stringify@1.0.0: + resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==} + + regex-recursion@6.0.2: + resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==} + + regex-utilities@2.3.0: + resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} + + regex@6.1.0: + resolution: {integrity: sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==} + + rehype-raw@7.0.0: + resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} + + rehype-recma@1.0.0: + resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==} + + remark-gfm@4.0.1: + resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==} + + remark-mdx@3.1.1: + resolution: {integrity: sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==} + + remark-parse@11.0.0: + resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} + + remark-rehype@11.1.2: + resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==} + + remark-stringify@11.0.0: + resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} + + remark@15.0.1: + resolution: {integrity: sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A==} + + scheduler@0.28.0: + resolution: {integrity: sha512-juorfCmIkIw8tT+p5BXSm6PJjQF/ycEYmKyzURCIt/RaZIhL+PulbQ9Yu2z1HdOJDdqDTlxA1+xKBmHXJsczAw==} + + scroll-into-view-if-needed@3.1.0: + resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==} + + semver@7.8.5: + resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} + engines: {node: '>=10'} + hasBin: true + + sharp@0.35.4: + resolution: {integrity: sha512-n++8XWcj+jCOr2IOl7h8LbKnGBDY4aPbmprMONBNFdn0ImXqpGVv5zliDs0V9HbmbCQLpbuo2ej9rAoOQTvMDA==} + engines: {node: '>=20.9.0'} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + + shiki@4.4.3: + resolution: {integrity: sha512-Mb/GvXPHBAXdgGIcnfU5L3ldpn1XcxrGkPHwqgRx17/I2XRfqlFKk2vGkHWINn1kdXvzJZeuO3is6I9KLPFm0g==} + engines: {node: '>=20'} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + source-map@0.7.6: + resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} + engines: {node: '>= 12'} + + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + + style-to-js@1.1.21: + resolution: {integrity: sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==} + + style-to-object@1.0.14: + resolution: {integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==} + + styled-jsx@5.1.6: + resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==} + engines: {node: '>= 12.0.0'} + peerDependencies: + '@babel/core': '*' + babel-plugin-macros: '*' + react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0' + peerDependenciesMeta: + '@babel/core': + optional: true + babel-plugin-macros: + optional: true + + tailwindcss@4.3.3: + resolution: {integrity: sha512-gOhV3P7ufE62QDGg1zVaTgCR+EtPv92k2nIhVcVKcLmxT1sUBsQGhnZj175j+MqRt4zLF7ic+sCYjfhxMxj7YQ==} + + tapable@2.3.3: + resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==} + engines: {node: '>=6'} + + tinyexec@1.3.1: + resolution: {integrity: sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA==} + engines: {node: '>=18'} + + tinyglobby@0.2.17: + resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} + engines: {node: '>=12.0.0'} + + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + + trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + engines: {node: '>=14.17'} + hasBin: true + + undici-types@6.21.0: + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + + unified@11.0.5: + resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} + + unist-util-is@6.0.1: + resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==} + + unist-util-position-from-estree@2.0.0: + resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} + + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + + unist-util-remove-position@5.0.0: + resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==} + + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-parents@6.0.2: + resolution: {integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==} + + unist-util-visit@5.1.0: + resolution: {integrity: sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==} + + use-callback-ref@1.3.3: + resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + use-sidecar@1.1.3: + resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + vfile-location@5.0.3: + resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} + + vfile-message@4.0.3: + resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==} + + vfile@6.0.3: + resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + + web-namespaces@2.0.1: + resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} + + yaml@2.9.1: + resolution: {integrity: sha512-3NxN8+78OdzbT7C/WjGsyfPAtJaN3FNDsWxv7Y7mcDsT/oOmgW8BpyQQFFBnvZE3j9Y2Sdz1ULFLezL7Eb2yFw==} + engines: {node: '>= 14.6'} + hasBin: true + + yuku-analyzer@0.10.2: + resolution: {integrity: sha512-UBRcDcZtIn14g88loZUZ123d6MOkc2hMTawUle5MkuWboowM90KbWHN3Zz+HfuS06sw935ygecBpcJlXHB/pOA==} + + yuku-ast@0.10.2: + resolution: {integrity: sha512-UnG9mA6giglCvSErft2/40TVFX750Sj1xgwddPLpG7J7rlr/P1wPADg9G2RK+d/1tNLtRVoLdMMOMVBB9561TQ==} + + zbsearch@4.0.0: + resolution: {integrity: sha512-gm4zfO31n2ZdruTTRQoWVWO4Q2+zrDt2GlrvIc+5JulRQNAm4IanCxER82vQ7Ug96FYkGqWUJBXFe1kGAcDWaQ==} + engines: {node: '>= 20.0.0'} + + zod@4.6.5: + resolution: {integrity: sha512-v5l/aFXZQeai4awLbOpSoHecE9UiMrnfx75tEXLjNonXVARxQ5mOeipTjROUchszUNCqnE+hqAMujRsRHsut2Q==} + + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + +snapshots: + + '@alloc/quick-lru@5.3.0': {} + + '@emnapi/runtime@1.11.3': + dependencies: + tslib: 2.8.1 + optional: true + + '@esbuild/aix-ppc64@0.28.2': + optional: true + + '@esbuild/android-arm64@0.28.2': + optional: true + + '@esbuild/android-arm@0.28.2': + optional: true + + '@esbuild/android-x64@0.28.2': + optional: true + + '@esbuild/darwin-arm64@0.28.2': + optional: true + + '@esbuild/darwin-x64@0.28.2': + optional: true + + '@esbuild/freebsd-arm64@0.28.2': + optional: true + + '@esbuild/freebsd-x64@0.28.2': + optional: true + + '@esbuild/linux-arm64@0.28.2': + optional: true + + '@esbuild/linux-arm@0.28.2': + optional: true + + '@esbuild/linux-ia32@0.28.2': + optional: true + + '@esbuild/linux-loong64@0.28.2': + optional: true + + '@esbuild/linux-mips64el@0.28.2': + optional: true + + '@esbuild/linux-ppc64@0.28.2': + optional: true + + '@esbuild/linux-riscv64@0.28.2': + optional: true + + '@esbuild/linux-s390x@0.28.2': + optional: true + + '@esbuild/linux-x64@0.28.2': + optional: true + + '@esbuild/netbsd-arm64@0.28.2': + optional: true + + '@esbuild/netbsd-x64@0.28.2': + optional: true + + '@esbuild/openbsd-arm64@0.28.2': + optional: true + + '@esbuild/openbsd-x64@0.28.2': + optional: true + + '@esbuild/openharmony-arm64@0.28.2': + optional: true + + '@esbuild/sunos-x64@0.28.2': + optional: true + + '@esbuild/win32-arm64@0.28.2': + optional: true + + '@esbuild/win32-ia32@0.28.2': + optional: true + + '@esbuild/win32-x64@0.28.2': + optional: true + + '@floating-ui/core@1.8.0': + dependencies: + '@floating-ui/utils': 0.2.12 + + '@floating-ui/dom@1.8.0': + dependencies: + '@floating-ui/core': 1.8.0 + '@floating-ui/utils': 0.2.12 + + '@floating-ui/react-dom@2.1.9(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@floating-ui/dom': 1.8.0 + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + + '@floating-ui/utils@0.2.12': {} + + '@fuma-translate/react@1.0.2(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + + '@fumadocs/tailwind@0.1.2(tailwindcss@4.3.3)': + optionalDependencies: + tailwindcss: 4.3.3 + + '@fumari/image-size@0.1.1': {} + + '@img/colour@1.1.0': + optional: true + + '@img/sharp-darwin-arm64@0.35.4': + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.3.3 + optional: true + + '@img/sharp-darwin-x64@0.35.4': + optionalDependencies: + '@img/sharp-libvips-darwin-x64': 1.3.3 + optional: true + + '@img/sharp-freebsd-wasm32@0.35.4': + dependencies: + '@img/sharp-wasm32': 0.35.4 + optional: true + + '@img/sharp-libvips-darwin-arm64@1.3.3': + optional: true + + '@img/sharp-libvips-darwin-x64@1.3.3': + optional: true + + '@img/sharp-libvips-linux-arm64@1.3.3': + optional: true + + '@img/sharp-libvips-linux-arm@1.3.3': + optional: true + + '@img/sharp-libvips-linux-ppc64@1.3.3': + optional: true + + '@img/sharp-libvips-linux-riscv64@1.3.3': + optional: true + + '@img/sharp-libvips-linux-s390x@1.3.3': + optional: true + + '@img/sharp-libvips-linux-x64@1.3.3': + optional: true + + '@img/sharp-libvips-linuxmusl-arm64@1.3.3': + optional: true + + '@img/sharp-libvips-linuxmusl-x64@1.3.3': + optional: true + + '@img/sharp-linux-arm64@0.35.4': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.3.3 + optional: true + + '@img/sharp-linux-arm@0.35.4': + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.3.3 + optional: true + + '@img/sharp-linux-ppc64@0.35.4': + optionalDependencies: + '@img/sharp-libvips-linux-ppc64': 1.3.3 + optional: true + + '@img/sharp-linux-riscv64@0.35.4': + optionalDependencies: + '@img/sharp-libvips-linux-riscv64': 1.3.3 + optional: true + + '@img/sharp-linux-s390x@0.35.4': + optionalDependencies: + '@img/sharp-libvips-linux-s390x': 1.3.3 + optional: true + + '@img/sharp-linux-x64@0.35.4': + optionalDependencies: + '@img/sharp-libvips-linux-x64': 1.3.3 + optional: true + + '@img/sharp-linuxmusl-arm64@0.35.4': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-arm64': 1.3.3 + optional: true + + '@img/sharp-linuxmusl-x64@0.35.4': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-x64': 1.3.3 + optional: true + + '@img/sharp-wasm32@0.35.4': + dependencies: + '@emnapi/runtime': 1.11.3 + optional: true + + '@img/sharp-webcontainers-wasm32@0.35.4': + dependencies: + '@img/sharp-wasm32': 0.35.4 + optional: true + + '@img/sharp-win32-arm64@0.35.4': + optional: true + + '@img/sharp-win32-ia32@0.35.4': + optional: true + + '@img/sharp-win32-x64@0.35.4': + optional: true + + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.6.0 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/sourcemap-codec@1.6.0': {} + + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.6.0 + + '@mdx-js/mdx@3.1.1': + dependencies: + '@types/estree': 1.0.9 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.5 + '@types/mdx': 2.0.14 + acorn: 8.18.0 + collapse-white-space: 2.1.0 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + estree-util-scope: 1.0.1 + estree-walker: 3.0.3 + hast-util-to-jsx-runtime: 2.3.6 + markdown-extensions: 2.0.0 + recma-build-jsx: 1.0.0 + recma-jsx: 1.0.1(acorn@8.18.0) + recma-stringify: 1.0.0 + rehype-recma: 1.0.0 + remark-mdx: 3.1.1 + remark-parse: 11.0.0 + remark-rehype: 11.1.2 + source-map: 0.7.6 + unified: 11.0.5 + unist-util-position-from-estree: 2.0.0 + unist-util-stringify-position: 4.0.0 + unist-util-visit: 5.1.0 + vfile: 6.0.3 + transitivePeerDependencies: + - supports-color + + '@next/env@16.3.6': {} + + '@next/swc-darwin-arm64@16.3.6': + optional: true + + '@next/swc-darwin-x64@16.3.6': + optional: true + + '@next/swc-linux-arm64-gnu@16.3.6': + optional: true + + '@next/swc-linux-arm64-musl@16.3.6': + optional: true + + '@next/swc-linux-x64-gnu@16.3.6': + optional: true + + '@next/swc-linux-x64-musl@16.3.6': + optional: true + + '@next/swc-win32-arm64-msvc@16.3.6': + optional: true + + '@next/swc-win32-x64-msvc@16.3.6': + optional: true + + '@radix-ui/number@1.1.3': {} + + '@radix-ui/primitive@1.1.7': {} + + '@radix-ui/react-accordion@1.2.20(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-collapsible': 1.1.20(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-collection': 1.1.15(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-direction': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-arrow@1.1.15(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-collapsible@1.1.20(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-presence': 1.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-collection@1.1.15(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-slot': 1.3.3(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-compose-refs@1.1.5(@types/react@19.3.0)(react@19.3.0)': + dependencies: + react: 19.3.0 + optionalDependencies: + '@types/react': 19.3.0 + + '@radix-ui/react-context@1.2.2(@types/react@19.3.0)(react@19.3.0)': + dependencies: + react: 19.3.0 + optionalDependencies: + '@types/react': 19.3.0 + + '@radix-ui/react-dialog@1.1.23(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-dismissable-layer': 1.1.19(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-focus-guards': 1.1.6(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-focus-scope': 1.1.16(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-portal': 1.1.17(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-presence': 1.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-slot': 1.3.3(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + aria-hidden: 1.2.6 + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + react-remove-scroll: 2.7.2(@types/react@19.3.0)(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-direction@1.1.4(@types/react@19.3.0)(react@19.3.0)': + dependencies: + react: 19.3.0 + optionalDependencies: + '@types/react': 19.3.0 + + '@radix-ui/react-dismissable-layer@1.1.19(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-callback-ref': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-effect-event': 0.0.5(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-focus-guards@1.1.6(@types/react@19.3.0)(react@19.3.0)': + dependencies: + react: 19.3.0 + optionalDependencies: + '@types/react': 19.3.0 + + '@radix-ui/react-focus-scope@1.1.16(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-callback-ref': 1.1.4(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-id@1.1.4(@types/react@19.3.0)(react@19.3.0)': + dependencies: + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + optionalDependencies: + '@types/react': 19.3.0 + + '@radix-ui/react-navigation-menu@1.2.22(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-collection': 1.1.15(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-direction': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-dismissable-layer': 1.1.19(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-presence': 1.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-callback-ref': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-previous': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-visually-hidden': 1.2.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-popover@1.1.23(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-dismissable-layer': 1.1.19(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-focus-guards': 1.1.6(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-focus-scope': 1.1.16(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-popper': 1.3.7(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-portal': 1.1.17(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-presence': 1.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-slot': 1.3.3(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) + aria-hidden: 1.2.6 + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + react-remove-scroll: 2.7.2(@types/react@19.3.0)(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-popper@1.3.7(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@floating-ui/react-dom': 2.1.9(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-arrow': 1.1.15(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-callback-ref': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-rect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-size': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/rect': 1.1.3 + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-portal@1.1.17(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-presence@1.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-primitive@2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/react-slot': 1.3.3(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-roving-focus@1.1.19(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-collection': 1.1.15(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-direction': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-callback-ref': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-is-hydrated': 0.1.3(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-scroll-area@1.2.18(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/number': 1.1.3 + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-direction': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-presence': 1.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-callback-ref': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-slot@1.3.3(@types/react@19.3.0)(react@19.3.0)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + optionalDependencies: + '@types/react': 19.3.0 + + '@radix-ui/react-tabs@1.1.21(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-direction': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-presence': 1.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-roving-focus': 1.1.19(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-use-callback-ref@1.1.4(@types/react@19.3.0)(react@19.3.0)': + dependencies: + react: 19.3.0 + optionalDependencies: + '@types/react': 19.3.0 + + '@radix-ui/react-use-controllable-state@1.2.6(@types/react@19.3.0)(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-use-effect-event': 0.0.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + optionalDependencies: + '@types/react': 19.3.0 + + '@radix-ui/react-use-effect-event@0.0.5(@types/react@19.3.0)(react@19.3.0)': + dependencies: + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + optionalDependencies: + '@types/react': 19.3.0 + + '@radix-ui/react-use-is-hydrated@0.1.3(@types/react@19.3.0)(react@19.3.0)': + dependencies: + react: 19.3.0 + optionalDependencies: + '@types/react': 19.3.0 + + '@radix-ui/react-use-layout-effect@1.1.4(@types/react@19.3.0)(react@19.3.0)': + dependencies: + react: 19.3.0 + optionalDependencies: + '@types/react': 19.3.0 + + '@radix-ui/react-use-previous@1.1.4(@types/react@19.3.0)(react@19.3.0)': + dependencies: + react: 19.3.0 + optionalDependencies: + '@types/react': 19.3.0 + + '@radix-ui/react-use-rect@1.1.4(@types/react@19.3.0)(react@19.3.0)': + dependencies: + '@radix-ui/rect': 1.1.3 + react: 19.3.0 + optionalDependencies: + '@types/react': 19.3.0 + + '@radix-ui/react-use-size@1.1.4(@types/react@19.3.0)(react@19.3.0)': + dependencies: + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + optionalDependencies: + '@types/react': 19.3.0 + + '@radix-ui/react-visually-hidden@1.2.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/rect@1.1.3': {} + + '@shikijs/core@4.4.3': + dependencies: + '@shikijs/primitive': 4.4.3 + '@shikijs/types': 4.4.3 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.5 + hast-util-to-html: 9.0.5 + + '@shikijs/engine-javascript@4.4.3': + dependencies: + '@shikijs/types': 4.4.3 + '@shikijs/vscode-textmate': 10.0.2 + oniguruma-to-es: 4.3.6 + + '@shikijs/engine-oniguruma@4.4.3': + dependencies: + '@shikijs/types': 4.4.3 + '@shikijs/vscode-textmate': 10.0.2 + + '@shikijs/langs@4.4.3': + dependencies: + '@shikijs/types': 4.4.3 + + '@shikijs/primitive@4.4.3': + dependencies: + '@shikijs/types': 4.4.3 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.5 + + '@shikijs/themes@4.4.3': + dependencies: + '@shikijs/types': 4.4.3 + + '@shikijs/types@4.4.3': + dependencies: + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.5 + + '@shikijs/vscode-textmate@10.0.2': {} + + '@standard-schema/spec@1.1.0': {} + + '@swc/helpers@0.5.23': + dependencies: + tslib: 2.8.1 + + '@tailwindcss/node@4.3.3': + dependencies: + '@jridgewell/remapping': 2.3.5 + enhanced-resolve: 5.25.1 + jiti: 2.7.0 + lightningcss: 1.32.0 + magic-string: 0.30.21 + source-map-js: 1.2.1 + tailwindcss: 4.3.3 + + '@tailwindcss/oxide-android-arm64@4.3.3': + optional: true + + '@tailwindcss/oxide-darwin-arm64@4.3.3': + optional: true + + '@tailwindcss/oxide-darwin-x64@4.3.3': + optional: true + + '@tailwindcss/oxide-freebsd-x64@4.3.3': + optional: true + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.3': + optional: true + + '@tailwindcss/oxide-linux-arm64-gnu@4.3.3': + optional: true + + '@tailwindcss/oxide-linux-arm64-musl@4.3.3': + optional: true + + '@tailwindcss/oxide-linux-x64-gnu@4.3.3': + optional: true + + '@tailwindcss/oxide-linux-x64-musl@4.3.3': + optional: true + + '@tailwindcss/oxide-wasm32-wasi@4.3.3': + optional: true + + '@tailwindcss/oxide-win32-arm64-msvc@4.3.3': + optional: true + + '@tailwindcss/oxide-win32-x64-msvc@4.3.3': + optional: true + + '@tailwindcss/oxide@4.3.3': + optionalDependencies: + '@tailwindcss/oxide-android-arm64': 4.3.3 + '@tailwindcss/oxide-darwin-arm64': 4.3.3 + '@tailwindcss/oxide-darwin-x64': 4.3.3 + '@tailwindcss/oxide-freebsd-x64': 4.3.3 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.3.3 + '@tailwindcss/oxide-linux-arm64-gnu': 4.3.3 + '@tailwindcss/oxide-linux-arm64-musl': 4.3.3 + '@tailwindcss/oxide-linux-x64-gnu': 4.3.3 + '@tailwindcss/oxide-linux-x64-musl': 4.3.3 + '@tailwindcss/oxide-wasm32-wasi': 4.3.3 + '@tailwindcss/oxide-win32-arm64-msvc': 4.3.3 + '@tailwindcss/oxide-win32-x64-msvc': 4.3.3 + + '@tailwindcss/postcss@4.3.3': + dependencies: + '@alloc/quick-lru': 5.3.0 + '@tailwindcss/node': 4.3.3 + '@tailwindcss/oxide': 4.3.3 + postcss: 8.5.28 + tailwindcss: 4.3.3 + + '@types/debug@4.1.13': + dependencies: + '@types/ms': 2.1.0 + + '@types/estree-jsx@1.0.5': + dependencies: + '@types/estree': 1.0.9 + + '@types/estree@1.0.9': {} + + '@types/hast@3.0.5': + dependencies: + '@types/unist': 3.0.3 + + '@types/mdast@4.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/mdx@2.0.14': {} + + '@types/ms@2.1.0': {} + + '@types/node@22.20.4': + dependencies: + undici-types: 6.21.0 + + '@types/react-dom@19.3.0(@types/react@19.3.0)': + dependencies: + '@types/react': 19.3.0 + + '@types/react@19.3.0': + dependencies: + csstype: 3.2.3 + + '@types/unist@2.0.11': {} + + '@types/unist@3.0.3': {} + + '@ungap/structured-clone@1.4.0': {} + + '@yuku-analyzer/binding-android-arm64@0.10.2': + optional: true + + '@yuku-analyzer/binding-darwin-arm64@0.10.2': + optional: true + + '@yuku-analyzer/binding-darwin-x64@0.10.2': + optional: true + + '@yuku-analyzer/binding-freebsd-x64@0.10.2': + optional: true + + '@yuku-analyzer/binding-linux-arm-gnu@0.10.2': + optional: true + + '@yuku-analyzer/binding-linux-arm-musl@0.10.2': + optional: true + + '@yuku-analyzer/binding-linux-arm64-gnu@0.10.2': + optional: true + + '@yuku-analyzer/binding-linux-arm64-musl@0.10.2': + optional: true + + '@yuku-analyzer/binding-linux-x64-gnu@0.10.2': + optional: true + + '@yuku-analyzer/binding-linux-x64-musl@0.10.2': + optional: true + + '@yuku-analyzer/binding-win32-arm64@0.10.2': + optional: true + + '@yuku-analyzer/binding-win32-x64@0.10.2': + optional: true + + '@yuku-toolchain/types@0.10.2': {} + + acorn-jsx@5.3.2(acorn@8.18.0): + dependencies: + acorn: 8.18.0 + + acorn@8.18.0: {} + + aria-hidden@1.2.6: + dependencies: + tslib: 2.8.1 + + astring@1.9.0: {} + + bail@2.0.2: {} + + baseline-browser-mapping@2.11.26: {} + + caniuse-lite@1.0.30001812: {} + + ccount@2.0.1: {} + + character-entities-html4@2.1.0: {} + + character-entities-legacy@3.0.0: {} + + character-entities@2.0.2: {} + + character-reference-invalid@2.0.1: {} + + chokidar@5.0.0: + dependencies: + readdirp: 5.1.1 + + class-variance-authority@0.7.1: + dependencies: + clsx: 2.1.1 + + client-only@0.0.1: {} + + clsx@2.1.1: {} + + cn@0.3.3: {} + + collapse-white-space@2.1.0: {} + + comma-separated-tokens@2.0.3: {} + + compute-scroll-into-view@3.1.1: {} + + csstype@3.2.3: {} + + debug@4.4.3: + dependencies: + ms: 2.1.3 + + decode-named-character-reference@1.3.0: + dependencies: + character-entities: 2.0.2 + + dequal@2.0.3: {} + + detect-libc@2.1.2: {} + + detect-node-es@1.1.0: {} + + devlop@1.1.0: + dependencies: + dequal: 2.0.3 + + enhanced-resolve@5.25.1: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.3.3 + + entities@6.0.1: {} + + esast-util-from-estree@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + unist-util-position-from-estree: 2.0.0 + + esast-util-from-js@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + acorn: 8.18.0 + esast-util-from-estree: 2.0.0 + vfile-message: 4.0.3 + + esbuild@0.28.2: + optionalDependencies: + '@esbuild/aix-ppc64': 0.28.2 + '@esbuild/android-arm': 0.28.2 + '@esbuild/android-arm64': 0.28.2 + '@esbuild/android-x64': 0.28.2 + '@esbuild/darwin-arm64': 0.28.2 + '@esbuild/darwin-x64': 0.28.2 + '@esbuild/freebsd-arm64': 0.28.2 + '@esbuild/freebsd-x64': 0.28.2 + '@esbuild/linux-arm': 0.28.2 + '@esbuild/linux-arm64': 0.28.2 + '@esbuild/linux-ia32': 0.28.2 + '@esbuild/linux-loong64': 0.28.2 + '@esbuild/linux-mips64el': 0.28.2 + '@esbuild/linux-ppc64': 0.28.2 + '@esbuild/linux-riscv64': 0.28.2 + '@esbuild/linux-s390x': 0.28.2 + '@esbuild/linux-x64': 0.28.2 + '@esbuild/netbsd-arm64': 0.28.2 + '@esbuild/netbsd-x64': 0.28.2 + '@esbuild/openbsd-arm64': 0.28.2 + '@esbuild/openbsd-x64': 0.28.2 + '@esbuild/openharmony-arm64': 0.28.2 + '@esbuild/sunos-x64': 0.28.2 + '@esbuild/win32-arm64': 0.28.2 + '@esbuild/win32-ia32': 0.28.2 + '@esbuild/win32-x64': 0.28.2 + + escape-string-regexp@5.0.0: {} + + estree-util-attach-comments@3.0.0: + dependencies: + '@types/estree': 1.0.9 + + estree-util-build-jsx@3.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + estree-walker: 3.0.3 + + estree-util-is-identifier-name@3.0.0: {} + + estree-util-scope@1.0.1: + dependencies: + '@types/estree': 1.0.9 + devlop: 1.1.0 + + estree-util-to-js@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + astring: 1.9.0 + source-map: 0.7.6 + + estree-util-value-to-estree@3.5.0: + dependencies: + '@types/estree': 1.0.9 + + estree-util-visit@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/unist': 3.0.3 + + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.9 + + extend@3.0.2: {} + + fdir@6.5.0(picomatch@4.0.7): + optionalDependencies: + picomatch: 4.0.7 + + framer-motion@13.4.4(react-dom@19.3.0(react@19.3.0))(react@19.3.0): + dependencies: + motion-dom: 13.4.4 + motion-utils: 13.3.0 + tslib: 2.8.1 + optionalDependencies: + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + + fumadocs-core@16.15.14(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.48.0(react@19.3.0))(next@16.3.6(@types/node@22.20.4)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(zod@4.6.5): + dependencies: + '@fumari/image-size': 0.1.1 + estree-util-value-to-estree: 3.5.0 + github-slugger: 2.0.0 + hast-util-to-estree: 3.1.3 + hast-util-to-jsx-runtime: 2.3.6 + mdast-util-mdx: 3.0.0 + mdast-util-to-markdown: 2.1.2 + npm-to-yarn: 3.2.0 + remark: 15.0.1 + remark-gfm: 4.0.1 + remark-rehype: 11.1.2 + scroll-into-view-if-needed: 3.1.0 + shiki: 4.4.3 + tinyglobby: 0.2.17 + unified: 11.0.5 + unist-util-visit: 5.1.0 + vfile: 6.0.3 + yaml: 2.9.1 + zbsearch: 4.0.0 + optionalDependencies: + '@mdx-js/mdx': 3.1.1 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.5 + '@types/mdast': 4.0.4 + '@types/react': 19.3.0 + lucide-react: 1.48.0(react@19.3.0) + next: 16.3.6(@types/node@22.20.4)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + zod: 4.6.5 + transitivePeerDependencies: + - supports-color + + fumadocs-mdx@15.4.5(@types/mdast@4.0.4)(@types/mdx@2.0.14)(@types/react@19.3.0)(fumadocs-core@16.15.14(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.48.0(react@19.3.0))(next@16.3.6(@types/node@22.20.4)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(zod@4.6.5))(next@16.3.6(@types/node@22.20.4)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react@19.3.0): + dependencies: + '@mdx-js/mdx': 3.1.1 + '@standard-schema/spec': 1.1.0 + chokidar: 5.0.0 + esbuild: 0.28.2 + estree-util-value-to-estree: 3.5.0 + fumadocs-core: 16.15.14(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.48.0(react@19.3.0))(next@16.3.6(@types/node@22.20.4)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(zod@4.6.5) + github-slugger: 2.0.0 + magic-string: 1.4.2 + mdast-util-mdx: 3.0.0 + picocolors: 1.1.1 + picomatch: 4.0.7 + tinyexec: 1.3.1 + tinyglobby: 0.2.17 + unified: 11.0.5 + unist-util-remove-position: 5.0.0 + unist-util-visit: 5.1.0 + vfile: 6.0.3 + yaml: 2.9.1 + yuku-analyzer: 0.10.2 + zod: 4.6.5 + optionalDependencies: + '@types/mdast': 4.0.4 + '@types/mdx': 2.0.14 + '@types/react': 19.3.0 + next: 16.3.6(@types/node@22.20.4)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + react: 19.3.0 + transitivePeerDependencies: + - supports-color + + fumadocs-ui@16.15.14(@types/mdx@2.0.14)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(fumadocs-core@16.15.14(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.48.0(react@19.3.0))(next@16.3.6(@types/node@22.20.4)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(zod@4.6.5))(next@16.3.6(@types/node@22.20.4)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(tailwindcss@4.3.3): + dependencies: + '@fuma-translate/react': 1.0.2(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@fumadocs/tailwind': 0.1.2(tailwindcss@4.3.3) + '@radix-ui/react-accordion': 1.2.20(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-collapsible': 1.1.20(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-dialog': 1.1.23(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-direction': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-navigation-menu': 1.2.22(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-popover': 1.1.23(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-presence': 1.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-scroll-area': 1.2.18(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-slot': 1.3.3(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-tabs': 1.1.21(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + class-variance-authority: 0.7.1 + cn: 0.3.3 + fumadocs-core: 16.15.14(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.48.0(react@19.3.0))(next@16.3.6(@types/node@22.20.4)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(zod@4.6.5) + lucide-react: 1.48.0(react@19.3.0) + motion: 13.4.4(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + next-themes: 0.4.6(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + react-remove-scroll: 2.7.2(@types/react@19.3.0)(react@19.3.0) + rehype-raw: 7.0.0 + scroll-into-view-if-needed: 3.1.0 + shiki: 4.4.3 + unist-util-visit: 5.1.0 + optionalDependencies: + '@types/mdx': 2.0.14 + '@types/react': 19.3.0 + next: 16.3.6(@types/node@22.20.4)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + transitivePeerDependencies: + - '@types/react-dom' + - tailwindcss + + get-nonce@1.0.1: {} + + github-slugger@2.0.0: {} + + graceful-fs@4.2.11: {} + + hast-util-from-parse5@8.0.3: + dependencies: + '@types/hast': 3.0.5 + '@types/unist': 3.0.3 + devlop: 1.1.0 + hastscript: 9.0.1 + property-information: 7.2.0 + vfile: 6.0.3 + vfile-location: 5.0.3 + web-namespaces: 2.0.1 + + hast-util-parse-selector@4.0.0: + dependencies: + '@types/hast': 3.0.5 + + hast-util-raw@9.1.0: + dependencies: + '@types/hast': 3.0.5 + '@types/unist': 3.0.3 + '@ungap/structured-clone': 1.4.0 + hast-util-from-parse5: 8.0.3 + hast-util-to-parse5: 8.0.1 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.1 + parse5: 7.3.0 + unist-util-position: 5.0.0 + unist-util-visit: 5.1.0 + vfile: 6.0.3 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-to-estree@3.1.3: + dependencies: + '@types/estree': 1.0.9 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.5 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-attach-comments: 3.0.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 7.2.0 + space-separated-tokens: 2.0.2 + style-to-js: 1.1.21 + unist-util-position: 5.0.0 + zwitch: 2.0.4 + transitivePeerDependencies: + - supports-color + + hast-util-to-html@9.0.5: + dependencies: + '@types/hast': 3.0.5 + '@types/unist': 3.0.3 + ccount: 2.0.1 + comma-separated-tokens: 2.0.3 + hast-util-whitespace: 3.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.1 + property-information: 7.2.0 + space-separated-tokens: 2.0.2 + stringify-entities: 4.0.4 + zwitch: 2.0.4 + + hast-util-to-jsx-runtime@2.3.6: + dependencies: + '@types/estree': 1.0.9 + '@types/hast': 3.0.5 + '@types/unist': 3.0.3 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 7.2.0 + space-separated-tokens: 2.0.2 + style-to-js: 1.1.21 + unist-util-position: 5.0.0 + vfile-message: 4.0.3 + transitivePeerDependencies: + - supports-color + + hast-util-to-parse5@8.0.1: + dependencies: + '@types/hast': 3.0.5 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + property-information: 7.2.0 + space-separated-tokens: 2.0.2 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-whitespace@3.0.0: + dependencies: + '@types/hast': 3.0.5 + + hastscript@9.0.1: + dependencies: + '@types/hast': 3.0.5 + comma-separated-tokens: 2.0.3 + hast-util-parse-selector: 4.0.0 + property-information: 7.2.0 + space-separated-tokens: 2.0.2 + + html-void-elements@3.0.0: {} + + inline-style-parser@0.2.7: {} + + is-alphabetical@2.0.1: {} + + is-alphanumerical@2.0.1: + dependencies: + is-alphabetical: 2.0.1 + is-decimal: 2.0.1 + + is-decimal@2.0.1: {} + + is-hexadecimal@2.0.1: {} + + is-plain-obj@4.1.0: {} + + jiti@2.7.0: {} + + lightningcss-android-arm64@1.32.0: + optional: true + + lightningcss-darwin-arm64@1.32.0: + optional: true + + lightningcss-darwin-x64@1.32.0: + optional: true + + lightningcss-freebsd-x64@1.32.0: + optional: true + + lightningcss-linux-arm-gnueabihf@1.32.0: + optional: true + + lightningcss-linux-arm64-gnu@1.32.0: + optional: true + + lightningcss-linux-arm64-musl@1.32.0: + optional: true + + lightningcss-linux-x64-gnu@1.32.0: + optional: true + + lightningcss-linux-x64-musl@1.32.0: + optional: true + + lightningcss-win32-arm64-msvc@1.32.0: + optional: true + + lightningcss-win32-x64-msvc@1.32.0: + optional: true + + lightningcss@1.32.0: + dependencies: + detect-libc: 2.1.2 + optionalDependencies: + lightningcss-android-arm64: 1.32.0 + lightningcss-darwin-arm64: 1.32.0 + lightningcss-darwin-x64: 1.32.0 + lightningcss-freebsd-x64: 1.32.0 + lightningcss-linux-arm-gnueabihf: 1.32.0 + lightningcss-linux-arm64-gnu: 1.32.0 + lightningcss-linux-arm64-musl: 1.32.0 + lightningcss-linux-x64-gnu: 1.32.0 + lightningcss-linux-x64-musl: 1.32.0 + lightningcss-win32-arm64-msvc: 1.32.0 + lightningcss-win32-x64-msvc: 1.32.0 + + longest-streak@3.1.0: {} + + lucide-react@1.48.0(react@19.3.0): + dependencies: + react: 19.3.0 + + magic-string@0.30.21: + dependencies: + '@jridgewell/sourcemap-codec': 1.6.0 + + magic-string@1.4.2: + dependencies: + '@jridgewell/sourcemap-codec': 1.6.0 + + markdown-extensions@2.0.0: {} + + markdown-table@3.0.4: {} + + mdast-util-find-and-replace@3.0.2: + dependencies: + '@types/mdast': 4.0.4 + escape-string-regexp: 5.0.0 + unist-util-is: 6.0.1 + unist-util-visit-parents: 6.0.2 + + mdast-util-from-markdown@2.0.3: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + decode-named-character-reference: 1.3.0 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.3 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-decode-string: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-autolink-literal@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.2 + micromark-util-character: 2.1.1 + + mdast-util-gfm-footnote@2.1.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + micromark-util-normalize-identifier: 2.0.1 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-strikethrough@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-table@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + markdown-table: 3.0.4 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-task-list-item@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm@3.1.0: + dependencies: + mdast-util-from-markdown: 2.0.3 + mdast-util-gfm-autolink-literal: 2.0.1 + mdast-util-gfm-footnote: 2.1.0 + mdast-util-gfm-strikethrough: 2.0.0 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx-expression@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.5 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx-jsx@3.2.0: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.5 + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + parse-entities: 4.0.2 + stringify-entities: 4.0.4 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.3 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx@3.0.0: + dependencies: + mdast-util-from-markdown: 2.0.3 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.2.0 + mdast-util-mdxjs-esm: 2.0.1 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdxjs-esm@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.5 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color + + mdast-util-phrasing@4.1.0: + dependencies: + '@types/mdast': 4.0.4 + unist-util-is: 6.0.1 + + mdast-util-to-hast@13.2.1: + dependencies: + '@types/hast': 3.0.5 + '@types/mdast': 4.0.4 + '@ungap/structured-clone': 1.4.0 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.1 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.1.0 + vfile: 6.0.3 + + mdast-util-to-markdown@2.1.2: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.1.0 + mdast-util-to-string: 4.0.0 + micromark-util-classify-character: 2.0.1 + micromark-util-decode-string: 2.0.1 + unist-util-visit: 5.1.0 + zwitch: 2.0.4 + + mdast-util-to-string@4.0.0: + dependencies: + '@types/mdast': 4.0.4 + + micromark-core-commonmark@2.0.4: + dependencies: + decode-named-character-reference: 1.3.0 + devlop: 1.1.0 + micromark-factory-destination: 2.0.1 + micromark-factory-label: 2.0.1 + micromark-factory-space: 2.1.0 + micromark-factory-title: 2.0.1 + micromark-factory-whitespace: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-edit-map: 1.0.0 + micromark-util-html-tag-name: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-subtokenize: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + + micromark-extension-gfm-autolink-literal@2.1.0: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + + micromark-extension-gfm-footnote@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-core-commonmark: 2.0.4 + micromark-factory-space: 2.1.0 + micromark-util-character: 2.1.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + + micromark-extension-gfm-strikethrough@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + + micromark-extension-gfm-table@2.1.2: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + + micromark-extension-gfm-tagfilter@2.0.0: + dependencies: + micromark-util-types: 2.0.3 + + micromark-extension-gfm-task-list-item@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + + micromark-extension-gfm@3.0.0: + dependencies: + micromark-extension-gfm-autolink-literal: 2.1.0 + micromark-extension-gfm-footnote: 2.1.0 + micromark-extension-gfm-strikethrough: 2.1.0 + micromark-extension-gfm-table: 2.1.2 + micromark-extension-gfm-tagfilter: 2.0.0 + micromark-extension-gfm-task-list-item: 2.1.0 + micromark-util-combine-extensions: 2.0.1 + micromark-util-types: 2.0.3 + + micromark-extension-mdx-expression@3.0.1: + dependencies: + '@types/estree': 1.0.9 + devlop: 1.1.0 + micromark-factory-mdx-expression: 2.0.3 + micromark-factory-space: 2.1.0 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + + micromark-extension-mdx-jsx@3.0.2: + dependencies: + '@types/estree': 1.0.9 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + micromark-factory-mdx-expression: 2.0.3 + micromark-factory-space: 2.1.0 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + vfile-message: 4.0.3 + + micromark-extension-mdx-md@2.0.0: + dependencies: + micromark-util-types: 2.0.3 + + micromark-extension-mdxjs-esm@3.0.0: + dependencies: + '@types/estree': 1.0.9 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.4 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.3 + + micromark-extension-mdxjs@3.0.0: + dependencies: + acorn: 8.18.0 + acorn-jsx: 5.3.2(acorn@8.18.0) + micromark-extension-mdx-expression: 3.0.1 + micromark-extension-mdx-jsx: 3.0.2 + micromark-extension-mdx-md: 2.0.0 + micromark-extension-mdxjs-esm: 3.0.0 + micromark-util-combine-extensions: 2.0.1 + micromark-util-types: 2.0.3 + + micromark-factory-destination@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + + micromark-factory-label@2.0.1: + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + + micromark-factory-mdx-expression@2.0.3: + dependencies: + '@types/estree': 1.0.9 + devlop: 1.1.0 + micromark-factory-space: 2.1.0 + micromark-util-character: 2.1.1 + micromark-util-events-to-acorn: 2.0.3 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.3 + + micromark-factory-space@2.1.0: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-types: 2.0.3 + + micromark-factory-title@2.0.1: + dependencies: + micromark-factory-space: 2.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + + micromark-factory-whitespace@2.0.1: + dependencies: + micromark-factory-space: 2.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + + micromark-util-character@2.1.1: + dependencies: + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + + micromark-util-chunked@2.0.1: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-classify-character@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + + micromark-util-combine-extensions@2.0.1: + dependencies: + micromark-util-chunked: 2.0.1 + micromark-util-types: 2.0.3 + + micromark-util-decode-numeric-character-reference@2.0.2: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-decode-string@2.0.1: + dependencies: + decode-named-character-reference: 1.3.0 + micromark-util-character: 2.1.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-symbol: 2.0.1 + + micromark-util-edit-map@1.0.0: + dependencies: + micromark-util-types: 2.0.3 + + micromark-util-encode@2.0.1: {} + + micromark-util-events-to-acorn@2.0.3: + dependencies: + '@types/estree': 1.0.9 + '@types/unist': 3.0.3 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + vfile-message: 4.0.3 + + micromark-util-html-tag-name@2.0.1: {} + + micromark-util-normalize-identifier@2.0.1: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-resolve-all@2.0.1: + dependencies: + micromark-util-types: 2.0.3 + + micromark-util-sanitize-uri@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-encode: 2.0.1 + micromark-util-symbol: 2.0.1 + + micromark-util-subtokenize@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + + micromark-util-symbol@2.0.1: {} + + micromark-util-types@2.0.3: {} + + micromark@4.0.3: + dependencies: + '@types/debug': 4.1.13 + debug: 4.4.3 + decode-named-character-reference: 1.3.0 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.4 + micromark-factory-space: 2.1.0 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-combine-extensions: 2.0.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-edit-map: 1.0.0 + micromark-util-encode: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-subtokenize: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.3 + transitivePeerDependencies: + - supports-color + + motion-dom@13.4.4: + dependencies: + motion-utils: 13.3.0 + + motion-utils@13.3.0: {} + + motion@13.4.4(react-dom@19.3.0(react@19.3.0))(react@19.3.0): + dependencies: + framer-motion: 13.4.4(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + tslib: 2.8.1 + optionalDependencies: + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + + ms@2.1.3: {} + + nanoid@3.3.19: {} + + next-themes@0.4.6(react-dom@19.3.0(react@19.3.0))(react@19.3.0): + dependencies: + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + + next@16.3.6(@types/node@22.20.4)(react-dom@19.3.0(react@19.3.0))(react@19.3.0): + dependencies: + '@next/env': 16.3.6 + '@swc/helpers': 0.5.23 + baseline-browser-mapping: 2.11.26 + caniuse-lite: 1.0.30001812 + postcss: 8.5.23 + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + styled-jsx: 5.1.6(react@19.3.0) + optionalDependencies: + '@next/swc-darwin-arm64': 16.3.6 + '@next/swc-darwin-x64': 16.3.6 + '@next/swc-linux-arm64-gnu': 16.3.6 + '@next/swc-linux-arm64-musl': 16.3.6 + '@next/swc-linux-x64-gnu': 16.3.6 + '@next/swc-linux-x64-musl': 16.3.6 + '@next/swc-win32-arm64-msvc': 16.3.6 + '@next/swc-win32-x64-msvc': 16.3.6 + sharp: 0.35.4(@types/node@22.20.4) + transitivePeerDependencies: + - '@babel/core' + - '@types/node' + - babel-plugin-macros + + npm-to-yarn@3.2.0: {} + + oniguruma-parser@0.12.2: {} + + oniguruma-to-es@4.3.6: + dependencies: + oniguruma-parser: 0.12.2 + regex: 6.1.0 + regex-recursion: 6.0.2 + + parse-entities@4.0.2: + dependencies: + '@types/unist': 2.0.11 + character-entities-legacy: 3.0.0 + character-reference-invalid: 2.0.1 + decode-named-character-reference: 1.3.0 + is-alphanumerical: 2.0.1 + is-decimal: 2.0.1 + is-hexadecimal: 2.0.1 + + parse5@7.3.0: + dependencies: + entities: 6.0.1 + + picocolors@1.1.1: {} + + picomatch@4.0.7: {} + + postcss@8.5.23: + dependencies: + nanoid: 3.3.19 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + postcss@8.5.28: + dependencies: + nanoid: 3.3.19 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + property-information@7.2.0: {} + + react-dom@19.3.0(react@19.3.0): + dependencies: + react: 19.3.0 + scheduler: 0.28.0 + + react-remove-scroll-bar@2.3.8(@types/react@19.3.0)(react@19.3.0): + dependencies: + react: 19.3.0 + react-style-singleton: 2.2.3(@types/react@19.3.0)(react@19.3.0) + tslib: 2.8.1 + optionalDependencies: + '@types/react': 19.3.0 + + react-remove-scroll@2.7.2(@types/react@19.3.0)(react@19.3.0): + dependencies: + react: 19.3.0 + react-remove-scroll-bar: 2.3.8(@types/react@19.3.0)(react@19.3.0) + react-style-singleton: 2.2.3(@types/react@19.3.0)(react@19.3.0) + tslib: 2.8.1 + use-callback-ref: 1.3.3(@types/react@19.3.0)(react@19.3.0) + use-sidecar: 1.1.3(@types/react@19.3.0)(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + + react-style-singleton@2.2.3(@types/react@19.3.0)(react@19.3.0): + dependencies: + get-nonce: 1.0.1 + react: 19.3.0 + tslib: 2.8.1 + optionalDependencies: + '@types/react': 19.3.0 + + react@19.3.0: {} + + readdirp@5.1.1: {} + + recma-build-jsx@1.0.0: + dependencies: + '@types/estree': 1.0.9 + estree-util-build-jsx: 3.0.1 + vfile: 6.0.3 + + recma-jsx@1.0.1(acorn@8.18.0): + dependencies: + acorn: 8.18.0 + acorn-jsx: 5.3.2(acorn@8.18.0) + estree-util-to-js: 2.0.0 + recma-parse: 1.0.0 + recma-stringify: 1.0.0 + unified: 11.0.5 + + recma-parse@1.0.0: + dependencies: + '@types/estree': 1.0.9 + esast-util-from-js: 2.0.1 + unified: 11.0.5 + vfile: 6.0.3 + + recma-stringify@1.0.0: + dependencies: + '@types/estree': 1.0.9 + estree-util-to-js: 2.0.0 + unified: 11.0.5 + vfile: 6.0.3 + + regex-recursion@6.0.2: + dependencies: + regex-utilities: 2.3.0 + + regex-utilities@2.3.0: {} + + regex@6.1.0: + dependencies: + regex-utilities: 2.3.0 + + rehype-raw@7.0.0: + dependencies: + '@types/hast': 3.0.5 + hast-util-raw: 9.1.0 + vfile: 6.0.3 + + rehype-recma@1.0.0: + dependencies: + '@types/estree': 1.0.9 + '@types/hast': 3.0.5 + hast-util-to-estree: 3.1.3 + transitivePeerDependencies: + - supports-color + + remark-gfm@4.0.1: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-gfm: 3.1.0 + micromark-extension-gfm: 3.0.0 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-mdx@3.1.1: + dependencies: + mdast-util-mdx: 3.0.0 + micromark-extension-mdxjs: 3.0.0 + transitivePeerDependencies: + - supports-color + + remark-parse@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.3 + micromark-util-types: 2.0.3 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-rehype@11.1.2: + dependencies: + '@types/hast': 3.0.5 + '@types/mdast': 4.0.4 + mdast-util-to-hast: 13.2.1 + unified: 11.0.5 + vfile: 6.0.3 + + remark-stringify@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-to-markdown: 2.1.2 + unified: 11.0.5 + + remark@15.0.1: + dependencies: + '@types/mdast': 4.0.4 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + scheduler@0.28.0: {} + + scroll-into-view-if-needed@3.1.0: + dependencies: + compute-scroll-into-view: 3.1.1 + + semver@7.8.5: + optional: true + + sharp@0.35.4(@types/node@22.20.4): + dependencies: + '@img/colour': 1.1.0 + detect-libc: 2.1.2 + semver: 7.8.5 + optionalDependencies: + '@img/sharp-darwin-arm64': 0.35.4 + '@img/sharp-darwin-x64': 0.35.4 + '@img/sharp-freebsd-wasm32': 0.35.4 + '@img/sharp-libvips-darwin-arm64': 1.3.3 + '@img/sharp-libvips-darwin-x64': 1.3.3 + '@img/sharp-libvips-linux-arm': 1.3.3 + '@img/sharp-libvips-linux-arm64': 1.3.3 + '@img/sharp-libvips-linux-ppc64': 1.3.3 + '@img/sharp-libvips-linux-riscv64': 1.3.3 + '@img/sharp-libvips-linux-s390x': 1.3.3 + '@img/sharp-libvips-linux-x64': 1.3.3 + '@img/sharp-libvips-linuxmusl-arm64': 1.3.3 + '@img/sharp-libvips-linuxmusl-x64': 1.3.3 + '@img/sharp-linux-arm': 0.35.4 + '@img/sharp-linux-arm64': 0.35.4 + '@img/sharp-linux-ppc64': 0.35.4 + '@img/sharp-linux-riscv64': 0.35.4 + '@img/sharp-linux-s390x': 0.35.4 + '@img/sharp-linux-x64': 0.35.4 + '@img/sharp-linuxmusl-arm64': 0.35.4 + '@img/sharp-linuxmusl-x64': 0.35.4 + '@img/sharp-webcontainers-wasm32': 0.35.4 + '@img/sharp-win32-arm64': 0.35.4 + '@img/sharp-win32-ia32': 0.35.4 + '@img/sharp-win32-x64': 0.35.4 + '@types/node': 22.20.4 + optional: true + + shiki@4.4.3: + dependencies: + '@shikijs/core': 4.4.3 + '@shikijs/engine-javascript': 4.4.3 + '@shikijs/engine-oniguruma': 4.4.3 + '@shikijs/langs': 4.4.3 + '@shikijs/themes': 4.4.3 + '@shikijs/types': 4.4.3 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.5 + + source-map-js@1.2.1: {} + + source-map@0.7.6: {} + + space-separated-tokens@2.0.2: {} + + stringify-entities@4.0.4: + dependencies: + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 + + style-to-js@1.1.21: + dependencies: + style-to-object: 1.0.14 + + style-to-object@1.0.14: + dependencies: + inline-style-parser: 0.2.7 + + styled-jsx@5.1.6(react@19.3.0): + dependencies: + client-only: 0.0.1 + react: 19.3.0 + + tailwindcss@4.3.3: {} + + tapable@2.3.3: {} + + tinyexec@1.3.1: {} + + tinyglobby@0.2.17: + dependencies: + fdir: 6.5.0(picomatch@4.0.7) + picomatch: 4.0.7 + + trim-lines@3.0.1: {} + + trough@2.2.0: {} + + tslib@2.8.1: {} + + typescript@5.9.3: {} + + undici-types@6.21.0: {} + + unified@11.0.5: + dependencies: + '@types/unist': 3.0.3 + bail: 2.0.2 + devlop: 1.1.0 + extend: 3.0.2 + is-plain-obj: 4.1.0 + trough: 2.2.0 + vfile: 6.0.3 + + unist-util-is@6.0.1: + dependencies: + '@types/unist': 3.0.3 + + unist-util-position-from-estree@2.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-position@5.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-remove-position@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-visit: 5.1.0 + + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-visit-parents@6.0.2: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.1 + + unist-util-visit@5.1.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.1 + unist-util-visit-parents: 6.0.2 + + use-callback-ref@1.3.3(@types/react@19.3.0)(react@19.3.0): + dependencies: + react: 19.3.0 + tslib: 2.8.1 + optionalDependencies: + '@types/react': 19.3.0 + + use-sidecar@1.1.3(@types/react@19.3.0)(react@19.3.0): + dependencies: + detect-node-es: 1.1.0 + react: 19.3.0 + tslib: 2.8.1 + optionalDependencies: + '@types/react': 19.3.0 + + vfile-location@5.0.3: + dependencies: + '@types/unist': 3.0.3 + vfile: 6.0.3 + + vfile-message@4.0.3: + dependencies: + '@types/unist': 3.0.3 + unist-util-stringify-position: 4.0.0 + + vfile@6.0.3: + dependencies: + '@types/unist': 3.0.3 + vfile-message: 4.0.3 + + web-namespaces@2.0.1: {} + + yaml@2.9.1: {} + + yuku-analyzer@0.10.2: + dependencies: + '@yuku-toolchain/types': 0.10.2 + yuku-ast: 0.10.2 + optionalDependencies: + '@yuku-analyzer/binding-android-arm64': 0.10.2 + '@yuku-analyzer/binding-darwin-arm64': 0.10.2 + '@yuku-analyzer/binding-darwin-x64': 0.10.2 + '@yuku-analyzer/binding-freebsd-x64': 0.10.2 + '@yuku-analyzer/binding-linux-arm-gnu': 0.10.2 + '@yuku-analyzer/binding-linux-arm-musl': 0.10.2 + '@yuku-analyzer/binding-linux-arm64-gnu': 0.10.2 + '@yuku-analyzer/binding-linux-arm64-musl': 0.10.2 + '@yuku-analyzer/binding-linux-x64-gnu': 0.10.2 + '@yuku-analyzer/binding-linux-x64-musl': 0.10.2 + '@yuku-analyzer/binding-win32-arm64': 0.10.2 + '@yuku-analyzer/binding-win32-x64': 0.10.2 + + yuku-ast@0.10.2: + dependencies: + '@yuku-toolchain/types': 0.10.2 + + zbsearch@4.0.0: {} + + zod@4.6.5: {} + + zwitch@2.0.4: {} diff --git a/docs/postcss.config.mjs b/docs/postcss.config.mjs new file mode 100644 index 0000000..d1840a7 --- /dev/null +++ b/docs/postcss.config.mjs @@ -0,0 +1 @@ +export default { plugins: { '@tailwindcss/postcss': {} } }; diff --git a/docs/public/examples/superstac.yml b/docs/public/examples/superstac.yml new file mode 100644 index 0000000..16766a0 --- /dev/null +++ b/docs/public/examples/superstac.yml @@ -0,0 +1,24 @@ +providers: [] + +catalogs: + - id: earth-search + url: https://earth-search.aws.element84.com/v1 + - id: microsoft + url: https://planetarycomputer.microsoft.com/api/stac/v1 + +settings: + health_check_strategy: hourly + healthy_status_code_range: [200, 299] + auto_fix_duplicate_catalog_id: true + auto_fix_duplicate_provider_id: true + log_level: info + logging_enabled: true + search_healthy_catalogs_only: true + deduplicate_items: true + unify_response: true + max_concurrent_catalogs: 8 + per_catalog_timeout_seconds: 30 + max_retry_attempts: 2 + retry_initial_backoff_ms: 100 + retry_max_backoff_ms: 2000 + max_items_per_catalog: 1000 diff --git a/docs/public/favicon.svg b/docs/public/favicon.svg new file mode 100644 index 0000000..e873084 --- /dev/null +++ b/docs/public/favicon.svg @@ -0,0 +1 @@ + diff --git a/docs/public/notebooks/superstac-python-quickstart.ipynb b/docs/public/notebooks/superstac-python-quickstart.ipynb new file mode 100644 index 0000000..a7d3d0c --- /dev/null +++ b/docs/public/notebooks/superstac-python-quickstart.ipynb @@ -0,0 +1,400 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "introduction", + "metadata": {}, + "source": [ + "# SuperSTAC — Many catalogs. One search.\n", + "\n", + "Search Sentinel-2 item metadata across **Earth Search** and **Microsoft Planetary Computer**, inspect the combined response, map scene footprints, and export GeoJSON. No API key or GPU is needed for these public metadata searches.\n", + "\n", + "**In Colab:** choose a standard Python CPU runtime, then run cells from top to bottom. You can upload this `.ipynb` using **File → Upload notebook**. In Jupyter, use a Python 3.9+ environment compatible with the current SuperSTAC wheel.\n", + "\n", + "This notebook describes SuperSTAC's current alpha API. Public catalogs and released package versions can change, so results and counts are not fixed. Internet access is required for package installation, catalog requests, and map tiles.\n", + "\n", + "[Python guide](https://spatialnode.com/superstac/docs/python/overview) · [Source repository](https://github.com/Spatialnode/superstac)" + ] + }, + { + "cell_type": "markdown", + "id": "installation-notes", + "metadata": {}, + "source": [ + "## 1. Install and import\n", + "\n", + "SuperSTAC provides the search engine. Pandas displays tables; Folium displays the map. The install cell targets the active notebook kernel.\n", + "\n", + "If a compatible wheel is unavailable, follow the repository's [source installation guide](https://github.com/Spatialnode/superstac/blob/main/docs/content/docs/start/installation.md). If you replace an already-imported version, restart the runtime before continuing. The version printed below helps when reporting an issue." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "install", + "metadata": {}, + "outputs": [], + "source": [ + "%pip install --quiet superstac pandas folium" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "imports", + "metadata": {}, + "outputs": [], + "source": [ + "import json\n", + "import platform\n", + "from importlib.metadata import version\n", + "from pathlib import Path\n", + "from zipfile import ZipFile\n", + "\n", + "import folium\n", + "import pandas as pd\n", + "from IPython.display import FileLink, display\n", + "from superstac import Client\n", + "\n", + "print(f\"Python {platform.python_version()}\")\n", + "print(f\"SuperSTAC {version('superstac')}\")" + ] + }, + { + "cell_type": "markdown", + "id": "query-notes", + "metadata": {}, + "source": [ + "## 2. Choose the catalogs and query\n", + "\n", + "The bounding box covers Luxembourg and its surroundings, in **[west, south, east, north] longitude/latitude degrees (EPSG:4326)**. Change it and the date interval to explore another area.\n", + "\n", + "`limit=5` is a **per-catalog cap**, so two catalogs can contribute up to ten items before deduplication. It is not a global limit, a count of every matching scene, or a guarantee of the newest or least cloudy scenes. Deduplication compares item IDs; the same observation with different IDs can remain in the output.\n", + "\n", + "For a short notebook session, each catalog disables its background health monitor. Startup health checks and collection discovery still run." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "configuration", + "metadata": {}, + "outputs": [], + "source": [ + "CATALOGS = [\n", + " {\n", + " \"id\": \"earth-search\",\n", + " \"url\": \"https://earth-search.aws.element84.com/v1\",\n", + " \"settings\": {\n", + " \"health_check_strategy\": \"hourly\",\n", + " \"healthy_status_code_range\": [200, 299],\n", + " \"enable_background_health_monitor\": False,\n", + " },\n", + " },\n", + " {\n", + " \"id\": \"microsoft\",\n", + " \"url\": \"https://planetarycomputer.microsoft.com/api/stac/v1\",\n", + " \"settings\": {\n", + " \"health_check_strategy\": \"hourly\",\n", + " \"healthy_status_code_range\": [200, 299],\n", + " \"enable_background_health_monitor\": False,\n", + " },\n", + " },\n", + "]\n", + "\n", + "QUERY = {\n", + " \"collections\": [\"sentinel-2-l2a\"],\n", + " \"bbox\": [6.0, 49.0, 7.0, 50.0],\n", + " \"datetime\": \"2024-01-01T00:00:00Z/2024-01-31T23:59:59Z\",\n", + " \"limit\": 5,\n", + "}\n", + "\n", + "SETTINGS = {\n", + " \"max_concurrent_catalogs\": 2,\n", + " \"per_catalog_timeout_seconds\": 30,\n", + " \"max_retry_attempts\": 2,\n", + " \"max_items_per_catalog\": 5,\n", + " \"deduplicate_items\": True,\n", + " \"unify_response\": True,\n", + "}\n", + "\n", + "print(json.dumps(QUERY, indent=2))" + ] + }, + { + "cell_type": "markdown", + "id": "search-notes", + "metadata": {}, + "source": [ + "## 3. Discover collections and run one federated search\n", + "\n", + "SuperSTAC starts the engine, discovers which catalogs advertise the collection, and searches the selected sources concurrently. Startup can take longer than the search itself; the per-catalog search timeout does not bound the entire startup process.\n", + "\n", + "The `finally` block closes the client even if discovery or search raises an exception. Results are materialized before shutdown and remain available to the later cells. To try a different query, edit the configuration above and rerun this cell and the result cells below." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "federated-search", + "metadata": {}, + "outputs": [], + "source": [ + "# Clear previous results so a failed rerun cannot accidentally reuse them.\n", + "search = None\n", + "items = []\n", + "metadata = {}\n", + "geojson = {\"type\": \"FeatureCollection\", \"features\": []}\n", + "\n", + "client = Client(catalogs=CATALOGS, settings=SETTINGS)\n", + "try:\n", + " available = client.list_collections()\n", + " selected = [entry for entry in available if entry[\"id\"] in QUERY[\"collections\"]]\n", + " print(\"Discovery: catalogs advertising the requested collection\")\n", + " display(pd.DataFrame(selected, columns=[\"id\", \"catalogs\"]))\n", + "\n", + " search = client.search(**QUERY)\n", + " items = search.items()\n", + " metadata = search.metadata\n", + " geojson = search.to_geojson()\n", + "finally:\n", + " client.shutdown()\n", + "\n", + "print(f\"Returned {search.matched()} items after aggregation.\")" + ] + }, + { + "cell_type": "markdown", + "id": "metadata-notes", + "metadata": {}, + "source": [ + "## 4. Check completeness before using the data\n", + "\n", + "A response can contain useful items and catalog failures at the same time. A healthy/capability filter can also exclude a catalog before execution without recording a search failure. Compare the configured catalog count, discovery table, and metadata rather than assuming every source was searched.\n", + "\n", + "`matched()` and `total_items` count returned items after aggregation, not all scenes available upstream. Python exposes ordinary item dictionaries and run-level metadata; it does not expose the Rust per-item `catalog_id` / `seen_in` provenance wrapper." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "inspect-metadata", + "metadata": {}, + "outputs": [], + "source": [ + "if search is None:\n", + " raise RuntimeError(\"Run the search cell successfully before inspecting results.\")\n", + "\n", + "print(json.dumps(metadata, indent=2))\n", + "\n", + "if metadata.get(\"catalogs_queried\", 0) < len(CATALOGS):\n", + " print(\"Some configured catalogs were not selected. Check discovery and catalog health.\")\n", + "for failure in metadata.get(\"failures\", []):\n", + " print(f\"Catalog failure: {failure['catalog_id']}: {failure['reason']}\")\n", + "if not items:\n", + " print(\"No items returned. Check failures and unsupported collections before widening the date range or area.\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "item-table", + "metadata": {}, + "outputs": [], + "source": [ + "rows = []\n", + "for item in items:\n", + " properties = item.get(\"properties\", {})\n", + " rows.append({\n", + " \"id\": item[\"id\"],\n", + " \"collection\": item.get(\"collection\"),\n", + " \"datetime\": properties.get(\"datetime\") or properties.get(\"start_datetime\"),\n", + " \"cloud_cover_percent\": properties.get(\"eo:cloud_cover\"),\n", + " \"asset_count\": len(item.get(\"assets\", {})),\n", + " })\n", + "\n", + "item_table = pd.DataFrame(rows, columns=[\n", + " \"id\", \"collection\", \"datetime\", \"cloud_cover_percent\", \"asset_count\",\n", + "])\n", + "display(item_table)" + ] + }, + { + "cell_type": "markdown", + "id": "map-notes", + "metadata": {}, + "source": [ + "## 5. Map the scene footprints\n", + "\n", + "The green rectangle is the search area; the blue polygons are returned scene footprints. A footprint can extend beyond the query area. Hover over a scene to inspect its ID. This displays metadata geometry over OpenStreetMap tiles, not satellite image pixels." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "footprint-map", + "metadata": {}, + "outputs": [], + "source": [ + "west, south, east, north = QUERY[\"bbox\"]\n", + "scene_map = folium.Map(\n", + " location=[(south + north) / 2, (west + east) / 2],\n", + " tiles=\"OpenStreetMap\",\n", + " zoom_start=7,\n", + ")\n", + "folium.Rectangle(\n", + " bounds=[[south, west], [north, east]],\n", + " color=\"#285d46\",\n", + " weight=3,\n", + " fill=False,\n", + " tooltip=\"Search area\",\n", + ").add_to(scene_map)\n", + "\n", + "# Keep the display layer small; the exported GeoJSON retains the full STAC items.\n", + "footprints = {\n", + " \"type\": \"FeatureCollection\",\n", + " \"features\": [\n", + " {\n", + " \"type\": \"Feature\",\n", + " \"geometry\": item[\"geometry\"],\n", + " \"properties\": {\"id\": item[\"id\"], \"collection\": item.get(\"collection\", \"\")},\n", + " }\n", + " for item in items if item.get(\"geometry\")\n", + " ],\n", + "}\n", + "if footprints[\"features\"]:\n", + " folium.GeoJson(\n", + " footprints,\n", + " name=\"Scene footprints\",\n", + " style_function=lambda feature: {\n", + " \"color\": \"#2563eb\", \"weight\": 2, \"fillOpacity\": 0.08,\n", + " },\n", + " tooltip=folium.GeoJsonTooltip(fields=[\"id\", \"collection\"]),\n", + " ).add_to(scene_map)\n", + "else:\n", + " print(\"No scene geometry to draw; showing the search area only.\")\n", + "\n", + "scene_map.fit_bounds([[south, west], [north, east]])\n", + "display(scene_map)" + ] + }, + { + "cell_type": "markdown", + "id": "asset-notes", + "metadata": {}, + "source": [ + "## 6. Inspect available assets\n", + "\n", + "A STAC item links to data assets. Listing them does not download imagery. Asset keys differ by provider; some URLs require provider-specific authentication or signing. This example does not sign Planetary Computer URLs or fetch image pixels." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "inspect-assets", + "metadata": {}, + "outputs": [], + "source": [ + "if items:\n", + " first_item = items[0]\n", + " print(f\"Assets for {first_item['id']}\")\n", + " display(pd.DataFrame([\n", + " {\"key\": key, \"type\": asset.get(\"type\"), \"roles\": asset.get(\"roles\", []), \"href\": asset.get(\"href\")}\n", + " for key, asset in first_item.get(\"assets\", {}).items()\n", + " ], columns=[\"key\", \"type\", \"roles\", \"href\"]))\n", + "else:\n", + " print(\"No returned item to inspect.\")" + ] + }, + { + "cell_type": "markdown", + "id": "export-notes", + "metadata": {}, + "source": [ + "## 7. Export and download\n", + "\n", + "Save full STAC items as a GeoJSON FeatureCollection, plus the search metadata and query separately. GeoJSON alone does not include the run-level failure counts. The map HTML uses online tiles and browser libraries when opened.\n", + "\n", + "The output directory and ZIP below are overwritten when this cell is rerun. In Colab, runtime files are temporary: download the ZIP to keep them." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "export-results", + "metadata": {}, + "outputs": [], + "source": [ + "if search is None:\n", + " raise RuntimeError(\"Run the search cell successfully before exporting.\")\n", + "\n", + "output_dir = Path(\"superstac-output\")\n", + "output_dir.mkdir(exist_ok=True)\n", + "exports = {\n", + " \"items.geojson\": geojson,\n", + " \"search-metadata.json\": metadata,\n", + " \"query.json\": {\"catalogs\": CATALOGS, \"settings\": SETTINGS, \"query\": QUERY},\n", + "}\n", + "for filename, value in exports.items():\n", + " (output_dir / filename).write_text(json.dumps(value, indent=2), encoding=\"utf-8\")\n", + "scene_map.save(str(output_dir / \"footprints.html\"))\n", + "\n", + "archive = Path(\"superstac-results.zip\")\n", + "with ZipFile(archive, \"w\") as bundle:\n", + " for filename in [*exports, \"footprints.html\"]:\n", + " bundle.write(output_dir / filename, arcname=filename)\n", + "print(f\"Saved {len(items)} items and search diagnostics to {archive.resolve()}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "download-results", + "metadata": {}, + "outputs": [], + "source": [ + "# Download in Colab, or display a file link in a local Jupyter notebook.\n", + "try:\n", + " from google.colab import files\n", + "except ImportError:\n", + " display(FileLink(str(archive)))\n", + "else:\n", + " files.download(str(archive))" + ] + }, + { + "cell_type": "markdown", + "id": "next-steps", + "metadata": {}, + "source": [ + "## Where to go next\n", + "\n", + "- Change the bounding box or month, then rerun from the configuration cell onward.\n", + "- Add another compatible STAC API to `CATALOGS` and inspect discovery before searching.\n", + "- Increase both `QUERY[\"limit\"]` and `SETTINGS[\"max_items_per_catalog\"]` to collect more items per catalog.\n", + "- Learn about [collection and asset aliases](https://spatialnode.com/superstac/docs/guides/aliases), the [async client](https://spatialnode.com/superstac/docs/python/async), and [current limitations](https://spatialnode.com/superstac/docs/reference/status).\n", + "\n", + "If a source is unavailable, inspect `metadata[\"failures\"]`, then rerun the search cell to create a fresh client and repeat startup checks. A successful search with zero results is different from a failed search. No specific scene IDs, source ordering, or duplicate counts are guaranteed." + ] + } + ], + "metadata": { + "colab": { + "name": "superstac-python-quickstart.ipynb", + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "pygments_lexer": "ipython3" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/public/powered-by-spatialnode-dark.svg b/docs/public/powered-by-spatialnode-dark.svg new file mode 100644 index 0000000..36817ef --- /dev/null +++ b/docs/public/powered-by-spatialnode-dark.svg @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/powered-by-spatialnode.svg b/docs/public/powered-by-spatialnode.svg new file mode 100644 index 0000000..b56913d --- /dev/null +++ b/docs/public/powered-by-spatialnode.svg @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/scripts/check-links.mjs b/docs/scripts/check-links.mjs new file mode 100644 index 0000000..3ebeb89 --- /dev/null +++ b/docs/scripts/check-links.mjs @@ -0,0 +1,53 @@ +import { readdir, readFile } from 'node:fs/promises'; + +const origin = process.env.DOCS_TEST_ORIGIN ?? 'http://127.0.0.1:3000'; +const base = '/superstac'; +const content = new URL('../content/docs/', import.meta.url); +const files = await readdir(content, { recursive: true }); +const routes = [base, ...files.filter((f) => /\.mdx?$/.test(f)).map((f) => { + const slug = f.replace(/\.mdx?$/, '').replace(/(^|\/)index$/, ''); + return `${base}/docs${slug ? `/${slug}` : ''}`; +})]; +const failures = []; +const resources = new Set([`${base}/favicon.svg`, `${base}/brand/superstac-logo.svg`, `${base}/brand/superstac-logo-dark.svg`, `${base}/examples/superstac.yml`, `${base}/sitemap.xml`]); +const documents = new Map(); +const anchors = []; +for (const route of routes) { + const res = await fetch(origin + route); + if (!res.ok) { failures.push(`${route}: ${res.status}`); continue; } + const html = await res.text(); + documents.set(route.replace(/\/$/, ''), html); + for (const match of html.matchAll(/(?:href|src)="([^"<>]+)"/g)) { + const value = match[1].replaceAll('&', '&'); + if (value.startsWith('data:') || value.startsWith('mailto:')) continue; + const url = new URL(value, origin + route); + if (url.origin !== new URL(origin).origin) continue; + if (!url.pathname.startsWith(`${base}/`) && url.pathname !== base) { + failures.push(`${route}: URL escaped basePath: ${value}`); continue; + } + resources.add(url.pathname + url.search); + if (url.hash) anchors.push([route, url.pathname.replace(/\/$/, ''), decodeURIComponent(url.hash.slice(1))]); + } + if (!html.includes(`https://spatialnode.com${route}`)) failures.push(`${route}: missing production canonical`); +} +for (const resource of resources) { + const res = await fetch(origin + resource); + if (!res.ok) failures.push(`${resource}: ${res.status}`); +} +for (const [from, route, id] of anchors) { + const html = documents.get(route); + if (html && !html.includes(`id="${id}"`)) failures.push(`${from}: missing anchor ${route}#${id}`); +} +const search = await fetch(`${origin}${base}/api/search?query=deduplication`); +if (!search.ok) failures.push(`search: ${search.status}`); +else { + const results = await search.json(); + if (!Array.isArray(results) || results.length === 0) failures.push('Search returned no results for deduplication'); +} +const notFound = await fetch(`${origin}${base}/docs/not-a-real-page`); +if (notFound.status !== 404) failures.push(`Missing page returned ${notFound.status}, expected 404`); +const sample = await readFile(new URL('../public/examples/superstac.yml', import.meta.url), 'utf8'); +const quickstart = await readFile(new URL('../content/docs/start/quickstart.mdx', import.meta.url), 'utf8'); +if (!quickstart.includes(sample.trim())) failures.push('Quickstart YAML drifted from downloadable sample'); +if (failures.length) { console.error(failures.join('\n')); process.exit(1); } +console.log(`Verified ${routes.length} pages, ${resources.size} linked routes/assets, anchors, canonical URLs, search, 404, and sample config consistency under ${base}.`); diff --git a/docs/scripts/deploy-coolify.sh b/docs/scripts/deploy-coolify.sh new file mode 100644 index 0000000..6ef2a04 --- /dev/null +++ b/docs/scripts/deploy-coolify.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash +set -euo pipefail + +: "${COOLIFY_DEPLOY_WEBHOOK:?}" +: "${COOLIFY_TOKEN:?}" + +# Only the authenticated deploy webhook is called: a deploy-only token is sufficient. +# Coolify pulls the fixed production image tag configured in its dashboard. +# Wait for the rollout in Coolify before requesting another production deployment. +response=$(curl --fail --silent --show-error --proto '=https' \ + --connect-timeout 10 --max-time 60 \ + --header "Authorization: Bearer $COOLIFY_TOKEN" \ + --request GET "$COOLIFY_DEPLOY_WEBHOOK") +deployment=$(jq -er '.deployments[0].deployment_uuid | select(type == "string" and length > 0)' <<< "$response") +[[ "$deployment" =~ ^[a-zA-Z0-9_-]+$ ]] || { echo 'Invalid deployment UUID' >&2; exit 1; } +message="Coolify queued deployment $deployment. Confirm rollout completion in Coolify." +echo "$message" +if [[ -n "${GITHUB_STEP_SUMMARY:-}" ]]; then + echo "$message" >> "$GITHUB_STEP_SUMMARY" +fi diff --git a/docs/scripts/sync-assets.mjs b/docs/scripts/sync-assets.mjs new file mode 100644 index 0000000..7e908dd --- /dev/null +++ b/docs/scripts/sync-assets.mjs @@ -0,0 +1,5 @@ +import { copyFile, mkdir } from 'node:fs/promises'; +await mkdir(new URL('../public/brand/', import.meta.url), { recursive: true }); +for (const name of ['superstac-logo.svg', 'superstac-logo-dark.svg']) { + await copyFile(new URL(`../assets/${name}`, import.meta.url), new URL(`../public/brand/${name}`, import.meta.url)); +} diff --git a/docs/source.config.ts b/docs/source.config.ts new file mode 100644 index 0000000..c483ff9 --- /dev/null +++ b/docs/source.config.ts @@ -0,0 +1,4 @@ +import { defineConfig, defineDocs } from 'fumadocs-mdx/config'; + +export const docs = defineDocs({ dir: 'content/docs' }); +export default defineConfig(); diff --git a/docs/tsconfig.json b/docs/tsconfig.json new file mode 100644 index 0000000..803331c --- /dev/null +++ b/docs/tsconfig.json @@ -0,0 +1,41 @@ +{ + "compilerOptions": { + "target": "ES2022", + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "react-jsx", + "incremental": true, + "plugins": [ + { + "name": "next" + } + ], + "paths": { + "@/*": [ + "./*" + ] + } + }, + "include": [ + "next-env.d.ts", + "**/*.ts", + "**/*.tsx", + ".next/types/**/*.ts", + ".next/dev/types/**/*.ts" + ], + "exclude": [ + "node_modules" + ] +} From 6a47188a4866388461143133399be603fa55e48b Mon Sep 17 00:00:00 2001 From: jeafreezy Date: Sun, 27 Sep 2026 10:29:39 +0200 Subject: [PATCH 6/7] chore: prepping for deployment --- .github/workflows/docs-deploy.yml | 111 +++++++++++++++++++++ Cargo.toml | 3 +- README.md | 34 +++++-- crates/cli/Cargo.toml | 1 + crates/cli/src/main.rs | 2 +- crates/config/Cargo.toml | 1 + crates/core/Cargo.toml | 1 + crates/engine/Cargo.toml | 1 + crates/python/Cargo.toml | 1 + crates/python/README.md | 25 ++++- crates/python/pyproject.toml | 5 +- crates/python/python/superstac/__init__.py | 2 +- crates/search/Cargo.toml | 1 + 13 files changed, 169 insertions(+), 19 deletions(-) create mode 100644 .github/workflows/docs-deploy.yml diff --git a/.github/workflows/docs-deploy.yml b/.github/workflows/docs-deploy.yml new file mode 100644 index 0000000..d024282 --- /dev/null +++ b/.github/workflows/docs-deploy.yml @@ -0,0 +1,111 @@ +name: Deploy docs + +on: + release: + types: [published] + workflow_dispatch: + inputs: + ref: + description: Git tag or commit to deploy (must contain the docs site) + required: true + type: string + +permissions: + contents: read + +# Serialize image publication and webhook calls. Coolify completes the rollout asynchronously. +# Configure its Docker Image application to pull ghcr.io//-docs:production. +concurrency: + group: docs-production + cancel-in-progress: false + +jobs: + deploy: + runs-on: ubuntu-latest + timeout-minutes: 45 + environment: + name: docs-production + url: https://spatialnode.com/superstac + permissions: + contents: read + packages: write + steps: + - uses: actions/checkout@v4 + with: + ref: ${{ github.event_name == 'release' && github.event.release.tag_name || inputs.ref }} + persist-credentials: false + + - name: Check deployment configuration + env: + COOLIFY_DEPLOY_WEBHOOK: ${{ vars.COOLIFY_DEPLOY_WEBHOOK }} + COOLIFY_TOKEN: ${{ secrets.COOLIFY_TOKEN }} + run: | + : "${COOLIFY_DEPLOY_WEBHOOK:?Set the docs-production COOLIFY_DEPLOY_WEBHOOK variable}" + : "${COOLIFY_TOKEN:?Set the docs-production COOLIFY_TOKEN secret}" + + - name: Name the image + id: image + run: | + image="ghcr.io/${GITHUB_REPOSITORY,,}-docs" + revision="$(git rev-parse HEAD)" + tag="sha-${revision}-${GITHUB_RUN_ID}-${GITHUB_RUN_ATTEMPT}" + echo "name=$image" >> "$GITHUB_OUTPUT" + echo "ref=$image:$tag" >> "$GITHUB_OUTPUT" + echo "revision=$revision" >> "$GITHUB_OUTPUT" + + - uses: actions/setup-node@v4 + with: + node-version: '22' + + - name: Build and type-check + env: + IMAGE: ${{ steps.image.outputs.ref }} + REVISION: ${{ steps.image.outputs.revision }} + run: | + docker build --platform linux/amd64 \ + --label "org.opencontainers.image.source=https://github.com/$GITHUB_REPOSITORY" \ + --label "org.opencontainers.image.revision=$REVISION" \ + --tag "$IMAGE" docs + + - name: Test the built container + env: + IMAGE: ${{ steps.image.outputs.ref }} + run: | + docker run --detach --name docs-test --publish 127.0.0.1:3000:3000 "$IMAGE" + trap 'docker logs docs-test; docker rm --force docs-test' EXIT + ready=false + for attempt in {1..60}; do + if curl --fail --silent http://127.0.0.1:3000/superstac > /dev/null; then + ready=true + break + fi + sleep 2 + done + if [ "$ready" != true ]; then + echo 'Documentation container did not become ready' >&2 + exit 1 + fi + node docs/scripts/check-links.mjs + + - uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Publish tested image + env: + IMAGE: ${{ steps.image.outputs.ref }} + PRODUCTION_IMAGE: ${{ steps.image.outputs.name }}:production + run: | + docker push "$IMAGE" + docker tag "$IMAGE" "$PRODUCTION_IMAGE" + docker push "$PRODUCTION_IMAGE" + echo "Published image: \`$IMAGE\`" >> "$GITHUB_STEP_SUMMARY" + + - name: Request Coolify deployment + env: + COOLIFY_DEPLOY_WEBHOOK: ${{ vars.COOLIFY_DEPLOY_WEBHOOK }} + COOLIFY_TOKEN: ${{ secrets.COOLIFY_TOKEN }} + run: bash docs/scripts/deploy-coolify.sh + diff --git a/Cargo.toml b/Cargo.toml index bc61c36..0e2ea79 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,5 +15,6 @@ edition = "2021" rust-version = "1.88" license = "MIT" repository = "https://github.com/spatialnode/superstac" -homepage = "https://github.com/spatialnode/superstac" +homepage = "https://spatialnode.com/superstac" +documentation = "https://spatialnode.com/superstac" authors = ["Emmanuel Jolaiya "] diff --git a/README.md b/README.md index b78c6ce..827a19d 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,23 @@ # SuperSTAC -[![License](https://img.shields.io/badge/license-MIT-green.svg)](./LICENSE) +[![License](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/spatialnode/superstac/blob/main/LICENSE) [![crates.io](https://img.shields.io/crates/v/superstac-search.svg)](https://crates.io/crates/superstac-search) -[![docs.rs](https://docs.rs/superstac-core/badge.svg)](https://docs.rs/superstac-search) +[![Documentation](https://img.shields.io/badge/docs-SuperSTAC-blue)](https://spatialnode.com/superstac) +[![docs.rs](https://docs.rs/superstac-search/badge.svg)](https://docs.rs/superstac-search)

- - - SuperSTAC logo + + + SuperSTAC logo

-Federated [STAC](https://stacspec.org/) search across multiple catalogs. Query -Element84, Microsoft Planetary Computer, and others through one API. +**Many catalogs. One search.** + +Search across [STAC](https://stacspec.org/) catalogs through one interface, with Python, Rust, or the command line. + +Query Element84, Microsoft Planetary Computer, and others through one API. Items come back deduplicated, with their collection IDs and asset keys normalized to canonical names — regardless of which catalog they came from. @@ -32,6 +36,18 @@ SuperSTAC queries every catalog you've registered, drops the ones that don't serve the requested collection, runs the rest concurrently with retry and timeouts, then merges and dedupes the results. +## Documentation + +Read the [SuperSTAC documentation](https://spatialnode.com/superstac) for installation, tutorials, and API guides. + +- [Quickstart](https://spatialnode.com/superstac/docs/start/quickstart) +- [Python guide](https://spatialnode.com/superstac/docs/python/overview) +- [Rust guide](https://spatialnode.com/superstac/docs/rust/overview) +- [Command-line guide](https://spatialnode.com/superstac/docs/cli/overview) +- [Configuration reference](https://spatialnode.com/superstac/docs/reference/configuration) + +Try the [Python quickstart notebook](https://spatialnode.com/superstac/docs/python/notebook) for a two-catalog search, footprint map, and GeoJSON export in Colab or Jupyter. + ## Install ### Rust library @@ -110,7 +126,7 @@ settings: ``` The full schema and every setting is documented inline at -[`crates/core/src/models/settings.rs`](./crates/core/src/models/settings.rs). +[`crates/core/src/models/settings.rs`](https://github.com/spatialnode/superstac/blob/main/crates/core/src/models/settings.rs). ## Library usage @@ -177,6 +193,6 @@ Some things on the way: ## License -MIT. See [LICENSE](./LICENSE). +MIT. See [LICENSE](https://github.com/spatialnode/superstac/blob/main/LICENSE). Feedback and issues welcome — this is early. If you try it and you see any bug, feel free to open an issue! diff --git a/crates/cli/Cargo.toml b/crates/cli/Cargo.toml index b00169b..32718bb 100644 --- a/crates/cli/Cargo.toml +++ b/crates/cli/Cargo.toml @@ -10,6 +10,7 @@ rust-version.workspace = true license.workspace = true repository.workspace = true homepage.workspace = true +documentation.workspace = true authors.workspace = true [[bin]] diff --git a/crates/cli/src/main.rs b/crates/cli/src/main.rs index f01ac9c..2b11a19 100644 --- a/crates/cli/src/main.rs +++ b/crates/cli/src/main.rs @@ -9,7 +9,7 @@ use superstac_engine::SuperSTACEngine; use superstac_search::query::SearchQuery; use tracing_subscriber::EnvFilter; -/// Federated STAC search across multiple catalogs. +/// Many catalogs. One search. Search across STAC catalogs from the command line. #[derive(Parser)] #[command(name = "superstac", version, about, long_about = None)] struct Cli { diff --git a/crates/config/Cargo.toml b/crates/config/Cargo.toml index 0d79f18..dd4207f 100644 --- a/crates/config/Cargo.toml +++ b/crates/config/Cargo.toml @@ -10,6 +10,7 @@ rust-version.workspace = true license.workspace = true repository.workspace = true homepage.workspace = true +documentation.workspace = true authors.workspace = true [dependencies] diff --git a/crates/core/Cargo.toml b/crates/core/Cargo.toml index d1697b2..0877e01 100644 --- a/crates/core/Cargo.toml +++ b/crates/core/Cargo.toml @@ -10,6 +10,7 @@ rust-version.workspace = true license.workspace = true repository.workspace = true homepage.workspace = true +documentation.workspace = true authors.workspace = true [dependencies] diff --git a/crates/engine/Cargo.toml b/crates/engine/Cargo.toml index ed369d5..386a50b 100644 --- a/crates/engine/Cargo.toml +++ b/crates/engine/Cargo.toml @@ -10,6 +10,7 @@ rust-version.workspace = true license.workspace = true repository.workspace = true homepage.workspace = true +documentation.workspace = true authors.workspace = true [dependencies] diff --git a/crates/python/Cargo.toml b/crates/python/Cargo.toml index 9a08acb..8e9a27b 100644 --- a/crates/python/Cargo.toml +++ b/crates/python/Cargo.toml @@ -10,6 +10,7 @@ rust-version.workspace = true license.workspace = true repository.workspace = true homepage.workspace = true +documentation.workspace = true authors.workspace = true publish = false diff --git a/crates/python/README.md b/crates/python/README.md index fe3a6ef..68eb7f8 100644 --- a/crates/python/README.md +++ b/crates/python/README.md @@ -2,20 +2,35 @@

- - - SuperSTAC logo + + + SuperSTAC logo

-Python bindings for [superstac](https://github.com/spatialnode/superstac) — -federated STAC search across multiple catalogs. +**Many catalogs. One search.** + +Search across STAC catalogs through one interface, with Python, Rust, or the command line. + +This package provides the Python bindings for [SuperSTAC](https://github.com/spatialnode/superstac). > **Status: alpha.** APIs are not yet stable. Pre-1.0; expect breaking changes. `superstac` ships a sync `Client` (drop-in for `pystac_client.Client` in most code) and an `AsyncClient` for asyncio users. +## Documentation + +Read the [SuperSTAC documentation](https://spatialnode.com/superstac) for installation, tutorials, and API guides. + +- [Quickstart](https://spatialnode.com/superstac/docs/start/quickstart) +- [Python guide](https://spatialnode.com/superstac/docs/python/overview) +- [Rust guide](https://spatialnode.com/superstac/docs/rust/overview) +- [Command-line guide](https://spatialnode.com/superstac/docs/cli/overview) +- [Configuration reference](https://spatialnode.com/superstac/docs/reference/configuration) + +Try the [Python quickstart notebook](https://spatialnode.com/superstac/docs/python/notebook) for a two-catalog search, footprint map, and GeoJSON export in Colab or Jupyter. + ## Install ```bash diff --git a/crates/python/pyproject.toml b/crates/python/pyproject.toml index 9c97351..a58cde2 100644 --- a/crates/python/pyproject.toml +++ b/crates/python/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "maturin" [project] name = "superstac" -description = "High performance federated STAC search." +description = "Many catalogs. One search. Search across STAC catalogs with Python." readme = "README.md" license = "MIT" authors = [{ name = "Emmanuel Jolaiya", email = "emmanuel@spatialnode.com" }] @@ -25,7 +25,8 @@ dependencies = [ [project.urls] -Homepage = "https://github.com/spatialnode/superstac" +Homepage = "https://spatialnode.com/superstac" +Documentation = "https://spatialnode.com/superstac" Repository = "https://github.com/spatialnode/superstac" [tool.maturin] diff --git a/crates/python/python/superstac/__init__.py b/crates/python/python/superstac/__init__.py index 10d3715..be549b7 100644 --- a/crates/python/python/superstac/__init__.py +++ b/crates/python/python/superstac/__init__.py @@ -1,4 +1,4 @@ -"""High performance federated STAC search.""" +"""Many catalogs. One search. Search across STAC catalogs with Python.""" from ._superstac import ( AsyncClient, diff --git a/crates/search/Cargo.toml b/crates/search/Cargo.toml index a152352..a9d157b 100644 --- a/crates/search/Cargo.toml +++ b/crates/search/Cargo.toml @@ -10,6 +10,7 @@ rust-version.workspace = true license.workspace = true repository.workspace = true homepage.workspace = true +documentation.workspace = true authors.workspace = true [dependencies] From f4297b613ef0c0bf64a58adf4f174e04c486542c Mon Sep 17 00:00:00 2001 From: jeafreezy Date: Sun, 27 Sep 2026 10:54:05 +0200 Subject: [PATCH 7/7] chore: improved documentation site --- .github/workflows/docs-deploy.yml | 8 +- docs/.nvmrc | 2 +- docs/Dockerfile | 5 +- docs/app/global.css | 169 +++++++++++++++++----- docs/app/layout.tsx | 21 ++- docs/app/page.tsx | 94 +++++++++--- docs/assets/fonts/Crimson-Pro-OFL.txt | 93 ++++++++++++ docs/assets/fonts/Inter-OFL.txt | 93 ++++++++++++ docs/assets/fonts/README.md | 7 + docs/assets/fonts/crimson-pro-latin.woff2 | Bin 0 -> 48152 bytes docs/assets/fonts/inter-latin.woff2 | Bin 0 -> 48432 bytes docs/components/code-preview.tsx | 2 +- docs/components/federation-map.tsx | 52 +++++-- docs/lib/layout.shared.tsx | 1 - docs/package.json | 10 +- docs/scripts/check-node.mjs | 9 ++ 16 files changed, 476 insertions(+), 90 deletions(-) create mode 100644 docs/assets/fonts/Crimson-Pro-OFL.txt create mode 100644 docs/assets/fonts/Inter-OFL.txt create mode 100644 docs/assets/fonts/README.md create mode 100644 docs/assets/fonts/crimson-pro-latin.woff2 create mode 100644 docs/assets/fonts/inter-latin.woff2 create mode 100644 docs/scripts/check-node.mjs diff --git a/.github/workflows/docs-deploy.yml b/.github/workflows/docs-deploy.yml index d024282..d6731e8 100644 --- a/.github/workflows/docs-deploy.yml +++ b/.github/workflows/docs-deploy.yml @@ -37,11 +37,11 @@ jobs: - name: Check deployment configuration env: - COOLIFY_DEPLOY_WEBHOOK: ${{ vars.COOLIFY_DEPLOY_WEBHOOK }} + COOLIFY_DEPLOY_WEBHOOK: ${{ secrets.COOLIFY_DEPLOY_WEBHOOK }} COOLIFY_TOKEN: ${{ secrets.COOLIFY_TOKEN }} run: | - : "${COOLIFY_DEPLOY_WEBHOOK:?Set the docs-production COOLIFY_DEPLOY_WEBHOOK variable}" - : "${COOLIFY_TOKEN:?Set the docs-production COOLIFY_TOKEN secret}" + : "${COOLIFY_DEPLOY_WEBHOOK:?Set the COOLIFY_DEPLOY_WEBHOOK Actions secret}" + : "${COOLIFY_TOKEN:?Set the COOLIFY_TOKEN Actions secret}" - name: Name the image id: image @@ -105,7 +105,7 @@ jobs: - name: Request Coolify deployment env: - COOLIFY_DEPLOY_WEBHOOK: ${{ vars.COOLIFY_DEPLOY_WEBHOOK }} + COOLIFY_DEPLOY_WEBHOOK: ${{ secrets.COOLIFY_DEPLOY_WEBHOOK }} COOLIFY_TOKEN: ${{ secrets.COOLIFY_TOKEN }} run: bash docs/scripts/deploy-coolify.sh diff --git a/docs/.nvmrc b/docs/.nvmrc index 2bd5a0a..6f4247a 100644 --- a/docs/.nvmrc +++ b/docs/.nvmrc @@ -1 +1 @@ -22 +26 diff --git a/docs/Dockerfile b/docs/Dockerfile index 556c6fe..ec0360f 100644 --- a/docs/Dockerfile +++ b/docs/Dockerfile @@ -1,14 +1,15 @@ # Build context is docs/, not the repository root. -FROM node:22-alpine AS build +FROM node:26-alpine AS build WORKDIR /app ENV NEXT_TELEMETRY_DISABLED=1 RUN npm install --global pnpm@9.8.0 COPY package.json pnpm-lock.yaml source.config.ts ./ +COPY scripts/check-node.mjs ./scripts/check-node.mjs RUN pnpm install --frozen-lockfile COPY . . RUN pnpm check && pnpm build -FROM node:22-alpine AS runner +FROM node:26-alpine AS runner WORKDIR /app ENV NODE_ENV=production NEXT_TELEMETRY_DISABLED=1 HOSTNAME=0.0.0.0 PORT=3000 COPY --from=build --chown=node:node /app/.next/standalone ./ diff --git a/docs/app/global.css b/docs/app/global.css index ff9b42b..cfcfa17 100644 --- a/docs/app/global.css +++ b/docs/app/global.css @@ -2,36 +2,71 @@ @import 'fumadocs-ui/css/neutral.css'; @import 'fumadocs-ui/css/preset.css'; -@theme { - --font-sans: 'Inter', ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; +/* Spatialnode website palette, mapped to Fumadocs UI and landing components. */ +@theme inline { + --font-sans: var(--font-inter), ui-sans-serif, system-ui, sans-serif; + --font-display: var(--font-crimson-pro), Georgia, serif; } :root { - --color-fd-primary: #235d46; - --color-fd-primary-foreground: #fff; - --color-fd-background: #fdfdfb; + --brand: #081b99; + --brand-foreground: #fff; + --ink: #02051f; + --muted: #333b4a; + --panel: #ebedfd; + --surface: #f7f8fb; + --grid: #dce1f2; + --line: #caced6; + --color-fd-background: #fff; + --color-fd-foreground: #111419; --color-fd-card: #fff; - --color-fd-border: #e5e7e0; - --brand: #285d46; - --ink: #212b24; - --muted: #687268; - --panel: #f3f5ed; - --grid: #dae1d4; - --line: #cad4c3; + --color-fd-card-foreground: #111419; + --color-fd-border: #ebedf0; + --color-fd-primary: var(--brand); + --color-fd-primary-foreground: var(--brand-foreground); + --color-fd-muted: var(--surface); + --color-fd-muted-foreground: var(--muted); + --color-fd-secondary: #ebedf0; + --color-fd-secondary-foreground: #333b4a; + --color-fd-accent: #ebedfd; + --color-fd-accent-foreground: #081b99; + --color-fd-popover: #fff; + --color-fd-popover-foreground: #111419; + --color-fd-ring: var(--brand); } .dark { - --color-fd-primary: #b4d8aa; - --color-fd-primary-foreground: #14251a; - --color-fd-background: #121614; - --color-fd-card: #181e19; - --color-fd-border: #2a332c; - --brand: #b4d8aa; - --ink: #eef1e9; - --muted: #9eaa9c; - --panel: #1b241c; - --grid: #334231; - --line: #3f4e3b; + --brand: #b8c1f2; + --brand-foreground: #02051f; + --ink: #ebedfd; + --muted: #b9bec9; + --panel: #111419; + --surface: #111419; + --grid: #222732; + --line: #333b4a; + --color-fd-background: #0b0c0f; + --color-fd-foreground: #ebedf0; + --color-fd-card: #090a0c; + --color-fd-card-foreground: #ebedf0; + --color-fd-border: #222732; + --color-fd-secondary: #222732; + --color-fd-secondary-foreground: #ebedfd; + --color-fd-accent: #222732; + --color-fd-accent-foreground: #b8c1f2; + --color-fd-popover: #111419; + --color-fd-popover-foreground: #ebedf0; +} +.dark #nd-sidebar { + --color-fd-muted: #111419; + --color-fd-secondary: #222732; + --color-fd-muted-foreground: #b9bec9; +} +#nd-sidebar { background: var(--surface); } +#nd-page h1 { font-family: var(--font-display); font-size: clamp(2.25rem, 4vw, 3rem); font-weight: 600; letter-spacing: -.025em; } +body { + --font-sans: var(--font-inter), ui-sans-serif, system-ui, sans-serif; + --font-display: var(--font-crimson-pro), Georgia, serif; + font-family: var(--font-sans); + -webkit-font-smoothing: antialiased; } -body { -webkit-font-smoothing: antialiased; } a, button { -webkit-tap-highlight-color: transparent; } button { cursor: pointer; } :focus-visible { outline: 2px solid var(--brand); outline-offset: 4px; } @@ -44,40 +79,98 @@ button { cursor: pointer; } .site-footer, .doc-endnote { align-items: center; } #nd-home-layout { background: var(--color-fd-background); } .landing { width: min(1200px, calc(100% - 64px)); margin: auto; } -.landing-hero { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 52px; padding: 92px 0 68px; } +.landing-hero { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 52px; padding: 64px 0 48px; } .release-pill { display: inline-flex; align-items: center; gap: 9px; border: 1px solid var(--color-fd-border); border-radius: 99px; padding: 7px 10px; font-size: 9px; letter-spacing: .07em; color: var(--muted); background: var(--color-fd-card); } .tiny-dot { display: inline-block; width: 5px; height: 5px; background: var(--brand); border-radius: 50%; flex-shrink: 0; } -.hero-copy h1 { font-size: clamp(48px, 5.5vw, 72px); line-height: 1.08; font-weight: 560; letter-spacing: -.065em; color: var(--ink); margin: 23px 0; } +.hero-copy h1 { font-family: var(--font-display); font-size: clamp(52px, 5.5vw, 76px); line-height: 1.04; font-weight: 600; letter-spacing: -.035em; color: var(--ink); margin: 23px 0; } .hero-copy h1 > span { color: var(--brand); } .hero-description { font-size: 17px; line-height: 1.75; max-width: 410px; color: var(--muted); } .hero-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 28px; } -.button-primary, .button-secondary { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 11px 16px; border: 1px solid var(--color-fd-border); border-radius: 7px; font-size: 12px; font-weight: 600; transition: background .15s; } -.button-primary { background: var(--ink); border-color: var(--ink); color: var(--color-fd-background); } -.button-primary:hover { background: var(--brand); border-color: var(--brand); } +.button-primary, .button-secondary { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 12px 20px; border: 1px solid var(--color-fd-border); border-radius: 32px; font-size: 14px; font-weight: 600; transition: background .15s; } +.button-primary { background: var(--brand); border-color: var(--brand); color: var(--brand-foreground); } +.button-primary:hover { background: color-mix(in srgb, var(--brand) 90%, var(--color-fd-background)); } .button-secondary:hover { background: var(--panel); } .hero-install { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-top: 25px; font: 11px ui-monospace, monospace; color: var(--muted); } .hero-install > span:first-child { color: var(--brand); } .install-note { font: 10px var(--font-sans); margin-left: 8px; } -.federation-map { position: relative; aspect-ratio: 600/450; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); overflow: hidden; } +.federation-map { position: relative; aspect-ratio: 600/450; border: 1px solid var(--line); border-radius: 24px; background: var(--panel); overflow: hidden; } .map-grid { position: absolute; inset: 0; background-image: linear-gradient(var(--grid) 1px, transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px); background-size: 28px 28px; opacity: .5; } .contours { position: absolute; width: 150%; left: -20%; top: -10%; color: var(--line); opacity: .6; } .map-label { position: absolute; top: 6%; left: 6%; right: 6%; display: flex; justify-content: space-between; color: var(--muted); font: 8px ui-monospace, monospace; letter-spacing: .08em; }.map-cross { font-size: 17px; } .network-lines { position: absolute; inset: 0; width: 100%; height: 100%; color: var(--brand); } -.query-node { position: absolute; left: 5%; top: 40%; width: 26%; height: 16%; background: var(--brand); color: var(--color-fd-background); border: 1px solid var(--brand); border-radius: 6px; display: flex; flex-direction: column; justify-content: center; padding: 12px; } +.query-node { position: absolute; left: 5%; top: 40%; width: 26%; height: 16%; background: var(--brand); color: var(--brand-foreground); border: 1px solid var(--brand); border-radius: 6px; display: flex; flex-direction: column; justify-content: center; padding: 12px; } .query-node > span { font: 7px ui-monospace, monospace; letter-spacing: .09em; opacity: .8; }.query-node code { font: 16px ui-monospace, monospace; margin-top: 5px; }.query-node > svg { position: absolute; right: 8px; top: 8px; opacity: .8; } .catalog-node { position: absolute; right: 5%; width: 43%; height: 15%; border: 1px solid var(--line); background: var(--color-fd-card); border-radius: 6px; display: flex; align-items: center; gap: 9px; padding: 10px; box-shadow: 0 3px 7px #00000004; } .catalog-node > svg { color: var(--brand); flex-shrink: 0; }.catalog-node strong { display: block; color: var(--ink); font-size: 10px; font-weight: 600; }.catalog-node small { display: block; color: var(--muted); font-size: 8px; margin-top: 3px; }.catalog-node .tiny-dot { margin-left: auto; width: 4px; height: 4px; } .catalog-one { top: 20%; }.catalog-two { top: 40%; }.catalog-three { top: 60%; } .map-result { position: absolute; bottom: 10%; left: 7%; display: flex; align-items: center; gap: 7px; color: var(--brand); font: 8px ui-monospace,monospace; }.map-coordinate { position: absolute; bottom: 5%; right: 5%; font: 7px ui-monospace,monospace; color: var(--muted); } .principles-strip { display: flex; align-items: center; justify-content: space-between; padding: 22px 0; border-block: 1px solid var(--color-fd-border); color: var(--muted); font-size: 11px; }.principles-strip a { color: var(--ink); font-weight: 500; } -.start-section { padding-top: 76px; }.eyebrow { font: 9px ui-monospace, monospace; letter-spacing: .13em; color: var(--brand); margin-bottom: 14px; }.section-intro h2,.code-section h2,.reference-banner h2 { color: var(--ink); font-size: 34px; font-weight: 530; letter-spacing: -.045em; line-height: 1.2; }.section-intro > p:last-child { margin-top: 12px; color: var(--muted); font-size: 14px; } -.path-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-top: 30px; }.path-card { padding: 25px; border: 1px solid var(--color-fd-border); border-radius: 10px; background: var(--color-fd-card); transition: border-color .15s,transform .15s; }.path-card:hover { border-color: var(--brand); transform: translateY(-2px); }.path-card-top { display: flex; justify-content: space-between; align-items: center; color: var(--brand); margin-bottom: 32px; }.path-card-top span { color: var(--muted); font: 9px ui-monospace,monospace; }.path-label { font-size: 10px; color: var(--muted); }.path-card h3 { color: var(--ink); font-size: 17px; letter-spacing: -.03em; font-weight: 550; margin: 8px 0 12px; }.path-card p { color: var(--muted); font-size: 12px; line-height: 1.8; }.path-link { display: flex; align-items: center; gap: 7px; margin-top: 26px; color: var(--brand); font-size: 11px; } -.code-section { display: grid; grid-template-columns: .85fr 1.15fr; gap: 60px; align-items: center; padding: 88px 0; }.code-section-copy > p:not(.eyebrow) { color: var(--muted); font-size: 14px; line-height: 1.8; margin-top: 20px; max-width: 350px; }.code-section ul { margin-top: 24px; display: grid; gap: 17px; }.code-section li { display: flex; align-items: center; gap: 12px; font-size: 11px; color: var(--muted); }.code-section li svg { color: var(--brand); flex-shrink: 0; }.text-link { display: inline-flex; gap: 8px; align-items: center; color: var(--brand); font-size: 12px; margin-top: 28px; } -.code-preview { border: 1px solid #354036; border-radius: 11px; background: #171e19; color: #d6e2d1; overflow: hidden; min-width: 0; }.code-toolbar { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #354036; padding: 0 14px; }.code-toolbar button { padding: 13px 12px; font-size: 11px; color: #adb8a9; border-bottom: 2px solid transparent; }.code-toolbar button[aria-selected='true'] { color: #c9e5b9; border-bottom-color: #b0d395; }.code-preview pre { min-height: 286px; max-height: 380px; overflow: auto; font: 10.5px/1.9 ui-monospace,monospace; padding: 22px; }.code-footer { display: flex; justify-content: space-between; border-top: 1px solid #354036; color: #9eaf99; padding: 10px 18px; font: 8px ui-monospace,monospace; } -.reference-banner { border: 1px solid var(--color-fd-border); border-radius: 10px; background: var(--panel); padding: 34px; display: flex; gap: 25px; align-items: center; justify-content: space-between; }.reference-banner h2 { font-size: 25px; }.reference-banner > div:last-child { display: grid; gap: 12px; min-width: 180px; }.reference-banner a { display: flex; justify-content: space-between; gap: 20px; font-size: 11px; color: var(--brand); } +.start-section { padding-top: 24px; }.eyebrow { font: 9px ui-monospace, monospace; letter-spacing: .13em; color: var(--brand); margin-bottom: 14px; }.section-intro h2,.code-section h2,.reference-banner h2 { color: var(--ink); font-family: var(--font-display); font-size: 40px; font-weight: 600; letter-spacing: -.025em; line-height: 1.2; }.section-intro > p:last-child { margin-top: 12px; color: var(--muted); font-size: 14px; } +.path-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-top: 30px; }.path-card { padding: 25px; border: 1px solid var(--color-fd-border); border-radius: 24px; background: var(--color-fd-card); transition: border-color .15s,transform .15s; }.path-card:hover { border-color: var(--brand); transform: translateY(-2px); }.path-card-top { display: flex; justify-content: space-between; align-items: center; color: var(--brand); margin-bottom: 32px; }.path-card-top span { color: var(--muted); font: 9px ui-monospace,monospace; }.path-label { font-size: 12px; color: var(--muted); }.path-card h3 { color: var(--ink); font-size: 17px; letter-spacing: -.03em; font-weight: 600; margin: 8px 0 12px; }.path-card p { color: var(--muted); font-size: 14px; line-height: 1.8; }.path-link { display: flex; align-items: center; gap: 7px; margin-top: 26px; color: var(--brand); font-size: 11px; } +.code-section { display: grid; grid-template-columns: .85fr 1.15fr; gap: 60px; align-items: center; padding: 64px 0; }.code-section-copy > p:not(.eyebrow) { color: var(--muted); font-size: 14px; line-height: 1.8; margin-top: 20px; max-width: 350px; }.code-section ul { margin-top: 24px; display: grid; gap: 17px; }.code-section li { display: flex; align-items: center; gap: 12px; font-size: 11px; color: var(--muted); }.code-section li svg { color: var(--brand); flex-shrink: 0; }.text-link { display: inline-flex; gap: 8px; align-items: center; color: var(--brand); font-size: 12px; margin-top: 28px; } +.code-preview { border: 1px solid #222732; border-radius: 24px; background: #0b0c0f; color: #ebedfd; overflow: hidden; min-width: 0; }.code-toolbar { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #222732; padding: 0 14px; }.code-toolbar button { padding: 13px 12px; font-size: 11px; color: #b9bec9; border-bottom: 2px solid transparent; }.code-toolbar button[aria-selected='true'] { color: #ebedfd; border-bottom-color: #b8c1f2; }.code-preview pre { min-height: 286px; max-height: 380px; overflow: auto; font: 10.5px/1.9 ui-monospace,monospace; padding: 22px; }.code-footer { display: flex; justify-content: space-between; border-top: 1px solid #222732; color: #b9bec9; padding: 10px 18px; font: 8px ui-monospace,monospace; } +.reference-banner { border: 1px solid var(--color-fd-border); border-radius: 24px; background: var(--panel); padding: 34px; display: flex; gap: 25px; align-items: center; justify-content: space-between; }.reference-banner h2 { font-size: 32px; }.reference-banner > div:last-child { display: grid; gap: 12px; min-width: 180px; }.reference-banner a { display: flex; justify-content: space-between; gap: 20px; font-size: 11px; color: var(--brand); } .alpha-note { display: flex; align-items: baseline; gap: 9px; margin: 25px 0 55px; font-size: 10px; color: var(--muted); line-height: 1.7; }.alpha-note a { color: var(--brand); }.site-footer { width: min(1200px,calc(100% - 64px)); margin: 0 auto; border-top: 1px solid var(--color-fd-border); padding: 23px 0; display: flex; justify-content: space-between; gap: 20px; font-size: 10px; color: var(--muted); }.site-footer > div { display: flex; gap: 20px; }.footer-separator { opacity: .4; margin: 0 10px; } .sidebar-version { color: var(--muted); font-size: 11px; display: flex; gap: 7px; align-items: center; padding: 8px 2px; }.doc-endnote { font-size: 11px; color: var(--muted); border-top: 1px solid var(--color-fd-border); padding-top: 20px; display: flex; gap: 15px; justify-content: space-between; flex-wrap: wrap; }.doc-endnote a { color: var(--brand); } .not-found { max-width: 600px; padding: 90px 24px; margin: auto; }.not-found h1 { font-size: 40px; letter-spacing: -.04em; }.not-found > p { margin-block: 20px; } @media (max-width: 950px) { .landing-hero { gap: 25px; padding-top: 60px; }.hero-copy h1 { font-size: 52px; }.catalog-node { padding: 7px; gap: 5px; }.catalog-node strong { font-size: 8px; }.catalog-node small { font-size: 6px; }.catalog-node > svg { width: 15px; }.code-section { gap: 25px; }.path-card { padding: 20px; }.path-card h3 { font-size: 16px; } } -@media (max-width: 700px) { .landing { width: calc(100% - 36px); }.landing-hero { grid-template-columns: 1fr; padding: 40px 0; gap: 34px; }.hero-copy h1 { font-size: 54px; }.hero-description { font-size: 16px; }.federation-map { max-width: 520px; }.catalog-node strong { font-size: 10px; }.catalog-node small { font-size: 8px; }.catalog-node > svg { width: 18px; }.principles-strip { flex-wrap: wrap; gap: 16px; font-size: 10px; }.path-cards { grid-template-columns: 1fr; gap: 12px; }.start-section { padding-top: 45px; }.path-card-top { margin-bottom: 15px; }.path-card { padding: 24px; }.path-card h3 { font-size: 20px; }.path-card p { font-size: 14px; }.code-section { grid-template-columns: 1fr; padding: 50px 0; gap: 30px; }.section-intro h2,.code-section h2 { font-size: 30px; }.reference-banner { align-items: stretch; flex-direction: column; padding: 25px; }.site-footer { width: calc(100% - 36px); flex-wrap: wrap; }.alpha-note { font-size: 11px; }.brand-logo,.brand-logo img { width: 112px; } } -@media (prefers-reduced-motion: reduce) { *,*::before,*::after { transition: none !important; scroll-behavior: auto !important; } } +@media (max-width: 700px) { .landing { width: calc(100% - 36px); }.landing-hero { grid-template-columns: 1fr; padding: 40px 0; gap: 34px; }.hero-copy h1 { font-size: clamp(44px, 11vw, 60px); }.hero-description { font-size: 16px; }.federation-map { max-width: 520px; }.catalog-node strong { font-size: 10px; }.catalog-node small { font-size: 8px; }.catalog-node > svg { width: 18px; }.principles-strip { flex-wrap: wrap; gap: 16px; font-size: 10px; }.path-cards { grid-template-columns: 1fr; gap: 12px; }.start-section { padding-top: 45px; }.path-card-top { margin-bottom: 15px; }.path-card { padding: 24px; }.path-card h3 { font-size: 20px; }.path-card p { font-size: 14px; }.code-section { grid-template-columns: 1fr; padding: 50px 0; gap: 30px; }.section-intro h2,.code-section h2 { font-size: 30px; }.reference-banner { align-items: stretch; flex-direction: column; padding: 25px; }.site-footer { width: calc(100% - 36px); flex-wrap: wrap; }.alpha-note { font-size: 11px; }.brand-logo,.brand-logo img { width: 112px; } } +@media (prefers-reduced-motion: reduce) { *,*::before,*::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } } + +.path-icon { color: var(--brand); margin-bottom: 16px; } + +/* Query packets travel out to each catalog; result packets return on the same path. */ +.query-packet, .result-packet { + stroke: var(--brand); + stroke-width: 3; + stroke-linecap: round; + stroke-dasharray: 7 93; + stroke-dashoffset: 100; + opacity: 0; + animation: query-travel 6s linear infinite; +} +.result-packet { animation-name: result-travel; } +.catalog-route-two { animation-delay: .25s; } +.catalog-route-three { animation-delay: .5s; } +@keyframes query-travel { + 0%, 8% { stroke-dashoffset: 100; opacity: 0; } + 12% { opacity: 1; } + 40% { stroke-dashoffset: 0; opacity: 1; } + 44%, 100% { stroke-dashoffset: 0; opacity: 0; } +} +@keyframes result-travel { + 0%, 48% { stroke-dashoffset: 0; opacity: 0; } + 52% { opacity: 1; } + 82% { stroke-dashoffset: 100; opacity: 1; } + 86%, 100% { stroke-dashoffset: 100; opacity: 0; } +} +.diagram-animation-toggle { + position: absolute; + right: 5%; + bottom: 5%; + display: inline-flex; + align-items: center; + justify-content: center; + min-width: 32px; + min-height: 32px; + border: 1px solid var(--line); + border-radius: 50%; + color: var(--muted); + background: var(--color-fd-card); +} +.diagram-animation-toggle:hover { color: var(--brand); border-color: var(--brand); } +.federation-map[data-paused='true'] .query-packet, +.federation-map[data-paused='true'] .result-packet { animation-play-state: paused; } +@media (prefers-reduced-motion: no-preference) { + .hero-copy, .federation-map, .path-card { animation: home-enter .55s ease-out both; } + .federation-map { animation-delay: .08s; } + .path-card:nth-child(2) { animation-delay: .06s; } + .path-card:nth-child(3) { animation-delay: .12s; } +} +@keyframes home-enter { + from { opacity: 0; transform: translateY(8px); } + to { opacity: 1; transform: translateY(0); } +} +@media (prefers-reduced-motion: reduce) { + .query-packet, .result-packet, .diagram-animation-toggle { display: none; } +} diff --git a/docs/app/layout.tsx b/docs/app/layout.tsx index 6f438b5..19732cd 100644 --- a/docs/app/layout.tsx +++ b/docs/app/layout.tsx @@ -1,19 +1,34 @@ import type { Metadata } from 'next'; +import localFont from 'next/font/local'; import { RootProvider } from 'fumadocs-ui/provider/next'; import './global.css'; +// Match Spatialnode's Inter UI and Crimson Pro display typography, served locally. +const inter = localFont({ + src: '../assets/fonts/inter-latin.woff2', + variable: '--font-inter', + weight: '100 900', + display: 'swap', +}); +const crimson = localFont({ + src: '../assets/fonts/crimson-pro-latin.woff2', + variable: '--font-crimson-pro', + weight: '200 900', + display: 'swap', +}); + export const metadata: Metadata = { metadataBase: new URL('https://spatialnode.com'), title: { default: 'SuperSTAC — Many catalogs. One search.', template: '%s | SuperSTAC' }, - description: 'Search across STAC catalogs through one interface, with Python, Rust, or the command line. A Spatialnode open-source project.', + description: 'Search across STAC catalogs through one interface, with Python, Rust, or the command line.', icons: { icon: '/superstac/favicon.svg' }, }; export default function RootLayout({ children }: { children: React.ReactNode }) { return ( - - + + {children} diff --git a/docs/app/page.tsx b/docs/app/page.tsx index a89a4c3..bd39aa7 100644 --- a/docs/app/page.tsx +++ b/docs/app/page.tsx @@ -8,30 +8,78 @@ import { PoweredBySpatialnode } from '@/components/powered-by-spatialnode'; import type { Metadata } from 'next'; export const metadata: Metadata = { alternates: { canonical: '/superstac' } }; -const paths = [ - { icon: Braces, label: 'Python', title: 'From notebook to pipeline.', text: 'A familiar client, ordinary dictionaries, and sync or async search.', href: '/docs/python/overview' }, - { icon: Layers, label: 'Rust', title: 'Built into your application.', text: 'Embed the engine. Keep control of configuration and lifecycle.', href: '/docs/rust/overview' }, - { icon: Terminal, label: 'Command line', title: 'An answer from your terminal.', text: 'Discover collections, search an area, and inspect the results.', href: '/docs/cli/overview' }, + +const guides = [ + { icon: Braces, title: 'Python', text: 'Search from scripts and notebooks with the sync or async client.', href: '/docs/python/overview' }, + { icon: Layers, title: 'Rust', text: 'Add the search engine to a Rust application.', href: '/docs/rust/overview' }, + { icon: Terminal, title: 'Command line', text: 'List collections, search catalogs, and export results as JSON.', href: '/docs/cli/overview' }, ]; + export default function Home() { - return -
-
-
- OPEN SOURCE · V0.1 ALPHA -

Many catalogs.
One search.

-

Search across STAC catalogs through one interface, with Python, Rust, or the command line.

-
Start searching Explore the docs
-
pip install superstacPython · Rust · CLI
+ return ( + +
+
+
+ + v0.1 · Alpha + +

Many catalogs.
One search.

+

Search across STAC catalogs through one interface, with Python, Rust, or the command line.

+
+ Quickstart + Installation +
+
pip install superstac
+
+ +
+ +
+

Guides

+
+ {guides.map(({ icon: Icon, ...guide }) => ( + + +

{guide.title}

+

{guide.text}

+ Read the guide + + ))} +
+
+ +
+
+

Search example

+

Register the catalogs you want to search, then query a collection. SuperSTAC sends the request to the relevant catalogs and combines their results.

+
    +
  • Filter by location and date.
  • +
  • Normalize collection and asset names, and remove duplicate item IDs.
  • +
  • Check which catalogs responded and which failed.
  • +
+ Full example and configuration +
+ +
+ +
+

Reference

+
+ Configuration + Python API + Troubleshooting +
+
+
+ +

SuperSTAC is in alpha. APIs and configuration may change. Current limitations →

- -
-
A Spatialnode ↗ projectSTAC nativeRust engineMIT licensed
-

MEET YOUR NEXT WORKFLOW

Start where you work.

One engine. Three ways to make it yours.

{paths.map(({icon:Icon,...path},i) =>
0{i+1}
{path.label}

{path.title}

{path.text}

Read the guide )}
-

LESS PLUMBING. MORE DISCOVERY.

Different sources.
A shared vocabulary.

Register your catalogs, choose an area and a time range, and get back STAC items. SuperSTAC handles the search across sources.

  • Query the catalogs that can serve your collections.
  • Normalize names and remove duplicate item IDs.
  • Inspect failures and counts with each response.
How federation works
-

WHEN YOU NEED THE DETAILS

Make the next query your own.

Configuration Python API Troubleshooting
-

Built in the open. SuperSTAC is in alpha; APIs and configuration may change. See current capabilities →

-
- - ; +
+ + + ); } diff --git a/docs/assets/fonts/Crimson-Pro-OFL.txt b/docs/assets/fonts/Crimson-Pro-OFL.txt new file mode 100644 index 0000000..6a7d97c --- /dev/null +++ b/docs/assets/fonts/Crimson-Pro-OFL.txt @@ -0,0 +1,93 @@ +Copyright 2018 The Crimson Pro Project Authors (https://github.com/Fonthausen/CrimsonPro) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/docs/assets/fonts/Inter-OFL.txt b/docs/assets/fonts/Inter-OFL.txt new file mode 100644 index 0000000..21f6aff --- /dev/null +++ b/docs/assets/fonts/Inter-OFL.txt @@ -0,0 +1,93 @@ +Copyright 2020 The Inter Project Authors (https://github.com/rsms/inter) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/docs/assets/fonts/README.md b/docs/assets/fonts/README.md new file mode 100644 index 0000000..93bbd0e --- /dev/null +++ b/docs/assets/fonts/README.md @@ -0,0 +1,7 @@ +# Website fonts + +Inter (UI text) and Crimson Pro (display headings), matching the Spatialnode website. +These Latin variable WOFF2 files were copied from the website's locally generated +Next.js font assets. They are bundled here so documentation builds do not need to +fetch Google Fonts. Both fonts use the SIL Open Font License; the licenses are +included in this directory. diff --git a/docs/assets/fonts/crimson-pro-latin.woff2 b/docs/assets/fonts/crimson-pro-latin.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..103b113efa91a173308cdd14a5405a213c1853a9 GIT binary patch literal 48152 zcmV(}K+wN;Pew8T0RR910K6Cg6951J0m{$-0K26C0RR9100000000000000000000 z0000Qgi0HM;UpZ496v}_K~jhX24Fu^R6$gMDkmxcg(@#}5eN!_zj%R^ISYhp05F58 z7y&i{Bm;?11Rw>8U(Ml_DShAA zZlZ^H5gXzzlwcK}n`Pfy)7M803z_q&p?s4$i=%-Nl1l5Ki$&F^hWVHtHH{%fN8b38_{ zBB=O}9_aa&xw9^G8DP7FA0o?rkYY;zd45jMeeXy3Q6R(#mO{!9D_${bw4>CaB0k6J zwA)xk0~L1$HO*Kh6{Dg^eaO!K7Xf(zusMJaR^GR(U$Y}B6}@!|c6MfX{>hHMb6-{W z%=`tM0b~S58$?jX6i^7Dhv%oWm!vdlBl>^De%u?kM%q-3;w@%t5gTJ_FlL8MUJq;9k?wG~ZgzUVe}sO5Zh?|! znu%ZeYo!4(DX}LpA(_V-sh+4|vq#Mq%m;6zf3dyNzxH}>>LG`=s{cX}3Xqgo&@eMQ zv%nwdfY@-(a$i=~BhNki4D(!uUGAxds!EVFTDI)6`4Y;vp|qi>1;DQ=|7V9EF|X5~o4C{PM?fl&0V7*F>4?R4;{IsM{(DIU4IX>!3%r0F6U7_Fuev>aS%-CZitAwd8P>NzMQkH1NwZ-P=ydhQ)Mt!^|ZfD=BmmqYmSzxtxj zRrgJsst}`h_s$6$5E9aKKEC~ZI0xQj9qRn|WLcJE%W({x_{BkdAJ8o?Yo}3{U&N6o zLKr(NC7{;ygZE{=BC4uRlsqN7lL%!B1fK%<2j`ff#I2p9OKY06oV)S>Z)$2rkL^Jj zj7e*0*msFBtl*$wVj{riE?YQcbv2nVgaCSkd(JUO5IJ%nvn8o zvbr~UXLG*gyTj$O_dQ+qn9^+yhtuA!>;J#aw4FCsvtMA)*VxW%SlW<*itg`nQ^u+6 zqSJuj>y6I%NG9!=Sq7qV-Gxq1P%+nO)2C>F+Lo|OQ8)JcRR6UFM8PR2R?b!P|8q`7 z?V{tG8SEv2T~ea>6k@6z-t6pxAV4aF-1@j^UDO2~BK$iQ^ZTOCl0b_v!e@*KB4ioP zfBpH&xi@23;)ys8wJeuf4yA}vAPmU~!~_C?Kp+qm6Ll3c_#SZ@6dR2QlyIAm)=L7;P9Rox`;oGjw{Ads|#4u!pUy$GYhWsHH^UZf;Kpi|X(&Dj1 zh$kpo9AN+lK#36?5L+~mKy|N%w;JueO+XI=z`I-B1PB8dvC1L)ze;5LLr~F&4Wj@Y zKv>+aAdOdrxoiCVH9_4CPVOc*Im!;)VtQ|}bhlWJTdd$6M%5k2b(e0uOLyF*JMU4| z_o#+@G~<1${yx?48%gmSS@|0!j_ua&M=yTKYrpI}NYSNTQM^>el~f4^0f_)1B?CrG zvd-Q1_HO&?Zg+pTdv&*aeYg8yJ+|}Mt;c>n?$+a*_4w&}bGP2yuQwm8w|5_gn-636 zVeCJQukO3ZcHB9=Bh+UeH-044 z1OUEITg-!>anjh4uC)F%omgA5*Gj^DJ>!*cS_3E zTLj-=XP(Lv)+WKIQyDbT9?zkFEU6C=Wk8Jtl97TmWQiccNTP^_6~u>|5eedGg9h9O5v-wZLY^0z^~jaJ2~nl8X*q!j>^!v2*OV}0I+1Sb0Hf$|6f^}hyKzW*n z)kOfn60pF=r0*v8$17vmxNqDtt|GE{EE=c6-&13e)SZ3DhA}bvmQ{gt!%;eNM#=~z zKhiy18cGcwO7GyMR}2e>=|j#idFUBxhtv?@*^Pr7WSbB0P%eCl(l3y{ue7?-%lf{) zrI+-%^uZ_hU;9As>n-Ub8i%^Mi#x01__v)8bXWE?Ij?$ct)Ttf zS#5Ib?`cgfpN=u|eATo~+*rV80rr3WP#@N{I#OGzq~=y3(s^hkzC7*@42|PXwxrHHll)rT=RA(6hw|`Nb~uTL6eN6oH*E@8 z^v)aaXhkv*8IbH*=f*DxnX&6EpU+2B?HI^U0;fjK%+ z%uJif>b!@RNYa=IF+^uFkj@u8>0-1url)ArMcl^SLC0L0a3pxNcG{ntgfP@AqB|p` zXkBGkM{9FyCY~LBhV3BV%9+0TP%dmuSGW~uZ@0)cJH2{t^xNdoM?5O7ok#CF{eDzZ z$}CBp{+j92ZW^En-CT1`T^LzNX!X=xpe4fEvW4#SRWO{XSQDXJYbytP&USiVP)9j4 z<&_z}F?#69#}z}}B_G@bP$+}%yLn#l)wQrk2*>arX=#r00ujmyJ7TGe7g@bl4* z+@O$9M2bgOZpS;Txt;CQ+j7M&)UZbWB>d4xxPxa<-#PmVIn2j+BqlC!ic`*G?h`cPbsu%@6xC; za*et;(x4!fddh|vP)jmh5^9;t9hVZt@0X%qU^i4+q4;8>8 zBBB~5(JERwZxXP8iE;d+Rs|4gzQu`wE;*(G-#!<1aiwQXeyaCtK|_P!6NhFoBYQ^! zAQWk6gZ@0|T?}9BOY}mPB^!&TwT4OILM8+Lx@VI~9wtv{J;$Gar7AxsX<#4^B*Bx$ zt{(A}k^P>Ph4mmK9MaNmCAwsOMV|9Sbe0*p@R~caPhky(!dzO2iKd@-?;bvbn z`Oxtr>?Y^57gNXQ!{|A0v&m~qdP)Uya3sOVj;h-6=hd#293^8!0zh(O%Lp<>sN~+c z1j73tv`pms`w^z5NC6J&bEF+-KO337@*I*3Nb~=PjLC-|4B!Vxl1&c1{A40oe?`qy zS-i2ulH+Fr&>MvgLKc+F>4Erl$b-W@FdCv#7=OIVC8VSY6vKQ-j)9EO&SDBR_4jSA znJG>QtWV(5+N%*$eYq<>GOGYczxKXlZn~gcVOnKA&982q-gd&Kju7p{oFR&H>iP&c zu)=w(uZ)0MpnMFT7%rsk`X`$umQTKXtbMY4~hgUCpJ zCW!QlhR9%2nXfY4v$s2`eFE6*)Lec7?A(%=MuC-QM_W!UpmOc$R|;z_TGte9wD+~C zj$)e95z$kWBV?Z9Hs)$`+5wCV5%5e2`cWjBoEV5-U1+ii;0fi`?4Tmir>Ks0sY5`Vqi){PXa`}Y=OJyfA@7w^!P@l#wFQC4zbB7c$Q;g&QhC|>E;loC8R95 zW=-p7_9a=(v7l~*8&queW}3Z+_|Uj{FRqv~=kKZ?3)8xQMkQc!I5uMHELS0h*bZNKTvB;VNZwGHXr-H1T2kXYS9vj15maiP-{k{D zELK6*pvP%4E{g=b^sbSCHE}DGg<}nVnY}Gz*Su;|bZ2w((mS zvg;g6E2?J!)0E#8Cn5m>w&158x)HNS(W9UOt+V3c%kf!epq z!eRDf)r2CQ=~{ia$b1ledZReJDCzQfZ0 zy4PL9-!az2gP^_aEw%O_S={xuFRAdjnyB{lA_Lf1%9+QMLhkTdG3PE*L>IEb8Wq~VK5=bJH z>QsW5n2>MVXo9c0x~DdL7KsuOXXBYWwZYGHCSek59#I0h!@-szC2I)EfuOD}EBGAA z3rF$i6CGy+T4@BDml{ec&DREW*oU>*cCk*IY6fEkNSED3c0TwJ}0n{k9qw zt%J%icC;c(v7RIe0Ts?@g6hByD(}tjzf!z>XD$D{9s__vHSN|u7izT& zb4-Og@m%uZ&EMk2J}S@4uXL;e2%%S=s~KWh@6?QIu`hp?82G+`u7@<}{RDIIBKX~t zEpgk6&ZnVgqij*W zbCE9&m6m=9UK;*FS?*=JLiaI!VPpLE^)^j}I#iOh;;IXmt%ktlgl;a^U$(#rhnT<` zPm9>y)2Do6r3fKMsD)H$H-K0aD;+id@`Z~E5GxMVqAHPRYnD76WmM6eWzi<>CHLy< zR88SSU$hBPJZW%7z(06G4n?r0-ZaW~fSOZ7rJ&%BjXtdCc%)-Ky;{jUGAEC5>dOl5w+y36r;Dwzfp?wSkS zRJLtMaG))@u|04%$+WS~t1W~njVnZMKM z9EJ|?MU_DTdkp4iL(j3K@-!ko{M1Jq1%5g}Mq4*4HID77tO;H6{ntJ3gZv@ z9T);hQ|=DH*_QD1w{gl7b_Y|&m0e0x)O;GE$UF{iLxf*_&ca|iXD{mXzeHWTxl07| zOjiOu(1pv5IwL7}ofkR)lB%g`~h=a@<)pxRfn+$*Z{{s2(4Vd=S z?MF&u>Vt9&E{q**WDYZ*c#e!a-)FL1@5F^<#86Fjx^U5@XEKoA&+O&Pkc;+Ubhw$ElTMp5Ad1kgmMp+- z2-~HfRK-N+5w6hKzv^#G5Y5gC#NG|*cqeYLdX`#Gz*m`=Q6j&zelwFQ;mfq$A%%`O zYQ7UnEmWplvGZJ(y5o+G+#cBEjVjyJ`fN{PVsQX7@DMoU0b`j#Fj}HJ6p(O7CkP`U z0vHU2-ZaPtz+NixI{eTAZ803fV8>7%0Stj2S?Gd3$VNPMwgE=5PmEAvNk@4z!h4_- zrO)47l<9b?WNx!S1CT2V`+>-ouC2Fk+TETr@(dl4kzu&dHsTH~?d?Fg4>IkKDq9Tf z3F)oi#WzI4wnzTu;{0s77i-3c!p}ly^Wzgft^n{oxlHUhYKMz7oMUsuS)SNYtbGZf z(GdPoA-4FXvC_IcI2DSobe=yOT7qT`-G#O}zhl=WATal@NN;A9@gA=`*n|q+6+#lq@T2gP9|G>>pBuR5o#t%+1C3 zhp<6#BZ)yoYnk?`xx1@h>L>cT{>e|R_Ov7@N^U1=dD?-SyO(O;NXv52S1T@En4JP9 z2$A<3_G(sgYN|C~$sWf%9)K<6-I*8RtCvmc5si&90;te%I zBjb$M%tSv+lOsnfc?z^P#Y}B&w_8X1?9+75=`n%?uVQz34?v6V~ zadR8(fd|HT>%Fn6RGFaGXA@(N#jnUYK6MZ|*VM-=4FFsx5@u`pD<^dBb)hpb{hsl{ zhEIXEL@}jq6=ejUmQ_ZAKm@_gb%0=m zz=665+dqN`h@s)%bzp>v&42|~w!P3~JF1QcPMHx@tptD*O%MfQh$F#CAcZtC$f6w` z=tLK~(Su&}VH_r5GNxbvgP1z`wC~!DU^-@E7H0Dz@REjF%k;PY8)Nz^05ez?Hjvwi z*nyqch24B0ix0Mj5Bbe}grhe(+K=-I3zylsTxvhp`O0ygaY0{v5J$NLzO3R3U+pix zE*Ur7gk9h}^|Lz<-!t-qt$;WD){j51QF}|z@)4hEpOKC^lh~N)^}_L$Ol$x%TTTzF z)?Mho^Er;}bnjKKKk(eI@Da@$d;VggmiU9x|6Y83*6o7`%*he^a&GG>AXZ0 z%D@r@v`=z@pd&%BPE7oD>38EhsF-`?=M+Mq-KjrG#Y3v&QO*Fr!|&w5Do+DH@|CD- z3%Hv!=?*3(c6oiYAK)aNiPC9`na0KH^8778PS~>ozlhh0y4@CphA3^+^@L8uI?%n2 z$&N(bX^7%IqE_{5E5j4Ja_2UAJT^lg$YMwT#+k z1$QmypT&6j()$ zHr$VFuY<4mBBeFU*!uIP3FC#+QIn@G7F(29EKy_eGf}V|5-DW<)@{aj>3p7xRFacY zf)*s zLK885Fau~YIzhw$Ng_)7p9VC7O8iNtm^5#qDbTsp_fL<5r%c_d+Q10f|0K|rsSH@q z8!uciP`Xg+VFnvdQdF;qY6fBn4o+>>qYz$h7R+!U1vA$X=|r$i(3qsI{`)(}|AJZS zW4+MPQT~wSF4GBda`s#OXP@;G7b>yL#qL)(+%m`9u=igMD6$a~|7)!?mdtuR5?s3T zoSjxo=e*-i&v~;8R@+azCZ1%Ag;sYz_`%ogu|v7}TxQy?I9h+o44Y0LA7zzY{xn;@ zDP}3Po3p+2Iydcg#TrK};w;DY4V3u1Gr%@FHuFD#ss1;QK-=j?{;;#k2s-b+#^LAT zCJInksfH%$HW2IpS9}>AaM?6V#I1`hHQi(jRG>$>@?w97y{mdvkg>vnL8R#%JV?jE zL}B0E!m-Nx=h--Tk@joJ*mN89&#Mc0f0gJZGaq*CCma0ngJ#qZ+Tlxc%#Z2;PxXmE zsdhE$aX)D%{;V8S^!Nn)Ro1~$BcFO%())jL31-LtC8aA!1Lz#g} zO}3v|xXDS6vO;uhl?@{%@N>|;ZS$zEWDVqB<+ixW41ZZi?Z)7P@hjqVEfF2ltnYR8;6fzCJ zlk~rnWwh-9Q4X{~N1KLuyZ@N^>Fu*G-|s(Ues;Irt~YPY4?m1|J7A+}9eX*8)|B7+ zd}2ZLPKnw7TQvd>qy4qSqMVe$e0J|Qa~ zW*!C5Bh@DCj|&qixzN}HV4rfyDTBuo0Pff~OVn}8vQUV%}bd2pFM6m%uUZIu4&{O@{mV%D6`!WJMHq^GnMvvhlmtZ zG<1CE8EB_y8$bR6l`yLDNTewB=*X9rtkhBedhJ{cQZ>_D3$3*Cql}sE(z0ahu7_R* z8DgkmMi^;}f)oDB>=&neaoS52_PXP~yB_$eDtguOT=h!1nizfb!bY3o?Trr(L}!D1 z*KD=LHv3620yzm84@%y&JbAG&GBHyN5G;tDLmf|qh!ZVFtRz1eu95m0XriIUno84F zYi*?Ka#d>7DoJS5twX0?U9RXc)f58;&C+i+l|Dj!haw{dffmALSDbgzB^MAtiy=C4 z;xHtmi;N_GH1Omh3%ngYM+~4f3-gGd-beG1ApMHa{3HpoLkkO#bSToaAj!xGqiG?M zlTwftF4NSM64xEj7a5h|l?La7~Di*^dXO`K0GF;!!zx`T=!V{MUQBM6m z+R~ZUP-ilz=M(H6GP*nSe0Snb_a?|j2xa-i`l_z8(y2Rn-Wwvjb1YcM)n2$n5IJS# zj$jU(;YXyMUF81zdBCzb4<{CK5ESJ?rVTr4kRz+5%xZpAyG~HeNK~?;atrleE{=8_ z=A1K@8>j+~L3GwZ8Qbh(y2Yvtpz!*rBdKD!zNpF=(zj4s{muRrvvl3`Y`uolm=J7bHNvbw17br zsx7l!x(Q$)@Y#PRA##Hd(ZrsT*dn(*_#Rx{;zvgSvqE|fg^_!~;ijdm-L0E&3iv5@ zcbw8P!i0;`P_q$$9@S~uoG+FWkY43?(R!tpJDG949b*$_E+$-S?S5~t z2Vr79wzi*2;|hsR3ry-btqxqDw;2k7kT*(csF_RJIIr%_{l#TDg)o1tWj5@~gld3C zhDi|Se+2txqup(Oa((7E#0EvI18WwF2gy~wFBsSN?7i6YV0qm%)7IW>6yGY&ni}pQ?*)=q60#a#!I1lBAS~g*K6eksWPNSFeb; z997~#OQK)pfx_cc1BEY7pi1YsL^jkt1)ysdG!VbQ?{raRu(UurJ;3S&@^l$J{pxY{ zt3e=d{1cs$ad4W|aA=YiU0<-HkF=w(3dOgQhGoZs4}#p93DHVt{-E#{vd%sD}7+eicWq zGG>RvEL#{wtgR6b-(6rZx%amt4TsB6v`6(&-ESjZ>dm7el*7!9D?%=lP*39nZ*!+e z->vvid?kW&V8_-aV1=&ItFz+WdYEr6YVx4&TsVsgvIaL!_>8(eoYhoqSkP7)XkaQ& zOmY$5^vuSSUEZ9i5c^im6ph?b3#SAcAz&U-%5{EbGCao51gir|Co1TxSt6Zhf8`!m zVIeSQq6~9wZ;XI^g1hce$8>0!l{*?m_MxwW*plJui4-}Q+z5nwWKm_t#n;JF;tF~A zw#WHT@-&frvn5by&ZwBtSWe(IfdXn=RbiB(BpTO#+;M~fK;33e0~I01SV=4^RUg|X zbxC9q6=_+WHk?jqHx1@0tQ=G)bBTVGzZ0=?k&^G}{2h)HilEbgK9d~U7I6NV_z4&I z1(N+V;XI8r&iv(iY#U6VMh3YiBQZ48O!If-L7XQ7JoDar@o>WAt{EZt2c8BWWkExu7-fYiWO-ZI&FKuePTe0TMY4;l z4RoLELk>0h?162Gp{A8{F9u;sZp?^*z(Y?Cc0veYdB$^#5uC%jLyZYc7%wo!8loA= z%oX5A)r+)_R#{I|qXZ5pb}~$-T4+$zk4_JuSkq_}F=vd*fRztV^@l(nMA88H2yO2# z=PxTG@uC2r$JPqUxM^#s0HPlk2e+}x-rf>mc#g`0ew*TFZ9*_%LPEw$ORN(ihDCGW z^;fsbM_1y)nj=XrxiJ1X% zwli|7eWskkf(rA-i6^*C>_fi54I60K5(9t?**5_nx=OE%`)Y>6eiF^gp_(G)_2$+W zl+DbHD?%=TyjDbCq^-4Tdi|@Bg^qtPPab6;%rUnYNNEDA1eE#VFO_niG1joe^y;B--a;kEm!7qqxez_dR(ZUK^B;thpX4Qe;%lnI z{NoS`VBG=N0tk(6dc1kgngxPL{%kXO5G87<4Ch~*82wqf%VScHMI3-k&jxwSf$TAE zjRKc#W*fPhDp^nPU*jLhdoCH_AYh}cP=aK}Mk*gqj6{1^B)@jNV6yh?N%%w^_*lkO z{j?UeeSqf(x%|h2XVG&{K4$+o4C?$DrkFYfQu(8FSH-ykuCQd(Q%_Wc`%WwzrGH6Q zKsh1&6^9nS;f0JTEuq%7b^eXyun~N=sz+7>^nRYCEAj1h;fk*rkw^`HZ^!gZl=iLE zMh?8P54|*ySo!^<2n?&auvkxs8`fp;}#FJU1 zPtlpoWMLW@CLhoB@JMZ6z}LfagMI{cZZoSfwK0_SHdFnve34)dyq&abdj{&by11os z-@ePdACI(fcu2y)gvKP@36Y=Oe{!*jTX)Z-y-y#;(w?WimUhcOEcjjrUsV?Lt5vRl zL&GYRPRBJ++Q^hMV?k-h<7p_G$*XnDJ`_GPap+D`kvF9~J#!ONdOr!z(@>jrfoAwX zs@sWlU2m!yHnMC*zfa|_^r2V>2P^AP9(h;9PiW+5rN-{=YY(Tizu_Nb^b-zlNEkG0*_>5W z@iI%5+N7#jT~V`{o0UR^kGK9C>8jjMd*EI?0Quab=tun3zx>Gj`>3@oD6|(FM9>zX zUX}@kXU)3;-c7l|u17D&T3f+}mn&a2KqV6(E>jv%N{|D@TCSywcGEjrt70Et%vLOx z0iB9O&y(3* z$}0Eter2ofiDOZ&U7*|aRa}a90A06i9Pt|rS+XCO7V59QwEIMnb+!7ZKEXyYP0mqR zhpaugrDhH7>GsZM>L&2SolV0G+phQOn@G|4xXGjRNT;dKY;c-y>ga{bgTP|KFHnDjI4%`oZOMby^*17 z<9)>3=;1<*^0kwHk~c}o2g|4QT3Y>8@g_q^0mh-}NQ@;Klt)8nd1rRdyRtfS#C_SG zd?ypd(BR$}t+R2<$T$^j(&lU7VO3jxI6N;{bsZJq=j5wQkN5%}aN|UFRAOz${IP07 zv9`5!A*wjeZjx2*DOB{I1+c(RSlDqHM)MK!T;!itcQe>kNSb&)zhB5oN&1)&y^fN{ znZXDz@MCA(q2?gampwObWG3>FJvCBf{)Oo5VY>CGk7>*KS8i+o`gw^q)6Hc3Ebvl{ zO-kTMNKRzJ%_=tnZ>19^<*(cTpUlCmk?o|!J37|lr~8FUWI8qLoVsas6!Pl!%=d5!he>vF;67S!R=K43iri|Lkt`edCI^F31<67{B*t zRd3h!hJl6r+!!Q-PBtdL`00h_R|H5!LDnTru#h7R{HW|6B${)yyBS|k`KO2s5p zTBn<_M^PBY>FpOXa8kkl$?1PB%@=0BGP}=grC9+6A|4s@%sC}rb`Uz^dUnf1^2D*c z&DQ6RK-|x5NDyT-gisV4B?N?m001LG0kxKxf{qYK`tf^|myh^tk?B%n-fAR52^v7% z)-K*Bs_8`V{p4L>Oc|L)A`9_lV|I1$O7L1#-rTmoUH-}1<3k+f;BEVEy-n%-7$!st z9n>)KLtqCV62sKaJRzdm1IEQNG1Z=(K}-%h0FQR{BqEMdI#Tv&8@e|Wsb1PN?L73t zDlIC8+r5pL%{ZLyysIGRud^Z)MkwaAS%Y?8xE!P-!4!G@nowy;mtQlvwswx8TGdSU zm9N;#Z_{4nr`rPB3Bi(UMvvQzco%3|PjVMfTiL*vy8Fh5FRW-NEPFcB{ttA7g|4yh zbfXLKk(bC7B%EodpiD))=VOhZG%z73?D2)0#2(sI@T;(Ax2|4xiGd+%cj`zO`XyPA z^n(eZFW!gL3>xu+^j#+e9r-hGjREu$+y2y6C%8S>_*L#4%Ce(mJi(p*DM)k+qOS+tecpu5h?cIsojo*833 zL4KI>)~s;|jTf$D?uB-Yk#ohAivEdw@N(Clju4GIO(cYN1Ue(TL_LhBlwU4V1 z$&SFNWJo(QM!TIMbh7-2416n`5K%~h39XF2pjscDeiXW{C=!gTf1kCYGL^?qc&C|n z?(FV7034~!Cq}%EjI5AdB!Y|r^C=1yVpbf6PRb7B5f=*8#kpgYJTP%UO$U&Yhl#SU zWnp6Z7=Z@;4IU&skAR13esH5=H1v}FmFyBm?3Z$n3d3mKlu?-AK_x_(y}e6z1S7%^ zQqM*mTL>MIt<3EJE%N$h>Gbl3hU|*vxw_h+bbM(;ST`kC?9-01S35L)v4U| z$en?~g1s}0NPIwt#1X7MXQ+vFslQ zw39RWZmr|?kZ`>H#KXB8X55?nagaep9~Y8;x%d2=Au6=hazEOv&`~TwNo4KRlhE`_ zvI}ipiMYv@Y1jAzI;Stva~mFeN@V^(C3zzxN{K@1Hw-3QqC@55l)a3_&R=X$^RvaWOC|jv zBnjUaRGV~0d#Y0n##BS=wy6dN12}1=_&BbzTDm-dY9ZC)75^G*@FY}AV7au~jol@} zD{#g^<={8ax(^2ih6n;e_G1I+QYU32Wn8@D6_Pv~5$m-9sU#N~)}bOiC`yv;ksZYd zL8Sh&TE~PAi*M50*^}ON@bKuPfQUZF*2#`RM>cL{tlb(V%07qqm)PL)-jB9xj*D+HTjV2@Vae`*SE$RA(`&>PAt)_dpnYV@z& zjuN5mknW8W_IOQ=lKd~u(SLlWDh{se4|`bQb{U2w#6$`3FY+h>O%`Be?ey?B9zJwT zcI27sq}A7>MA@eh_=VplZ>#>KQz+6noAM)kVz;VCje5C5O{dcHh&0L+U&T|0RFjv0 zy)xzZBCdFc@I|wQeU>R?GX!i0gGJr_&y4k{hAav79$ljRQ;0e_6DM5sF1hUM6mz<4 z+!X$dB!j&l9FWNZyg`9#Pk``Z<`Bz1q7vNQsX~hBk{3y?TfVhuwpNv_#*ScGLS*u| zzw_ATW;W%c(V1H!IT#O3oZ^XSYG}_1-I+#Epj>sPO0X(@&x?THu~n^R zM@Km5>hJRew4eOUpjc^?c_^`Sb`mk<1NnT(E1$6D-K`}vSSa2A0snJ9200t7mR7G# zQa_p#X?U;uXcZ)Y%MvNiDEWNUG(Y$?wk$#V_vVp|&wBHW=vBTy){@Fq*MoT@-$-(z zsk)L~l;5PVIU2|J#ok#tt4}EG4KOAYs|VDJqARAZX{~BERdvLYzTWY+AnT>;syc=9 zWe0eGb+uUR9ig~$Y-?3M3+e~7(k$9Ln;@50$1@5;7D6%K9FWX=W7*b{8GuVcBNgQ$ zgBWa`8c;OHO-5A>hlG&Wr3*7;igdIE1vY9>_1FU8T8$`9Ne!C8l?UA?xXt3mFYD1} zzA~Vx3g#SIF_<wZ)QG z=wdppKAuzlPxYs{${NeMxOG#pw}>u(gBwdB4RLHMM#ASi$g@w z6VjV{jdJ1S8bU+{AY2w@4TT68qpoL%2v0ACt=0pnlop)xA&}D7RPay{&C_yFjksrp zCf^=j6e@sDaL1IUcrY)yg2AaexuTf4uhR)h`}KZQl=gi~y0% zUr)3g&epBuY>|wYtifU#yh+;c{$~(B-6b_tYqjdILXox) zN~_uk-I^`Rv1~EO1e68Dvse*C7B(WQi=^FCq$<^j3%tF6b*6DeBDX_zy>=U zww_?b-QDf*_*(4du8`l++vXvOS=@x7E;im}4>YE##HH_B-GLuauI_e+!&`Fbx`RGl zZ>?w43%SSjd4epbJuR0K3IvEW zM){36Sw=>Z8|1>4=DR*WpkAPll$WE@UQ`RE0^Vh*u@ZSEBvm?U?S?jA$R!ytuMg_w zqwaJm7k)sll8Z9wyMi20UXa8|1YEfY%=7=`p2S^mHMV-Qp>h3o2lDz8H-#uvG-pI# zC8NXm5y=Bs@bFFWW9V|OAh)gmpZF4{203@u!o196;n+0t zO-RG}9<<0I4!({6fxR+WlJa`lcoRLY(21Yoaq9YFf|qpCchdqh?`1{hSOYWs{HGMj zQyjs`SAu+}%HA3QPhpWT`72bvfg0ze===^L^5U`Y=BSXZh3yLUZk5HE381`uSV!_o zKWBLH7)BXt=lFo3z24@Dr-KgRr^Ve|@uqKoS*dc=#J?IA#i;{k&`=)uwdZ^PhbZ^A0oE*Zh`fSa^ek?B5j>ZY=;lfe+Ui!!i!&3{4BlLIaquUmO2bh-@>gk`; zebWp>GmSp_tMt(g3q$J`j?%xN>*pDcFLrKzAqkG{rH^(kd1K!CQTkTN8#RM(uJ~kh zLERgYHImWkPj|F08Kpl*AAM|nCpgbPSU4)#LmydgIMO8<{ZCKsoz^i3`~P(E++{7? z6O&J^8#a#6!Ey@k3DTYQ1w{j8>5!iB4&y^3^3OuIg#w}u8zM@he~Xxlq)YEE%mjXS3*Ps*S5sezLaxm zW1Z*mvH6dbFCk+Sk7b_;1QPQH3)0!45IBD-QeeR3h|>FvEO89XSM1^`;aZyd!!!}y z7zZMATXA5aX@a%N6LQp=a$8q-Mf~=nMwhV`mwmRhL;o#aR6vT0;dMXWMxg!l0Qkef zE27)7VY9ck-yBfgHNlh;g*wh~@}?onxu~&6eQwh36X_{z+G|!#GKgYvt zr#({*hTnD*Dvn6cOY_7Eox9p{P5?~~Z0fWvmt#;#IoOU<{$zrwwNy&d5U~Eu%(BiY zR7-nB&3LgCgUubMZ+rJ;%8KTK#a|p}0;})6QLyWc8MQWPv|39I7Q46EZtjkxjKj@i zhoaSl8x8QBX3xqN8!wlZY3(7a!xJ{MKFnPPKeQ7(_-FM$mHD7B-@{xFPJnTS+Ceu1 zBF@{SFh#ZQLN-dinbrnn`cTks`%o?aFe=IjqpGh=I#aApX}9HMx{%uL%l2h%ZI)RU zSk#ZH6(2<o4L=&r6!pmvfuqz=-8Ftvw5Hpcx+ z^)(zqgS5{_{2|m*!q#^7W{W(`H^!oFmnYj;C4Dun0V{dH=*snVUlf#q!LR~@9{xc- z#%9u-T6U#M_48z;y%IE~JokOOmnRXH8GR{-$y+lzE-kEdhvfl~-lN0=lic%Q}3i3;!^=mty;!>{Ax_&Xh z;yfQv9j6>~ckSw~4wyGv^V%( zisyAr;K36-HWL%6pq&#(D$vXdUOkyyS)Qu2zU79XG8XWK4TY>UB9<&x@o>0jQ)!dQ zn+e$Mol`n2*r)M7cI3nKX+!xAxZ)+^Q@g;4>+Tj7t@uG6F&VyRlf*cXK( zGb7ouQyqlPfi?uuz+8t!92K%&_!cZ;eeAFJ5KHOU{t%mi-}Qs?RpMHrU~MnhBZ<^F z_0o^#T-!E-!SJxf<2yl|1f$4t@Hf{WlgOL3kV{>u;!=^H6AQ z@B_yA_N8;eVX;aViH;isp@}oYeVxRPDc5nCpC9k;0SAxSYcFaaPRp%jgLQdzmMy=^Y7aL(EE_IpqvD%CMeAalgR>}x7B1)4hbcVFw9WyH#5k?5CE65n3 z1<`!1?--Pn{egE7|E9ML?F{KWnZ8FfV+t zU{AVe{mMtK+F?y001$$%en!%6_{(9 zEg{#~COO>c)HxQ-{~;x`=D^rVTUYt(`2_qutyxwGWq z61{R$_>J?#?o?n;3jAX6ZuWk*-TSc@T=orq90VU9**tAQ~yQTU^0R5~%d>m#tg z`M)REt2#S`&@WEg{j)3&%~JC}X2RddT;&VO7x}ds_$=FikBTTke}k8`oX%o$Awmxp z#R{T5?hNaBoABvL-@Z@j`h-Fi)oC=*q*9}c%T*D**4uIA26<`hQzKVO)f(Az?fNO9 z4@hj((~9kiTDn%DfWA=~;Mo1FXKmwqoliBl`d*zrb)COEJ)~^Q*#=WiWq-6#XV5WB zffvY(uZ6d*ACCNzYv3m=`&ar~=-E``*B5#R)8tVGy^6`ny7=^k?$VSuTTAaw8OW@C zsKkg*YVMZDSZm@Uy}e!2+H8p(^|TA>j3#w;R&Vy@LT;rZ-Wty%TRvuLt|It~#GVl)7Bcv-5-aab;aWIJ~cpYB8fk$ zJ@oPCc62l9&b;~1FfTmSSXXD59*G#Hxr(WVaCn+Q;50D(--%2!f~!XkVsLmtzW~po z?x((Q3^KS3@W=Zek|xbi5k zT!rbNW7)Xl1KdoQG!=j12gR3!<0lm4sUdE9U>A;64t12N%6U;ao^U_}wpmmmsVt~c z$pXqoG3a4H3`*@{IYy~O%jGnAOgfmJnb@c6ocmjGyZ`?!fh}6mV|rk^-x;n1V2EE- z`ly7%oLv;^3v}8C7a6?Wb};ec7Zn1K%UH&sy?K+q);PGNh0nv#1sK`^!P{5D2Vv+C z3^&&)bRi2<=SP-Q!@qZM|CGQk0Pv5iHWuKnPk{f&`Puic91K1kojClWXZXd5z3-)f z_J;aJrRoK>dZtP_YnX%P@lhO(n8%fXPiEge9}%-Pk6`%aeRnT}#cVYmW^4ch61D~p z!5cnBUH>d{A;!jUN}p}-!51LtA`I;mddEumkZ~A>o9pU-p^6LU2bbjFo>%hQ2D`ux zUTYON1mMy)Xa~&L3BeZ`@P%zK7lPr##-aT;`l#DmGtXS^lqJ=0V$E>&i~d$&e#zor z#z6n7TEu6~`Ee#wMCEn%li14MD$({cc>F~?Ljbh<;J;w#Zy3G=!50C2gmuF$ub2cu zTj`8tk)NF1=1}Wo(^a`LY6Z{w>q}5QIB?tQJAPCH7#QDz$l~gLLFa|PjBw9>5p%=> z>z{q$|4o=v4aXLNz`w6&Z0-an?;752@*F#5E*_r(oUJvjFE;ps!A9SEuRk4>nJo6+ z0PPX=3rgh+YV{12a^?`0SHus8Z{vSa2@bu==KOK_HvV2vaBu^g{RgnuPnr+0TLKWk z!PoW%TUG|aFYLW@#kBR8j)58PY(rf&0tP10gSijFc}?_zr<@n@;@)(`9H8Pm6`tyf z`xmaV^Uw|m+EE&UE?nFMLF~482=MM{tDZI7aRb$GaPH(_B3o+6US%%Yy+vw7VAC!* zhR9L$IFRk8oh}-5fE4iH)ys+Ik&mrR*U4oZ(P6NnSx}`SxSCOutM=oUfk` zew5c-4flA2z8}1KseUOy%K-`iP>vGb`Ak(sDxz{#fhvXsc&Rf15T$qH~RW-SvAVpXC-<*F1iG*5fJj8;R0Q>sJ-IAuPDEK$=MX1fdB zB^FMa!{X<6vxPmXHY?HV8sUnnN>r#^^@0o|hX@Z;i3)H`93osa5F$Vr5_}hg_%#Ga zb`aFs!I2%I0n^~HMqJ6!Va)iLjyjN+>+$9kWk15gR6$sadt13V#CBJdR8|?%Hee&l zIJd*TBDJBEb-9QK>q_8NzYbitZt#s7$fadNxIefLctQezLjkEFd;5mBzi`JiFYR*Q z(`(VcoqP8qo|4}PO^@XKzJTvNnt<)xCmX(}uL8MI=D$Z8HPS`c9mVZve4VTYq2T)Q!G(J+Mfh2(8HhgaL;O z+>Jg^4^RfcRxFjvRZ(xAGIiv1twsyx8b@ezqg-_-ch+T(&?YTS1wsq*IavZ@mMv6L@5t38uAl`o#{qoSlUH1cwbQmre?yBaBs;37^1RI7wOK()=|<%u0O7!{juilQBLMhCk+qJv?nOA6D_;M0m$j$5 zU$+mUp=!tteZzt=Fq1t&e>fI}^vo9r0Q5&l0UkbW)rQCcBff zl20VpC%;P3Q<_vb)tuUzu1Jg0&h*&y^Xbj$dl_toJNl29A@fN#m%U%TCfA#Lm?!6T z`AB|J{>%LN{NDv(Ay{~>@Im2B@y(iG?c7p-9aIlBfX3h^UenB`?ak)qO!LI%9W50t zJuUlN^{tuK{?=z(FSHrkj&i6Y%@7&*c zw)09ChaLKEI6>Rb&@bI@T)(X+ygfM7|6cF51D2h%_hiq3?tx#w^05Z34H`aZ<|!wz z`VSl;{zl>|j>#K^`*nM^rM`MniNu>E

n(EY+GG|4VA4inFBwH+g6&B& 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 U((P2HlIs#YLjE&nrfviP085DrV*mgE literal 0 HcmV?d00001 diff --git a/docs/assets/fonts/inter-latin.woff2 b/docs/assets/fonts/inter-latin.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..91dc3e8529921cabc74fb1dacf5253260b9c8cca GIT binary patch literal 48432 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 Tp~gD%=1~4;zp%;UV+#NP+I>lo literal 0 HcmV?d00001 diff --git a/docs/components/code-preview.tsx b/docs/components/code-preview.tsx index bbcef25..ea2f732 100644 --- a/docs/components/code-preview.tsx +++ b/docs/components/code-preview.tsx @@ -22,6 +22,6 @@ export function CodePreview() { if (next >= 0) { event.preventDefault(); setTab(names[next]); setCopied(false); setCopyFailed(false); document.getElementById(`tab-${names[next]}`)?.focus(); } }} onClick={() => { setTab(name); setCopied(false); setCopyFailed(false); }}>{name})}

{examples[tab]}
-
{copyFailed ? 'Select the code to copy it manually.' : copied ? 'Copied to clipboard.' : 'Real catalogs. Familiar interfaces.'}superstac
+
{copyFailed ? 'Select the code to copy it manually.' : copied ? 'Copied to clipboard.' : 'See the quickstart for setup.'}superstac
; } diff --git a/docs/components/federation-map.tsx b/docs/components/federation-map.tsx index c4d2f45..707b621 100644 --- a/docs/components/federation-map.tsx +++ b/docs/components/federation-map.tsx @@ -1,17 +1,45 @@ -import { Layers, ArrowUpRight, Check } from 'lucide-react'; +'use client'; + +import { useState } from 'react'; +import { Layers, ArrowUpRight, Check, Pause, Play } from 'lucide-react'; + +const routes = [ + { path: 'M157 214H210Q240 214 240 123H330', className: 'catalog-route-one' }, + { path: 'M157 214H330', className: 'catalog-route-two' }, + { path: 'M157 214H210Q240 214 240 305H330', className: 'catalog-route-three' }, +]; + export function FederationMap() { + const [paused, setPaused] = useState(false); return ( -
-

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