Metadata-Version: 2.4
Name: shepherd_herd
Version: 2026.5.1
Summary: Synchronized Energy Harvesting Emulator and Recorder CLI
Keywords: testbed,beaglebone,pru,batteryless,energyharvesting,solar
Author: Kai Geissdoerfer, Ingmar Splitt
Author-email: Kai Geissdoerfer <kai.geissdoerfer@tu-dresden.de>, Ingmar Splitt <ingmar.splitt@tu-dresden.de>
License-Expression: MIT
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Operating System :: OS Independent
Classifier: Natural Language :: English
Requires-Dist: shepherd-core[elf,inventory]>=2026.5.1
Requires-Dist: click
Requires-Dist: numpy
Requires-Dist: fabric
Requires-Dist: ryaml
Requires-Dist: tqdm
Requires-Dist: shepherd-herd[dev,test] ; extra == 'all'
Requires-Dist: shepherd-core[dev] ; extra == 'dev'
Requires-Dist: pytest ; extra == 'test'
Requires-Dist: pytest-timeout ; extra == 'test'
Requires-Dist: pytest-click ; extra == 'test'
Requires-Dist: shepherd-data ; extra == 'test'
Maintainer: Ingmar Splitt
Maintainer-email: Ingmar Splitt <ingmar.splitt@tu-dresden.de>
Requires-Python: >=3.10
Project-URL: Homepage, https://pypi.org/project/shepherd-herd
Project-URL: Documentation, https://nes-lab.github.io/shepherd
Project-URL: Issues, https://github.com/nes-lab/shepherd/issues
Project-URL: Source, https://github.com/nes-lab/shepherd
Provides-Extra: all
Provides-Extra: dev
Provides-Extra: test
Description-Content-Type: text/markdown

# Shepherd-Herd

[![PyPiVersion](https://img.shields.io/pypi/v/shepherd_herd.svg)](https://pypi.org/project/shepherd_herd)
[![CodeStyle](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)

**Main Documentation**: <https://nes-lab.github.io/shepherd/tools/herd>

**Main Project**: <https://github.com/nes-lab/shepherd>

**Source Code**: <https://github.com/nes-lab/shepherd/tree/main/software/shepherd-herd>

---

`Shepherd-herd` is the command line utility for controlling a group of shepherd observers remotely through an IP-based network.
This is the key user interface for a private shepherd instance in the same network.
The python package must be installed on the user's local machine and sends commands to the sheep via *ssh*.

## Installation

`shepherd-herd` is a python package and available on [PyPI](https://pypi.org/project/shepherd_herd).
Use your python package manager to install it.
For example, using pip:

```Shell
pip3 install shepherd-herd
```

For install directly from GitHub-Sources (here `dev`-branch):

```Shell
pip install git+https://github.com/nes-lab/shepherd.git@dev#subdirectory=software/shepherd-herd -U
```

For install from local sources:

```Shell
cd shepherd/software/shepherd-herd/
pip3 install . -U
```

## Usage

For details either use the help provided by the tool or have a look into the [documentation](https://nes-lab.github.io/shepherd/tools/herd)

```{caution}
Usage with Windows is possible, but not recommended.
At least the unittests are flakey after 5+ tests and can result in zombie-threads crashing the program.
```

## Library-Examples

See [example-files](https://github.com/nes-lab/shepherd/tree/main/software/shepherd-herd/examples/) for details.
