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
Metadata
Release files for multilevel-py 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| multilevel_py-0.3.0.tar.gz | 25.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| multilevel_py-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 53.0 kB
Release files / multilevel_py-0.3.0.tar.gz
| Download URL | multilevel_py-0.3.0.tar.gz |
|---|---|
| Size | 25.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a9d5e6ee9b8f4918f42dc3d7e5aa76f7388ed273e66cd78e9afc74f819a0851c
|
|
BLAKE2b-256 checksum How to use checksums |
6b4295977d1ac4e0a45295bbda7cd4ed3a379c6c629cb63f92d5bec70506cff3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / multilevel_py-0.3.0-py3-none-any.whl
| Download URL | multilevel_py-0.3.0-py3-none-any.whl |
|---|---|
| Size | 27.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0413ac0c4aef0baf8c7dd2120e7100f8cb1d3dd568b7cae16934d0c5c6801fd2
|
|
BLAKE2b-256 checksum How to use checksums |
30bac3e3ecf2aa7cab4d307765bceed5a7a6d18f514b5477baaf832c3f6ce59f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|