Cement is an advanced application framework for Python, with a primary focus on Command Line Interfaces (CLI).
Its goal is to introduce a standard, and feature-full platform for both simple and complex command line applications as well as support rapid development needs without sacrificing quality. Cement is flexible, and its use cases span from the simplicity of a micro-framework to the complexity of a mega-framework.
Whether its a single file script, or a multi-tier application, Cement is the foundation you’ve been looking for.
Cement is free and open source software.
Key Features
- Core pieces of the framework are customizable via handlers/interfaces.
- Extension handler to easily extend framework functionality.
- Config handler merges defaults, multiple files, and environment variables into one config.
- Argument handler parses command line arguments and options.
- Log handler supports logging to console and file.
- Plugin handler provides the ability to easily extend your application.
- Output handler renders data to the end-user (often via template handler backends).
- Template handler renders content and file templates.
- Cache handler adds caching support for improved performance or key/value storage.
- Controller handler supports sub-commands, and nested/embedded controllers.
- Hook support adds a bit of magic to apps and also ties into framework.
- Zero external dependencies* (not including optional extensions).
- 100% test coverage using pytest and coverage.
- 100% PEP8 and style compliant using flake8.
- Extensive Developer Guide and API Reference Documentation.
- Tested on Python 3.5+. Does not support Python 2.x.
Website: builtoncement.com
Support: GitHub Code Repository
Developer: Data Folk Labs, LLC
License: BSD 3-Clause “New” or “Revised” License
Cement is written in Python. Learn Python with our recommended free books and free tutorials.
Related Software
| Command-Line Python Application Development Tools | |
|---|---|
| Python Fire | Library for automatically generating command line interfaces |
| argparse | Parser for command-line options, arguments and sub-commands |
| Click | Create beautiful command line interfaces in a composable way |
| Typer | Library for building CLI applications |
| Rich | Python library for rich text and beautiful formatting |
| Gooey | Convert console programs into end-user-friendly GUI software |
| alive-progress | Progress bar, with real-time throughput |
| Python Prompt Toolkit | Build powerful interactive command line and terminal applications |
| tqdm | Fast, extensible progress bar for Python and CLI |
| Asciimatics | Create full-screen text UIs from interactive forms to ASCII animations |
| Cement | CLI application framework for Python |
| docopt | Command-line interface description language |
| cliff | Framework for building command line programs |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

