Metadata-Version: 2.4
Name: astroceleste-engine
Version: 0.0.3
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Programming Language :: Rust
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Scientific/Engineering :: Astronomy
Requires-Dist: pytest>=8 ; extra == 'test'
Provides-Extra: test
License-File: LICENSE-MIT
License-File: LICENSE-APACHE
License-File: NOTICE
Summary: Astrological chart calculation on JPL ephemerides (Rust, via PyO3)
Keywords: astrology,ephemeris,jpl,horoscope
License-Expression: MIT OR Apache-2.0
Requires-Python: >=3.12
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Homepage, https://astroceleste.it
Project-URL: Repository, https://github.com/ffalcinelli/astroceleste-engine

# astroceleste-engine (Python)

[![PyPI](https://img.shields.io/pypi/v/astroceleste-engine.svg)](https://pypi.org/project/astroceleste-engine/)

> **Experimental (0.0.x):** the API may change in any release. Pin an exact version.

Python bindings for [astroceleste-engine](https://github.com/ffalcinelli/astroceleste-engine),
astrological chart calculation on NASA JPL ephemerides, written in Rust.

[Website and live demo](https://ffalcinelli.github.io/astroceleste-engine/) ·
[API guide](https://github.com/ffalcinelli/astroceleste-engine/blob/main/docs/api.md)

```python
from datetime import datetime, timezone
import astroceleste_engine as ace

engine = ace.Engine(["de440s.bsp"])            # JPL kernels, in preference order
chart = engine.chart(datetime(1987, 5, 17, 14, 30, tzinfo=timezone.utc), 41.9, 12.5,
                     house_system="P", zodiac_type="sidereal", ayanamsa="lahiri")
chart["planets"][0]   # {'name': 'Sun', 'sign': 'Taurus', 'ecliptic_longitude': ..., ...}

engine.horary(moment, lat, lon)                 # chart + chart["horary_data"]
engine.transit(natal["planets"], moment, lat, lon)
ace.synastry(chart_a["planets"], chart_b["planets"])
ace.derived_chart(chart, 5)
```

Dates outside the loaded kernels raise `astroceleste_engine.EphemerisRangeError`.
Kernels: https://ssd.jpl.nasa.gov/ftp/eph/planets/bsp/ (de440s.bsp covers 1849-2150).

Licensed under MIT OR Apache-2.0.

