Python based ASCOM Alpaca simulators for Observatory Control Software testing
Project description
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)
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file alpaca_simulators-1.0.0.tar.gz.
File metadata
- Download URL: alpaca_simulators-1.0.0.tar.gz
- Upload date:
- Size: 32.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
799649949da2bbdc6adf8d0063a83897108251a038c5a5b92bdbd2caacebc1f3
|
|
| MD5 |
adbdcaf5824f7722b4cedbaa2dc70578
|
|
| BLAKE2b-256 |
1d9f0ba6da0dc9c5ab57f4cf3433e059526f5a57071780bd89c4191c5363c9c4
|
Provenance
The following attestation bundles were made for alpaca_simulators-1.0.0.tar.gz:
Publisher:
publish.yml on ppp-one/alpaca-simulators
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
alpaca_simulators-1.0.0.tar.gz -
Subject digest:
799649949da2bbdc6adf8d0063a83897108251a038c5a5b92bdbd2caacebc1f3 - Sigstore transparency entry: 1590576259
- Sigstore integration time:
-
Permalink:
ppp-one/alpaca-simulators@9a433f688be5f076c786ae8f857ef41bcca28273 -
Branch / Tag:
refs/tags/1.0.0 - Owner: https://github.com/ppp-one
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9a433f688be5f076c786ae8f857ef41bcca28273 -
Trigger Event:
push
-
Statement type:
File details
Details for the file alpaca_simulators-1.0.0-py3-none-any.whl.
File metadata
- Download URL: alpaca_simulators-1.0.0-py3-none-any.whl
- Upload date:
- Size: 43.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be18308dab27a86ac5b89d6de8119b776e52f2de61575abb663190ec11cfeb32
|
|
| MD5 |
7bce46774223bba49564ad36464d37e2
|
|
| BLAKE2b-256 |
902e6a58f63a47acf5af7c2c6dd354b744eb49707053d956ba7bce28e235593c
|
Provenance
The following attestation bundles were made for alpaca_simulators-1.0.0-py3-none-any.whl:
Publisher:
publish.yml on ppp-one/alpaca-simulators
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
alpaca_simulators-1.0.0-py3-none-any.whl -
Subject digest:
be18308dab27a86ac5b89d6de8119b776e52f2de61575abb663190ec11cfeb32 - Sigstore transparency entry: 1590576407
- Sigstore integration time:
-
Permalink:
ppp-one/alpaca-simulators@9a433f688be5f076c786ae8f857ef41bcca28273 -
Branch / Tag:
refs/tags/1.0.0 - Owner: https://github.com/ppp-one
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9a433f688be5f076c786ae8f857ef41bcca28273 -
Trigger Event:
push
-
Statement type: