Skip to main content

Crate kundli_rs

Crate kundli_rs 

Source
Expand description

kundli-rs computes a kundli from astronomical inputs.

The most ergonomic entrypoints are calculate_kundli and the crate-root re-exported request/config/result types. Use calculate_kundli_with_engine when you want to inject a custom AstroEngine implementation for testing or alternative data sources.

§Quick start

use kundli_rs::{AstroRequest, ChartLayer, ChartSpec, KundliConfig, calculate_kundli};

let request = AstroRequest::new(2451545.0, 37.5665, 126.9780);

let config = KundliConfig::from_request(&request).with_charts(&[
    ChartSpec::d1(),
    ChartSpec::d9(),
    ChartSpec::vimshottari_dasha(),
]);

let result = calculate_kundli(request, config)?;
let d1 = result
    .chart(ChartSpec::d1())
    .and_then(ChartLayer::as_chart)
    .unwrap();

println!("Lagna sign: {:?}", d1.lagna.sign);

§API overview

A typical workflow is:

  1. Build an AstroRequest.
  2. Choose a KundliConfig.
  3. Call calculate_kundli or calculate_kundli_with_engine.
  4. Inspect the returned KundliResult.

AstroRequest and KundliConfig both carry zodiac, ayanamsha, house-system, and node-type settings. Use KundliConfig::from_request when you want those duplicated settings to match by construction.

Re-exports§

pub use kundli::astro::AstroBody;
pub use kundli::astro::AstroBodyPosition;
pub use kundli::astro::AstroEngine;
pub use kundli::astro::AstroError;
pub use kundli::astro::AstroMeta;
pub use kundli::astro::AstroRequest;
pub use kundli::astro::AstroResult;
pub use kundli::astro::Ayanamsha;
pub use kundli::astro::HouseSystem;
pub use kundli::astro::NodeType;
pub use kundli::astro::SwissEphAstroEngine;
pub use kundli::astro::SwissEphConfig;
pub use kundli::astro::ZodiacType;
pub use kundli::calculate::calculate_kundli;
pub use kundli::calculate::calculate_kundli_with_engine;
pub use kundli::config::ChartKind;
pub use kundli::config::ChartSpec;
pub use kundli::config::HouseMode;
pub use kundli::config::KundliConfig;
pub use kundli::config::ReferenceKey;
pub use kundli::config::SpecialReference;
pub use kundli::error::ChartSelectionError;
pub use kundli::error::DeriveError;
pub use kundli::error::InputConfigMismatchField;
pub use kundli::error::KundliError;
pub use kundli::model::CalculationMeta;
pub use kundli::model::CalculationWarning;
pub use kundli::model::ChartLayer;
pub use kundli::model::ChartResult;
pub use kundli::model::ChartStyle;
pub use kundli::model::D1Chart;
pub use kundli::model::D9Chart;
pub use kundli::model::DashaLord;
pub use kundli::model::DashaPeriod;
pub use kundli::model::HouseNumber;
pub use kundli::model::HouseResult;
pub use kundli::model::KundliResult;
pub use kundli::model::LagnaResult;
pub use kundli::model::Nakshatra;
pub use kundli::model::NakshatraPlacement;
pub use kundli::model::Pada;
pub use kundli::model::PlanetPlacement;
pub use kundli::model::ReferenceResult;
pub use kundli::model::Sign;
pub use kundli::model::VimshottariDasha;

Modules§

kundli
Public modules for kundli calculation.