Skip to main content

Python support for using the FlockLab 2 testbed (flocklab CLI, creating flocklab xml, visualization).

Project description

FlockLab Tools

This Python package provides tools for working with the FlockLab 2 testbed.

Features:

  • Python API for managing FlockLab 2 tests
  • Command-line interface (CLI) for Interfacing with FlockLab 2
  • Programmatic creation of FlockLab 2 test xml files (in python)
  • Visualization of FlockLab 2 test results

PyPi Webpage
Source Code
Changelog

Installation

Dependencies:

  • python3.6+
  • setuptools, pkg_resources, pip, wheel (usually pre-installed when using a virtual environment)
  • numpy
  • pandas
  • bokeh
  • requests
  • appdirs
  • rocketlogger
  • pyelftools

Install with

python -m pip install flocklab-tools

or

pip install flocklab-tools

Uninstall

python3 -m pip uninstall flocklab-tools

Usage

Command Line Interface (CLI)

System wide command:

flocklab -h

Alternative (using the python module):

python -m flocklab -h

Command Line Options:

-h, --help            show this help message and exit
-v <testconfig.xml>, --validate <testconfig.xml>
                      validate test config
-c <testconfig.xml>, --create <testconfig.xml>
                      create / schedule new test
-a <testid>, --abort <testid>
                      abort test
-d <testid>, --delete <testid>
                      delete test
-i <testid>, --info <testid>
                      get test info
-g <testid>, --get <testid>
                      get test results
-o <platform>, --observers <platform>
                      get a list of the currently available (online) observers
-p, --platforms       get a list of the available platforms
-x [<result directory>], --visualize [<result directory>]
                      Visualize FlockLab result data
-s <factor>, --downsampling <factor>
                      downsampling factor for power profiling data in visualization
-y, --develop         Enable develop output (incl. develop signals (nRST, PPS) in visualization)
-V, --version         Print version number

Visualization of FlockLab Results

flocklab -x <result directory>

Python Support

Example

from flocklab import Flocklab
from flocklab import *

fl = Flocklab()

testId = 0
fl.getResults(testId)

fc = FlocklabXmlConfig()
fc.generalConf.name = 'Example Test'
fc.generalConf.description = 'Description of example test'
fc.generalConf.duration = 60 # duration in seconds
# ...

Development

Bug Reports / Feature Requests

Please send bug reports and feature requests to rtrueb@ethz.ch.

Installation for Development

Clone this repository and run the following from inside the root folder of the project (where setup.py is located):

python -m pip install -e .

You can edit the source files and the module will reflect the changes automatically (the -e option which means editable install).

License & Copyright

This project is licensed under the BSD-3-Clause license. For details, see the LICENSE file.

Copyright (c) 2021, ETH Zurich, Computer Engineering Group (TEC)

List of Contributors

  • Roman Trub
  • Matthias Meyer
  • Reto Da Forno

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

flocklab-tools-0.2.8.tar.gz (27.5 kB view hashes)

Uploaded source

Built Distribution

flocklab_tools-0.2.8-py3-none-any.whl (26.1 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page