Catalog PyPI
PACKAGE EXPLORERView in registry

aclick

PyPI
Versions collected1
Direct dependencies3From release 0.2.3
Last observed20 Oct, 18:16 UTC

README

Version 0.2.3 documentation

aclick

pypi tests coverage python

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

MIT

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.2.39 Jun 20223

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 18:16 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:ee5d71b3c4027a9a6d401d18f02ba74deffe9489e6c3f5997ddc318b6e7c2646