Metadata-Version: 2.4
Name: oshconnect
Version: 0.5.0a0
Summary: Library for interfacing with OSH, helping guide visualization efforts, and providing a place to store configurations. Implements OGC CS API Part 3 (Pub/Sub) MQTT topic conventions including :data topics and resource event topics.
Author-email: Ian Patterson <ian@botts-inc.com>
Requires-Python: <4.0,>=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: paho-mqtt>=2.1.0
Requires-Dist: pydantic<3.0.0,>=2.12.5
Requires-Dist: shapely<3.0.0,>=2.1.2
Requires-Dist: websockets<16.0,>=12.0
Requires-Dist: requests
Requires-Dist: aiohttp>=3.12.15
Provides-Extra: dev
Requires-Dist: flake8>=7.2.0; extra == "dev"
Requires-Dist: pytest>=8.3.5; extra == "dev"
Requires-Dist: sphinx>=7.4.7; extra == "dev"
Requires-Dist: sphinx-rtd-theme>=2.0.0; extra == "dev"
Requires-Dist: mkdocs-material>=9.5.0; extra == "dev"
Requires-Dist: mkdocstrings[python]>=0.26.0; extra == "dev"
Provides-Extra: tinydb
Requires-Dist: tinydb<5.0.0,>=4.8.0; extra == "tinydb"
Dynamic: license-file

# OSHConnect-Python

Library for communicating with Opensensorhub that provides options for saving configurations, getting visualization 
recommendations for data, retrieving data in real time, archival streams, and batch modes, and more.

API Documentation available [here](https://botts-innovative-research.github.io/OSHConnect-Python/)

Links:
 * [Architecture Doc](https://docs.google.com/document/d/1pIaeQw0ocU6ApNgqTVRZuSwjJAbhCcmweMq6RiVYEic/edit?usp=sharing)
 * [UML Diagram](https://drive.google.com/file/d/1FVrnYiuAR8ykqfOUa1NuoMyZ1abXzMPw/view?usp=drive_link)

## Generating the Docs

The documentation is built with [MkDocs](https://www.mkdocs.org/) using the
Material theme, [mkdocstrings](https://mkdocstrings.github.io/) for
auto-generated API reference from the source, and
[mermaid](https://mermaid.js.org/) for architecture diagrams. Markdown sources
live under `docs/markdown/`.

Install dev dependencies (including MkDocs and plugins):

```bash
uv sync
```

Build the HTML docs:

```bash
uv run mkdocs build
```

The output will be in `docs/build/html/`. Open `docs/build/html/index.html` in
a browser to view locally.

For a live-reloading preview while editing:

```bash
uv run mkdocs serve
```

Then visit http://127.0.0.1:8000.

To match what CI publishes (warnings become errors — useful when you've
touched docstrings):

```bash
uv run mkdocs build --strict
```

CI builds the site on every push and deploys `main` to GitHub Pages via
`.github/workflows/docs_pages.yaml`.

The legacy Sphinx setup under `docs/source/` is kept temporarily for
reference and builds to a separate output directory:

```bash
uv run sphinx-build -b html docs/source docs/build/sphinx
```
