PeachBot Agri is an AI-driven, edge-first platform for precision agriculture. It combines sensor telemetry, computer vision, and historical meteorological data to provide field-level diagnostics, pest/disease alerts, and simple remediation guidance.
Developer: Swapin Vidya
This repository provides the reference implementation and integration utilities to run PeachBot Agri on small edge devices (8" touchscreen kiosks, Jetson family, Raspberry Pi) or on-prem servers.
Core Features
- Modular crop modules (
crops/) implementingCropModule. - Vision utilities in
vision/detector.py(YOLOv8-compatible helpers, foliage density, blossom/cherry counting, pathology heuristics). - Historical weather retrieval via
services/weather_service.py(Visual Crossing timeline API). - Touch-optimized local UI (
ui/) for 8" displays. - Export/edge helpers:
vision/export_onnx.py,vision/training/templates,docker/Dockerfile.
Important: PeachBot Agri is a decision-support tool. It is not a substitute for professional agronomic advice. Users must comply with local laws and regulations before acting on recommendations.
- Create and activate a Python virtual environment:
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt- (Optional) Create a
.envwith API keys:
VISUAL_CROSSING_KEY=your_api_key_here
MODEL_PATH=vision/models/your_model.pt
- Run the demo engine (uses default
coffeecrop):
python main.py- Start the touchscreen UI (kiosk mode recommended in production):
python ui/app.pyOpen the device browser at http://localhost:8080 or the IP shown in the server log.
Below are recommended, lightweight production options for edge or on-prem deployments.
- Docker (CPU):
docker build -t peachbotagri:latest -f docker/Dockerfile .
docker run --rm -p 8080:8080 --env-file .env peachbotagri:latest-
Docker (GPU): use an NVIDIA CUDA base image and a matching
torchwheel. Replace the base image indocker/Dockerfileand install CUDA-enabledtorch. -
Systemd (example) for Linux kiosk boot (adapt paths):
[Unit]
Description=PeachBot Agri UI
After=network.target
[Service]
User=pi
WorkingDirectory=/home/pi/PeachBotAgri
ExecStart=/home/pi/PeachBotAgri/.venv/bin/python ui/app.py
Restart=always
[Install]
WantedBy=multi-user.target- Use a WSGI server (Gunicorn/uvicorn) and a reverse proxy (nginx) for hardened deployments.
- Prefer
yolov8nor quantized/ONNX models on resource-constrained hardware. - Export to ONNX with
vision/export_onnx.pyand run with ONNX Runtime / TensorRT / OpenVINO. - Use hardware-accelerated runtimes on Jetson (TensorRT) or Intel devices (OpenVINO).
- Collected imagery and telemetry may contain sensitive information. Configure local storage retention and anonymization before sharing data externally.
- If transmitting imagery to cloud services, use TLS and restrict API keys to minimal privileges.
This project is provided for research, development, and internal evaluation only. It is NOT licensed for commercial use, resale, or inclusion in commercial products or services without an explicit commercial license from the developer. Parts of this project are associated with a patented system; do not use the software in any commercial or redistributed product without first obtaining a license.
For details and licensing inquiries, see USAGE_RESTRICTIONS.md or contact Swapin Vidya at swapin@peachbot.in.
If you use PeachBot Agri in publications or public demonstrations, please cite the project and acknowledge the developer:
Suggested citation:
PeachBot Agri — Swapin Vidya (2026). PeachBot Agri: an edge-first precision agriculture toolkit. https://github.com/your-username/PeachBotAgri
For formal publications, include this developer attribution:
Developer: Swapin Vidya — contact: swapin@peachbot.in — LinkedIn: https://www.linkedin.com/in/swapin-vidya
- Missing packages: run
pip install -r requirements.txtinside the repository venv. - Vision model errors: ensure
MODEL_PATHin.envpoints to a compatible YOLOv8.ptand that yourtorchinstallation matches the platform/GPU. - Weather API: if
VISUAL_CROSSING_KEYis missing, the engine will run but skip weather-based analysis.
- Add crops: create a new file in
crops/implementingCropModule(analyze_health(sensor_data, weather_data=None)andget_pest_remedy(detection)). - Add tests: include simple unit tests under
tests/that simulate sensor payloads and expected outputs. - Model training: use
vision/training/data.yamland theultralyticstraining CLI (seevision/training/README.md).
Non-Commercial License (see LICENSE.md) — this project is distributed for research, evaluation, and internal use only. Commercial use requires a separate commercial license; see USAGE_RESTRICTIONS.md for details.
- Developer: Swapin Vidya
- Email: swapin@peachbot.in
- LinkedIn: https://www.linkedin.com/in/swapin-vidya
Thank you for using PeachBot Agri.

