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
//! Fast parser of Python's requirement files //! //! `requirements` is a fast and convenient way to parse Python's requirements file. It (will) //! supports recursively parsing requirements files and resolving and identifying version //! version constraints to satisfy all dependencies. //! //! # Usage //! //! Below is a basic example of how to use this library: //! //! ``` //! let content = "Django>=3.0.5"; //! let reqs = requirements::parse_str(&content).unwrap(); //! //! for req in reqs.into_iter() { //! println!("{:?}", req); //! } //! ``` #[macro_use] extern crate pest_derive; mod parser; pub mod enums; mod requirements; use parser::parse; pub use crate::requirements::Requirement; /// Parses requirements from a string pub fn parse_str(content: &str) -> Result<Vec<Requirement>, String> { parse(content) } // TODO: Add file loading code (recursive?) here.