diff --git a/docs/index.md b/docs/index.md index 8529e01e..d3ca5c00 100644 --- a/docs/index.md +++ b/docs/index.md @@ -2,7 +2,39 @@ ![Ferris holding STAC](./img/ferris-holding-stac-small.png) -Command Line Interface (CLI) and Rust crates for the [SpatioTemporal Asset Catalog (STAC)](https://stacspec.org/) specification. +Welcome to the home of STAC and Rust. +We're happy you're here. + +## What is stac-rs? + +**stac-rs** is a [Github repository](https://github.com/stac-utils/stac-rs) that holds the code for several Rust [crates](https://doc.rust-lang.org/book/ch07-01-packages-and-crates.html) that can be used to create, search for, and otherwise work with [STAC](https://stacspec.org). + +## What is stacrs? + +**stacrs** (notice the lack of a hyphen) is a Python [package](https://pypi.org/project/stacrs/) that provides a simple API for interacting with STAC. +**stacrs** uses the Rust code in **stac-rs** under the hood. + +```python +import stacrs + +items = stacrs.search("s3://bucket/items.parquet", ...) +``` + +Check out the [stacrs docs](https://stac-utils.github.io/stacrs) for more. + +## Why are the names so confusing? + +Because [@gadomski](https://github.com/gadomski/), who built and maintains these tools, is really bad at naming stuff. + +## Why are stac-rs and stacrs in two separate repos? + +Couple of reasons: + +1. **stac-rs** is intended to be useful on its own. + It's not just the engine for some Python bindings. +2. Care-and-feeding for Python wheels built from Rust is a bit finicky. + By moving **stacrs** to its own repo, we're able to separate the concerns of keeping a good, clean Rust core, and building Python wheels. + Not everyone agrees with this strategy, but here we are. ## Rust documentation on docs.rs diff --git a/mkdocs.yml b/mkdocs.yml index 6f573c21..d614cffa 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -39,6 +39,14 @@ plugins: markdown_extensions: - admonition + - pymdownx.highlight: + anchor_linenums: true + line_spans: __span + pygments_lang_class: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences + - pymdownx.details extra_css: - stylesheets/extra.css diff --git a/pyproject.toml b/pyproject.toml index c680d761..7bd83a56 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -13,3 +13,6 @@ stac-geoparquet = [ "stac-geoparquet>=0.6.0", ] stac-api-validator = ["setuptools>=75.1.0", "stac-api-validator>=0.6.3"] + +[tool.uv] +default-groups = ["docs", "stac-geoparquet", "stac-api-validator"]