ASCOM Alpaca Simulators
A comprehensive simulator for ASCOM Alpaca devices that provides a RESTful API for testing and developing observatory control software.
Features
-
Complete Device Simulation: Supports all major ASCOM device types including:
- Camera
- Telescope
- Dome
- Focuser
- Filter Wheel
- Rotator
- Safety Monitor
- Switch
- Observing Conditions
- Cover Calibrator
-
Realistic Image Generation: Uses cabaret to generate authentic astronomical images for camera simulation
-
RESTful API: Fully compliant with the ASCOM Alpaca Device API specification
-
Interactive Test Interface: Web-based control panel for manual testing
-
Configurable Devices: YAML-based configuration for all device properties
Quick Start
The fastest way to run the simulator is using uv.
-
Clone the repository:
git clone https://github.com/ppp-one/alpaca-simulators cd alpaca-simulators
-
Run the simulator:
uv run alpaca-simulators
This will automatically install dependencies and start the server at
http://0.0.0.0:11111.
Configuration & Options
The simulator supports several command-line arguments:
# Run on a different port with auto-reload enabled
uv run alpaca-simulators --port 8080 --reload
# Use a specific configuration file
uv run alpaca-simulators --config my_custom_setup.yaml
Test Interface
The simulator includes a web-based test UI at http://localhost:11111/test_interface that allows you to:
- GET properties: Retrieve current values from any device property
- PUT operations: Set values and trigger actions using form inputs
Device Configuration
On first run, the simulator generates src/alpaca_simulators/config/config.yaml from a template. You can modify this file to set:
- Device names and descriptions
- Initial property values
- Capabilities and limits
- Available options (e.g., filter names, camera properties)
cooling_time(underdevices.camera): seconds the camera sensor needs to cool to its set point. The default is0, which sets the temperature at once.
Example API Calls
# Get telescope position
curl http://localhost:11111/api/v1/telescope/0/rightascension
# Set camera exposure time
curl -X PUT http://localhost:11111/api/v1/camera/0/startexposure \
-d "Duration=5.0&Light=true"
# Check if dome is at home
curl http://localhost:11111/api/v1/dome/0/athome
Metadata
Release files for alpaca-simulators 1.3.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| alpaca_simulators-1.3.2.tar.gz | 40.3 kB | With provenance | Details for alpaca_simulators-1.3.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| alpaca_simulators-1.3.2-py3-none-any.whl | Python 3 | none | any | Details for alpaca_simulators-1.3.2-py3-none-any.whl |
Total release size: 92.5 kB
Release files / alpaca_simulators-1.3.2.tar.gz
| Download URL | alpaca_simulators-1.3.2.tar.gz |
|---|---|
| Size | 40.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b3e4839abd56e09b06f5a89ca7af44c554607cb8bb78515a1d8c2c7f320bc4a5
|
|
BLAKE2b-256 checksum How to use checksums |
92d2d978678ee796ee02e0cb3f8409c22f188f096d14c1f5a726cb88b07f0cce
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.
Transparency logRelease files / alpaca_simulators-1.3.2-py3-none-any.whl
| Download URL | alpaca_simulators-1.3.2-py3-none-any.whl |
|---|---|
| Size | 52.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f269054a71e610b47a9dffe84abf16c2aff88475033ec92d4ec3e1727122534a
|
|
BLAKE2b-256 checksum How to use checksums |
62a5214809762a7e3cc942aca13cf07ade56662d387987904b2076683ce94437
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.
Transparency logSecurity for alpaca-simulators 1.3.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
Both files in this release have been uploaded with provenance metadata.
Attestation for alpaca_simulators-1.3.2.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.