pub struct PypiVersion {
pub version: ConcreteVersion,
pub yanked: bool,
pub published_at: Option<PublishTime>,
}Expand description
Version information for a package from PyPI.
Retrieved from the PyPI JSON API at https://pypi.org/pypi/{package}/json.
Contains version number, yanked status, and prerelease detection.
§Examples
use deps_pypi::types::PypiVersion;
let version = PypiVersion {
version: "2.28.2".into(),
yanked: false,
published_at: None,
};
assert!(!version.yanked);
assert!(!version.is_prerelease());Fields§
§version: ConcreteVersionVersion string (PEP 440 compliant)
yanked: boolWhether this version has been yanked from PyPI
published_at: Option<PublishTime>Earliest upload-time across this version’s release files.
None when no file reports one, or every reported value fails to
parse as RFC 3339 — degrades gracefully, per
US-003.
Implementations§
Source§impl PypiVersion
impl PypiVersion
Sourcepub fn is_prerelease(&self) -> bool
pub fn is_prerelease(&self) -> bool
Check if this version is a prerelease (alpha, beta, rc).
Uses PEP 440 version parsing for accurate prerelease detection.
§Examples
use deps_pypi::types::PypiVersion;
let stable = PypiVersion { version: "1.0.0".into(), yanked: false, published_at: None };
let alpha = PypiVersion { version: "1.0.0a1".into(), yanked: false, published_at: None };
let beta = PypiVersion { version: "1.0.0b2".into(), yanked: false, published_at: None };
let rc = PypiVersion { version: "1.0.0rc1".into(), yanked: false, published_at: None };
assert!(!stable.is_prerelease());
assert!(alpha.is_prerelease());
assert!(beta.is_prerelease());
assert!(rc.is_prerelease());Do not rename or remove this method without updating the
prerelease: closure in the impl_version! call below, which
delegates to it by name and relies on inherent-beats-trait method
resolution to reach it.
Trait Implementations§
Source§impl Clone for PypiVersion
impl Clone for PypiVersion
Source§fn clone(&self) -> PypiVersion
fn clone(&self) -> PypiVersion
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PypiVersion
impl Debug for PypiVersion
Source§impl Version for PypiVersion
impl Version for PypiVersion
Source§fn version_string(&self) -> &ConcreteVersion
fn version_string(&self) -> &ConcreteVersion
Source§fn removal_status(&self) -> RemovalStatus
fn removal_status(&self) -> RemovalStatus
Source§fn published_at(&self) -> Option<PublishTime>
fn published_at(&self) -> Option<PublishTime>
Source§fn is_prerelease(&self) -> bool
fn is_prerelease(&self) -> bool
Source§fn deprecation(&self) -> Option<&Deprecation>
fn deprecation(&self) -> Option<&Deprecation>
Auto Trait Implementations§
impl Freeze for PypiVersion
impl RefUnwindSafe for PypiVersion
impl Send for PypiVersion
impl Sync for PypiVersion
impl Unpin for PypiVersion
impl UnsafeUnpin for PypiVersion
impl UnwindSafe for PypiVersion
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
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>
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