Modern Python bindings for the Swiss Ephemeris, a high-precision astronomical computation library for astrology developed and maintained since 1997.
pysweph continues the work of pyswisseph with updated documentation, bug fixes, and ongoing community maintenance.
In mid-2025, the documentation for pywisseph (https://astrorigin.com/pyswisseph) became inaccessible, and the maintainer has been unresponsive to issues and pull requests. This fork, pysweph, aims to keep the Python interface stable, documented, and installable for users who rely on it.
This project follows the versioning scheme: <swe_major>.<swe_minor>.<swe_patch>.<wrapper_increment>
- The first three numbers match the Swiss Ephemeris C library version, v2.10.03 (2022-09-09).
- The fourth number increments for Python wrapper changes.
pysweph starts from pyswisseph==2.10.3.2 (2023-06-04). The first release of this fork is 2.10.3.3. If the original maintainer of pyswisseph returns, this project will coordinate or merge changes as appropriate.
pysweph links directly to the official Swiss Ephemeris C library maintained by Alois Treindl and Astrodienst.
pyswisseph included the author's auxiliary repositories (swephelp, sqlite3, and related utilities). These have been intentionally removed in pysweph to reduce complexity and depend only on the canonical Swiss Ephemeris source code.
- Rebuilt with Sphinx and MyST Markdown, hosted on GitHub Pages with continuous integration via GitHub Actions.
- Generated API reference directly from
pyswisseph.cdocstrings withsphinx-autodoc. - Includes original tutorials and conceptual guides intended for both astrologers and developers.
Warning
These include breaking changes from pyswisseph. The severity of each is documented in more detail in the Migration Guide.
- 2.10.3.3: Exposed string errors in
swe.calc(),swe.calc_pctr(),swe.calc_ut(), andswe.deltat_ex(). - 2.10.3.4: The
swe_housesfunction family now returns house cusps as a 13 or 37-item tuple where index 0 is empty. This is a breaking change.
- As of 2026-02-06, the test suite is deprecated due to
calcandhousesfunction patches. - A CFFI refactor is in progress: cffi-rewrite.
Install from PyPI: pip install pysweph
Build from source:
git clone https://github.com/sailorfe/pysweph.git
cd pysweph
python3 -m venv .venv
source .venv/bin/activate
pip install .pysweph retains the same import name from pyswisseph:
import swisseph as sweThe documentation includes a detailed pyswisseph to pysweph Migration Guide for existing projects.
- Alois Treindl, creator of the Swiss Ephemeris
- Stanislas Marquis, author of the original Python bindings (
pyswisseph) - sailorfe, maintainer of
pyswephcontinuation
pysweph is licensed under the GNU Affero General Public License version 3, whose text you can read at LICENSE.