Skip to main content

caelus-engine

The Python reference implementation for Caelus astrology computation. Clean-room, MIT-licensed, written from published sources (VSOP87D, ELP/Meeus, IAU models, JPL Horizons fits). No Swiss Ephemeris code, no bundled third-party ephemeris files.

The engine reads pre-built Chebyshev and series packs shipped with the package and runs on the Python standard library alone. It is also the reference that the TypeScript engine (caelus on npm) is pinned to by a golden conformance suite.

Install

pip install caelus-engine

The import package is astroengine:

from astroengine import Engine, BODIES

eng = Engine("full")
jd = 2451545.0  # 2000-01-01 12:00 UT
for body in BODIES:
    print(f"{body:10s} {eng.longitude(body, jd):10.5f}")

What it computes

  • Planetary and lunar apparent geocentric ecliptic longitudes (VSOP87D for the planets, Meeus Ch. 47 for the Moon, Meeus Ch. 37 series for Pluto), with light-time, annual aberration, FK5 frame correction, and IAU 1980 nutation.
  • 12 house systems; tropical and sidereal (7 ayanamsas).
  • Aspects with configurable orbs.
  • Events: rise/set/transit, longitude crossings, lunar phases, stations, Gauquelin sectors, solar and lunar eclipses.
  • Fixed stars and topocentric positions.
  • Derived charts: returns, secondary progressions, solar arc, composite and Davison, harmonics, antiscia, declination aspects and parallels, out-of-bounds, dignities, sect.
  • Electional primitives: applying/separating aspects, solar phase (cazimi/combust/under-the-beams), planetary hours, void-of-course Moon, house placement.
  • A declarative when() query engine over celestial predicates.
  • A turbo tier (Turbo): segmented Chebyshev longitude packs fit to the engine for bulk scans.
  • 3D aspects (angular_separation_3d): the great-circle angle between two bodies, accounting for ecliptic latitude.
  • Astrocartography (astrocartography): the planetary angle lines (MC/IC meridians, ASC/DSC rising and setting tracks) across the globe.

Accuracy

Accuracy is calibrated against Swiss Ephemeris and validated against JPL Horizons, stated per body rather than as a blanket figure. See the validation tables at https://ephemengine.com.

Optional: the fitting toolchain

The engine runs without any third-party dependency. The data-fitting tools that regenerate the coefficient packs need numpy:

pip install "caelus-engine[fit]"

License

MIT. See LICENSE. Project home: https://ephemengine.com. Source: https://github.com/heavyblotto/caelus.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

caelus_engine-0.24.1.tar.gz (27.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

caelus_engine-0.24.1-py3-none-any.whl (28.0 MB view details)

Uploaded Python 3

File details

Details for the file caelus_engine-0.24.1.tar.gz.

File metadata

  • Download URL: caelus_engine-0.24.1.tar.gz
  • Upload date:
  • Size: 27.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for caelus_engine-0.24.1.tar.gz
Algorithm Hash digest
SHA256 6524f32bf6034d54f87b8d76d38b97840ab2e5a4fa1d1628ad8d261e8e7f01d0
MD5 a045f7f4992036fb119142b5936fa48e
BLAKE2b-256 938d61717c5eae124709bf5e3f38b6f7890cdf5e48d3ec76e562a2deb9ec8b16

See more details on using hashes here.

Provenance

The following attestation bundles were made for caelus_engine-0.24.1.tar.gz:

Publisher: release.yml on heavyblotto/caelus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file caelus_engine-0.24.1-py3-none-any.whl.

File metadata

  • Download URL: caelus_engine-0.24.1-py3-none-any.whl
  • Upload date:
  • Size: 28.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for caelus_engine-0.24.1-py3-none-any.whl
Algorithm Hash digest
SHA256 580e6beccd704adb129567e449883ca9ec5badc76b34fda16e6d484256144665
MD5 1a8b608e47828c4f7e78a306f72c908e
BLAKE2b-256 6dc4344a37d06afb4cbd5c28ce00505d7232b76a58e4cc0e159ce50cc21184b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for caelus_engine-0.24.1-py3-none-any.whl:

Publisher: release.yml on heavyblotto/caelus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.24.1 This release

2 files

0.24.0

2 files

0.23.0

2 files

0.22.0

2 files

0.21.0

2 files

0.20.1

2 files

0.20.0

2 files

0.19.0

2 files

0.18.0

2 files

0.17.0

2 files

0.16.0

2 files

0.15.0

2 files

0.14.0

2 files

0.13.0

2 files

0.12.0

2 files

0.11.0

2 files

0.10.0

2 files

0.9.0

2 files

0.8.0

2 files

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