Skip to main content

ephem

a minimal, opinionated astrology CLI tool

pypi license: agpl v3

ephem is a linux-native cli for astrologers, built on hellenistic tradition with electional and horary practice in mind. it generates horoscopes and monthly ephemerides with professional accuracy, and stores time and geodata in a local database that can be edited as YAML files.

currently supports:

  • all 47 sidereal offsets from the Swiss Ephemeris
  • the sun, moon, and eight planets (mercury–pluto)
  • the part of fortune
  • choice of lunar node calculation method
  • clear table output for charts and ephemerides
  • graceful handling of incomplete data

deliberately out of scope:

  • house cusps and placements
  • graphical charts
  • asteroids

table of contents

installation

build dependencies

because pysweph wraps the Swiss Ephemeris C library, you'll need to run the following:

  • debian-based: sudo update && sudo apt install build-essential python3-dev pipx
  • fedora/rhel: sudo dnf install @development-tools python3-devel pipx
  • arch: sudo pacman -Syu base-devel python python-pipx
  • alpine: doas apk add base python3-dev pipx

note: if you use uv, feel free to exclude pipx.

stable

the stable release of ephem can be installed directly from pypi:

global installation

# using pipx
pipx install ephem-cli

# using uv
uv tool install ephem-cli

run directly

# run directly without installing
uvx --from ephem-cli ephem

build from source

git clone https://codeberg.org/sailorfe/ephem.git
cd ephem
uv run ephem                        # run directly
# or
uv sync && uv run ephem             # for development

testing

you can install the current pre-release from codeberg:

# run pre-release directly from codeberg
uvx --from https://codeberg.org/sailorfe/ephem ephem-cli

# or install pre-release
uv tool install ephem-cli \
  --index https://codeberg.org/api/packages/sailorfe/pypi/simple/ \
  --prerelease allow

usage

ephem {now,cast,cal,data}
  • now and cast to calculate and optionally save charts
  • cal to calculate monthly ephemerides
  • data to interact with chart database

examples

get a chart for right now:

ephem now

save your location to avoid typing coordinates every time:

ephem now -y 30 -x -80 --save-config

cast a chart for a specific date and time:

ephem cast 1998-08-26 17:20 "Jeon Soyeon" -z Asia/Seoul -y 37.488167 -x 127.085472

get a monthly ephemeris:

ephem cal 1989 dec

tutorial

for more detailed examples, see the ephem tutorial. (i think it's pretty good.)

testing

ephem has a test suite. run it with:

make test

these tests currently focus on CLI behavior and database interactions since core calculations are handled by the Swiss Ephemeris library. more tests are planned as the project grows!

contributing

ephem is in early development. contributions are welcome, especially from developers with experience in astrology software, but what it really needs at this stage is testers. join the humble discord server!

acknowledgments

ephem draws inspiration from:

license

licensed under AGPL v3 per the Swiss Ephemeris; see LICENSE file for details.

Metadata

Release files for ephem-cli 2.1.0

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

Source distribution (sdist)

Source distribution for ephem-cli 2.1.0
File Size Uploaded
ephem_cli-2.1.0.tar.gz 506.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ephem-cli 2.1.0
File Interpreter ABI Platform
ephem_cli-2.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 547.1 kB

Release files / ephem_cli-2.1.0.tar.gz

Download URL ephem_cli-2.1.0.tar.gz
Size 506.2 kB
Tags Source
SHA-256 checksum
How to use checksums
d68609f840d701a604a484d4d0a02964c191082b88b23ea4b93acc3072adaf5b
BLAKE2b-256 checksum
How to use checksums
eb8194b371d0f4d500023fa91fa88434c2c46b0a9da2e63a83934ef7178c8f80
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.2

Release files / ephem_cli-2.1.0-py3-none-any.whl

Download URL ephem_cli-2.1.0-py3-none-any.whl
Size 40.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fa8bf9818cda9d5735daf75371e44a577bce3f2d824391651927e8970425de41
BLAKE2b-256 checksum
How to use checksums
64935e12f3546a71b4d6dacaaf157016d0c560615b23976c06bdb6977319ec6e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.2

Release history Release notifications | RSS feed

This release

2.1.0 This release

2 release files

2.0.6

2 release files

2.0.5

2 release files

2.0.4

2 release files

2.0.3

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.1.0

2 release 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