Metadata-Version: 2.4
Name: shepherd_herd
Version: 0.9.3
Summary: Synchronized Energy Harvesting Emulator and Recorder CLI
Author-email: Kai Geissdoerfer <kai.geissdoerfer@tu-dresden.de>, Ingmar Splitt <ingmar.splitt@tu-dresden.de>
Maintainer-email: Ingmar Splitt <ingmar.splitt@tu-dresden.de>
License: MIT
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
Keywords: testbed,beaglebone,pru,batteryless,energyharvesting,solar
Platform: unix
Platform: linux
Platform: osx
Platform: cygwin
Platform: win32
Platform: win64
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: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Natural Language :: English
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: shepherd-core[elf,inventory]>=2025.06.4
Requires-Dist: click
Requires-Dist: numpy
Requires-Dist: fabric
Requires-Dist: pyYAML
Requires-Dist: tqdm
Provides-Extra: dev
Requires-Dist: twine; extra == "dev"
Requires-Dist: pre-commit; extra == "dev"
Requires-Dist: pyright; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-timeout; extra == "test"
Requires-Dist: pytest-click; extra == "test"
Requires-Dist: shepherd-data; extra == "test"

# 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.
