forge (python) signatures for fun and profit

Release v18.5.0 (What’s new?).

forge is an elegant Python package for crafting function signatures. Its aim is to help you write better, more literate code with less boilerplate.

The power of dynamic signatures is finally within grasp – add, remove, or enhance parameters at will!


forge is a Python-only package hosted on PyPI for Python 3.6+ and PyPy 3.5+.

The recommended installation method is pip-installing into a virtualenv:

$ pip install python-forge


  • Quickstart is the fastest way to discover forge.
    Start here to forge your first signature.
  • Philosophy walks you through an example of forge wrapping the stdlib’s logging module.
    Read this to understand the value proposition, philosphy, and design strategy behind forge.
  • Basic Usage gives a comprehensive tour of forge’s features.
    Read this to learn how to use forge - from beginner to advanced features.
  • Advanced Usage shares some common use-cases and approaches for using forge.
    For example, build a function whose signature changes every call.
  • API Reference has documentation for all public functionality.
  • Glossary helps out iron out semantics and terms that are useful when (re-) designing function signatures.

Indices and tables

Project information

forge is released under the MIT license, its documentation lives at Read the Docs, the code on GitHub, and the latest release on PyPI. It’s rigorously tested on Python 3.6+ and PyPy 3.5+.

forge is authored by Devin Fee. Other contributors are listed under