Face: Command-line application framework
Face is a Pythonic microframework for building command-line applications (CLI parser). It provides first-class subcommand support, a powerful middleware architecture, a separate Parser layer, built-in flagfile support, handy testing utilities, and a themeable help display. The current version is 26.0.0, released on February 13, 2026, indicating active development.
Warnings
- gotcha Face is very opinionated about argument order and parsing. While it aims to be intuitive, users coming from other CLI frameworks might find its strictness around positional and keyword arguments, especially with subcommands, requires a slight adjustment. Refer to the official documentation for its specific parsing rules to avoid unexpected behavior.
- gotcha The library's design emphasizes 'middleware' and a 'Parser layer' for advanced customization. For simple CLI tools, this abstraction might seem like an overhead. Ensure you understand the middleware flow when debugging complex argument parsing or command dispatch issues.
Install
-
pip install face
Imports
- Command
from face import Command
- echo
from face import echo
Quickstart
from face import Command, echo
@Command
def hello(name: str = 'World'):
"""A simple greeting command."""
echo(f"Hello, {name}!")
if __name__ == '__main__':
hello.run()