marlu 0.8.0

Convenience Rust code that handles coordinate transformations, Jones matrices, I/O. for the Murchison Widefield Array (MWA) radio telescope. Previously known as mwa_rust_core
Documentation
[package]
name = "marlu"
version = "0.8.0"
authors = [
    "Christopher H. Jordan <christopherjordan87@gmail.com>",
    "Dev Null <dev.null@curtin.edu.au>",
]
edition = "2021"
rust-version = "1.60"
license = "MPL-2.0"
readme = "README.md"
description = "Convenience Rust code that handles coordinate transformations, Jones matrices, I/O. for the Murchison Widefield Array (MWA) radio telescope. Previously known as mwa_rust_core"
repository = "https://github.com/MWATelescope/marlu"
homepage = "https://github.com/MWATelescope/marlu"
keywords = ["radioastronomy", "mwa", "astronomy", "aoflagger", "cotter"]
categories = ["science"]
exclude = ["tests/*", ".vscode/*", ".github/*", ".talismanrc"]

[features]
default = ["mwalib", "ms"]

# Link against cfitsio, enabling uvfits IO code
cfitsio = ["fitsio", "fitsio-sys"]

# Provide mwalib convenience functions (requires cfitsio)
mwalib = ["dep:mwalib", "cfitsio"]

# Provide measurement set IO code.
ms = ["rubbl_core", "rubbl_casatables", "failure", "flate2"]

# Provide CUDA convenience code
cuda = ["cuda-runtime-sys"]

# Provide approx traits on data types
approx = ["dep:approx"]

# Compile various C libraries statically.
erfa-static = ["erfa-sys/static"]
cfitsio-static = ["mwalib/cfitsio-static"]
cuda-static = []
all-static = ["erfa-static", "cfitsio-static", "cuda-static"]

[dependencies]
cfg-if = "1.0.0"
erfa-sys = "0.2.0"
hifitime = "3.0.0"
indicatif = { version = "0.17.0", features = ["rayon"] }
itertools = "0.10.0"
lazy_static = "1.4.0"
log = "0.4.14"
ndarray = { version = "0.15.4", features = ["rayon"] }
num-complex = "0.4.0"
num-traits = "0.2.0"
rayon = "1.5.0"
tar = "0.4.15"
thiserror = "1.0.0"

# "cfitsio" feature
fitsio = { version = "0.19.0", optional = true }
fitsio-sys = { version = "0.4.0", optional = true }

# "mwalib" feature
mwalib = { version = "0.15.1", optional = true }

# "ms" feature
failure = { version = "0.1.5", optional = true }
flate2 = { version = "1.0.13", optional = true }
rubbl_casatables = { version = "0.6.0", optional = true }
rubbl_core = { version = "0.3.0", optional = true }

# "cuda" feature
cuda-runtime-sys = { version = "0.3.0-alpha.1", optional = true }

# "approx" feature
approx = { version = "0.5.0", features = ["num-complex"], optional = true }

[dev-dependencies]
approx = { version = "0.5.0", features = ["num-complex"] }
criterion = "0.3.0"
csv = "1.1.0"
glob = "0.3.0"
lexical = "6.0.0"
ndarray = { version = "0.15.4", features = ["approx-0_5"] }
regex = "1.5.0"
serial_test = "0.9.0"
tempfile = "3.3.0"

[build-dependencies]
built = "0.5.1"

[[bench]]
name = "bench_misc"
harness = false

[[bench]]
name = "bench_io"
harness = false