Misc package

Various miscellaneous code required by ConKit

deprecate(version, msg=None)[source]

Decorator to deprecate Python classes and functions

Parameters:
  • version (str) – A string containing the version with which the callable is removed
  • msg (str, optional) – An additional message that will be displayed alongside the default message

Examples

Enable DeprecationWarning messages to be displayed.

>>> import warnings
>>> warnings.simplefilter('default')

Decorate a simple Python function without additional message

>>> @deprecate('0.0.0')
... def sum(a, b):
...     return a + b
>>> sum(1, 2)
deprecated.py:34: DeprecationWarning: sum has been deprecated and will be removed in version 0.0.0!
  warnings.warn(message, DeprecationWarning)
3

Decorate a simple Python function with additional message

>>> @deprecate('0.0.1', msg='Use XXX instead!')
... def sum(a, b):
...     return a + b
>>> sum(2, 2)
deprecated.py:34: DeprecationWarning: sum has been deprecated and will be removed in version 0.0.0! - Use XXX instead!
  warnings.warn(message, DeprecationWarning)
4

Decorate an entire Python class

>>> @deprecate('0.0.2')
... class Obj(object):
...     pass
>>> Obj()
deprecated.py:34: DeprecationWarning: Obj has been deprecated and will be removed in version 0.0.2!
  warnings.warn(message, DeprecationWarning)
<__main__.Obj object at 0x7f8ee0f1ead0>

Decorate a Python class method

>>> class Obj(object):
...     def __init__(self, v):
...         self.v = v
...     @deprecate('0.0.3')
...     def mul(self, other):
...         return self.v * other.v
>>> Obj(2).mul(Obj(3))
deprecated.py:34: DeprecationWarning: mul has been deprecated and will be removed in version 0.0.3!
  warnings.warn(message, DeprecationWarning)
6

Decorate a Python class staticmethod

>>> class Obj(object):
...     @staticmethod
...     @deprecate('0.0.4')
...     def sub(a, b):
...         return a - b
>>> Obj.sub(2, 1)
deprecated.py:34: DeprecationWarning: sub has been deprecated and will be removed in version 0.0.4!
  warnings.warn(message, DeprecationWarning)
1

Decorate a Python class classmethod

>>> class Obj(object):
...     CONST = 5
...     @classmethod
...     @deprecate('0.0.5')
...     def sub(cls, a):
...         return a - cls.CONST
>>> Obj().sub(5)
deprecated.py:34: DeprecationWarning: sub has been deprecated and will be removed in version 0.0.5!
  warnings.warn(message, DeprecationWarning)
0
load_validation_model()[source]
normalize(data, vmin=0, vmax=1)[source]

Apply a Feature scaling algorithm to normalize the data

This normalization will bring all values into the range [0, 1]. This function allows range restrictions by values vmin and vmax.

\[{X}'=\frac{(X-X_{min})(vmax-vmin)}{X_{max}-X_{min}}\]
Parameters:
  • data (list, tuple) – The data to normalize
  • vmin (int, float, optional) – The minimum value
  • vmax (int, float, optional) – The maximum value
Returns:

The normalized data

Return type:

list