Skip to main content

Programming- and CLI-Interface for the h5-dataformat of the Shepherd-Testbed

Project description

Shepherd - Core

PyPiVersion Pytest CodeStyle

This Python Module bundles data-models and file-access-routines for the shepherd-testbed, that are used by several codebases.

Users probably want to use the datalib.


Main Project: https://github.com/orgua/shepherd

Source Code: https://github.com/orgua/shepherd-datalib


This library allows to

  • read and write shepherds h5-files
  • create, read, write and convert experiments for the testbed (all data-models included)
  • simulate the virtual source, including virtual harvesters
  • connect and query the testbed via a webclient (TestbedClient)
  • work with target-firmwares
    • embed, modify, verify, convert
    • Note: working with ELF-files requires external dependencies, see Installation-Chapter
  • decode waveforms -> uart

see examples for more details.

Installation

The Library is available via PyPI and can be installed with

  pip install shepherd-core

  # or for the full experience
  pip install shepherd-data

for bleeding-edge-features or dev-work it is possible to install directly from GitHub-Sources (here dev-branch):

pip install git+https://github.com/orgua/shepherd-datalib.git@dev#subdirectory=shepherd_core -U

If you are working with .elf-files (embedding into experiments) you make "objcopy" accessible to python. In Ubuntu, you can either install build-essential or binutils-$ARCH with arch being msp430 or arm-none-eabi for the nRF52.

  sudo apt install build-essential

For more advanced work with .elf-files (modify value of symbols / target-ID) you should install

  pip install shepherd-core[elf]

and also make sure the prereqs for the pwntools are met.

For creating an inventory of the host-system you should install

  pip install shepherd-core[inventory]

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

shepherd_core-2023.8.8.tar.gz (81.6 kB view hashes)

Uploaded Source

Built Distribution

shepherd_core-2023.8.8-py3-none-any.whl (121.3 kB view hashes)

Uploaded Python 3

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