known_types_pypi/
package.rs

1// This is free and unencumbered software released into the public domain.
2
3#[cfg(not(feature = "alloc"))]
4compile_error!("the 'alloc' feature is required here");
5
6use crate::prelude::{String, Vec};
7
8#[derive(Debug)]
9#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
10pub struct PackageMetadata {
11    pub info: PackageInfo,
12    #[cfg_attr(feature = "serde", serde(default))]
13    pub urls: Vec<PackageUrl>,
14}
15
16#[derive(Debug)]
17#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
18pub struct PackageInfo {
19    pub name: String,
20    pub version: String,
21    #[cfg_attr(feature = "serde", serde(default))]
22    pub requires_dist: Option<Vec<String>>,
23}
24
25#[derive(Debug)]
26#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
27pub struct PackageUrl {
28    pub filename: String,
29    pub packagetype: String,
30    pub url: String,
31}