Skip to main content

AetherField runtime ephemeris

Project description

AetherField

AetherField is a lightweight, modular system for computing astrological positions, signs, and alignments across multiple time representations. This is meant to replace the frozen or outdated zodiac libraries, with a dynamic stellar gazing tool.

It is designed to sit cleanly on top of my own temporal layer moontime while remaining flexible enough to integrate with external systems such as Skyfield.

At its core, AetherField answers a simple question:

Given a moment in time, where are the bodies — and what do they mean?


✨ Features

  • 🌌 Compute zodiac signs for planetary bodies

  • 🔭 Support for multiple time inputs:

    • datetime
    • MoonTime
    • Skyfield Time
  • 🧭 Longitude calculations (tropical + draconic)

  • 🧬 Calibration system:

    • No calibration (pure baseline)
    • Local calibration (user-defined)
    • Hosted calibration (auto-fetched)
  • 🖥️ CLI interface with automatic calibration


📦 Installation

pip install aetherfield

🚀 Quick Example

from aetherfield import AetherField as af

def example():
    from skyfield.api import load
    from datetime import datetime, timezone
    from moontime import MoonTime

    dt = datetime.now(timezone.utc)
    
    a = af()  # No calibration
    b = af.load_calibration(caled)  # Local calibration
    c = af.load_calibration('AetherField')  # Hosted calibration

    print("No calibration:", a.sign(dt=dt, body="sun"))
    print("Local calibration:", b.sign(dt=dt, body="sun"))
    print("Hosted calibration:", c.sign(dt=dt, body="sun"))

    print("Full suite:", c.alignments(dt=dt))
    
    ts = load.timescale()
    sf = ts.from_datetime(dt)

    print("From skyfield time:", c.sign(dt=sf, body="sun"))

    mt = MoonTime.from_datetime(dt)

    print("From moontime:", c.sign(dt=mt, body="sun"))

    print("Longitude:", c.longitude(dt=mt, body="sun"))
    print("Draconic:", c.longitude(dt=mt, body="ascending_node"))

if __name__ == "__main__":
    example()

Example Output

No calibration: Gemini
Local calibration: Aries
Hosted calibration: Aries

Full suite: {
  'sun': 'Aries',
  'moon': 'Gemini',
  'mercury': 'Pisces',
  'venus': 'Aries',
  'mars': 'Pisces',
  'jupiter': 'Gemini',
  'saturn': 'Pisces',
  'uranus': 'Aries',
  'neptune': 'Pisces',
  'pluto': 'Capricorn',
  'ascending_node': 'Aquarius',
  'descending_node': 'Leo'
}

From skyfield time: Aries
From moontime: Aries

Longitude: 30.42190333085091
Draconic: 336.2217926416203

🧭 Core Concepts

AetherField Instance

a = af()

Creates a baseline field with no calibration applied.


Calibration

Calibration adjusts how positions are interpreted.

b = af.load_calibration("my_calibration.json")           # Local calibration
c = af.load_calibration("AetherField")   # Hosted calibration
  • Local: Your own dataset or tuning
  • Hosted: Pulled automatically from a remote source

Sign Lookup

c.sign(dt=dt, body="sun")

Returns the zodiac sign for a given celestial body.


Full Alignment

c.alignments(dt=dt)

Returns all tracked bodies in a single call.


Longitude

c.longitude(dt=dt, body="sun")

Returns the raw longitude in degrees.

Supports:

  • Standard (tropical)
  • Draconic (nodes-based)

⏳ Time Input Flexibility

AetherField accepts multiple time formats seamlessly:

Python datetime

c.sign(dt=datetime.now(timezone.utc), body="sun")

MoonTime

mt = MoonTime.from_datetime(dt)
c.sign(dt=mt, body="sun")

Skyfield

ts = load.timescale()
sf = ts.from_datetime(dt)
c.sign(dt=sf, body="sun")

🖥️ CLI Usage

AetherField includes a command-line interface.

aetherfield --body sun

Example

sun @ 2026-04-23T02:05:39.166446+00:00
  Aether:     30.398 deg  (Aries)
aetherfield --body moon
moon @ 2026-04-23T02:09:49.959350+00:00
  Aether:    110.767 deg  (Gemini)

The CLI automatically pulls hosted calibration when available.


🧬 Design Philosophy

AetherField is built to be:

  • Composable → Works with external time systems
  • Deterministic → Same input, same output
  • Extensible → Calibration layers evolve without breaking core logic
  • Decoupled → Time, data, and interpretation remain separate

🌙 Ecosystem

AetherField pairs naturally with:

  • moontime → temporal framework
  • Skyfield → astronomical precision

🧪 Status

Early release. Core systems are stable, but APIs may evolve as calibration and data layers expand.


🕯️ Closing Note

AetherField doesn’t try to define meaning.

It provides structure — positions, alignments, relationships.

What you build on top of that… is entirely yours.

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

aetherfield-0.4.1.tar.gz (23.8 kB view details)

Uploaded Source

Built Distribution

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

aetherfield-0.4.1-py3-none-any.whl (23.3 kB view details)

Uploaded Python 3

File details

Details for the file aetherfield-0.4.1.tar.gz.

File metadata

  • Download URL: aetherfield-0.4.1.tar.gz
  • Upload date:
  • Size: 23.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.4

File hashes

Hashes for aetherfield-0.4.1.tar.gz
Algorithm Hash digest
SHA256 d9a245b47345d62a2013cb3a631a1f72543b1c1f43f723cc3e6a0952c4f9787a
MD5 a3712118b449558eb65d79859e348128
BLAKE2b-256 ce88e4956721a2ea3faaf379d2dfcde480a222bd35b6871cc8e55ed5be2ea71c

See more details on using hashes here.

File details

Details for the file aetherfield-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: aetherfield-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 23.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.4

File hashes

Hashes for aetherfield-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f52a3235f7586dfcad5ad753a4192a1a64e1d1ef75930240d4d61425a3768cf6
MD5 37c103a9f1d4ff692516e7e62e9232e2
BLAKE2b-256 1e9f3b24eb38564dae295656c70dd645375e0851fefd161a95a5571ed7e9102f

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