pub struct PythonParser;Expand description
Python package parser supporting 11 manifest formats.
Extracts metadata from Python package files including pyproject.toml, setup.py, setup.cfg, PKG-INFO, METADATA, pip-inspect lockfiles, and .whl/.egg archives.
§Security
setup.py files are parsed using AST analysis rather than code execution to prevent
arbitrary code execution during scanning. See extract_from_setup_py_ast for details.
Trait Implementations§
Source§impl PackageParser for PythonParser
impl PackageParser for PythonParser
Source§const PACKAGE_TYPE: PackageType = PackageType::Pypi
const PACKAGE_TYPE: PackageType = PackageType::Pypi
Package URL type identifier for this parser (e.g., PackageType::Npm, PackageType::Pypi).
Source§fn extract_packages(path: &Path) -> Vec<PackageData>
fn extract_packages(path: &Path) -> Vec<PackageData>
Extracts all packages from the given file path. Read more
Source§fn is_match(path: &Path) -> bool
fn is_match(path: &Path) -> bool
Checks if the given file path matches this parser’s expected format. Read more
Source§fn extract_first_package(path: &Path) -> PackageData
fn extract_first_package(path: &Path) -> PackageData
Returns the first package from
extract_packages(),
or a default PackageData if the file contains no packages.Auto Trait Implementations§
impl Freeze for PythonParser
impl RefUnwindSafe for PythonParser
impl Send for PythonParser
impl Sync for PythonParser
impl Unpin for PythonParser
impl UnsafeUnpin for PythonParser
impl UnwindSafe for PythonParser
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more