Metadata-Version: 2.3
Name: saltishaker
Version: 0.1.0
Summary: A python package for planning astronomical observations with the South African Large Telescope.
License: MIT
Keywords: astronomy,SALT,telescope,observing,planning
Author: Enzo Peres Afonso
Author-email: enzo.p.afonso@gmail.com
Requires-Python: >=3.12
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Astronomy
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: astroplan (>=0.10.1,<0.11.0)
Requires-Dist: astropy (>=6.1.1)
Requires-Dist: matplotlib (>=3.10.8,<4.0.0)
Requires-Dist: numpy (>=1.26.4)
Requires-Dist: pandas (>=2.3.3,<3.0.0)
Requires-Dist: scipy (>=1.14.0)
Project-URL: Documentation, https://github.com/enzoperesafonso/SALTshaker#documentation
Project-URL: Homepage, https://github.com/enzoperesafonso/SALTshaker
Project-URL: Repository, https://github.com/enzoperesafonso/SALTshaker
Description-Content-Type: text/markdown

# SALTishaker

<p align="center">
  <img src="salt_shaker_logo.png" width="500" alt="SALTishaker Logo">
</p>

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

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

```bash
pip install saltishaker
```

For development installation:

```bash
git clone https://github.com/enzo-peres-afonso/SALTshaker.git
cd SALTshaker
poetry install
```

## Quick Start

```python
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:

**[Link to your documentation site - e.g., ReadTheDocs or GitHub Pages]**

## License

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

