Skip to main content

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

What’s new

  • 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

  • 0.2.11

    • Added conjunction and opposition methods for Jupiter, Saturn, Uranus and Neptune

  • 0.2.10

    • Added ‘geocentric_position()’ method to ‘Minor’ class, and added conjunction and opposition methods for Mercury, Venus and Mars.

  • 0.2.9

    • Added class ‘Minor’, as well as functions to compute velocity of an object and length of an orbit

  • 0.2.8

    • Added methods ‘geocentric_position()’ to all the planets

  • 0.2.7

    • Added function ‘kepler_equation()’ to ‘Coordinates’ module, and ‘orbital_elements’ methods to classes ‘Mercury’, ‘Venus’, ‘Earth’, ‘Mars’, ‘Jupiter’, ‘Saturn’, ‘Uranus’ and ‘Neptune’

  • 0.2.6

    • Added classes ‘Uranus’ and ‘Neptune’, plus additional functions in Coordinates module’

  • 0.2.5

    • Added classes ‘Jupiter’ and ‘Saturn’

  • 0.2.4

    • Minor bug fixing, added methods ‘ephemeris_physical_observations()’ and ‘beginning_synodic_rotation()’, and added classes ‘Mercury’ and ‘Mars’

  • 0.2.3

    • Added the complete list of VSOP87 parameters to Venus, method to compute dates of equinoxes and solstices, and the Equation of Time

  • 0.2.2

    • Added heliocentric position method for J2000.0 (Earth) and rectangular coordinates methods (Sun)

  • 0.2.1

    • Added Venus module and VSOP87-based positioning methods

  • 0.2.0

    • Added Sun module

  • 0.1.10

    • Added functions to compute if three objects are in a straight line, and the smallest diameter of a circle containing them.

  • 0.1.9

    • Added functions to compute relative position angles and conjunctions

  • 0.1.8

    • Added functions to compute angular separation to Coordinates module

  • 0.1.7

    • Added functions to compute atmospheric refraction to Coordinates module

  • 0.1.6

    • Added function ‘times_rise_transit_set()’ to Coordinates module

  • 0.1.5

    • Added functions for parallactic angle, ecliptic points in the horizon, angle between north celestial pole and north pole of the ecliptic, and diurnal path vs. the horizon at time of rising or setting

  • 0.1.4

    • Added several conversion functions to Coordinates module

  • 0.1.3

    • Added Coordinates module

  • 0.1.2

    • Added precession and proper motion methods, and changed handling of Epoch class

  • 0.1.1

    • Added methods related to nutation corrections

  • 0.1.0

    • Earth class added

  • 0.0.9

    • Significant documentation improvements

  • 0.0.8

    • Epoch class finished

  • 0.0.7

    • Epoch class added

  • 0.0.6

    • CurveFitting class added

  • 0.0.5

    • Interpolation class added

  • 0.0.4

    • Angle class finished

  • 0.0.3

    • Removed unnecessary dependencies

  • 0.0.2

    • Documentation improvements

  • 0.0.1

    • Initial commit

Metadata

Release files for PyMeeus 0.3.13

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for PyMeeus 0.3.13
File Size Uploaded
PyMeeus-0.3.13.tar.gz 5.3 MB Details

Release files / PyMeeus-0.3.13.tar.gz

Download URL PyMeeus-0.3.13.tar.gz
Size 5.3 MB
Tags Source
SHA-256 checksum
How to use checksums
43b800a2571f3237e558d8d305e97f6ac4027977666e22af98448e0f1f86af86
BLAKE2b-256 checksum
How to use checksums
08ef8e80604b423957f56b7ebca10f3859c73dda6f7341f92bad059cecdbb879
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

0.5.12

1 release file

0.5.11

1 release file

0.5.10

1 release file

0.5.9

1 release file

0.5.8

1 release file

0.5.7

1 release file

0.5.6

1 release file

0.5.5

1 release file

0.5.4

1 release file

0.5.3

1 release file

0.5.2

1 release file

0.5.1

1 release file

0.5.0

1 release file

0.4.3

1 release file

0.4.2

1 release file

0.4.1

1 release file

0.4.0

1 release file

This release

0.3.13 This release

1 release file

0.3.12

1 release file

0.3.11

1 release file

0.3.10

1 release file

0.3.9

1 release file

0.3.8

1 release file

0.3.7

1 release file

0.3.6

1 release file

0.3.5

1 release file

0.3.4

1 release file

0.3.3

1 release file

0.3.2

1 release file

0.3.1

1 release file

0.3.0

1 release file

0.2.11

1 release file

0.2.10

1 release file

0.2.9

1 release file

0.2.8

1 release file

0.2.7

1 release file

0.2.6

1 release file

0.2.5

1 release file

0.2.4

1 release file

0.2.3

1 release file

0.2.2

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.10

1 release file

0.1.9

1 release file

0.1.8

1 release file

0.1.7

1 release file

0.1.6

1 release file

0.1.5

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

0.0.9

1 release file

0.0.8

1 release file

0.0.7

1 release file

0.0.6

1 release file

0.0.5

1 release file

0.0.4

1 release file

0.0.3

1 release file

0.0.2

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page