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 details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 3

File details

Details for the file shepherd_core-2023.8.8.tar.gz.

File metadata

  • Download URL: shepherd_core-2023.8.8.tar.gz
  • Upload date:
  • Size: 81.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for shepherd_core-2023.8.8.tar.gz
Algorithm Hash digest
SHA256 a44c37148efcc6043a3f54c19d47ee19b7ef907f5067637fa82e8ab56a73f57c
MD5 1bd73099bf9e2900f6727fc8f2f4e840
BLAKE2b-256 eca810c6d31a8110b82f0f0946201d7b5b87f0ce71f3e02bda0badc8dfae6857

See more details on using hashes here.

File details

Details for the file shepherd_core-2023.8.8-py3-none-any.whl.

File metadata

File hashes

Hashes for shepherd_core-2023.8.8-py3-none-any.whl
Algorithm Hash digest
SHA256 a071903c1f667ce4ac7a5120659a541873018cbcfad91d009f0a868da4356b25
MD5 20ef315f9d2d80965b1b5d1248e65053
BLAKE2b-256 eb16a60694298331363eeb7cc26235d2b91c006627381b14cbbe658afa21dad6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page