Skip to content

Releases: ffalcinelli/astroceleste-engine

v0.0.14

Choose a tag to compare

@github-actions github-actions released this 23 Oct 22:10
722f6a7

Added

  • True (osculating) lunar node: node_type on chart requests ("mean" default, or
    "true"), echoed as the chart's node_type. The node is where the Moon's instantaneous
    geocentric orbit crosses the true ecliptic of date, from the kernel's state vectors;
    it matches Swiss Ephemeris' TRUE_NODE within 1″. Python takes node_type= on chart,
    horary, election and transit; WASM requests take node_type.
  • Sripati house system (S): Porphyry's cusps as the middles of the houses, the cusps
    halfway between them.
  • Vedic astrology (docs/vedic.md): vedic_calendar (also vedic_calendar on chart
    requests), the panchanga of a moment and place: sunrise, vara, tithi, nakshatra, yoga and
    karana with their start and end, the amanta and purnimanta month with adhika months,
    ritu, ayana, samvatsara and the Shaka and Vikram years; and jyotish (no kernel
    needed), a chart's sidereal placements with nakshatras and vargottama, the twenty vargas
    D1-D60 and the Vimshottari dasha to five levels. Python Engine.vedic_calendar,
    jyotish, vedic_calendar=; WASM engine.vedicCalendar, jyotish.

The true node, Sripati houses, nakshatras and vargas are ported from Priyank Gahtori's
Khagole fork (https://github.com/PriyankGahtori/Khagole).

Changed

  • ChartRequest has new public fields (node_type, vedic_calendar), and
    planets_and_sidereal_time takes a NodeType.

v0.0.13

Choose a tag to compare

@github-actions github-actions released this 23 Oct 20:34
806f6d8

Added

  • Minor bodies: Ceres, Pallas, Juno, Vesta, Astraea, Eris, Sedna, Makemake, Orcus and Ixion
    in every chart (after Lilith, before the angles), from embedded tables sampled from JPL
    Horizons for 1849-2151 (within 3″ of it; outside, unavailable_bodies). They form
    aspects within their own orb (default 3°, whatever the orb method) but none with each
    other, and take no part in fixed-star conjunctions or the temperament.
    MINOR_BODIES / is_minor_body are public, and MINOR_BODIES is exported to Python.
  • Python: Engine.chinese_calendar(moment), excerpt_kernel(path, start, end),
    election(chinese_calendar=), and every exception carries the API error code in .code.
    WASM: Engine.chineseCalendar(utc) and an Engine.kernels getter.

Changed

  • About 3× faster charts from file-backed kernels (cached kernel reads, one nutation per
    chart); outputs are bit-identical.
  • time_lords returns Result<TimeLords, EngineError>.

Fixed

  • Corrupt or hostile kernels can no longer request huge buffers or overflow addresses;
    kernels whose bodies are split into several time segments use the segment covering the
    date.
  • Nonsensical input (latitudes beyond ±90°, non-finite numbers and orbs, impossible dates,
    a quesited house outside 1-12) is rejected as invalid_input instead of computed.
  • Election searches confirm each window on exact positions before counting it.

v0.0.12

Choose a tag to compare

@github-actions github-actions released this 09 Oct 07:18
622693a

Added

  • Ba Zi: the date option gives the year, month and day pillars of a date (flow: 流年,
    流月, 流日, with the jie that opened the month), from an embedded table of the jie terms of
    1900-2100 (no kernel needed).

v0.0.11

Choose a tag to compare

@github-actions github-actions released this 09 Oct 06:11
137e416

Added

  • Zi Wei Dou Shu: the date option casts the horoscope down to the month (流月) and day
    (流日) of a date, read in an embedded lunar calendar for 1900-2100 (no kernel needed).
  • 120 charts and 80 horoscopes checked against iztro, the reference implementation of the
    common school.

v0.0.10

Choose a tag to compare

@github-actions github-actions released this 09 Oct 05:34
20a41c6

Added

  • Zi Wei Dou Shu: each palace's minor_stars (the 38 minor stars of the common school),
    gods (the 長生, 博士, 歲前 and 將前 cycles) and flying transformations of its stem;
    the year option adds the horoscope of that year: the decade (or childhood) limit, the
    small limit and the year, each with its palace names, transformations and moving stars,
    and the year's gods.
  • Ba Zi: the year option adds the year's pillar (annual), seen from the Day Master.

v0.0.9

Choose a tag to compare

@github-actions github-actions released this 09 Oct 04:32
38598c4

Added

  • Zi Wei Dou Shu: zi_wei(calendar, birth, longitude, utc_offset_minutes, options) (no
    kernel needed; Python zi_wei, JavaScript ziWei) casts the Purple Star chart from a
    chart's Chinese calendar: life and body palaces, palace stems, the five-element bureau,
    the 14 major stars and 14 auxiliary and malefic stars with their brightness, the natal
    Four Transformations, the life and body masters, and (given the native's sex) the decade
    and small limits. Leap months split at the 15th by default. See docs/chinese.md.

v0.0.8

Choose a tag to compare

@github-actions github-actions released this 09 Oct 00:03
117eaa8

Added

  • Chinese calendar: ChartRequest::chinese_calendar (chinese_calendar in Python and
    JavaScript) adds a chinese_calendar key to a chart: the solar terms from the last 立春
    to the next jie term, the lunar months around the date (leap months by the modern rule,
    including the 2033 case) and the equation of time. Also chinese_calendar(kernels, instant).
  • Ba Zi: bazi(calendar, birth, longitude, utc_offset_minutes, options) (no kernel needed;
    Python and JavaScript bazi) casts the Four Pillars on true solar or civil time, with
    either Zi-hour convention: hidden stems, Ten Gods, NaYin, life stages, element balance,
    the lunar date and, given the native's sex, the luck pillars. See docs/chinese.md.

v0.0.7

Choose a tag to compare

@github-actions github-actions released this 01 Oct 17:33
a3cbf2c

Added

  • Time-lords: time_lords(birth, sun_longitude, ascendant_longitude, start, end) (no kernel
    needed; Python time_lords, JavaScript timeLords) gives the annual profections (age,
    sign, lord of the year, activated house) and the firdaria with their sub-periods, in the
    day or night sequence with the nodes last, after Bonatti.
  • chart_dignities(chart, scheme) (no kernel needed; Python chart_dignities, JavaScript
    chartDignities) judges a computed chart's condition, sect and receptions again under the
    Lilly or the Dorothean scheme.

Fixed

  • The Python type stubs list dignity_scheme and quesited_house.

v0.0.6

Choose a tag to compare

@github-actions github-actions released this 01 Oct 16:28
56e5c4d

Added

  • Essential dignities on every chart. Each of the seven planets carries a condition: its
    domicile, exaltation, triplicity, bound and face (with the lords of its place), detriment,
    fall or peregrine, Lilly's points, its sect and whether it is in sect, above the horizon,
    cazimi, combust or under the beams, oriental or occidental, and fast, slow or stationary.
    The chart adds its sect, the receptions among the planets, antiscia and
    contra-antiscia, and its planetary_hours (left out of transit skies). Sources and rules:
    docs/dignities.md.
  • dignity_scheme request option: lilly (default; Lilly's triplicities and Ptolemaic
    terms) or dorothean (three triplicity lords and the Egyptian bounds).
  • Horary judgment. calculate_horary_chart takes the quesited house (Python
    quesited_house=, JavaScript quesited_house) and adds horary_data.judgment: the
    significators of the querent and of the quesited, the aspect they perfect within their
    signs, the Moon's aspect to the quesited's lord, prohibition, refranation (a station found
    in the ephemeris), translation and collection of light, and the receptions between the
    significators.
  • Considerations before judgment: the Moon in the via combusta (MOON_VIA_COMBUSTA), in
    the last degrees of her sign (MOON_LATE_DEGREES), and the lord of the Ascendant combust
    (ASC_RULER_COMBUST).

Changed

  • ChartRequest has a dignity_scheme field, and calculate_horary_chart a third argument
    (quesited_house).
  • The demo site has a dignity scheme selector and a dignity column.

v0.0.5

Choose a tag to compare

@github-actions github-actions released this 25 Sep 09:35
dd1a05d

Added

  • Degree qualities after William Lilly (Christian Astrology, 1659, p. 116):
    degree_qualities gives the masculine or feminine, light, dark, smoky or void, pitted,
    lame (azimene) and fortune-increasing qualities of a longitude's degree, and
    degree_quality_table returns the whole table. Python: degree_qualities /
    degree_quality_table. JavaScript: degreeQualities / degreeQualityTable.
  • Elections weigh the degree qualities of the Moon and the Ascendant: MOON_PITTED_DEGREE,
    MOON_AZIMENE_DEGREE, MOON_FORTUNE_DEGREE, ASC_PITTED_DEGREE, ASC_AZIMENE_DEGREE,
    ASC_FORTUNE_DEGREE, ASC_LIGHT_DEGREE and ASC_DARK_DEGREE. Scores change for moments
    where they apply.