FABRIC Python Client Library and CLI Extensions
Project description
fabrictestbed-extensions
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
Built Distribution
File details
Details for the file fabrictestbed-extensions-1.4.5.tar.gz
.
File metadata
- Download URL: fabrictestbed-extensions-1.4.5.tar.gz
- Upload date:
- Size: 377.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.28.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad30f4ff0d0b0b397f3293fd26a51efb90fca38af1be0e3be78c827f4536f93d |
|
MD5 | efb7c1aae2ae179db3f3e5331a8c88c8 |
|
BLAKE2b-256 | 15fa10981d81c7fd6544cd550255792a203680c99f1b515a13736a86be63d918 |
File details
Details for the file fabrictestbed_extensions-1.4.5-py3-none-any.whl
.
File metadata
- Download URL: fabrictestbed_extensions-1.4.5-py3-none-any.whl
- Upload date:
- Size: 397.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.28.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5dfb4c1259ade2ff79efed60524ea019ece5b58eb69d9f2b20c3b03b30c729be |
|
MD5 | e56943d6f4697a1ca97d7870b2d13756 |
|
BLAKE2b-256 | 84b0091d263f7e70402ad3e5114e925b86991eaa419f1335e9dea85f1e320c40 |