Releases: jacotay7/pyRTC
Releases · jacotay7/pyRTC
pyRTC First Release
1.0.0 - 2026-03-07
First stable public release of pyrtcao.
This release establishes the initial supported package, CLI, documentation, and
CI/release surface for the 1.0.x line. The published distribution name is
pyrtcao, the import name remains pyRTC, and the user-facing project name is
pyrtc.
Added
- PyPI distribution packaging as
pyrtcaowhile preservingimport pyRTC. - Stable console-script entry points with the
pyrtc-*prefix:
pyrtc-view,pyrtc-view-launch-all,pyrtc-shm-monitor,
pyrtc-clear-shms,pyrtc-measure-latency,pyrtc-core-bench, and
pyrtc-ao-loop-bench. - Canonical no-hardware onboarding workflow in
examples/synthetic_shwfs/. - Shared logging system in
pyRTC.logging_utilscovering scripts, benchmarks,
launchers, component base classes, and key hardware/control-plane paths. - Maintainer-facing built-wheel validation helper at
python pyRTC/scripts/validate_dist_install.py --dist-dir dist. - Cross-platform smoke workflows for macOS and Windows plus Python-versioned
Linux install/test coverage for Python 3.9 through 3.13. - Docs-build validation in CI and repository-level Read the Docs
configuration via.readthedocs.yaml. - Closed-loop synthetic AO benchmark coverage and README-facing benchmark
artifacts for CPU and GPU comparisons. - Focused regression coverage for viewer behavior, package public API,
synthetic onboarding, logging helpers, hardware adapter shims, benchmark
entry points, and release/install validation. - Dedicated tests for base-class lifecycle behavior, telemetry error paths,
ScienceCamerabranches, and package-install validation.
Changed
- README and Sphinx docs were substantially rewritten around installation,
architecture, examples, troubleshooting, support posture, and maintainer
workflow. - Documentation now has a clear getting-started path, architecture guide,
developer guide, component pages, and updated example documentation. - Benchmark tooling was upgraded from a narrow kernel-oriented view to include
synthetic closed-loop AO reporting and README-ready markdown table
generation. - Public package metadata was consolidated in
pyproject.tomlwith stable
classifiers, extras, URLs, Python support declarations, and console scripts. - Support posture was tightened and documented as Linux-first for
1.0.x,
with macOS and Windows treated as smoke-tested rather than primary deployment
targets. - Component, launcher, and hardware control-plane code now reports state
changes and failures more consistently through the shared logger. - Viewer and related SHM utilities were updated to use concrete submodule
imports rather than fragile package-root re-export imports in order to remain
robust whenpyRTCis resolved as a namespace package. - API-reference and component docs were reorganized to remove duplicate Sphinx
object registrations and produce a clean docs build.
Fixed
- Viewer/CLI import failures that occurred when running from outside the repo
root or whenpyRTCwas resolved as a namespace package. - Python 3.9 compatibility issues caused by bare PEP 604 union annotations at
import time in logging and benchmark modules. - Missing benchmark-table kernel mappings and multiple Ruff/lint regressions in
scripts and tests. - Headless/non-Qt test collection failures caused by eager Qt backend imports
in the viewer module. - Documentation import examples that incorrectly recommended
from pyRTC import ...patterns for classes and launch helpers. - Duplicate Sphinx autodoc warnings caused by repeated object indexing across
component pages and the API reference. - Test-suite warning noise from pytest helper imports and third-party startup
warnings so the suite runs cleanly.
Testing
- Full repository test coverage for the tracked coverage set now exceeds the
release gate, reaching 87.53% at release time. pyRTC.Modulator,pyRTC.Optimizer,pyRTC.Telemetry, and
pyRTC.pyRTCComponentnow have 100% coverage in the tracked release suite.pyRTC.ScienceCameracoverage was expanded materially as part of release
stabilization.- Built-wheel installation, CLI imports, docs builds, performance smoke tests,
and synthetic system flows are all exercised in the release-facing workflow
set.
Notes
- Linux is the primary validated platform for the
1.0.xline. - Python 3.9 through 3.13 are covered by the release CI matrix.
- GPU and hardware-specific paths should still be validated in the target
environment before operational use. - Hardware adapters in
pyRTC.hardwareshould be treated as reference
integrations and starting points, not guarantees of site-specific SDK
compatibility.