myke.run¶
Functions that wrap around
subprocess.run
for added convenience.
Functions¶
require ¶
require(
*args: str,
pip_args: list[str] | None = None,
skip_check: bool = False,
**kwargs: str
) -> subprocess.CompletedProcess[str]
Check for the given modules, and install them if they do not exist.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
*args |
str
|
modules to require. |
()
|
pip_args |
list[str] | None
|
args passed to |
None
|
skip_check |
bool
|
don't check if module is already installed. |
False
|
**kwargs |
str
|
modules to require. |
{}
|
Returns:
Type | Description |
---|---|
subprocess.CompletedProcess[str]
|
... |
Examples:
>>> import myke
...
>>> myke.require('module-a==0.1.*', 'module-b==0.1.*', **{
... 'module-c': '0.1.*',
... })
run ¶
run(
args: str | Sequence[str],
capture_output: None | bool = False,
echo: bool | None = True,
check: bool | None = True,
env: dict[str, str] | None = None,
env_update: dict[str, str | None] | None = None,
shell: bool | None = None,
**kwargs: Any
) -> subprocess.CompletedProcess[bytes | str]
Thin wrapper around subprocess.run
Parameters:
Name | Type | Description | Default |
---|---|---|---|
args |
str | Sequence[str]
|
... |
required |
capture_output |
None | bool
|
... |
False
|
echo |
bool | None
|
... |
True
|
check |
bool | None
|
... |
True
|
env |
dict[str, str] | None
|
... |
None
|
env_update |
dict[str, str | None] | None
|
... |
None
|
shell |
bool | None
|
... |
None
|
**kwargs |
Any
|
passed to |
{}
|
Returns:
Type | Description |
---|---|
subprocess.CompletedProcess[bytes | str]
|
... |
Examples:
>>> import myke
...
>>> myke.run(["python", "-c", "print('Hello World.')"])
CompletedProcess(args=['python', '-c', "print('Hello World.')"], returncode=0)
>>> myke.run("echo 'Hello World.'")
CompletedProcess(args="echo 'Hello World.'", returncode=0)
>>> p = myke.run("echo 'Hello World.'", capture_output=True, echo=False)
>>> p.stdout
b'Hello World.\n'
>>> p = myke.run("exit 123", check=False)
>>> p.returncode
123
run_stdout ¶
run_stdout(*args: Any, **kwargs: Any) -> str
Shorthand for:
myke.run(..., capture_output=True, text=True, echo=False).stdout.strip()
Parameters:
Name | Type | Description | Default |
---|---|---|---|
*args |
Any
|
... |
()
|
**kwargs |
Any
|
... |
{}
|
Returns:
Type | Description |
---|---|
str
|
... |
Examples:
>>> myke.run_stdout("echo 'Hello World.'")
Hello World.
run_stdout_lines ¶
run_stdout_lines(*args: Any, **kwargs: Any) -> list[str]
Similar to...
myke.run_stdout(...)
...except that text is split on newlines and stripped of empty elements.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
*args |
Any
|
... |
()
|
**kwargs |
Any
|
... |
{}
|
Returns:
Type | Description |
---|---|
list[str]
|
... |
Examples:
>>> myke.run_stdout("echo ' Hello World. ' ' ' ' Goodbye World. '")
['Hello World.', 'Goodbye World.']
sh ¶
sh(
*args: Any, **kwargs: Any
) -> subprocess.CompletedProcess[bytes | str]
Shorthand for: myke.run(..., shell=True)
Parameters:
Name | Type | Description | Default |
---|---|---|---|
*args |
Any
|
... |
()
|
**kwargs |
Any
|
... |
{}
|
Returns:
Type | Description |
---|---|
subprocess.CompletedProcess[bytes | str]
|
... |
sh_stdout ¶
sh_stdout(*args: Any, **kwargs: Any) -> str
Shorthand for: myke.run_stdout(..., shell=True)
Parameters:
Name | Type | Description | Default |
---|---|---|---|
*args |
Any
|
... |
()
|
**kwargs |
Any
|
... |
{}
|
Returns:
Type | Description |
---|---|
str
|
... |
sh_stdout_lines ¶
sh_stdout_lines(*args: Any, **kwargs: Any) -> list[str]
Shorthand for: myke.run_stdout_lines(..., shell=True)
Parameters:
Name | Type | Description | Default |
---|---|---|---|
*args |
Any
|
... |
()
|
**kwargs |
Any
|
... |
{}
|
Returns:
Type | Description |
---|---|
list[str]
|
... |