solar-positioning 0.5.1

High-accuracy solar positioning algorithms (SPA and Grena3) for calculating sun position and sunrise/sunset/twilight times
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.70"
name = "solar-positioning"
version = "0.5.1"
authors = ["Klaus Brunner <klaus.brunner@gmail.com>"]
build = false
exclude = [
    ".github/",
    "scripts/",
    "tests/data/",
    "benches/data/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "High-accuracy solar positioning algorithms (SPA and Grena3) for calculating sun position and sunrise/sunset/twilight times"
homepage = "https://github.com/klausbrunner/solarpositioning-rs"
documentation = "https://docs.rs/solar-positioning"
readme = "README.md"
keywords = [
    "solar",
    "sun",
    "astronomy",
    "spa",
    "sunrise",
]
categories = [
    "science",
    "algorithms",
    "mathematics",
]
license = "MIT"
repository = "https://github.com/klausbrunner/solarpositioning-rs"

[package.metadata.release]
allow-branch = ["main"]
pre-release-commit-message = "Release {{version}}"

[[package.metadata.release.pre-release-replacements]]
file = "CHANGELOG.md"
search = "## Unreleased"
replace = """
## Unreleased

## [{{version}}] - {{date}}"""
exactly = 1

[features]
chrono = ["dep:chrono"]
default = [
    "std",
    "chrono",
]
libm = ["dep:libm"]
std = []
unstable = []

[lib]
name = "solar_positioning"
path = "src/lib.rs"

[[example]]
name = "api_verification"
path = "examples/api_verification.rs"

[[example]]
name = "basic_usage"
path = "examples/basic_usage.rs"
required-features = [
    "std",
    "chrono",
]

[[example]]
name = "grena3_comparison"
path = "examples/grena3_comparison.rs"
required-features = [
    "std",
    "chrono",
]

[[example]]
name = "no_std_usage"
path = "examples/no_std_usage.rs"

[[example]]
name = "sunrise_sunset"
path = "examples/sunrise_sunset.rs"
required-features = [
    "std",
    "chrono",
]

[[example]]
name = "sunrise_without_chrono"
path = "examples/sunrise_without_chrono.rs"

[[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"

[[bench]]
name = "performance_scenarios"
path = "benches/performance_scenarios.rs"
harness = false

[dependencies.chrono]
version = "0.4"
optional = true
default-features = false

[dependencies.libm]
version = "0.2"
optional = true

[dev-dependencies.chrono]
version = "0.4"
features = ["clock"]

[dev-dependencies.chrono-tz]
version = "0.10"

[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]

[dev-dependencies.csv]
version = "1.4"

[profile.bench]
debug = 2

[profile.release]
opt-level = 3
lto = true
codegen-units = 1
panic = "abort"
overflow-checks = false