Skip to content

A library that simplifies the construction of deep classification hierarchies

License

Notifications You must be signed in to change notification settings

dataPuzzler/multilevel_py

Repository files navigation

Unittests Badge Docs Badge

multilevel_py

Multilevel_py is a library that simplifies the construction of classification hierarchies over more than two levels. The framework depends on python3 only and implements a "deep instantiation" mechanism using pythons metaprogramming facilities. In academia, the addressed topic is also discussed under the term "Multilevel (Meta-) Modelling". Since there is no corresponding framework in the python community until this point, multilevel_py was built to fill this gap.

Installing

Install and update using pip:

# Python only
pip install multilevel_py

# with graphical syntax
pip install multilevel_py[viz]

Note that for using the graphical syntax, an installation of the underlying visualisation engine graphviz is required.

A Simple Example

The following code constructs a classification structure that spans three levels.
from multilevel_py.constraints import is_int_constraint, is_str_constraint
from multilevel_py.core import create_clabject_prop, Clabject

Breed = Clabject(name="Breed")
yearReg = create_clabject_prop(n="yearReg", t=1, f=0, i_f=True, c=[is_int_constraint])
age = create_clabject_prop(n="age", t=2, f=0, i_f=True, c=[is_int_constraint])
Breed.define_props([yearReg, age])

Collie = Breed(name="Collie", init_props={"yearReg": 1888})
lassie = Collie(name="Lassie", init_props={"age": 7}, declare_as_instance=True)

Visualisation

Using the viz module, the following graph can be rendered for the previous example:

Visulisation of the collie example

Links

About

A library that simplifies the construction of deep classification hierarchies

Resources

License

Stars

Watchers

Forks

Packages

No packages published