A python framework simplifying the representation of deep domain classification hierarchies
Project description
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:
Links
Github Repository: https://github.com/dataPuzzler/multilevel_py
Documentation: https://multilevel-py.readthedocs.io/en/latest/
Releases: https://pypi.org/project/multilevel-py/#description
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file multilevel_py-0.3.0.tar.gz
.
File metadata
- Download URL: multilevel_py-0.3.0.tar.gz
- Upload date:
- Size: 25.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a9d5e6ee9b8f4918f42dc3d7e5aa76f7388ed273e66cd78e9afc74f819a0851c |
|
MD5 | d4b8260f5fbbb812e29f549d45ae830b |
|
BLAKE2b-256 | 6b4295977d1ac4e0a45295bbda7cd4ed3a379c6c629cb63f92d5bec70506cff3 |
Provenance
File details
Details for the file multilevel_py-0.3.0-py3-none-any.whl
.
File metadata
- Download URL: multilevel_py-0.3.0-py3-none-any.whl
- Upload date:
- Size: 27.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0413ac0c4aef0baf8c7dd2120e7100f8cb1d3dd568b7cae16934d0c5c6801fd2 |
|
MD5 | 118e858b7c199152f35071efc79160c2 |
|
BLAKE2b-256 | 30bac3e3ecf2aa7cab4d307765bceed5a7a6d18f514b5477baaf832c3f6ce59f |