argbind
Simple way to bind function arguments to the command line.
Decision gist · record as of 2026-08-14
Yes, if you are building a CLI for ML experiments or configuration-heavy scripts and prefer docstring-driven interfaces over traditional argument parsers. The permissive MIT license and zero security vulnerabilities are favorable. However, the package is dormant (last release May 2024, no commits since August 2024) and has high install friction—suitable only for projects where maintenance lag and source installation are acceptable trade-offs for simplicity and YAML-based reproducibility.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Installation requires downloading from source (high friction).
- The package is dormant—last commit was 2024-08-11 with no releases since 2024-05-24, and it depends on pyyaml and docstring-parser, both stable libraries.
- Suitable for projects where maintenance lag is acceptable.
License · maintenance · safety
permissive license (permissive) — Licensed under MIT (permissive), allowing unrestricted use, modification, and distribution in both open and closed projects with minimal obligations.
last release 2024-05-24 (812 days) · last repo commit 2024-08-11 · 47 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 428,153 downloads/mo, #6,745 on PyPI
Alternatives
Verify before relying
pip install argbind
import argbind
@argbind.bind()
def hello(name: str = 'world'):
"""Say hello.
Parameters
----------
name : str, optional
Who to greet, by default 'world'
"""
print(f"Hello {name}")
if __name__ == "__main__":
args = argbind.parse_args()
with argbind.scope(args):
hello()- Whether the package works reliably with Python versions beyond 3.8 (classifiers list 3.6–3.8 but requires_python allows up to 3.5–<4)
- Real-world stability and adoption beyond the stated 428153 monthly downloads (popularity tier top_15000)
What it is and what it does
ArgBind is a lightweight CLI framework that generates command-line interfaces and configuration file support directly from Python function signatures and docstrings. Instead of writing separate argument parsers, you decorate functions with @argbind.bind(), and ArgBind automatically exposes their arguments as CLI flags (using a function.argument naming pattern) and loads them from YAML files. It depends on pyyaml for file I/O and docstring-parser to extract parameter documentation.
The package is designed for nested, scoped configuration—particularly useful in machine learning workflows where you might run the same function in different contexts (e.g., train vs. test scope) with different arguments. You can save execution configurations to YAML, reload them to reproduce runs, and override individual arguments from the command line. The entire library is intentionally small (~400 lines) and requires no external CLI framework, making it a minimal alternative to argparse for projects that value docstring-driven interfaces and YAML-based reproducibility.
Use it for
- Configure ML experiments with nested YAML files and reproduce runs by loading saved configurations.
- Build multi-stage CLI programs where functions run in different scopes (train/test/eval) with scope-specific arguments.
- Migrate from argparse scripts without rewriting argument logic—bind existing functions and let ArgBind generate the CLI.
- Run the same function from CLI, Python scripts, and Jupyter notebooks using the same argument binding mechanism.
- Save and version experiment configurations as YAML for audit trails and easy parameter sweeps.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are building a CLI for ML experiments or configuration-heavy scripts and prefer docstring-driven interfaces over traditional argument parsers.
The permissive MIT license and zero security vulnerabilities are favorable. However, the package is dormant (last release May 2024, no commits since August 2024) and has high install friction—suitable only for projects where maintenance lag and source installation are acceptable trade-offs for simplicity and YAML-based reproducibility.
Install
argbind on PyPI
Before you install
Installation requires downloading from source (high friction). The package is dormant—last commit was 2024-08-11 with no releases since 2024-05-24, and it depends on pyyaml and docstring-parser, both stable libraries. Suitable for projects where maintenance lag is acceptable.
License in practice
Licensed under MIT (permissive), allowing unrestricted use, modification, and distribution in both open and closed projects with minimal obligations.
Quickstart
pip install argbind
import argbind
@argbind.bind()
def hello(name: str = 'world'):
"""Say hello.
Parameters
----------
name : str, optional
Who to greet, by default 'world'
"""
print(f"Hello {name}")
if __name__ == "__main__":
args = argbind.parse_args()
with argbind.scope(args):
hello()
Verify before relying
- Whether the package works reliably with Python versions beyond 3.8 (classifiers list 3.6–3.8 but requires_python allows up to 3.5–<4)
- Real-world stability and adoption beyond the stated 428153 monthly downloads (popularity tier top_15000)
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release <4,>=3.5 |
| Install friction | High. Source build required |
| Runtime dependencies | 2 packagespyyamldocstring-parser |
| Maintenance | Dormant 812 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 428,153 / month, #6,745 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 3 - AlphaLicense :: OSI Approved :: MIT LicenseOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIX :: LinuxProgramming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8 |
Evidence: argbind-0.3.9.tar.gz
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “CLI from docstrings”
- argbindArgBind binds function and class arguments to command-line flags and…
- simple-parsingTransforms argparse scripts into structured, typed command-line…
- tyrotyro generates command-line interfaces and configuration objects…
Give your agent the search over MCP, or paste the wish link into any chat.
More Application Frameworks packages
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Textual is a Python framework for building cross-platform user interfaces that run in the terminal or web browser using a modern, component-based API.
Install it if you're developing CLI tools, dashboards, or interactive terminal applications.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Build and connect to Model Context Protocol servers that expose tools, resources, and prompts to LLM applications over stdio, HTTP, or SSE transports.
Install it if you need to build or connect to servers.
Werkzeug is a WSGI utility library providing request/response objects, URL routing, an interactive debugger, HTTP utilities, and a development server for building web applications.
See also ConfigArgParse · clize · targ · argparse · typed-argument-parser · autocommand · python-gflags · entrypoint2 · pydantic-argparse · multimethod