Thematische Liste von Crates #
CLI #
- getopts (Code, Dokumentation): Simpler CLI-Argumente-Parser
- argparse (Code & Dokumentation): Erweiterter CLI-Argumente-Parser
- clap (Code, Dokumentation, Website): Umfangreicher CLI-Argumente-Parser (u.a. Farben, Autovervollständigung für Shell)
- structopt (Code, Dokumentation): Bietet ein
derive-Makro, umclap-Definitionen aus einemstructzu generieren
Error Handling #
- error_chain
- failure
IO #
- flate2 (Code, Dokumentation): A streaming compression/decompression library DEFLATE-based streams
Logging #
- log: Logging-Fassade
- slog: Erweiterte Logging-Suite
Parallelisierung #
- rayon (Code, Dokumentation):
Parser #
- marc (Code, Dokumentation):
- nom: Parser
- pest: Parser
- quick_xml (Code, Dokumentation):
- serde: Serialisierungs-/Deserialisierungs-Framework. Spezifische Formate / Utilities in spezialisierten crates, u.a.
- serde_json (Code, Dokumentation): Für JSON
- serde_yaml: Für YAML
- serde_derive: Derive macro zur Serialisierung von bzw. Deserialisierung in structs
- toml: Für TOML
Testing #
- hamcrest (Code, Dokumentation): Hamcrest-Port
- mockito (Code, Dokumentation): HTTP mocking
- quickcheck (Code, Dokumentation): Framework für Property based testing
- proptest (Code, Dokumentation): Weiteres Framework für property based testing
- assert_cmd (Code, Dokumentation): Testet
process::Command, kann also für das Integration Testing von Kommandozeilen-Applikationen gebraucht werden - predicates (Code, Dokumentation): An implementation of boolean-valued predicate functions in Rust
- tempfile (Code, Dokumentation, Website): Hilft beim Erstellen von temporären Dateien
Textprozessierung #
- difference (Code, Dokumentation): Text diff Bibliothek mit Assertion-Funktionen
Web #
- reqwest: HTTP client
- actix-web: Sehr schnelles web framework
- rocket: web framework (flachere Lernkurve als actix-web, “batteries included”)
- hyper: Low-level HTTP client/server framework
- Für weitere web frameworks s. https://github.com/flosse/rust-web-framework-comparison