Skip to main content

A python framework simplifying the representation of deep domain classification hierarchies

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

multilevel_py-0.3.0.tar.gz (25.6 kB view hashes)

Uploaded Source

Built Distribution

multilevel_py-0.3.0-py3-none-any.whl (27.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page