Skip to main content

Python implementation of Jean Meeus astronomical routines

Project description

Library of astronomical algorithms in Python.

PyMeeus is a Python implementation of the astronomical algorithms described in the classical book ‘Astronomical Algorithms, 2nd Edition, Willmann-Bell Inc. (1998)’ by Jean Meeus.

There are great astronomical libraries out there. For instance, if you’re looking for high precision and speed you should take a look at libnova. For a set of python modules aimed at professional astronomers, you should look at Astropy. On the other hand, the advantages of PyMeeus are its simplicity, ease of use, ease of reading, ease of installation (it has the minimum amount of dependencies) and abundant documentation.

Installation

The easiest way of installing PyMeeus is using pip:

pip install pymeeus

Or, for a per-user installation:

pip install --user pymeeus

If you prefer Python3, you can use:

pip3 install --user pymeeus

Meta

Author: Dagoberto Salazar

Distributed under the GNU Lesser General Public License v3 (LGPLv3). See LICENSE.txt and COPYING.LESSER for more information.

Documentation: https://pymeeus.readthedocs.io/en/latest/

GitHub: https://github.com/architest/pymeeus

If you have Sphinx installed, you can generate your own, latest documentation going to directory ‘docs’ and issuing:

make html

Then the HTML documentation pages can be found in ‘build/html’.

Contributing

The preferred method to contribute is through forking and pull requests:

  1. Fork it (https://github.com/architest/pymeeus/fork)

  2. Create your feature branch (git checkout -b feature/fooBar)

  3. Commit your changes (git commit -am 'Add some fooBar')

  4. Push to the branch (git push origin feature/fooBar)

  5. Create a new Pull Request

Please bear in mind that PyMeeus follows the PEP8 style guide for Python code (PEP8). We suggest you install and use a linter like Flake8 before contributing.

Additionally, PyMeeus makes heavy use of automatic tests. As a general rule, every function or method added must have a corresponding test in the proper place in tests directory.

Finally, documentation is also a big thing here. Add proper and abundant documentation to your new code. This also includes in-line comments!!!.

Contributors

  • Neil Freeman - Fixed undefined variable in Epoch.tt2ut

  • molsen234 - Fixed bug when using fractional seconds, minutes, hours or days

  • Sebastian Veigl - Added functionality for Jupiter’s moons

  • Sophie Scholz - Added functionality for Jupiter’s moons

  • Vittorio Serra - Added functionality for Jupiter’s moons

  • Michael Lutz - Added functionality for Jupiter’s moons

  • Ben Dilday - Added __hash__() method to class Epoch

What’s new

  • 0.5.1

    • Changes in the organization of the documentation

  • 0.5.0

    • Added Moon class and position() methods.

  • 0.4.3

    • Added method ring_parameters() to Saturn class.

  • 0.4.2

    • Added method __hash__() to Epoch. Now Epoch objects can be used as keys in a dictionary.

  • 0.4.1

    • Added funtionality to compute the positions of Jupiter’s Galilean moons

  • 0.4.0

    • Added methods to compute Saturn’s ring inclination and longitude of ascending node

  • 0.3.13

    • Additional encoding changes

  • 0.3.12

    • Deleted encoding keyword from setup.py, which was giving problems

  • 0.3.11

    • Added encoding specification to setup.py

  • 0.3.10

    • Fixed characters with the wrong encoding

  • 0.3.9

    • Relaxed requirements, added contributor molsen234, and fixed format problems showed by flake8

  • 0.3.8

    • Fixed undefined variable in Epoch.tt2ut

  • 0.3.7

    • Fix bug when using fractional seconds, minutes, hours or days, plus documentation improvements

  • 0.3.6

    • Add method to compute rising and setting times of the Sun

  • 0.3.5

    • Add method magnitude() to planet classes

  • 0.3.4

    • Add method to compute the parallax correction to Earth class

  • 0.3.3

    • Add methods to compute the passage through the nodes

  • 0.3.2

    • Add methods to compute the perihelion and aphelion of all planets

  • 0.3.1

    • Fix errors in the elongation computation, add tests and examples of use of methods geocentric_position(), and tests and examples for Pluto class

  • 0.3.0

    • Added Pluto class

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

PyMeeus-0.5.1.tar.gz (6.0 MB view details)

Uploaded Source

File details

Details for the file PyMeeus-0.5.1.tar.gz.

File metadata

  • Download URL: PyMeeus-0.5.1.tar.gz
  • Upload date:
  • Size: 6.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.5

File hashes

Hashes for PyMeeus-0.5.1.tar.gz
Algorithm Hash digest
SHA256 b8be356133d23eeabd307ccdc8314122cae204e2c0f4612e852c68426ca69781
MD5 597a33bf39e393f3815cb94c404ade1c
BLAKE2b-256 849cb7acc59f6e2760cf1fee2b460bcb4cf71a2a02e159a958dc6b73161cab89

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page