1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
//! Crate to manage and interface with an archive of //! [bufkit](https://training.weather.gov/wdtd/tools/BUFKIT/index.php) files. //! //! This supports a set of command line tools for utilizing the archive. In general, it may be //! useful to anyone interested in archiving bufkit files. //! //! The current implementation uses an [sqlite](https://www.sqlite.org/index.html) database to keep //! track of files stored in a common directory. The files are compressed, and so should only be //! accessed via the API provided by this crate. //! //! ## Python integration //! When compiled with the `pylib` feature it minimally supports access from Python. At this time it //! only supports reading files from the archive. //! //! For use with python, I recommend using a virtualenv and //! [maturin](https://github.com/pyo3/maturin). Once the virtualenv is activated, //! `pip install maturin` and install the bufkit_data package by going into the directory //! bufkit-data is cloned into and running: //! //! ```shell //! maturin develop --release --strip --cargo-extra-args="--features pylib" //! //! ``` //! //! After this installation, you should be able to use `bufkit_data` from python with: //! ```python //! import bufkit_data as bd //! //! arch = bd.Archive("Path/to/my_archive") //! ord = arch.id_to_station_num("kord", "nam4km") //! most_recent_ord_nam = arch.most_recent(ord, "nam4km") //! //! from datetime import datetime as dt //! valid_time = dt(2020, 5, 5, 12, 0) //! //! ord = arch.id_to_station_num("kord", "gfs") //! old_ord_gfs = arch.retrieve_sounding(ord, "gfs", valid_time) //! //! ``` #![deny(missing_docs)] // // Public API // pub use crate::archive::{Archive, StationSummary}; pub use crate::errors::BufkitDataErr; pub use crate::models::Model; pub use crate::site::{SiteInfo, StateProv, StationNumber}; #[cfg(feature = "pylib")] mod py_lib; // // Implementation only // mod archive; mod coords; mod errors; mod models; mod site;