Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 18 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ A: **rustac** can

If you don't need those things, **rustac** probably isn't for you — use **pystac** and its friend, [pystac-client](https://github.com/stac-utils/pystac-client).

## Usage
## Installation

Install via **pip**:

Expand All @@ -41,7 +41,22 @@ Or via **conda**:
conda install conda-forge::rustac
```

Then:
### From source

By default, **rustac** wants to find DuckDB on your system:

```shell
brew install duckdb # if you're using Homebrew ... if not, get DuckDB another way
python -m pip install -U git+https://github.com/stac-utils/rustac-py
```

If you don't want to (or can't) install DuckDB, _can_ build DuckDB as a "bundled" build (warning: it takes a while):

```shell
MATURIN_PEP517_ARGS="--features=duckdb-bundled" python -m pip install -U git+https://github.com/stac-utils/rustac-py
```

## Usage

```python exec="on" source="above"
import asyncio
Expand Down Expand Up @@ -87,17 +102,14 @@ asyncio.run(main())
See [the documentation](https://stac-utils.github.io/rustac-py) for details.
In particular, our [examples](https://stac-utils.github.io/rustac-py/latest/generated/gallery/) demonstrate some of the more interesting features.

## CLI
## Command line interface (CLI)

**rustac** comes with a CLI:

```bash exec="on" source="above" result="text"
rustac -h
```

> [!NOTE]
> Before **rustac** v0.5.4, the CLI was its own PyPI package named **stacrs-cli**, which is no longer needed.

## stac-geoparquet

**rustac** replicates much of the behavior in the [stac-geoparquet](https://github.com/stac-utils/stac-geoparquet) library, and even uses some of the same Rust dependencies.
Expand Down