Spaces:
Running
Running
| # practical-astronomy-python | |
| Algorithms from [Practical Astronomy with your Calculator or Spreadsheet](https://www.amazon.com/Practical-Astronomy-your-Calculator-Spreadsheet/dp/1108436072) by Peter Duffett-Smith, implemented in Python 3. API documentation is published [here](https://jfcarr.github.io/practical-astronomy-python/). | |
| If you're interested in this topic, please buy the book! It provides far more detail and context. | |
| ## Quick Start | |
| Install: | |
| ```bash | |
| pip install practical-astronomy | |
| ``` | |
| Create `easter.py`: | |
| ```python | |
| import practical_astronomy.pa_datetime as pd | |
| print(pd.get_date_of_easter(2024)) | |
| ``` | |
| Run it: | |
| ```bash | |
| python easter.py | |
| ``` | |
| Result: | |
| ``` | |
| (3, 31, 2024) | |
| ``` | |
| ## Unit Tests | |
| If you clone the [repo](https://github.com/jfcarr/practical-astronomy-python) locally, you can run unit tests with the Make utility: | |
| ``` | |
| make all-tests | |
| ``` | |
| ## Library Functions | |
| Documentation [here](https://jfcarr.github.io/practical-astronomy-python/). | |
| ### Date/Time | |
| Type | Description | |
| -----|------------ | |
| Calculate | Date of Easter | |
| Convert | Civil Date to Day Number | |
| Convert | Greenwich Date <-> Julian Date | |
| Convert | Julian Date to Day-of-Week | |
| Extract | Day, Month, and Year parts of Julian Date | |
| Convert | Civil Time <-> Decimal Hours | |
| Extract | Hour, Minutes, and Seconds parts of Decimal Hours | |
| Convert | Local Civil Time <-> Universal Time | |
| Convert | Universal Time <-> Greenwich Sidereal Time | |
| Convert | Greenwich Sidereal Time <-> Local Sidereal Time | |
| ### Coordinates | |
| Type | Description | |
| -----|------------ | |
| Convert | Angle <-> Decimal Degrees | |
| Convert | Right Ascension <-> Hour Angle | |
| Convert | Equatorial Coordinates <-> Horizon Coordinates | |
| Calculate | Obliquity of the Ecliptic | |
| Convert | Ecliptic Coordinates <-> Equatorial Coordinates | |
| Convert | Equatorial Coordinates <-> Galactic Coordinates | |
| Calculate | Angle between two objects | |
| Calculate | Rising and Setting times for an object | |
| Calculate | Precession (corrected coordinates between two epochs) | |
| Calculate | Nutation (in ecliptic longitude and obliquity) for a Greenwich date | |
| Calculate | Effects of aberration for ecliptic coordinates | |
| Calculate | RA and Declination values, corrected for atmospheric refraction and geocentric parallax | |
| Calculate | Heliographic coordinates | |
| Calculate | Carrington rotation number | |
| Calculate | Selenographic (lunar) coordinates (sub-Earth and sub-Solar) | |
| ### The Sun | |
| Type | Description | |
| -----|------------ | |
| Calculate | Approximate and precise positions of the Sun | |
| Calculate | Sun's distance and angular size | |
| Calculate | Local sunrise and sunset | |
| Calculate | Morning and evening twilight | |
| Calculate | Equation of time | |
| Calculate | Solar elongation | |
| ### Planets | |
| Type | Description | |
| -----|------------ | |
| Calculate | Approximate and precise position of planet | |
| Calculate | Visual aspects of planet (distance, angular diameter, phase, light time, position angle of bright limb, and apparent magnitude) | |
| Calculate | Position of comet (elliptical and parabolic) | |
| Calculate | Binary star orbit data | |
| ### The Moon | |
| Type | Description | |
| -----|------------ | |
| Calculate | Approximate and precise position of Moon | |
| Calculate | Moon phase and position angle of bright limb | |
| Calculate | Times of new Moon and full Moon | |
| Calculate | Moon's distance, angular diameter, and horizontal parallax | |
| Calculate | Local moonrise and moonset | |
| ### Eclipses | |
| Type | Description | |
| -----|------------ | |
| Calculate | Lunar eclipse occurrence and circumstances | |
| Calculate | Solar eclipse occurrence and circumstances | |