A python package for planning astronomical observations with the South African Large Telescope.
Project description
saltshaker
saltshaker is a specialized Python package designed for planning and optimizing astronomical observations with the Southern African Large Telescope (SALT).
[!IMPORTANT] Essential Usage Information:
- Independent Tool:
saltshakeris a community-developed tool.- Pre-Planning Only: This package is designed for target screening, survey strategy optimization, and preliminary feasibility checks.
- 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
astroplanscheduling. - 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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f98501d0f7e0963fa07907809b0c902713568ce97955222b8673d53268bb244d
|
|
| MD5 |
96caa8f4c47108925f3466ac38d20681
|
|
| BLAKE2b-256 |
52f014da22f205fd052eeee335a9b7fc0932e7c5012f29c37c8c9c14edd7b2d7
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e5a34a211780b89b31e0b979eb777fdb86edc2daceb8a25321e86b79d6174dfc
|
|
| MD5 |
c0f61ad39d7cec7add6e805af61e488b
|
|
| BLAKE2b-256 |
08e8466592ff6131de316474ecda46ca67bb65ef7d146bcd9d79038906964ec2
|