Skip to main content

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.

  1. Clone the repository:

    git clone https://github.com/ppp-one/alpaca-simulators
    cd alpaca-simulators
    
  2. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

alpaca_simulators-1.0.0.tar.gz (32.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

alpaca_simulators-1.0.0-py3-none-any.whl (43.8 kB view details)

Uploaded Python 3

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

Hashes for alpaca_simulators-1.0.0.tar.gz
Algorithm Hash digest
SHA256 799649949da2bbdc6adf8d0063a83897108251a038c5a5b92bdbd2caacebc1f3
MD5 adbdcaf5824f7722b4cedbaa2dc70578
BLAKE2b-256 1d9f0ba6da0dc9c5ab57f4cf3433e059526f5a57071780bd89c4191c5363c9c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for alpaca_simulators-1.0.0.tar.gz:

Publisher: publish.yml on ppp-one/alpaca-simulators

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file alpaca_simulators-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for alpaca_simulators-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 be18308dab27a86ac5b89d6de8119b776e52f2de61575abb663190ec11cfeb32
MD5 7bce46774223bba49564ad36464d37e2
BLAKE2b-256 902e6a58f63a47acf5af7c2c6dd354b744eb49707053d956ba7bce28e235593c

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page