# Awesome Agriculture

> A curated list of awesome open source technology for agriculture, farming, and gardening.

Agriculture is the science and art of cultivating plants and livestock for food and materials.

Contributions welcome! Please follow the contributing guidelines.

## Contents

- Automation and Robotics
- Calculators
- Climate, Environment and Weather
- Crop Modeling, Phenotyping, and Pathology
- Datasets
- Data Standardization, Interoperability and APIs
- Farm Management Systems and Record Keeping
- Geospatial and GIS
- IoT, Hardware
- Knowledgebases and Learning Resources
- Machine Learning and AI
- Remote Sensing and Imagery

## Automation and Robotics

- Ant Robotics - development from Ecoterra bot
- Acorn Rover - precision farming rover, Odrive, Python.
- Earth Rover - Ag AGV ROS1 precision farming rover
- EcoTerra Bot - Delta & Rover
- FarmBot - Open source precision gardening project.
- Fields2Cover - Robust and efficient coverage paths for autonomous agricultural vehicles.
- Romi project - Europe-funded research project
- ROS Agriculture - Open Source community focusing on using Robot Operating System to empower farmers with robotics tools.
- Weedinator - Line following weeding robot

## Calculators

- farm-calculators - WordPress plugin for calculating various farming and crop related information.

## Climate, Environment and Weather

- agroclimatology - Ruby client for interacting with the NASA (POWER) Agroclimatology Web Resource.
- evapotranspiration - Ruby library for calculating reference crop evapotranspiration (ETo).
- frostline - A dataset, API, and python parser for USDA plant hardiness zones.
- GSODR - Global summary daily weather data in R.
- iem - Code that makes the Iowa Environmental Mesonet run.
- PyETo - Python package for calculating reference/potential evapotranspiration (ETo).
- pyTSEB - A python two source energy balance model for estimation of evapotranspiration with remote sensing data.
- soilDB - R library for simplified access to NCSS soil databases.

## Crop Modeling, Phenotyping, and Pathology

- Open Plant Pathology - A community that values open data and computational tools for advancing epidemiology and pathogen population biology and ecology.

## Datasets

- CWFID - Dataset comprising field images, vegetation segmentation masks and crop/weed plant type annotations.
- Growstuff - Record keeping & crop database, nice API
- PlantVillage - Dataset containing leaf images of healthy and diseased plants, covering 38 disease classes across 14 different crops.
- SoybeanYield - A multimodal agricultural dataset for soybean yield forecasting, integrating yield performance, management practices, weather data, and soil parameters.
- TERRA REF - 1PB public domain high resolution sensor data from sorghum breeding trials (data publication with large files available on globus.org at ncsa#terra-public)

## Data Standardization, Interoperability and APIs

- AgGateway’s ADAPT Toolkit - Open Source project providing tools to simplify communication between growers, their machines, and their partners.
- Agstack - Open-Source Digital Infrastructure for the Agriculture Ecosystem.
- agx-ruby - Ruby client for Proagrica’s agX platform APIs.
- API-Code-Samples - Contains aWhere’s API platform code samples.
- ClearAg-API-Examples - A collection of code examples using the ClearAg APIs.
- JDLinkMachineDataAPI-OAuth2-CSharp-Example - CSharp JDLink Machine Data API client example.
- Open Ag Data Alliance - OADA is an open project designed to bring interoperability, security, and privacy to agricultural data.
- MyJohnDeereAPI-OAuth2-Java-Example - Java MyJohnDeere API client example.
- MyJohnDeereAPI-OAuth2-NodeJS-Example - Node.js MyJohnDeere API client example.
- MyJohnDeereAPI-OAuth2-Python-Example - Python MyJohnDeere API client example.
- OpenTeam - Open Technology Ecosystem for Agricultural Management
- SampleData - Sample datacards, shapefiles, and other files you can use for testing.
- SencropAPI-JavaScript-Client - Sencrop API Javascript client implementation. Read and manage Sencrop weather stations.

## Farm Management Systems and Record Keeping

- farmOS - Web-based farm record keeping application built with Drupal and PHP.
- Ekylibre - Farm management information system for farmers and small enterprises built with Ruby on Rails and PostgreSQL/PostGIS.
- Soil Mate - Helper app designed to assist the collection of soil data.
- Tania - Free and open source farming management system for everyone built with Go and Vue.js.
- LiteFarm - LiteFarm is the world’s first community-led, not-for-profit, Farm management system

## Geospatial and GIS

### GIS Resources

- Awesome GIS - Awesome GIS is a list collecting abundant GIS related sources.

### GIS Platforms

- QGIS - QGIS is a free, open source, cross platform (lin/win/mac) geographical information system.

### Shapefiles

- pyshp - Reads and writes ESRI Shapefiles in pure Python.
- rgeo-shapefile - RGeo Shapefile is an optional module for RGeo for reading geospatial data from ESRI shapefiles in Ruby.

## IoT, Hardware

- AgOpenGPS - Ag precision mapping and section control software.
- DRO-Matic - Fully Automated Hydroponic OS for DIY DRO-Matic cabinets - Nutrient dosing, irrigation, topoffs, timers, EC & pH drift fixing.
- Farm-Data-Relay-System - System using ESP-NOW, LoRa, and other protocols to transport sensor data in remote areas without relying on WiFi.
- Farm Hack - Worldwide community of farmers that build and modify our own tools.
- Open Agriculture Foundation - Open Source ecosystem of technologies that enable and promote transparency, networked experimentation, education, and hyper-local production.
- OpenMinder - Open Source Rootzone Monitoring, API and open source hat for the RaspberryPi.
- OpenWeedLocator - Open Source, low-cost, image-based weed detection device for in-crop and fallow scenarios.
- Simplesteer - RTK GPS tractor autosteer system with a web interface that you can control with a smartphone and can run on a Raspberry Pi.

## Knowledgebases and Learning Resources

- Harvest Helper - Provides growing, harvesting and recipe information for the 45 plants in the database as well as a JSON API.
- OpenFarm - A free and open database for farming and gardening knowledge built with Ruby on Rails.

## Machine Learning and AI

- AgML - Centralized framework for agricultural machine learning.
- agridat - R package providing an extensive collection of datasets from agricultural experiments.
- Crop Yield Prediction - Deep gaussian process for crop yield prediction based on remote sensing data.
- Deep Learning for Biologists with Keras - Tutorials for deep learning based analysis (mainly) on biological relavent themes.
- FarmVibes.AI - Multi-Modal GeoSpatial ML Models for Agriculture and Sustainability.
- PlantCV - Plant phenotyping software using computer vision.

## Remote Sensing and Imagery

- Awesome Sentinel - A curated list of awesome tools, tutorials and APIs related to data from the Copernicus Sentinel Satellites.
- Raster Vision - Deep learning for aerial/satellite imagery.
- Sen2Agri - Software system processing high resolution satellite images for agricultural purposes.
- Awesome Vegetation Index - List of reference, applications of common Vegetation Indices for Multi-spectral, hyper-spectral and UAV images.

## License

To the extent possible under law, Bryce Johnston has waived all copyright and related or neighboring rights to this work.

agriculture.md Github