Skip to content

Commit

Permalink
docs: cleanup/enhance README
Browse files Browse the repository at this point in the history
  • Loading branch information
neithere committed Dec 30, 2023
1 parent b53b34e commit 0f34a27
Showing 1 changed file with 16 additions and 19 deletions.
35 changes: 16 additions & 19 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -43,30 +43,15 @@ In a nutshell

`Argh`-powered applications are *simple* but *flexible*:

:Pythonic:
Commands are plain Python functions. No CLI-specific API to learn.

:Modular:
Declaration of commands can be decoupled from assembling and dispatching;
:Pythonic, KISS:
Commands are plain Python functions. Almost no CLI-specific API to learn.

:Reusable:
Endpoint functions can be used directly outside of CLI context;
Endpoint functions can be used directly outside of CLI context.

:Static typing friendly:
100% of the code including endpoint functions can be type-checked.
Argh relies on type annotations while other libraries tend to rely on
decorators and namespace objects, sometimes even mangling function
signatures;

:Layered:
The complexity of code raises with requirements;

:Transparent:
The full power of argparse is available whenever needed;

:Namespaced:
Nested commands are a piece of cake, Argh isolates the complexity of
subparsers;
Argh is driven primarily by type annotations.

:DRY:
Don't Repeat Yourself. The amount of boilerplate code is minimal.
Expand All @@ -76,6 +61,18 @@ In a nutshell
* infer arguments from function signature;
* infer argument types, actions and much more from annotations.

:Modular:
Declaration of commands can be decoupled from assembling and dispatching.

:Layered:
The complexity of code raises with requirements.

:Transparent:
You can directly access `argparse.ArgumentParser` if needed.

:Subcommands:
Easily nested commands. Argh isolates the complexity of subparsers.

:NIH free:
`Argh` supports *completion*, *progress bars* and everything else by being
friendly to excellent 3rd-party libraries. No need to reinvent the wheel.
Expand Down

0 comments on commit 0f34a27

Please sign in to comment.