Skip to main content

FABRIC Python Client Library and CLI Extensions

Project description

fabrictestbed-extensions

pypi-badge api-docs-badge

This repository contains implementation of a Python API, otherwise known as "FABlib", for intereacting with FABRIC testbed.

Installing FABlib

You can install released versions of FABlib from PyPI:

$ pip install fabrictestbed-extensions

If you need the current development version of FABlib, install it from the git repository:

$ pip install git+https://github.com/fabric-testbed/fabrictestbed-extensions@main

Note that installing FABlib using either methods will also install a number of dependencies, so you might want to install FABlib in a virtual environment. Your favorite tool for managing virtual environments (venv, virtualenv, or virtualenvwrapper) should work. FABRIC team tends to favor virtualenvwrapper.

Using FABlib

Once installed, you can use FABlib in your Python projects:

from fabrictestbed_extensions.fablib.fablib import FablibManager as fablib_manager

try:
    fablib = fablib_manager()
    fablib.show_config()
except Exception as e:
    print(f"Exception: {e}")

Your first encounter with FABlib however might be through FABRIC project's JupyterHub instance. You will be presented with many examples on FABlib usage when you log in there. The notebook sources can be found on GitHub as well.

Since FABlib 1.4, API docs can be found here. Older API docs are here.

If you want to interact with FABRIC from Jupyter installed on your computer, see: Install the FABRIC Python API.

Contributing to FABlib

Contributions to FABlib are made with GitHub Pull Requests. When you submit a pull request, some tests will run against it:

  • Code formatting will be checked using black. Be sure that your code is formatted with black, using its defaults.
  • CHANGELOG.md will be checked for updates.
  • Packages will be built.
  • Unit tests will be run.

You can run tests in your environment, like so, using pytest:

$ pip install -e .[test]
$ pytest

Packaging FABlib

FABlib uses flit as the build backend. To build source and wheel packages, do this:

$ pip install flit
$ flit build

While using flit as the build backend, continuing to use build as the build frontend should work too:

$ pip install build
$ python -m build

Releasing FABlib

When it is time to release a new version of FABlib, remember to: (1) update the package version in top-level __init__.py, (2) build the source and wheel packages, and (3) upload packages to PyPI:

$ flit publish

Continuing to use twine to publish packages is an option too:

$ twine upload dist/*

For details about publishing to PyPI, see flit documentation about package uploads.

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

fabrictestbed-extensions-1.4.4rc0.tar.gz (377.1 kB view details)

Uploaded Source

Built Distribution

fabrictestbed_extensions-1.4.4rc0-py3-none-any.whl (397.3 kB view details)

Uploaded Python 3

File details

Details for the file fabrictestbed-extensions-1.4.4rc0.tar.gz.

File metadata

File hashes

Hashes for fabrictestbed-extensions-1.4.4rc0.tar.gz
Algorithm Hash digest
SHA256 220b5aedee31d2546bd42f78e4761bed0651b3d559f0e74aed6c3f7c4d7e2937
MD5 94c1326aa68842f224c557d4f8b63333
BLAKE2b-256 e5f3b92dc2ca0102cf86459501ca9cf64f5eec2857d53e3680f2b2fb0e3a47a7

See more details on using hashes here.

File details

Details for the file fabrictestbed_extensions-1.4.4rc0-py3-none-any.whl.

File metadata

File hashes

Hashes for fabrictestbed_extensions-1.4.4rc0-py3-none-any.whl
Algorithm Hash digest
SHA256 53c7666804cd0756ebdd6d15e653c568266a2ea7d3f3d6716ece6acc84ebf0d1
MD5 cb30da286940190e64467ee8e3b45dc2
BLAKE2b-256 4015cbc328d738e5374ed5d6ee57e7c1bd5d3f196898429b094629d489b3ef7b

See more details on using hashes here.

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