feat(signal-bus): SSE event publisher + video upload endpoint + docs theme #68

Closed
pyr0ball wants to merge 0 commits from feat/58-signal-bus into main
Owner

Summary

  • Add circuitforge_core.signal_bus (SignalBus/SignalEvent) — generic thread-safe SSE pub/sub for real-time signal streams, with bounded per-subscriber queues (drop-oldest) and keepalive. New signal-bus extra.
  • Finish POST /caption/upload on circuitforge_core.video.app — multipart video upload for callers without filesystem access to the video-service node. Added python-multipart to the video-service extra (required by UploadFile).
  • Wire mkdocs.yml's new blue-grey/cyan palette to a central, theme-aware docs/stylesheets/theme.css (was referenced but missing).
  • Bump to 0.22.0; update README module table/install line and CHANGELOG.

Closes #58

Test plan

  • pytest tests/test_signal_bus tests/test_video -v — 67/67 passed
  • pytest tests/ -q — 922 passed, 2 skipped; 16 pre-existing failures in tests/test_mqtt_router.py (unrelated NotImplementedErrors, untouched by this branch)
## Summary - Add circuitforge_core.signal_bus (SignalBus/SignalEvent) — generic thread-safe SSE pub/sub for real-time signal streams, with bounded per-subscriber queues (drop-oldest) and keepalive. New signal-bus extra. - Finish POST /caption/upload on circuitforge_core.video.app — multipart video upload for callers without filesystem access to the video-service node. Added python-multipart to the video-service extra (required by UploadFile). - Wire mkdocs.yml's new blue-grey/cyan palette to a central, theme-aware docs/stylesheets/theme.css (was referenced but missing). - Bump to 0.22.0; update README module table/install line and CHANGELOG. Closes #58 ## Test plan - [x] pytest tests/test_signal_bus tests/test_video -v — 67/67 passed - [x] pytest tests/ -q — 922 passed, 2 skipped; 16 pre-existing failures in tests/test_mqtt_router.py (unrelated NotImplementedErrors, untouched by this branch)
pyr0ball added 1 commit 2026-07-10 16:40:07 -07:00
feat(signal-bus): add SSE event publisher; finish video upload + docs theme WIP
Some checks failed
CI / test (pull_request) Has been cancelled
f32faae7be
- circuitforge_core.signal_bus: SignalBus/SignalEvent generic pub-sub over
  Server-Sent Events for real-time signal streams (thread-safe publish,
  bounded per-subscriber queues with drop-oldest overflow, keepalive).
  New `signal-bus` extra.
- circuitforge_core.video.app: POST /caption/upload accepts a multipart
  video file for callers without filesystem access to the video-service
  node; added test coverage. video-service extra now pulls in
  python-multipart, required by UploadFile parsing.
- docs: mkdocs.yml blue-grey/cyan palette now wired to a central
  docs/stylesheets/theme.css for consistent theme-aware styling.
- Bump to 0.22.0; update README module table/install line and CHANGELOG.

Closes: #58
Author
Owner

Merged into main via the freeze/0.22.0 integration branch (fast-forward) and released as v0.22.0: https://git.opensourcesolarpunk.com/Circuit-Forge/circuitforge-core/releases/tag/v0.22.0. Closing since the commits are already on main.

Merged into main via the freeze/0.22.0 integration branch (fast-forward) and released as v0.22.0: https://git.opensourcesolarpunk.com/Circuit-Forge/circuitforge-core/releases/tag/v0.22.0. Closing since the commits are already on main.
pyr0ball closed this pull request 2026-07-10 19:08:38 -07:00
Some checks failed
CI / test (pull_request) Has been cancelled

Pull request closed

Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Circuit-Forge/circuitforge-core#68
No description provided.