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:
- Build an
AstroRequest. - Choose a
KundliConfig. - Call
calculate_kundliorcalculate_kundli_with_engine. - 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.