Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

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.

Release files for fabrictestbed-fablib 1.4.6rc1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fabrictestbed-fablib 1.4.6rc1
File Size Uploaded
fabrictestbed-fablib-1.4.6rc1.tar.gz 380.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fabrictestbed-fablib 1.4.6rc1
File Interpreter ABI Platform
fabrictestbed_fablib-1.4.6rc1-py3-none-any.whl Python 3 none any Details

Total release size: 745.2 kB

Release files / fabrictestbed-fablib-1.4.6rc1.tar.gz

Download URL fabrictestbed-fablib-1.4.6rc1.tar.gz
Size 380.0 kB
Tags Source
SHA-256 checksum
How to use checksums
7b7a6cfc4c92ba053b67cab1b95c3008b2eb840d1d3ec3fc59bd78ae3a51bdc1
BLAKE2b-256 checksum
How to use checksums
4e1bc3cbc66fbadc09f7a472855521bcc9e950e030657454ce5cf601143dd5ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.2

Release files / fabrictestbed_fablib-1.4.6rc1-py3-none-any.whl

Download URL fabrictestbed_fablib-1.4.6rc1-py3-none-any.whl
Size 365.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0e4add267cc55f8ff76321738c02950f11712ee024b3de4cdfc4a84b3906375b
BLAKE2b-256 checksum
How to use checksums
37b7184e0143000dea33c1c0da428badc37ccd2df52041a822a65210d58c816b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.2

Release history Release notifications | RSS feed

This release

1.4.6rc1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page