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.1.tar.gz (109.5 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.1-py3-none-any.whl (110.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: saltishaker-0.1.1.tar.gz
  • Upload date:
  • Size: 109.5 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.1.tar.gz
Algorithm Hash digest
SHA256 b2acf2cd6e1856d5deac6241048f719cf6d3eb67af571df5c70e1a80a72e4afd
MD5 f79cb7612f31733cefcfa372d2c8e94c
BLAKE2b-256 766d45a8b5291cbb8e8b141aa72155c8abde32af208e6cb361b149010f4ade4d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: saltishaker-0.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 18d77d3ed2493dca4510e1ed71167d9a96fec9b81f7f80683d96f2ddf231142e
MD5 5e503d6fac03f8e292506fe842411dbd
BLAKE2b-256 a92ec53c11f81c3ad4a1ccaf089ebe2dc8ffa49e57f150d49eae0fa7d7d3d0be

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