Welcome to cropengine
A Python package for streamlining process-based crop modeling and simulation
- GitHub repo: https://github.com/geonextgis/cropengine
- Documentation: https://geonextgis.github.io/cropengine
- PyPI: https://pypi.org/project/cropengine
- Notebooks: https://github.com/geonextgis/cropengine/tree/main/docs/examples
- License: MIT
Introduction
cropengine is a Python package designed to bridge the gap between geospatial data and process-based crop modeling. It streamlines the complex workflows involved in preparing input data, configuring simulation parameters, and executing crop models for yield prediction and agricultural research.
While traditional crop modeling often requires extensive manual data preparation and file manipulation, cropengine automates these tasks. It is built to integrate seamlessly with geospatial workflows (such as those using geeagri), allowing users to easily drive simulations with site-specific weather, soil, and management data.
cropengine is ideal for:
- Agronomists and researchers running point-based or spatial crop simulations.
- Data scientists integrating biophysical models with machine learning pipelines.
- Developers building agricultural decision support systems.
For a complete list of examples and use cases, visit the notebooks section.
Key Features
- Automated Data Preparation — Streamline the formatting of weather, soil, and management data into model-ready structures.
- Simulation Management — Easily configure and run process-based crop simulations with a Pythonic API.
- Geospatial Integration — Connect directly with satellite and climate data sources to drive simulations for specific locations (lat/lon) or regions.
- Scalable Workflows — specialized tools for running batch simulations across multiple sites or growing seasons efficiently.
- Result Analysis — Built-in utilities to parse simulation outputs, calculate yield gaps, and visualize crop growth dynamics over time.
- Model Agnostic Design — Designed to support various crop modeling engines and frameworks through a unified interface.
Installation
conda create -n cropengine python=3.10
conda activate cropengine
pip install cropengine
# (Optional) Upgrade to the latest version if already installed
pip install --upgrade cropengine
Models
| Model ID | Model Name | Description | Production Level | Water Balance | Nutrient Balance |
|---|---|---|---|---|---|
| Wofost72_Phenology | WOFOST 7.2 (Phenology Only) | Simulates only the phenological development stages of the crop, ignoring biomass growth. | Phenology | N/A | N/A |
| Wofost72_PP | WOFOST 7.2 (Potential Production) | Simulates crop growth under potential production conditions (no water or nutrient stress). | Potential | N/A | N/A |
| Wofost72_WLP_CWB | WOFOST 7.2 (Water-Limited) | Simulates crop growth limited by water availability using the Classic Water Balance (free drainage). | Water-limited | Classic | N/A |
| Wofost73_PP | WOFOST 7.3 (Potential Production) | Includes atmospheric CO₂ response and biomass reallocation under potential conditions. | Potential | N/A | N/A |
| Wofost73_WLP_CWB | WOFOST 7.3 (Water-Limited, Classic) | Includes CO₂ response and biomass reallocation under water-limited conditions using the Classic Water Balance. | Water-limited | Classic | N/A |
Metadata
Release files for cropengine 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| cropengine-1.1.0.tar.gz | 425.7 kB | Without provenance | Details for cropengine-1.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| cropengine-1.1.0-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details for cropengine-1.1.0-py2.py3-none-any.whl |
Total release size: 613.5 kB
Release files / cropengine-1.1.0.tar.gz
| Download URL | cropengine-1.1.0.tar.gz |
|---|---|
| Size | 425.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
edcb737f89bb5b70e32e17212841a29c626ac377077d9f312535fe920874e4fb
|
|
BLAKE2b-256 checksum How to use checksums |
41be3f52ca61c689733193534d73d3b90fdca358452d7117eb8489e41e2fa62a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Release files / cropengine-1.1.0-py2.py3-none-any.whl
| Download URL | cropengine-1.1.0-py2.py3-none-any.whl |
|---|---|
| Size | 187.8 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
cb339f725a1b99a2efc5e8fead4642e0ec33f99da4674887d38aab7c813043a4
|
|
BLAKE2b-256 checksum How to use checksums |
a0a1b8d004185afce1e4136a2fffa3eb5b00000131a7dabcc243a3e58afe527b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Security for cropengine 1.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.