Skip to content
Merged
Show file tree
Hide file tree
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
6 changes: 6 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,12 @@ We use [mypy](https://mypy-lang.org/) for static typing.
When possible, projects work in `strict` mode, meaning that type checking is strongly enforced.
Some projects are not quite ready for `strict` mode, but we want to get them there.

## Docs

We use [mkdocs](https://www.mkdocs.org/) for our [documentation](/docs/).
To build the docs, run `uv run mkdocs build`.
To serve the docs locally, run `uv run mkdocs serve`.

## Lints and checks

We use [pre-commit](https://pre-commit.com/).
Expand Down
18 changes: 12 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,14 @@ source .venv/bin/activate

See our [contribution guidelines](./CONTRIBUTING.md) for information on contributing any changes, fixes, or features.

## Packages

```mermaid
graph
stapi-pydantic --> pystapi-client --> pystapi-validator
stapi-pydantic --> stapi-fastapi
```

### stapi-fastapi server

A minimal test implementation is provided in [stapi-fastapi/tests/application.py](stapi-fastapi/tests/application.py).
Expand All @@ -46,10 +54,8 @@ uv run fastapi dev stapi-fastapi/tests/application.py

The app should be accessible at `http://localhost:8000`.

## Packages
### stapi-client

```mermaid
graph
stapi-pydantic --> pystapi-client --> pystapi-validator
stapi-pydantic --> stapi-fastapi
```
The `stapi-client` package is a Python client (CLI tool) focused on interfacing with the STAPI specification, specifically with a STAPI server. This is a work in progress.

For more information, see the [README](pystapi-client/README.md).
13 changes: 13 additions & 0 deletions docs/stapi-client/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# stapi-client

A Python client (CLI tool) for interfacing with a [Satellite Tasking API (STAPI)](https://github.com/stapi-spec) server.

!!! note

This is a work in progress.

## Installation

```shell
python -m pip install pystapi-client
```
2 changes: 1 addition & 1 deletion docs/stapi-pydantic/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@
!!! note

This repository intentionally has no input/output (IO) functionality.
For making requests to a STAPI API, use **pystapi-client**.
For making requests to a STAPI API, use **[pystapi-client](../stapi-client/index.md)**.
2 changes: 2 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ nav:
- stapi-pydantic:
- stapi-pydantic/index.md
- stapi-pydantic/api.md
- stapi-client:
- stapi-client/index.md

plugins:
- mkdocstrings:
Expand Down
1 change: 1 addition & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ ignore_missing_imports = true
plugins.md013.enabled = false # @gadomski likes to do one-line-per-sentence in markdown
plugins.md024.enabled = false # duplicate headers in changelog
plugins.md041.enabled = false # github templates don't start with an h1
plugins.md046.enabled = false # code block style (we use both for mkdocs)

[tool.pytest.ini_options]
filterwarnings = [
Expand Down
21 changes: 21 additions & 0 deletions pystapi-client/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# pystapi-client

[![CI](https://github.com/stapi-spec/pystapi/actions/workflows/ci.yaml/badge.svg)](https://github.com/stapi-spec/pystapi/actions/workflows/ci.yaml)
<!--TODO: Add PyPI badge when package is released-->
<!-- [![PyPI version](https://badge.fury.io/py/pystapi-client.svg)](https://badge.fury.io/py/pystapi-client) -->
[![Documentation](https://stapi-spec.github.io/pystapi/stapi-client/)](https://stapi-spec.github.io/pystapi/stapi-client/)

A Python client for working with [STAPI](https://stapi-spec.github.io/pystapi/) APIs.

## Installation

Install from PyPi.
Other than [stapi-pydantic](https://stapi-spec.github.io/pystapi/stapi-pydantic/) itself, the only dependencies for **pystapi-client** are the Python [httpx](https://www.python-httpx.org/) and [python-dateutil](https://dateutil.readthedocs.io) libraries.

## Development

See the instructions in the [pystapi monorepo](https://github.com/stapi-spec/pystapi?tab=readme-ov-file#development).

## Documentation

See the [documentation page](https://stapi-spec.github.io/pystapi/stapi-client/) for the latest docs.