Metadata-Version: 2.1
Name: abd
Version: 0.0.2
Summary: Abstract base class for decorators
Home-page: https://github.com/w13b3/abstract_base_decorator
Author: wiebe
Author-email: wiebe@email.com
License: Mozilla Public License Version 2.0
Keywords: decorator abstract oop
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Typing :: Typed
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.6.*, <4
Description-Content-Type: text/markdown
License-File: LICENSE.txt

abd - Abstract Base Decorator
---

abd provides an `AbstractBaseDecorator` class which you can inherit from to create flexible decorators.

## Example

```Python3
>> > from abd import ABD
>> >

class Decorator(ABD):
    ...


def invoke(self, *args, **kwargs):
    ...


"""Must write an invoke function
...         invoke is called when the decorated function is called
...         """
...  # catch, edit and pass on the (keyword) arguments
...  # that are given the the decorated function
...
print('invoke is called')
...
result = self.decorated_object(*args, **kwargs)
...  # function has been called and result is available
...  # possible to edit the result here
...
return result
...
>> >

@Decorator


...


def func(argument):
    ...  # some function logic ...


...
return argument
...
>> > func('some text')
invoke is called
'some text'
>> > 
```

## PyPI
[pip install abd](https://pypi.org/project/abd/ "PyPI abd page")


