Skip to content

feat: Phase 1 repackage to src/spectrax - #10

Merged
soos3d merged 1 commit into
mainfrom
feat/phase-1-repackage
Aug 10, 2026
Merged

feat: Phase 1 repackage to src/spectrax#10
soos3d merged 1 commit into
mainfrom
feat/phase-1-repackage

Conversation

@soos3d

@soos3d soos3d commented Aug 10, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Make SpectraX installable from the repo root via pyproject.toml (pip install -e .) with package layout src/spectrax/
  • Rename import package videofeedspectrax; console scripts spectrax + temporary surveillance alias
  • Centralize config/models/TLS path resolution in spectrax.paths; move example config to config/spectrax.yml
  • Replace deprecated @app.on_event("shutdown") with a FastAPI lifespan context
  • Split core vs [cv] extras so CI stays torch-free; add uv lockfiles; drop dead .enc allowlist and sys.path hacks
  • Keep keychain service name video-feed-mediamtx so Phase 0 secrets keep working

Test plan

  • pip install -e ".[web-test,dev]" (Python 3.11/3.12)
  • pytest tests/test_api_characterization.py tests/test_auth.py tests/test_config_security.py tests/test_package_layout.py (35 passed locally)
  • spectrax --help / surveillance --help
  • ruff check --select E,F,B on Phase 1 paths
  • CI green on Ubuntu 3.11/3.12
  • Optional smoke: ./scripts/surveillance.sh config after pip install -e ".[cv]" and spectrax admin set-password

Make SpectraX a proper package without behavior changes: pyproject.toml at
repo root, package rename videofeed→spectrax under src/, path helpers for
config/models/TLS, lifespan instead of on_event, core vs [cv] extras so CI
stays torch-free, and compiled lockfiles. Keep keychain service
video-feed-mediamtx and surveillance console alias for compatibility.
@soos3d
soos3d merged commit d149044 into main Aug 10, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant