skillfed

guacamole

Guacamole is an command line tool library for Python

guacamole v0.9.2 88.9K downloads/30d#13,696 on PyPI7
Copyleft license LGPLv3 Abandoned released

What it is and what it does

Guacamole is a command-line application framework that abstracts away boilerplate setup tasks. Instead of manually configuring argument parsers, setting up logging, handling internationalization, and writing crash handlers, you define command classes that inherit from guacamole.Command, implement register_arguments() and invoked() methods, and call main() to run them. The framework handles argument parsing, logging initialization, i18n features, debugging facilities, and error handling automatically.

The package supports grouping commands into complex tools and uses a recipe-based customization system (recipes, ingredients, and spices) to modify behavior. It was originally part of plainbox and extracted into a standalone library. With zero runtime dependencies and a pure-Python wheel distribution, installation is frictionless, but the project has been abandoned since 2015 with no active maintenance.

Use it for:

  • Build a multi-command CLI tool (like git subcommands) without manually wiring argument parsers and dispatchers
  • Create a simple command-line utility that needs logging, internationalization, and error handling out of the box
  • Prototype command-line applications quickly by focusing on business logic rather than CLI infrastructure
  • Organize related CLI commands into a single cohesive tool using the command grouping system

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Guacamole provides a framework for building command-line applications with built-in support for argument parsing, logging, internationalization, and error handling.

No. While the framework is lightweight and has no dependencies, it has been abandoned for over a decade with no maintenance or Python version updates. Modern alternatives like Click, Typer, or even argparse directly are actively maintained and better suited for new projects. Use Guacamole only if maintaining legacy code that already depends on it.

Install

guacamole on PyPI

pip

pip install guacamole

uv

uv add guacamole

poetry

poetry add guacamole

Installing guacamole

Before you install

Installation is straightforward with no runtime dependencies. However, the project is abandoned—last release was 2015-08-06 and last commit 2022-12-26—so expect no active maintenance or support for modern Python versions.

License in practice

Licensed under LGPLv3 (copyleft), which requires derivative works to be licensed under the same terms and makes source code available to users who receive the software.

Quickstart

pip install guacamole

import guacamole

class HelloWorld(guacamole.Command):
    def register_arguments(self, parser):
        parser.add_argument('name')
    def invoked(self, ctx):
        print("Hello {0}!".format(ctx.args.name))

HelloWorld().main(['Guacamole'], exit=False)

Project is abandoned; compatibility with Python versions after 2015 is unverified and likely problematic.

Verify before relying

  • Whether the package works reliably with Python versions released after 2015
  • Compatibility with modern argparse or whether it requires workarounds
  • Active user base or community support despite abandonment status

Package facts

License LGPLv3 (copyleft)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance abandoned — 4,026 days since the last release
Last repo commit
First released
Downloads 88,880/month — #13,696 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: guacamole-0.9.2-py2.py3-none-any.whl

Keywords: argparse, cli, tool, command, sub-command, subcommand

Development Status :: 3 - AlphaEnvironment :: ConsoleIntended Audience :: DevelopersLicense :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)Natural Language :: EnglishNatural Language :: PolishOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: Windows :: Windows 7Operating System :: Microsoft :: Windows :: Windows XPOperating System :: POSIXOperating System :: POSIX :: LinuxProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.2Programming Language :: Python :: 3.3Programming Language :: Python :: 3.4Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Software DevelopmentTopic :: Software Development :: Libraries

Tags

command line application frameworkcli tool builderargparse wrappercommand line argument handlingpython cli frameworksubcommand dispatchercommand class framework
cli-frameworkabandoned

More Software Development packages