semvec/pypi-packages huggingface dataset:
multilevel-py 0.3.0
A python framework simplifying the representation of deep domain classification hierarchies
Requires Python: >=3.5, <4
Keywords: multilevel,deep instantiation

.. image:: https://github.com/dataPuzzler/multilevel_py/workflows/Run%20unittests/badge.svg
	:target: https://github.com/dataPuzzler/multilevel_py/workflows/Run%20unittests/badge.svg
	:alt: Unittests Badge
.. image:: https://readthedocs.org/projects/multilevel-py/badge/?version=latest
    :target: https://readthedocs.org/projects/multilevel-py/badge/?version=latest
    :alt: 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`_:

.. code-block:: text

    # 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.

.. code-block:: python

    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:

.. image:: https://github.com/dataPuzzler/multilevel_py/blob/master/docs/images/collie_chain_initial_example.png
    :width: 400
    :alt: Visulisation of the collie 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

.. _pip: https://pip.pypa.io/en/stable/quickstart/
.. _graphviz: https://graphviz.org/
ingot-prometheus 0.1.0
Provides monitoring for Ingots projects

# Ingot Prometheus Ingot package.

Provides monitoring for Ingots projects

## For consumers

For using the Ingot package just execute the following command:
```bash
pip install ingot_prometheus
```
Of course, need to activate a destination virtual environment:
```bash
source .venv/bin/activate
```
... or to create it, if it hasn't prepared yet:
```bash
python3 -m venv .venv
```

### Bootstrap

The Ingot package provides the Bootstrap CLI tool.
It allows to get started with the Ingot package quickly.
It generates the following skeletons:
TODO. Add builders here after generating theirs by the `ingots package_bootstrap` tool.

For using the CLI tool just call the following command:
```bash
ingot-prometheus <command> --name=<entity_name> --description="The <entity> brief description."
```
Getting help:
```bash
ingot-prometheus --help
ingot-prometheus <command> --help
```

## For developers

### Prepare the project for working

Clone a repository:
```bash
mkdir ingots-libs
cd ingots-libs
git clone https://github.com/<path>/ingot_prometheus.git
cd ingot_prometheus
```

Prepare a virtual environment:
```bash
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
```

Prepare repository hooks
```bash
pip install pre_commit
pre-commit install
```

Configure code-quality tools:
```bash
pip install black flake8 mypy coverage
```

Configure the Sphinx tool

Please, use the following page for configuring the Sphinx documentation generator: [Sphinx](https://www.sphinx-doc.org/en/master/usage/installation.html)
```bash
pip install sphinx
sphinx-build -b html docs docs/build -v
```

### Using the tox tool

The Ingot package allows automation via the `tox` tool.
```bash
pip install tox
```

Use configured tox tool for several activities.

`tox -e reformat` - auto reformat code by the black tool, makes ordering import too.

`tox -e cs` - checks code style by PEP8.

`tox -e ann` - checks annotations of types by the mypy tool.

`tox -e utc` - runs unittests with the coverage tool.

`tox -e report` - builds coverage report for the project.

`tox -e doc` - builds a package documentation.

`tox -e build` - builds a package form current branch / tag / commit. Set the `{NAME}_VERSION_SUFFIX` virtual variable for specify package suffix.

`tox -e upload` - uploads package to the PyPI index. Set the `PYPI_REPOSITORY_ALIAS` virtual variable for specify PyPI destination.

Calling tox without parameters will execute the following steps: **cs**, **ann**, **utc** and **report**.

### Using package bootstrap locally
Obviously, it's impossible to call the package bootstrap tool via package entry-point.

Use the following command instead:
```bash
python -m ingot_prometheus.scripts.ingot_prometheus ...
```