Skip to main content

FABRIC Measurement Framework Python Client Library - Makes monitoring FABRIC Slice easy.

Project description

MFLIB Measurement Framework Library

Welcome to the FABRIC Measurement Framework Library. MFLib makes it easy to install monitoring systems to a FABRIC experimenter's slice. The monitoring system makes extensive use of industry standards such as Prometheus, Grafana, Elastic Search and Kibana while adding customized monitoring tools and dashboards for quick setup and visualization.

Documentation Resources

For more information about FABRIC vist fabric-testbed.net

Example Jupyter Notebooks

FABRIC Jupyter Examples GitHub repository contains many examples for using FABRIC from simple slice setup to advanced networking setups. Look for the MFLib section. These notebooks are designed to be easily used on the FABRIC JupyterHub

FABRIC Learn Site

FABRIC Knowledge Base

MFLib Python Package Documentation

Documentation for the package is presented in serveral different forms (and maybe include later in this document):

  • ReadTheDocs
  • MFLib.pdf in the source code/GitHub.
  • Or you may build the documentation from the source code. See Sphinx Documentation later in this document.

MFLib Installation

Instaling via PIP

MFLib may be installed using PIP and PyPI fabrictestbed-mflib

pip install --user fabrictestbed-mflib

Installing via Source Code

If you need a development version, clone the git repo, then use pip to install.

git clone https://github.com/fabric-testbed/mflib.git
cd mflib
pip install --user .

Building & Deploying

Spinx Documentation

This package is documented using sphinx. The source directories are already created and populated with reStructuredText ( .rst ) files. The build directories are deleted and/or are not included in the repository,

API documentation can also be found at https://fabrictestbed-mflib.readthedocs.io/.

Build HTML Documents

Install the extra packages required to build API docs: (sphinx, furo theme, and myst-parser for parsing markdown files):

pip install -r docs/requirements.txt

Build the documentation by running the following command from the root directory of the repo.

./create_html_doc.sh

The completed documentation may be accessed by clicking on /docs/build/html/index.html. Note that the HTML docs are not saved to the repository.

Build PDF Document

Latex must be installed. For Debian use: Latex must be installed. For Debian use:

sudo apt install texlive-latex-extra sudo apt install latexmk

Changed to conda install for environments with out sudo access.

conda install -c conda-forge tectonic

Run the bash script to create the MFLIB.pdf documentation. MFLIB.pdf will be placed in the root directory of the repository.

./create_pdf_doc.sh

Note you may just hit return for the ? warnings about .svg files.

Distribution Package

MFLib package is created using Flit Be sure to create and commit the PDF documentation to GitHub before building and publishing to PyPi. The MFLib.pdf is included in the distributition.

To build python package for PyPi run

./create_release.sh

Uploading to PyPI

First test the package by uploading to test.pypi.org then test the install.

flit publish --repository testpypi 

Note that if the package has already been published to testpypi, it cannot be published again until the version is updated. There is not an obvious error for this. Instead you will just get the following error:

requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://test.pypi.org/legacy/

Once install is good, upload to PiPy

flit publish

Note that Flit places a .pypirc file in your home directory if you do not already have one. Flit may also store your password in the keyring which may break if the password is changed. see Flit Controlling package uploads. The password can also be added to the .pypirc file. If password contains % signs it will break the .pypirc file.

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

fabrictestbed_mflib-1.0.8.tar.gz (1.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fabrictestbed_mflib-1.0.8-py3-none-any.whl (46.0 kB view details)

Uploaded Python 3

File details

Details for the file fabrictestbed_mflib-1.0.8.tar.gz.

File metadata

  • Download URL: fabrictestbed_mflib-1.0.8.tar.gz
  • Upload date:
  • Size: 1.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.34.2

File hashes

Hashes for fabrictestbed_mflib-1.0.8.tar.gz
Algorithm Hash digest
SHA256 f5df17727c6a8bcb5ceae2d6b2b854d8d545912a79933c36d8829a8587638365
MD5 e7a548de3af305f6a0977de3b072cc94
BLAKE2b-256 8f8acc75b8dba2b503d4da12310d2c2d753a16db8334abf1adc8c3fb287d12d9

See more details on using hashes here.

File details

Details for the file fabrictestbed_mflib-1.0.8-py3-none-any.whl.

File metadata

File hashes

Hashes for fabrictestbed_mflib-1.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 f71b8794d0172586545e11838784786370cd0a0965e9a73228d7532a67bccd88
MD5 fdaf6455956ac037e38c53758c9e8de2
BLAKE2b-256 bf2a848b69bf93e67047a04570ae51594e116d4c738ac77bd5351bd3ab50a82a

See more details on using hashes here.

Supported by

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