No project description provided
Project description
aclick
aclick is a python library extending click
with the support for typing. It uses function signatures to
automatically register options to parsers. Please refer to the documentation.
The following features are currently supported:
- Positional-only parameters are added as click Arguments, other parameters become click Options.
- Docstring is automatically parsed and used to generate command and parameter descriptions.
- Arguments with
int
,float
,str
,bool
values both with and without default value. - Complex structures of classes and dataclasses that are automatically inlined as a single string, e.g.,
class1("arg1", arg2=class2())
. - Complex structures of classes and dataclasses that are expanded as individual options with the
hierarchical=True
option enabled. - Type
Union
of complex classes both inlined and hierarchical. - Type
Optional
of inlined complex classes. - Type
Literal
of strings. - Lists and tuples of both the primitive and inlined complex types.
- Parameters can be renamed.
- Parameter values can be loaded from a JSON, YAML, or other file.
- Configuration can be loaded using the gin-config package.
- For other features please refer to the documentation.
Installation
Install the library from pip:
$ pip install aclick
Getting started
Import aclick
instead of click
:
# python main.py test --arg2 4
import aclick
@aclick.command()
def example(arg1: str, /, arg2: int = 5):
pass
example()
When using click.groups
:
# python main.py example test --arg2 4
import aclick
@aclick.group()
def main():
pass
@main.command('example')
def example(arg1: str, /, arg2: int = 5):
pass
main()
For further details please look at the documentation.
License
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
aclick-0.2.3.tar.gz
(28.7 kB
view details)
Built Distribution
aclick-0.2.3-py3-none-any.whl
(30.8 kB
view details)
File details
Details for the file aclick-0.2.3.tar.gz
.
File metadata
- Download URL: aclick-0.2.3.tar.gz
- Upload date:
- Size: 28.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | df0f22f379913d8e4c3dfdfce8551dda2ba1861c14c35a2445671a2e1a5582b1 |
|
MD5 | 8d9a6f37a4e4d761dd655bd5f8f7dbb9 |
|
BLAKE2b-256 | 481b7db7d83b8c35744ed080e361be2ad19ec008b19ab7688d23ede305de64b2 |
File details
Details for the file aclick-0.2.3-py3-none-any.whl
.
File metadata
- Download URL: aclick-0.2.3-py3-none-any.whl
- Upload date:
- Size: 30.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 474462ebb40cfa7fa31e0cf6185cf173f69cb248e9bafbc2fed96d91160b4914 |
|
MD5 | d85238437e99262191610ad29d0000d5 |
|
BLAKE2b-256 | 3e7b94aaf1f17e8b2f94e03b618c70472e705745da56db7d922aed1b0ea44eec |