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,boolvalues 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=Trueoption enabled. - Type
Unionof complex classes both inlined and hierarchical. - Type
Optionalof inlined complex classes. - Type
Literalof 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
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 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
|