Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var DistExtensions = map[string]string{
".whl": "bdist_wheel",
".tar.bz2": "sdist",
".tar.gz": "sdist",
".zip": "sdist",
}
View Source
var HeaderAttrs = map[string][]HeaderAttr{ "1.0": HeaderAttrs1_0, "1.1": HeaderAttrs1_1, "1.2": HeaderAttrs1_2, "2.0": HeaderAttrs2_0, "2.1": HeaderAttrs2_1, "2.2": HeaderAttrs2_2, "2.3": HeaderAttrs2_3, "2.4": HeaderAttrs2_4, }
View Source
var HeaderAttrs1_0 = []HeaderAttr{ {"Metadata-Version", "metadata_version", false}, {"Name", "name", false}, {"Version", "version", false}, {"Platform", "platform", true}, {"Supported-Platform", "supported_platform", true}, {"Summary", "summary", false}, {"Description", "description", false}, {"Keywords", "keywords", false}, {"Home-Page", "home_page", false}, {"Author", "author", false}, {"Author-Email", "author_email", false}, {"License", "license", false}, }
View Source
var HeaderAttrs1_1 = append(HeaderAttrs1_0, []HeaderAttr{ {"Classifier", "classifiers", true}, {"Download-Url", "download_url", false}, {"Requires", "requires", true}, {"Provides", "provides", true}, {"Obsoletes", "obsoletes", true}, }...)
View Source
var HeaderAttrs1_2 = append(HeaderAttrs1_1, []HeaderAttr{ {"Maintainer", "maintainer", false}, {"Maintainer-Email", "maintainer_email", false}, {"Requires-Python", "requires_python", false}, {"Requires-External", "requires_external", true}, {"Requires-Dist", "requires_dist", true}, {"Provides-Dist", "provides_dist", true}, {"Obsoletes-Dist", "obsoletes_dist", true}, {"Project-Url", "project_urls", true}, }...)
View Source
var HeaderAttrs2_0 = HeaderAttrs1_2 //XXX PEP 426?
View Source
var HeaderAttrs2_1 = append(HeaderAttrs1_2, []HeaderAttr{ {"Provides-Extra", "provides_extra", true}, {"Description-Content-Type", "description_content_type", false}, }...)
View Source
var HeaderAttrs2_2 = append(HeaderAttrs2_1, HeaderAttr{"Dynamic", "dynamic", true}) // PEP 643
View Source
var HeaderAttrs2_3 = HeaderAttrs2_2 // PEP 685
View Source
var HeaderAttrs2_4 = append(HeaderAttrs2_3, []HeaderAttr{ {"License-Expression", "license_expression", false}, {"License-File", "license_file", false}, }...)
Functions ¶
func SafeName ¶
Convert an arbitrary string to a standard distribution name. Any runs of non-alphanumeric/. characters are replaced with a single '-'. Copied from pkg_resources.safe_name for compatibility with warehouse. See https://github.com/pypa/twine/issues/743.
func StructToMap ¶
Types ¶
type BaseDistribution ¶
type BaseDistribution struct { MetadataVersion string `json:"metadata_version"` // version 1.0 Name string `json:"name"` Version string `json:"version"` Platforms []string `json:"platform"` SupportedPlatforms []string `json:"supported_platform"` Summary string `json:"summary"` Description string `json:"description"` Keywords string `json:"keywords"` HomePage string `json:"home_page"` DownloadURL string `json:"download_url"` Author string `json:"author"` AuthorEmail string `json:"author_email"` License string `json:"license"` // version 1.1 Classifiers []string `json:"classifiers"` Requires []string `json:"requires"` Provides []string `json:"provides"` Obsoletes []string `json:"obsoletes"` // version 1.2 Maintainer string `json:"maintainer"` MaintainerEmail string `json:"maintainer_email"` RequiresPython string `json:"requires_python"` RequiresExternal []string `json:"requires_external"` RequiresDist []string `json:"requires_dist"` ProvidesDist []string `json:"provides_dist"` ObsoletesDist []string `json:"obsoletes_dist"` ProjectURLs []string `json:"project_urls"` // version 2.1 ProvidesExtras []string `json:"provides_extra"` DescriptionContentType string `json:"description_content_type"` // version 2.2 Dynamic []string `json:"dynamic"` // version 2.4 LicenseExpression string `json:"license_expression"` LicenseFile string `json:"license_file"` }
func (*BaseDistribution) GetHeaderAttrs ¶
func (bd *BaseDistribution) GetHeaderAttrs() ([]HeaderAttr, error)
func (*BaseDistribution) GetName ¶
func (bd *BaseDistribution) GetName() string
func (*BaseDistribution) GetPythonVersion ¶
func (bd *BaseDistribution) GetPythonVersion() string
TODO: remember to implement this for other distributions if they need something more specific (e.g. Wheels)
func (*BaseDistribution) GetVersion ¶
func (bd *BaseDistribution) GetVersion() string
func (*BaseDistribution) Parse ¶
func (bd *BaseDistribution) Parse(data []byte) error
type Distribution ¶
type Distribution interface { ExtractMetadata() error Parse(data []byte) error // GetName is a helper method to get values GetName() string GetVersion() string GetPythonVersion() string // MetadataMap is used to return a map of all the metadata, // similar to how twine passes the metadata in a multipart // form request. MetadataMap() map[string][]string }
func NewDistributionMetadata ¶
func NewDistributionMetadata(filename string) (Distribution, string, string, error)
func NewSDist ¶
func NewSDist(filename string) (Distribution, error)
func NewWheel ¶
func NewWheel(filename string) (Distribution, error)
type HeaderAttr ¶
type SDist ¶
type SDist struct { BaseDistribution Filename string `json:"file_name"` }
func (*SDist) ExtractMetadata ¶
func (*SDist) MetadataMap ¶
type Wheel ¶
type Wheel struct { BaseDistribution Filename string `json:"file_name"` BaseFilename string `json:"base_filename"` }
func (*Wheel) ExtractMetadata ¶
func (*Wheel) GetPythonVersion ¶
func (*Wheel) MetadataMap ¶
Click to show internal directories.
Click to hide internal directories.