Skip to main content

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

Project description

saltshaker

saltshaker Logo

CI Status Latest Version Python 3.12+ DOI

saltshaker 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: saltshaker is a community-developed tool.
  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.

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. saltshaker 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 saltshaker

For development installation:

git clone https://github.com/enzoperesafonso/saltshaker.git
cd saltshaker
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://saltshaker.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-1.0.0.tar.gz (111.4 kB view details)

Uploaded Source

Built Distribution

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

saltishaker-1.0.0-py3-none-any.whl (111.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: saltishaker-1.0.0.tar.gz
  • Upload date:
  • Size: 111.4 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-1.0.0.tar.gz
Algorithm Hash digest
SHA256 f98501d0f7e0963fa07907809b0c902713568ce97955222b8673d53268bb244d
MD5 96caa8f4c47108925f3466ac38d20681
BLAKE2b-256 52f014da22f205fd052eeee335a9b7fc0932e7c5012f29c37c8c9c14edd7b2d7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: saltishaker-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 111.9 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-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e5a34a211780b89b31e0b979eb777fdb86edc2daceb8a25321e86b79d6174dfc
MD5 c0f61ad39d7cec7add6e805af61e488b
BLAKE2b-256 08e8466592ff6131de316474ecda46ca67bb65ef7d146bcd9d79038906964ec2

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