NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3623 most downloaded on PyPI
Create decorators easily in python.
Last release 5 years ago
no release in 18 months
Ships unpredictably
gaps range from 9 days to 1.8 years
Nearly every release is documented
notes for 18 of 18 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
18 releases · first in 2019
@function_decorator now has proper type hints. This is a first step towards fixing #22. PR #23 by last-partizan.
@function_decorator now has proper type hints. This is a first step towards fixing #22. PR #23 by last-partizan.See documentation page for details.
Enabling the "stack introspection" beta feature with enable_stack_introspection=True now raises an explicit NotImplementedError on python 3.8+. Fixed
Enabling the "stack introspection" beta feature with enable_stack_introspection=True now raises an explicit NotImplementedError on python 3.8+. Fixed #26.
Migrated to the new project layout with nox, github-actions and separation of src and tests. Fixed test suite with pytest-cases>=3. Fixed #24 and #20.
See documentation page for details.
One column per quarter.
packaging improvements: set the "universal wheel" flag to 1, and cleaned up the setup.py. In particular removed dependency to six for setup and added
setup.py. In particular removed dependency to six for setup and added py.typed file, as well as set the zip_safe flag to False. Removed tests folder from package. Fixes #19See documentation page for details.
raddessi added a pyproject.toml - thanks! Fixed pytest-cases#65.
raddessi added a pyproject.toml - thanks! Fixed pytest-cases#65.
See documentation page for details.
Fixed decorated object injection issue when var-positional arguments are located before it in the signature. Fixed #14.
Fixed decorated object injection issue when var-positional arguments are located before it in the signature. Fixed #14.
Added __version__ attribute to comply with PEP396, following this guide. Fixes #15.
PyPI supports markdown via long_description_content_type: pypandoc is not required anymore. Thanks minrk!
See documentation page for details.
Huge performance improvement for the enable_stack_introspection=True mode. It also now supports classes correctly.
enable_stack_introspection=True mode. It also now supports classes correctly.See documentation page for details.
See documentation page for details.
See documentation page for details.
In python 2, when nested mode was used in a context where the signature contains a var-positional argument, a TypeError was raised ; this is now fixed
In python 2, when nested mode was used in a context where the signature contains a var-positional argument, a TypeError was raised ; this is now fixed. Fixes #13.
See documentation page for details.
When flat mode was used in a context where the signature contains a var-positional argument, the arguments were not correctly injected. Fixes #12.
When flat mode was used in a context where the signature contains a var-positional argument, the arguments were not correctly injected. Fixes #12.
See documentation page for details.
In python 2, when flat mode was used in a context where the signature contains a var-positional argument, the arguments were not correctly injected. Fixes #12 .
Removed the clunky Enum for symbols. Back to a normal class, with a custom __repr__.
Removed the clunky Enum for symbols. Back to a normal class, with a custom __repr__.
See documentation page for details.
Now relying on makefun>=1.5.0 where arg names changed a bit.
Now relying on makefun>=1.5.0 where arg names changed a bit.
See documentation page for details.
We now provide predefined disambiguators with_parenthesis and no_parenthesis. Fixes #8.
We now provide predefined disambiguators with_parenthesis and no_parenthesis. Fixes #8.
Fixed KeyError when the signature contains **kwargs. Fixes #9.
Fixed issue when the signature only contains **kwargs. Fixes #10
Fixed static checker problem in PyCharm with the symbols (it came back when we moved to an Enum)
Improved exception re-raising in flat mode.
Minor: fixed init file.
See documentation page for details.
Default-value symbols DECORATED, WRAPPED, F_ARGS and F_KWARGS now have a nicer representation. Fixes #7.
Default-value symbols DECORATED, WRAPPED, F_ARGS and F_KWARGS now have a nicer representation. Fixes #7.
When a symbol is used in a signature where it can not be safely injected as keyword argument, an InvalidSignatureError is now raised. Fixes #6.
See documentation page for details.
makefun>=1.4.0 is now required, as it fixes a major issue: #5
makefun>=1.4.0 is now required, as it fixes a major issue: #5
See documentation page for details.
Default-value symbols DECORATED, WRAPPED, F_ARGS and F_KWARGS are now objects and not classes any more. This prevents IDE to flag the corresponding ar
Default-value symbols DECORATED, WRAPPED, F_ARGS and F_KWARGS are now objects and not classes any more. This prevents IDE to flag the corresponding argument as being misused (not iterable...). Fixes #4.
See documentation page for details.
The double-flat mode now relies on @makefun.wraps, from makefun>=1.3.0. Fixes #3. Updated documentation accordingly.
The double-flat mode now relies on @makefun.wraps, from makefun>=1.3.0. Fixes #3.
Updated documentation accordingly.
See documentation page for details.
Added support for a new "double-flat" mode so that users can create decorators creating *signature-preserving function wrappers* with zero level of ne
API changes:
'*_'can_first_arg_be_ambiguous parameter removed completely, it was too complex to use.callable_or_cls_firstarg_disambiguator renamed custom_disambiguator to be more intuitivewraps argument renamed flat_mode_decorated_name. It was too similar to the wording used in functools, and specific to the flat mode only. Fixes #1.Improved behaviour
TypeError. This is because when you use the flat mode we now generate a nested mode function with a true signature.__wrapped__ trick to exposeMajor refactoring for code readability:
utils_disambiguation now provides a clear disambiguate_call method, and util_modes provides a clear make_decorator_spec to handle all the per-mode specificity and always come back to a nested case before going further.main module (var-positional) as it was completely covered by the general case.SignatureInfo (for static information) and DecoratorUsageInfo (for dynamic/usage information). The information is computed in a lazy way for each to avoid unnecessary signature binding for example.Major documentation update.
See documentation page for details.
Fully functional with 100+ tests.
Fully functional with 100+ tests.
See documentation page for details.
Your coding agent can read these notes before it upgrades. Set up the MCP server →