A comprehensive, Python-based herd management system designed to replace guesswork with facts.
Goat Manager is a local desktop application built to help livestock owners manage their herds with precision and care. It provides a "digital dossier" for every animal, tracking lineage, health events, weight trends, and breeding status.
The goal of this project is to create a calm, knowledgeable partner for the barnβone that ensures complete and accurate data is always at your fingertips.
- Alert System: Automatically flags overdue health tasks and breeding checks.
- Status Tracking: Visual indicators for animals that need attention "Today" or are "Overdue."
- Quick Navigation: Jump straight from an alert to the specific record.
- Digital Dossiers: Detailed profiles for every goat including ID tags, breed, sex, DOB, and source.
- Lineage Tracking: Visual pedigree explorer to trace Sires and Dams.
- Archive & Restore: maintain records for animals that have been sold or passed away, preserving historical data.
- Comprehensive Logging: Track vaccinations, deworming, hoof trims, and injuries.
- Batch Entry: Log a single event (like a herd-wide booster) for multiple animals at once.
- Image & Document Support: Upload photos of injuries or scan PDFs of vet reports directly to the event record.
- Treatment Scheduling: Schedule follow-up doses with automatic reminders.
- Cycle Tracking: Log pairing dates and automatically calculate expected due dates (145 days).
- Status Updates: Track heat checks, pregnancy scans, and kidding results.
- Kidding Records: Automatically generate new "Kid" profiles upon entering kidding data.
- Visual Trends: View weight gain/loss graphs using Matplotlib to spot health issues early.
- PDF Generation: One-click generation of professional reports:
- Barn Checklist (Daily to-dos)
- Herd Roll Call
- Master Health Log
- Individual Animal Dossier (with full medical/breeding history)
- Pedigree Charts
- Language: Python 3.x
- GUI Framework: CustomTkinter (Modern, dark-mode ready interface)
- Database: SQLite3 (Robust local data storage)
- Data Visualization: Matplotlib (Weight trend graphs)
- Reporting: FPDF (PDF report generation)
- Image Handling: Pillow (PIL)
-
Clone the Repository
git clone [https://github.com/Herdingnomad/GoatManager.git](https://github.com/Herdingnomad/GoatManager.git) cd goatmanager -
Install Dependencies
pip install customtkinter matplotlib fpdf Pillow
-
Run the Application
python modern_gui_main.py
-
First Run: The application will automatically generate the local SQLite database (
goat_herd.db) and necessary folders (goat_uploads,goat_reports) upon the first launch.
modern_gui_main.py- The core application logic and UI.goat_herd.db- Local SQLite database (auto-generated).goat_uploads/- Stores user-uploaded images and documents.goat_reports/- Output directory for generated PDF reports.
This tool was built to solve real-world problems on the farm. If you have ideas for features that would make stewardship easier, feel free to fork the repo and submit a pull request.
Built with care in Python.