Metadata-Version: 2.4
Name: pyskymap
Version: 0.1.0
Summary: A library to render star maps and deep space objects
Author: Formont
License: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Requires-Dist: numpy
Requires-Dist: matplotlib
Requires-Dist: skyfield
Requires-Dist: pandas
Requires-Dist: pillow
Dynamic: requires-python

# PySkyMap

PySkyMap is a library for creating beautiful and customizable star maps and deep space object charts in Python. It uses data from the Hipparcos catalog and specialized deep space object catalogs, allowing you to easily visualize the sky for any location on Earth at any given time.

## Installation

You can install the library locally using pip:

```bash
pip install .
```

Or, if you have a `requirements.txt` file:

```bash
pip install -r requirements.txt
```

## Quick Start

Here is a simple example of how to render a star map for a specific geolocation:

```python
from pyskymap import Renderer, Location, SkyData

# 1. Set the observer's coordinates (latitude, longitude, elevation)
loc = Location(latitude=31.0, longitude=34.0, elevation=0)

# 2. Initialize data (downloads ephemerides and loads catalogs)
data = SkyData()

# 3. Configure the map renderer
# Available styles: "default", "red", "night", "inverted"
renderer = Renderer(
    location=loc, 
    data=data, 
    style="default",
    star_mag=4.9,                 # Visible star magnitude (up to what brightness to show stars)
    constellations_names=True,    # Show constellation names
    constellation_full_names=True,# Full constellation names (False = abbreviations)
    show_ds=True,                 # Show deep space objects (Nebulae, Galaxies, etc.)
    ds_mag=10.0,                  # Brightness threshold for deep space objects
    expanded_data=True            # Show objects from expanded catalogs (Sh2, LDN, vdB, etc.)
)

# 4. Save or show the map
renderer.save("sky.png")
# renderer.show()
```

## Features

- **Various Styles:** Support for multiple color schemes (classic, red, night, inverted).
- **Constellations:** Drawing constellation lines, as well as their abbreviations or full Latin names.
- **Deep Space Objects:** Galaxies (ovals), globular clusters (solid circles), open clusters (empty circles), and nebulae (squares).
- **Multiple Catalogs:** Support for objects from Messier (M), NGC, IC, Caldwell, as well as LDN, LBN, Sh2, vdB, UGC, PGC, and more.
- **Solar System:** Calculation and rendering of the positions of the Sun and planets.
- **Beautiful Polar Projection:** The map is rendered in a proper circular polar projection, accurately displaying zenith and horizon.
