wirerope
'Turn functions and methods into fully controllable objects'
Decision gist · record as of 2026-08-14
Yes, if you need structured callable wrapping with instance-aware binding. The low install friction, permissive license, and lack of vulnerabilities make it safe to adopt. However, the aging maintenance status (575 days since release) and small community (8 GitHub stars) suggest it's a specialized tool—install it when your use case genuinely requires Wire-based decoration rather than standard decorators or functools.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low install friction with a pure-Python wheel.
- Maintenance is aging—last release was 575 days ago and the repository shows a commit from 2026-01-26, but the package remains active and unarchivedwith no known vulnerabilities.
License · maintenance · safety
BSD 2-Clause License (permissive) — BSD 2-Clause License is permissive, allowing commercial and private use with minimal restrictions—you may use and modify the package freely as long as you retain the license notice.
last release 2025-01-16 (575 days) · last repo commit 2026-01-26 · 8 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 11,167,059 downloads/mo, #1,413 on PyPI
Alternatives
Verify before relying
pip install wirerope
from wirerope import WireRope, Wire
class MyWire(Wire):
def __call__(self, *args, **kwargs):
# Custom behavior before/after call
return self.func(*args, **kwargs)
@WireRope(MyWire)
def my_function():
pass- Whether the aging maintenance status (575 days since last release) signals planned dormancy or stable maturity for this specialized use case.
- Real-world adoption patterns beyond the referenced methodtools library—how widely used is wirerope in production codebases.
What it is and what it does
wirerope provides a framework for wrapping Python callables (functions, methods, classmethods, staticmethods) with custom behavior by binding Wire objects to them. The core idea is that instead of writing a simple decorator, you define a Wire subclass—which acts like a decorator function body—and attach it to a callable via WireRope. Each function or bound method gets its own Wire instance, automatically detecting whether it's a free function, instance method, classmethod, or property and binding accordingly.
The package depends on six, inspect2, and singledispatch for compatibility and introspection. It's designed for cases where you need fine-grained control over callable behavior—for example, wrapping methods with instance-specific state or creating complex decorator patterns. The library is stable (no known vulnerabilities) and supports Python 3.4 through 3.13, though it dropped Python 2 support in version 1.0.
Use it for
- Implement method-specific caching or memoization where the cache state is bound to each instance or class.
- Create decorator-like wrappers that need to maintain state or behave differently for instance methods vs. classmethods.
- Build frameworks that wrap callable objects with custom pre/post-call hooks or logging tied to their owner.
- Develop tools that need to intercept and modify function or method behavior in a structured, reusable way.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need structured callable wrapping with instance-aware binding.
The low install friction, permissive license, and lack of vulnerabilities make it safe to adopt. However, the aging maintenance status (575 days since release) and small community (8 GitHub stars) suggest it's a specialized tool—install it when your use case genuinely requires Wire-based decoration rather than standard decorators or functools.
Install
wirerope on PyPI
Before you install
Low install friction with a pure-Python wheel. Maintenance is aging—last release was 575 days ago and the repository shows a commit from 2026-01-26, but the package remains active and unarchivedwith no known vulnerabilities.
License in practice
BSD 2-Clause License is permissive, allowing commercial and private use with minimal restrictions—you may use and modify the package freely as long as you retain the license notice.
Quickstart
pip install wirerope
from wirerope import WireRope, Wire
class MyWire(Wire):
def __call__(self, *args, **kwargs):
# Custom behavior before/after call
return self.func(*args, **kwargs)
@WireRope(MyWire)
def my_function():
pass
Verify before relying
- Whether the aging maintenance status (575 days since last release) signals planned dormancy or stable maturity for this specialized use case.
- Real-world adoption patterns beyond the referenced methodtools library—how widely used is wirerope in production codebases.
Package facts
| License | BSD 2-Clause License permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 3 packagessixinspect2singledispatch |
| Maintenance | Aging 575 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 11,167,059 / month, #1,413 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: BSD LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9 |
Evidence: wirerope-1.0.0-py2.py3-none-any.whl
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 › “callable wrapper with custom behavior”
- wireropeWraps Python callables (functions and methods) with custom behavior…
- xmodLets a module behave like a callable object or container by wrapping…
- zope.hookablezope.hookable provides a mechanism to create callable objects that…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
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.
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.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also rope · xmod · singleton-decorator · wrapt · lazr.delegates · mixed-methods · multimethod · logdecorator · methodtools · izulu