Skip to main content

A minimal and configurable astrology CLI

Project description

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)
  • 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

stable

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

pip install --user ephem-cli    # if you use pip
pipx install ephem-cli          # if you use pipx, especially debian/ubuntu

or you can build it from source from the main branch:

git clone https://codeberg.org/sailorfe/ephem.git
cd ephem
python3 -m venv venv
source venv/bin/activate
pip install -e .

testing

you can install the current pre-release from codeberg packages:

# with pip
pip install ephem-cli \
  --pip-args="--index-url https://codeberg.org/api/packages/sailorfe/pypi/simple/ --extra-index-url https://pypi.org/simple --pre"
# with pipx
pipx install ephem-cli \
  --pip-args="--index-url https://codeberg.org/api/packages/sailorfe/pypi/simple/ --extra-index-url https://pypi.org/simple --pre"

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 1996-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.

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.

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

ephem_cli-2.0.0.tar.gz (197.1 kB view details)

Uploaded Source

Built Distribution

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

ephem_cli-2.0.0-py3-none-any.whl (42.4 kB view details)

Uploaded Python 3

File details

Details for the file ephem_cli-2.0.0.tar.gz.

File metadata

  • Download URL: ephem_cli-2.0.0.tar.gz
  • Upload date:
  • Size: 197.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for ephem_cli-2.0.0.tar.gz
Algorithm Hash digest
SHA256 15541629f172026c3cea9604639e58f968f297cfcb07257e6d3bc114186f9621
MD5 9c3195b0f0ad5014d01103ce8a380553
BLAKE2b-256 fecf4984c14622b4dbe3ff1cc70e33ea2699b76ec70413722fb7f55ac97a85a9

See more details on using hashes here.

File details

Details for the file ephem_cli-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: ephem_cli-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 42.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for ephem_cli-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 560b49cd18a1e7b4c32b98fbd448e364b8780d9be99c1e6177104c6e368132b5
MD5 b43e758bff9c0949a418ccb2d88db750
BLAKE2b-256 c39346f9407abd2bed11b506162d8e0f7258f0ed538f993ad78fc7a4a301189a

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