[package] name = "marlu" version = "0.15.0" authors = [ "Christopher H. Jordan ", "Dev Null ", ] edition = "2021" rust-version = "1.65" 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_casatables", "flate2"] # Provide approx traits on data types approx = ["dep:approx"] # Provide serialize and deserialize traits on data types serde = ["dep:serde"] # Compile various C libraries statically. cfitsio-static = ["mwalib/cfitsio-static"] all-static = ["cfitsio-static"] [dependencies] cfg-if = "1.0.0" erfa = "0.2.1" hifitime = "3.6.0" itertools = "0.10.0" lazy_static = "~1.5" log = "0.4.14" ndarray = { version = "0.16.0", features = ["rayon"] } num-complex = "0.4.1" num-traits = "0.2.0" rayon = "1.5.0" tar = "0.4.15" thiserror = "1.0.0" # "cfitsio" feature fitsio = { version = "0.21.6", optional = true } fitsio-sys = { version = "~0.5", optional = true } # "mwalib" feature mwalib = { version = "1.8.2", optional = true } # "ms" feature flate2 = { version = "1.0.13", optional = true } rubbl_casatables = { version = "0.8.0", optional = true } # "approx" feature approx = { version = "0.5.0", features = ["num-complex"], optional = true } # "serde" feature serde = { version = "1.0.100", features = ["derive"], optional = true } [dev-dependencies] approx = { version = "0.5.0", features = ["num-complex"] } criterion = "~0.4.0" csv = "1.1.0" glob = "0.3.0" lexical = "6.0.0" ndarray = { version = "0.16.0", features = ["approx"] } regex = "1.5.0" serde_json = "1.0.0" serial_test = "0.9.0" tempfile = "3.3.0" [build-dependencies] built = { version = "~0.7.3", default-features = false, features = [ "chrono", "git2", "semver", ] } [[bench]] name = "bench_misc" harness = false [[bench]] name = "bench_io" harness = false [patch.crates-io] # mwalib = { git = "https://github.com/MWATelescope/mwalib", branch = "pyo3_stub_chrono_fix" } # TODO: get rid of this once MSRV >= 1.67, built@0.7.3+git2 => icu_normalizer@1.5.0 => rustc 1.65.0 built = { git = "https://github.com/lukaslueg/built", tag = "0.7.3" } url = { git = "https://github.com/servo/rust-url", tag = "v2.5.2" } # TODO: get rid of this once MSRV >= 1.70 ciborium = { git = "https://github.com/enarx/ciborium", tag = "v0.2.1" } # ciborium-ll v > 0.2.1 needs half ^2.2, half v > 2.3.x msrv is 1.70