Skip to content

Commit 6cb457b

Browse files
raullenchaiclaude
andcommitted
Prep v0.1.0 public open-source launch
Developer experience + launch polish: - pytest runs on a bare checkout (pyproject `pythonpath = ["."]`) — no editable install needed; `pip install numpy pytest` is enough. - Makefile (test / lint / format / docs / build) and a pre-commit config (ruff lint+format + basic hygiene hooks). - README / docs install now show the working from-source command (a PyPI `retina-sdk` release is landing shortly); fixes the previously broken `pip install retina-sdk` first command. - Version 0.0.4 -> 0.1.0 across pyproject / __init__ / CITATION / README / docs. - CHANGELOG [0.1.0] section (grace window + anchor) dated for the launch. - Social-preview banner (media/social-preview.png); ignore uv.lock. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 1eb8599 commit 6cb457b

12 files changed

Lines changed: 86 additions & 20 deletions

File tree

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ What actually happened (include the full traceback if there is one).
2828

2929
## Environment
3030

31-
- Trio Retina version: <!-- e.g. 0.0.4 -->
31+
- Trio Retina version: <!-- e.g. 0.1.0 -->
3232
- Python version: <!-- e.g. 3.11 -->
3333
- OS: <!-- e.g. macOS 14, Ubuntu 22.04 -->
3434
- Optional extras installed: <!-- e.g. [yolo], [video], none -->

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ build/
99
site/
1010
*.pt
1111
events.jsonl
12+
uv.lock

.pre-commit-config.yaml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Install once with: pip install pre-commit && pre-commit install
2+
# Runs the same ruff checks CI does, on every commit.
3+
repos:
4+
- repo: https://github.com/astral-sh/ruff-pre-commit
5+
rev: v0.6.9
6+
hooks:
7+
- id: ruff # lint
8+
args: [--fix]
9+
- id: ruff-format # format
10+
- repo: https://github.com/pre-commit/pre-commit-hooks
11+
rev: v5.0.0
12+
hooks:
13+
- id: end-of-file-fixer
14+
- id: trailing-whitespace
15+
- id: check-yaml
16+
- id: check-toml
17+
- id: check-merge-conflict

CHANGELOG.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

77
## [Unreleased]
88

9+
## [0.1.0] — 2026-06-17
10+
11+
First public open-source release.
12+
913
### Added
1014

1115
- `ZoneRule(exit_grace_s=...)`: a track stays logically inside until it has been
@@ -85,7 +89,8 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
8589
(`JsonlSink`, `WebhookSink`).
8690
- `event_f1` / `match_events`: a generic metric to compare two event streams.
8791

88-
[Unreleased]: https://github.com/machinefi/trio-retina/compare/main...HEAD
92+
[Unreleased]: https://github.com/machinefi/trio-retina/compare/v0.1.0...HEAD
93+
[0.1.0]: https://github.com/machinefi/trio-retina/releases/tag/v0.1.0
8994
[0.0.4]: https://github.com/machinefi/trio-retina
9095
[0.0.3]: https://github.com/machinefi/trio-retina
9196
[0.0.2]: https://github.com/machinefi/trio-retina

CITATION.cff

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@ abstract: >-
1111
world models.
1212
repository-code: https://github.com/machinefi/trio-retina
1313
license: Apache-2.0
14-
version: 0.0.4
14+
version: 0.1.0

CONTRIBUTING.md

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,25 @@ Retina has a numpy-only core, so a basic environment is light:
1010
```bash
1111
python -m venv .venv
1212
source .venv/bin/activate # Windows: .venv\Scripts\activate
13-
pip install -e '.[dev]'
13+
pip install -e '.[dev]' # or just: pip install numpy pytest ruff
1414
```
1515

16+
The core is `numpy`-only and `pytest` reads `retina` straight from the source
17+
tree (`pythonpath = ["."]`), so `pytest -q` runs on a bare checkout — the
18+
editable install above is a convenience, not a requirement.
19+
1620
## Tests & lint
1721

1822
```bash
19-
pytest -q # run the test suite
20-
ruff check . # lint
21-
ruff format . # auto-format (line-length = 100)
23+
make test # pytest -q
24+
make lint # ruff check .
25+
make format # ruff format . (line-length = 100)
26+
make help # all tasks
2227
```
2328

24-
Both `ruff check .` and `pytest -q` must be green before you open a PR — CI runs
25-
exactly these across Python 3.10–3.13.
29+
Optional: `pip install pre-commit && pre-commit install` runs the same ruff
30+
checks on every commit. Both `ruff check .` and `pytest -q` must be green before
31+
you open a PR — CI runs exactly these across Python 3.10–3.13.
2632

2733
## Design principles
2834

Makefile

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Trio Retina — common dev tasks. Run `make` to see them all.
2+
.DEFAULT_GOAL := help
3+
4+
.PHONY: help install test lint format docs build clean
5+
6+
help: ## Show this help
7+
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) \
8+
| awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-10s\033[0m %s\n", $$1, $$2}'
9+
10+
install: ## Install the package with dev extras (editable)
11+
pip install -e '.[dev]'
12+
13+
test: ## Run the test suite
14+
pytest -q
15+
16+
lint: ## Lint with ruff
17+
ruff check .
18+
19+
format: ## Auto-format with ruff
20+
ruff format .
21+
22+
docs: ## Build the docs site locally (needs the [docs] extra)
23+
mkdocs serve
24+
25+
build: ## Build sdist + wheel into dist/
26+
python -m build
27+
28+
clean: ## Remove build/test caches and artifacts
29+
rm -rf dist build site *.egg-info .pytest_cache .ruff_cache
30+
find . -type d -name __pycache__ -exec rm -rf {} +

README.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,13 @@ Think **OpenTelemetry for perception** — it doesn't build the sensors, it norm
2121

2222
## 💻 install
2323

24+
From source — a PyPI `retina-sdk` release is landing shortly:
25+
2426
```bash
25-
pip install retina-sdk # core: numpy only
26-
pip install 'retina-sdk[yolo]' # + Ultralytics YOLO adapter
27-
pip install 'retina-sdk[video]' # + OpenCV frame source (files / RTSP / webcam)
28-
pip install 'retina-sdk[all]' # everything
27+
pip install "retina-sdk @ git+https://github.com/machinefi/trio-retina" # core: numpy only
28+
pip install "retina-sdk[yolo] @ git+https://github.com/machinefi/trio-retina" # + Ultralytics YOLO adapter
29+
pip install "retina-sdk[video] @ git+https://github.com/machinefi/trio-retina" # + OpenCV frame source (files / RTSP / webcam)
30+
pip install "retina-sdk[all] @ git+https://github.com/machinefi/trio-retina" # everything
2931
```
3032

3133
## 🔥 quickstart
@@ -189,7 +191,7 @@ Full rationale, references, and the world-model stack: [`DESIGN.md`](DESIGN.md).
189191

190192
## 🗺️ roadmap
191193

192-
Early but real (`v0.0.4`). Stable: the event layer + JSON Schema/validator, the composable pipeline (`|` / list / JSON), YOLO + open-vocab + VLM detectors, IoU + Norfair trackers.
194+
Early but real (`v0.1.0`). Stable: the event layer + JSON Schema/validator, the composable pipeline (`|` / list / JSON), YOLO + open-vocab + VLM detectors, IoU + Norfair trackers.
193195

194196
Next: ByteTrack / OC-SORT · `proximity` / `anomaly` events · VLM-as-event-source · Kafka / MQTT sinks · the **latent channel** (surface V-JEPA scene + per-object embeddings). See [`CHANGELOG.md`](CHANGELOG.md).
195197

docs/index.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,13 @@ Think **OpenTelemetry for perception** — it doesn't build the sensors, it norm
88

99
## Install
1010

11+
From source — a PyPI `retina-sdk` release is landing shortly:
12+
1113
```bash
12-
pip install retina-sdk # core: numpy only
13-
pip install 'retina-sdk[yolo]' # + Ultralytics YOLO adapter
14-
pip install 'retina-sdk[video]' # + OpenCV frame source (files / RTSP / webcam)
15-
pip install 'retina-sdk[all]' # everything
14+
pip install "retina-sdk @ git+https://github.com/machinefi/trio-retina" # core: numpy only
15+
pip install "retina-sdk[yolo] @ git+https://github.com/machinefi/trio-retina" # + Ultralytics YOLO adapter
16+
pip install "retina-sdk[video] @ git+https://github.com/machinefi/trio-retina" # + OpenCV frame source (files / RTSP / webcam)
17+
pip install "retina-sdk[all] @ git+https://github.com/machinefi/trio-retina" # everything
1618
```
1719

1820
## Quickstart

media/social-preview.png

434 KB
Loading

0 commit comments

Comments
 (0)