Command-line argument parser for pipen.
Project description
pipen-args
Command line argument parser for pipen
Usage
from pipen import Proc, Pipen
class Process(Proc):
"""My process
Input:
a: Input data
"""
input = 'a'
input_data = range(10)
script = 'echo {{in.a}}'
Pipen().set_start(Process).run()
$ python example.py --help
Usage: test.py [-h | -h+] [options]
Undescribed process.
Use `@configfile` to load default values for the options.
Pipeline Options:
--name NAME The name for the pipeline, will affect the default workdir and
outdir. [default: pipen-0]
--profile PROFILE The default profile from the configuration to run the pipeline.
This profile will be used unless a profile is specified in the
process or in the .run method of pipen. You can check the
available profiles by running `pipen profile`
--outdir OUTDIR The output directory of the pipeline [default: ./<name>-output]
--forks FORKS How many jobs to run simultaneously by the scheduler
--scheduler SCHEDULER
The scheduler to run the jobs
Namespace <in>:
--in.a A [A ...] Input data
Optional Arguments:
-h, --help, -h+, --help+
show help message (with + to show more options) and exit
See more examples in tests/pipelines/ folder.
Plugin options
args_hide: (process level) Hide the arguments in the help message. Default:Falseargs_group: (pipeline level) The group name for the arguments. Default:pipeline optionsargs_flatten: (pipeline level) Flatten the arguments in the help message when there is only one process in the pipeline. Default:auto(flatten if single process, otherwise not)args_dump: (pipeline level) Whether to dump the arguments to<outdir>/args.tomlfile. Default:False.
[!NOTE] Only
args_dumpcan be passed from the command line or a configuration file. Other options can only be set in the pipeline class, passed to thePipenconstruct. Because they are used to construct the argument parser and we don't know the value of these options before the argument parser is constructed.
Metadata for Proc envs items
The metadata in the docstring of env items determines how the arguments are defined.
class Process(Proc):
"""My process
# other docstring sections
Envs:
a (<metadata>): ...
"""
The metadata could be key-value pairs separated by ;. The separator : or = is used to
separate the key and value. The value is optional. If the value is not specified, it
will be set to True. The keys are valid arguments of argx.ArgumentParser.add_argument, except that hidden will be interpreted as show=False in argx.ArgumentParser.add_argument. If the value of choices is not specified, the subkeys of the env item will be used as the choices.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pipen_args-1.1.2.tar.gz.
File metadata
- Download URL: pipen_args-1.1.2.tar.gz
- Upload date:
- Size: 14.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.12.3 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9b143a912a7497069d45c55162e700ca08266592f5452de70b2a7313bdadbeef
|
|
| MD5 |
b6b85f59a46d42c27b5653bdfac607ab
|
|
| BLAKE2b-256 |
a0662e2b7a70c735a4cc0dca8d8dd03c845b36f12ea134d87dcc3a986cc2a37d
|
File details
Details for the file pipen_args-1.1.2-py3-none-any.whl.
File metadata
- Download URL: pipen_args-1.1.2-py3-none-any.whl
- Upload date:
- Size: 16.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.12.3 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
37563f47d7d62dc67799bd7f3708b6f4408563d7ea99c65a321785afaaa22b9f
|
|
| MD5 |
6aaec860ee1e221a646371b90b0a0639
|
|
| BLAKE2b-256 |
71d9e38a703dad6454a16db08187103b18395e1254eb14041907b9ffe91dd926
|