Welcome to pyrtc’s documentation!
pyrtc is a Python toolkit for adaptive optics real-time control. It is aimed at simulation-driven AO development, laboratory integration work, and controller research where a component-oriented Python stack is useful.
For the first stable release series:
PyPI distribution name:
pyrtcaoPython import name:
pyRTCCommand-line prefix:
pyrtc-*Primary supported release surface: Linux on Python 3.9 through 3.13
macOS and Windows currently have smoke-workflow coverage only
The package is organized around reusable AO components such as wavefront sensors, slope processors, loop controllers, wavefront correctors, science cameras, and telemetry producers. These components can be composed in either a single-process development mode or a multi-process hardware-facing mode using shared-memory streams.
Github repository: https://github.com/jacotay7/pyRTC
Main Features
pyRTC is an open-source, community-driven Python package for real-time control of AO systems, built with the following core goals:
Customizable High-Performance AO Pipeline: Provide an efficient RTC pipeline with potential for full user customization.
Abstraction of Core AO System Components: Facilitate support for a broad range of AO system architectures.
Open Library of API Examples: Provide a library of examples for common hardware APIs used by the community to save time implementing basic hardware interactions.
Real-Time Monitoring and Interface Flexibility: Support real-time access to intermediate data products, text-based user interaction, and straightforward integration with user-built GUIs.
Portable Development Workflow: Keep the simulator and component model usable across environments while treating Linux as the primary operational target for 1.0.x.
RTC Components
API Reference
Examples
Citing pyRTC
To cite this project in publications:
The project paper is currently under review. Until the formal citation is finalized, cite the repository directly if your publication workflow requires an immediate reference.
Contributing
Contributor and maintainer workflow guidance is collected in the Developer Guide.
Contact
For feedback, collaboration, and feature requests you can contact me via e-mail at jtaylor@keck.hawaii.edu.