[[bench]]
harness = false
name = "performance_scenarios"
path = "benches/performance_scenarios.rs"
[dependencies.chrono]
default-features = false
optional = true
version = "0.4"
[dependencies.libm]
optional = true
version = "0.2"
[dependencies.thiserror]
default-features = false
version = "2.0"
[dev-dependencies.chrono]
features = ["clock"]
version = "0.4"
[dev-dependencies.chrono-tz]
version = "0.10"
[dev-dependencies.criterion]
features = ["html_reports"]
version = "0.8"
[dev-dependencies.csv]
version = "1.4"
[[example]]
name = "api_verification"
path = "examples/api_verification.rs"
[[example]]
name = "basic_usage"
path = "examples/basic_usage.rs"
[[example]]
name = "grena3_comparison"
path = "examples/grena3_comparison.rs"
[[example]]
name = "no_std_usage"
path = "examples/no_std_usage.rs"
[[example]]
name = "sunrise_sunset"
path = "examples/sunrise_sunset.rs"
[[example]]
name = "sunrise_without_chrono"
path = "examples/sunrise_without_chrono.rs"
[features]
chrono = ["dep:chrono"]
default = ["std", "chrono"]
libm = ["dep:libm"]
std = []
unstable = []
[lib]
name = "solar_positioning"
path = "src/lib.rs"
[package]
authors = ["Klaus Brunner <klaus.brunner@gmail.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["science", "algorithms", "mathematics"]
description = "High-accuracy solar positioning algorithms (SPA and Grena3) for calculating sun position and sunrise/sunset/twilight times"
documentation = "https://docs.rs/solar-positioning"
edition = "2021"
exclude = [".github/", "tests/data/", "benches/data/"]
homepage = "https://github.com/klausbrunner/solarpositioning-rs"
keywords = ["solar", "sun", "astronomy", "spa", "sunrise"]
license = "MIT"
name = "solar-positioning"
readme = "README.md"
repository = "https://github.com/klausbrunner/solarpositioning-rs"
rust-version = "1.70"
version = "0.4.5"
[package.metadata.release]
allow-branch = ["main"]
pre-release-commit-message = "Release {{version}}"
push = true
tag-prefix = "v"
[[package.metadata.release.pre-release-replacements]]
exactly = 1
file = "CHANGELOG.md"
replace = """
## Unreleased
## [{{version}}] - {{date}}"""
search = "## Unreleased"
[profile.bench]
debug = 2
[profile.release]
codegen-units = 1
lto = true
opt-level = 3
overflow-checks = false
panic = "abort"
[[test]]
name = "combined_pattern_optimization"
path = "tests/combined_pattern_optimization.rs"
[[test]]
name = "csv_reference_validation"
path = "tests/csv_reference_validation.rs"
[[test]]
name = "java_comparison"
path = "tests/java_comparison.rs"
[[test]]
name = "spa_accuracy"
path = "tests/spa_accuracy.rs"
[[test]]
name = "spa_reference_validation"
path = "tests/spa_reference_validation.rs"
[[test]]
name = "sunce_full_test"
path = "tests/sunce_full_test.rs"
[[test]]
name = "sunce_standard_case"
path = "tests/sunce_standard_case.rs"
[[test]]
name = "sunrise_midnight_boundary"
path = "tests/sunrise_midnight_boundary.rs"
[[test]]
name = "sunrise_non_chrono"
path = "tests/sunrise_non_chrono.rs"
[[test]]
name = "sunrise_reference_validation"
path = "tests/sunrise_reference_validation.rs"
[[test]]
name = "sunrise_regressions"
path = "tests/sunrise_regressions.rs"
[[test]]
name = "usno_reference_validation"
path = "tests/usno_reference_validation.rs"