{"categories":[{"label":"Software Development","url":"https://skillfed.io/packages/category/software-development/2"}],"enrichment":{"capability":"Wraps Python callables (functions and methods) with custom behavior by binding user-defined Wire objects to them, enabling decorator-like control over how functions and methods are invoked.","skillfed_tags":["callable-wrapping","decorator-framework","method-binding"],"use_cases":["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."],"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\u2014which acts like a decorator function body\u2014and 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.\n\nThe 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\u2014for 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.","worth_installing":"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\u2014install it when your use case genuinely requires Wire-based decoration rather than standard decorators or functools."},"id":"wirerope","links":{"html":"https://skillfed.io/packages/wirerope","md":"https://skillfed.io/packages/wirerope.md","pypi":"https://pypi.org/project/wirerope/"},"maintenance":{"status":"aging"},"meta":{"latest_release":"2025-01-16","license_spdx":null,"license_treatment":"permissive","name":"wirerope","python_support":"unspecified","summary":"'Turn functions and methods into fully controllable objects'"},"popularity":{"monthly_downloads":11167059,"position":1413,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"1.0.0"}
