python

package
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 29, 2023 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Info

type Info struct {
	Author                 string        `json:"author"`
	AuthorEmail            string        `json:"author_email"`
	BugtrackUrl            string        `json:"bugtrack_url"`
	Classifiers            []string      `json:"classifiers"`
	Description            string        `json:"description"`
	DescriptionContentType string        `json:"description_content_type"`
	DocsUrl                string        `json:"docs_url"`
	DownloadUrl            string        `json:"download_url"`
	Downloads              InfoDownloads `json:"downloads"`
	HomePage               string        `json:"home_page"`
	Keywords               string        `json:"keywords"`
	License                string        `json:"license"`
	Maintainer             string        `json:"maintainer"`
	MaintainerEmail        string        `json:"maintainer_email"`
	Name                   string        `json:"name"`
	PackageUrl             string        `json:"package_url"`
	Platform               string        `json:"platform"`
	ProjectUrl             string        `json:"project_url"`
	ReleaseUrl             string        `json:"release_url"`
	RequiresDist           []string      `json:"requires_dist"`
	RequiresPython         string        `json:"requires_python"`
	Summary                string        `json:"summary"`
	Version                string        `json:"version"`
	Yanked                 bool          `json:"yanked"`
	YankedReason           string        `json:"yanked_reason"`
}

type InfoDownloads

type InfoDownloads struct {
	LastDay   int `json:"last_day"`
	LastMonth int `json:"last_month"`
	LastWeek  int `json:"last_week"`
}

type Package

type Package struct {
	Info         Info                 `json:"info"`
	LastSerial   int                  `json:"last_serial"`
	Releases     map[string][]Release `json:"releases"`
	Urls         []Release            `json:"urls"`
	Dependencies []string             `json:"dependencies"`
}

Package is the json response from https://pypi.org/pypi/PACKAGE_NAME/json more details at https://warehouse.pypa.io/api-reference/json.html

type PackageIndex

type PackageIndex struct {
	Client *rlhttp.RLHTTPClient
	// contains filtered or unexported fields
}

func NewPackageIndex

func NewPackageIndex(url string) *PackageIndex

func (*PackageIndex) CheckSourceDeps

func (p *PackageIndex) CheckSourceDeps(projectName string) error

CheckSourceDeps not all packages list requirements, so we may need to dive into the source code to find deps

func (*PackageIndex) Get

func (p *PackageIndex) Get(projectName, version string) (*Package, error)

func (*PackageIndex) GetLatest

func (p *PackageIndex) GetLatest(projectName string) (*Package, error)

func (*PackageIndex) GetVersion

func (p *PackageIndex) GetVersion(projectName, version string) (*Package, error)

type PythonContext

type PythonContext struct {

	// PackageName is the name of the python package to build and install
	PackageName string

	// PackageVersion is the version of python package to build and install
	PackageVersion string

	// PythonVersion is the version of python to build the package against
	PythonVersion string

	// PackageIndex - Client for talking to pypi
	PackageIndex *PackageIndex

	// OutDir is the output directory for the generated melange files.
	OutDir string

	// BaseURIFormat is the base URI which should contain a %s for the
	// package name.
	BaseURIFormat string

	// AdditionalRepositories contains any additional apk repos to add
	// to the manifest.
	AdditionalRepositories []string

	// AdditionalKeyrings contains any additional apk keys to add
	// to the manifest.
	AdditionalKeyrings []string

	// Logger is self-explanatory
	Logger *log.Logger

	// ToGenerate is the map of dependencies that have been visited when the
	// transitive dependency list is being calculated.
	ToGenerate map[string]Package

	//Pypi Package metadata about package
	Package Package

	// ToCheck is the list of dependencies that have yet to be checked for
	// transitive dependencies.
	ToCheck []string
}

PythonContext is the execution context for the python subcommand.

func New

func New(packageName string) (PythonContext, error)

New initialises a new PythonContext.

func (*PythonContext) Generate

func (c *PythonContext) Generate() error

Generate is the entrypoint to generate a ruby gem melange file. It handles recursively finding all dependencies for a pypi package and generating a melange file for each.

type Release

type Release struct {
	CommentText       string         `json:"comment_text"`
	Digest            ReleaseDigests `json:"digests"`
	Downloads         int            `json:"downloads"`
	Filename          string         `json:"filename"`
	HasSig            bool           `json:"has_sig"`
	Md5Digest         string         `json:"md5_digest"`
	PackageType       string         `json:"packagetype"`
	PythonVersion     string         `json:"python_version"`
	Size              int            `json:"size"`
	UploadTimeIso8601 string         `json:"upload_time_iso_8601"`
	Url               string         `json:"url"`
	Yanked            bool           `json:"yanked"`
	YankedReason      string         `json:"yanked_reason"`
}

type ReleaseDigests

type ReleaseDigests struct {
	Md5    string `json:"md5"`
	Sha256 string `json:"sha256"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL