Documentation
¶
Overview ¶
Package python includes generating python venv and parsing python command line arguments.
Index ¶
- func CPython3FromCIPD(version string) generators.Generator
- func CPythonFromCIPD(version string) generators.Generator
- func CPythonFromPath(dir, cipdName string) (generators.Generator, error)
- func IsolateEnvironment(e *environ.Env)
- func VirtualenvFromCIPD(version string) generators.Generator
- type CommandLine
- func (cl *CommandLine) AddFlag(flag CommandLineFlag)
- func (cl *CommandLine) AddSingleFlag(flag string)
- func (cl *CommandLine) BuildArgs() []string
- func (cl *CommandLine) Clone() *CommandLine
- func (cl *CommandLine) RemoveAllFlag(flag string) (found bool)
- func (cl *CommandLine) RemoveFlag(flag CommandLineFlag) (found bool)
- func (cl *CommandLine) RemoveFlagMatch(matchFn func(CommandLineFlag) bool) (found bool)
- type CommandLineFlag
- type CommandTarget
- type Environment
- type Interpreter
- type ModuleTarget
- type NoTarget
- type ScriptTarget
- type Target
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CPython3FromCIPD ¶
func CPython3FromCIPD(version string) generators.Generator
func CPythonFromCIPD ¶
func CPythonFromCIPD(version string) generators.Generator
func CPythonFromPath ¶
func CPythonFromPath(dir, cipdName string) (generators.Generator, error)
func IsolateEnvironment ¶
IsolateEnvironment mutates e to remove any environmental influence over the Python interpreter.
If e is nil, no operation will be performed.
func VirtualenvFromCIPD ¶
func VirtualenvFromCIPD(version string) generators.Generator
Types ¶
type CommandLine ¶
type CommandLine struct {
// Target is the Python target type.
Target Target
// Flags are flags to the Python interpreter.
Flags []CommandLineFlag
// FlagSeparator, if true, means that a "--" flag separator, which separates
// the interpreter's flags from its positional arguments, was found.
FlagSeparator bool
// Args are arguments passed to the Python script.
Args []string
}
CommandLine is a parsed Python command-line.
CommandLine can be parsed from arguments via ParseCommandLine.
func ParseCommandLine ¶
func ParseCommandLine(args []string) (*CommandLine, error)
ParseCommandLine parses Python command-line arguments and returns a structured representation.
func (*CommandLine) AddFlag ¶
func (cl *CommandLine) AddFlag(flag CommandLineFlag)
AddFlag adds an interpreter flag to cl if it's not already present.
func (*CommandLine) AddSingleFlag ¶
func (cl *CommandLine) AddSingleFlag(flag string)
AddSingleFlag adds a single no-argument interpreter flag to cl if it's not already specified.
func (*CommandLine) BuildArgs ¶
func (cl *CommandLine) BuildArgs() []string
BuildArgs returns an array of Python interpreter arguments for cl.
func (*CommandLine) Clone ¶
func (cl *CommandLine) Clone() *CommandLine
Clone returns an independent deep copy of cl.
func (*CommandLine) RemoveAllFlag ¶
func (cl *CommandLine) RemoveAllFlag(flag string) (found bool)
RemoveAllFlag removes all instances of the specified flag from the interpreter command line.
func (*CommandLine) RemoveFlag ¶
func (cl *CommandLine) RemoveFlag(flag CommandLineFlag) (found bool)
RemoveFlag removes all instances of the specified flag from the interpreter command line.
func (*CommandLine) RemoveFlagMatch ¶
func (cl *CommandLine) RemoveFlagMatch(matchFn func(CommandLineFlag) bool) (found bool)
RemoveFlagMatch removes all instances of flags that match the selection function.
matchFn is a function that accepts a candidate flag and returns true if it should be removed, false if it should not.
type CommandLineFlag ¶
CommandLineFlag is a command-line flag and its associated argument, if one is provided.
func (*CommandLineFlag) String ¶
func (f *CommandLineFlag) String() string
String returns a string representation of this flag, which is a command-line suitable representation of its value.
type CommandTarget ¶
type CommandTarget struct {
// Command is the command contents.
Command string
}
CommandTarget is a Target implementation for a command-line string (-c ...).
type Environment ¶
type Environment struct {
Executable string
CPython generators.Generator
Virtualenv generators.Generator
}
func (*Environment) Pep425Tags ¶
func (e *Environment) Pep425Tags() generators.Generator
func (*Environment) WithWheels ¶
func (e *Environment) WithWheels(wheels generators.Generator) generators.Generator
type Interpreter ¶
type Interpreter struct {
// Python is the path to the system Python interpreter.
Python string
}
Interpreter represents a system Python interpreter. It exposes the ability to use common functionality of that interpreter.
func (*Interpreter) Normalize ¶
func (i *Interpreter) Normalize() error
Normalize normalizes the Interpreter configuration by resolving relative paths into absolute paths.
type ModuleTarget ¶
type ModuleTarget struct {
// Module is the name of the target module.
Module string
}
ModuleTarget is a Target implementing indicating a Python module (-m ...).
type NoTarget ¶
type NoTarget struct{}
NoTarget is a Target implementation indicating no Python target (i.e., interactive).
type ScriptTarget ¶
type ScriptTarget struct {
// Path is the path to the script that is being invoked.
//
// This may be "-", indicating that the script is being read from STDIN.
Path string
// FollowsSeparator is true if the script argument follows the flag separator.
FollowsSeparator bool
}
ScriptTarget is a Python executable script target.
type Target ¶
type Target interface {
// contains filtered or unexported methods
}
Target describes a Python invocation target.
Targets are identified by parsing a Python command-line using ParseCommandLine.
A Target is identified through type assertion, and will be one of:
- NoTarget
- ScriptTarget
- CommandTarget
- ModuleTarget