Class Tools for Python


Keywords
class, utilities, descriptors, properties, factories, dataclasses, attrs, fields
License
MIT
Install
pip install classical==2.1.2

Documentation

classical

Convenience tools for working with Python classes.

Simplified subclassing:

class MyClass:
    def __init__(self, *args, **kwargs):
        pass  # do whatever

# subclass with presets
MySubClass = argumented_subclass(MyClass, 'MySubClass', arg1='value', arg2=4)

Various descriptors:

class Thing:
    Red = ArgumentedSubclass(color='red')
    book = AutoProperty(has='pages')
    def __init__(self, color=None, has=None):
        self.color = color
        self.has = has

Thing.Red  # is a subclass of Thing and is 'red'
Thing.Red.book  # is an instance of Thing (and Thing.Red), is 'red' and has 'pages'

See the full documentation at http://classical.readthedocs.io/en/latest/

Installation

pip install classical

Testing

make test

You may need to install [fielded,testing] extras to run tests

Generating docs

make docs

You may need to install [fielded,docs] extras to generate docs