3 stable releases

new 2.0.1 Sep 4, 2024
2.0.0 Aug 17, 2024
1.0.0 Aug 7, 2024

#303 in Data structures

Download history 111/week @ 2024-08-05 141/week @ 2024-08-12 64/week @ 2024-08-19 46/week @ 2024-08-26 133/week @ 2024-09-02

388 downloads per month

MIT license

155KB
3K SLoC

Rust 2.5K SLoC // 0.1% comments Pest 491 SLoC

Rust-FlightWeather

Pipeline Status main Pipeline Status develop Code Coverage Latest Release License: MIT Contributor Covenant

Table Of Contents

  1. Description
  2. Current Release Version
  3. License
  4. Contribution
  5. Team

Description

Rust-FlightWeather is a library that decodes a METAR or TAF.

It was forked from metar-rs written by Lily Hopkins.

Current Release Version

v2.0.1

Quick usage

This usage will print out the parsed data from a METAR:

use rust_flightweather::metar::Metar;

fn main() {
  let metar = "EGHI 282120Z 19015KT 140V220 6000 RA SCT006 BKN009 16/14 Q1006";
  let result = Metar::parse(metar).unwrap();
  println!("{:#?}", result);
}

This usage will print out the parsed data from a TAF:

use rust_flightweather::taf::Taf;

fn main() {
  let taf = "TAF LUDO 130530Z 1307/1316 31015KT 8000 SHRA FEW005 FEW010CB SCT018 BKN025 TEMPO 1311/1316 4000 +SHRA PROB30 TEMPO 1314/1316 TSRA SCT005 BKN010CB";
  let result = Taf::parse(taf).unwrap();
  println!("{:#?}", result);
}

Issues

METARs and TAFs are complicated structures. If you come across one of them that doesn't parse correctly, open an issue and include the METAR or TAF. This will significantly aid in debugging the issue.

Read Contribution for more information.

License

Rust-FlightWeather is licensed under the MIT License. You can find the license text under LICENSE.

For more information about this license, visit https://choosealicense.com/licenses/mit/.

Contribution

You can find the source code at https://gitlab.com/flightsimtools/r-fst/r-fw.

Read CONTRIBUTING when you wish to contribute to this project.

Note that this project is subject to a Contributor CODE OF CONDUCT. By participating in this project, you agree to abide by its terms.

Team

  • Lucas Greuloch (@greluc)

Dependencies

~2–2.8MB
~56K SLoC