Skip to main content

A python package for planning astronomical observations with the South African Large Telescope.

Project description

SALTishaker

SALTishaker Logo

SALTishaker is a specialized Python package designed for planning and optimizing astronomical observations with the Southern African Large Telescope (SALT).

[!IMPORTANT] Essential Usage Information:

  1. Independent Tool: saltishaker is a community-developed tool and is not an official product of the South African Astronomical Observatory (SAAO) or SALT.
  2. Pre-Planning Only: This package is designed for target screening, survey strategy optimization, and preliminary feasibility checks.
  3. Mandatory PIPT Validation: All final visibility windows and observing proposals must be validated and submitted using the official SALT Phase I Proposal Tool (PIPT).

Because SALT operates with a unique fixed-altitude design (pointing permanently at 37 degrees from the zenith), planning observations requires calculating complex visibility tracks based on Earth's rotation and a physical payload tracker. saltishaker handles these calculations for you, providing high-performance visibility windows, track lengths, and integration with the broader astroplan ecosystem.

Key Features

  • Visibility Windows: Calculate exactly when (UTC) a specific star or galaxy will drift into SALT's field of view.
  • Track Lengths: Determine how long SALT can track a target before it hits the edge of its operational limits.
  • Astroplan Integration: Use SALT-specific tracking and lunar constraints directly within astroplan scheduling.
  • Semester Planning: Automatically calculate visibility statistics and nights for entire 6-month SALT observing semesters.
  • Singleton Tracking Model: Efficient data loading and high-performance interpolation.

Installation

pip install saltishaker

For development installation:

git clone https://github.com/enzo-peres-afonso/saltishaker.git
cd saltishaker
pip install .

Quick Start

from saltshaker import get_salt_observer
from astropy.coordinates import SkyCoord
from astropy.time import Time

# Initialize the observer
observer = get_salt_observer()

# Define a target
target = SkyCoord.from_name("Sirius")
time = Time("2026-01-15 12:00:00")

# Get visibility tracks
tracks = observer.get_tracks(target, time)

for track in tracks:
    print(f"Visible from {track.start_time_utc} to {track.end_time_utc}")

Documentation

Full documentation, including a theoretical background on SALT visibility and a "Proposer's Cookbook" of examples, is available at:

https://saltishaker.readthedocs.io/

License

This project is licensed under the MIT License - see the LICENSE file for details.

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

saltishaker-0.1.2.tar.gz (109.6 kB view details)

Uploaded Source

Built Distribution

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

saltishaker-0.1.2-py3-none-any.whl (110.0 kB view details)

Uploaded Python 3

File details

Details for the file saltishaker-0.1.2.tar.gz.

File metadata

  • Download URL: saltishaker-0.1.2.tar.gz
  • Upload date:
  • Size: 109.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.12.4 Darwin/25.3.0

File hashes

Hashes for saltishaker-0.1.2.tar.gz
Algorithm Hash digest
SHA256 a826778ab09bb806151ca36e9c934dfe814e803dd6f09b3abbaafc3c8893bc11
MD5 5f15bcbe750f957c3a7a8ee1bcf18f72
BLAKE2b-256 2f596f5a141bbf9cf7c2b52d4797e7239ca151105ae08903955e5c3bb05108ae

See more details on using hashes here.

File details

Details for the file saltishaker-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: saltishaker-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 110.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.12.4 Darwin/25.3.0

File hashes

Hashes for saltishaker-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2b65cd965cbfa47e8a8ce95e7f9873486ed6fa7dedf3c3fe7e55f0443b480404
MD5 afa4f88fa7fcaaefd00847fc87464c9d
BLAKE2b-256 035580007c1aba54d27e35002865888975ff69f1c5dc5f41f5c9178cdf9167ad

See more details on using hashes here.

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