PyCrop2ML
A free, open-source library for defining and sharing CropML models used to represent the various biological processes involved in crop models.
https://github.com/agriculturalmodelexchangeinitiative/pycrop2ml
Category: Consumption
Sub Category: Agriculture and Nutrition
Keywords
crop-model program-transformation source-to-source transpiler
Keywords from Contributors
crop soil
Last synced: about 15 hours ago
JSON representation
Repository metadata
CropML Python library
- Host: GitHub
- URL: https://github.com/agriculturalmodelexchangeinitiative/pycrop2ml
- Owner: AgriculturalModelExchangeInitiative
- License: other
- Created: 2018-01-18T15:18:06.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2025-12-05T12:54:53.000Z (21 days ago)
- Last Synced: 2025-12-08T21:57:10.596Z (18 days ago)
- Topics: crop-model, program-transformation, source-to-source, transpiler
- Language: Python
- Homepage:
- Size: 69.2 MB
- Stars: 19
- Watchers: 4
- Forks: 18
- Open Issues: 25
- Releases: 2
-
Metadata Files:
- Readme: README.rst
- Changelog: HISTORY.rst
- Contributing: CONTRIBUTING.rst
- License: LICENSE
- Citation: CITATION.cff
- Authors: AUTHORS.rst
README.rst
=========
Pycrop2ml
=========
.. image:: https://readthedocs.org/projects/pycrop2ml/badge/?version=latest
:target: http://pycrop2ml.readthedocs.io/en/latest/
:alt: Documentation Status
.. image:: https://github.com/AgriculturalModelExchangeInitiative/PyCrop2ML/actions/workflows/codeql-analysis.yml/badge.svg
:alt: CodeQL Status
:target: https://github.com/AgriculturalModelExchangeInitiative/PyCrop2ML/actions/workflows/codeql-analysis.yml
.. image:: https://anaconda.org/amei/pycropml/badges/platforms.svg
:target: https://anaconda.org/amei/pycropml
.. image:: https://anaconda.org/amei/pycropml/badges/version.svg
:target: https://anaconda.org/amei/pycropml
.. {# pkglts, doc
.. #}
A Python library to generate components from Crop2ML declarative language.
For more information, refer to `the documentation`__.
.. __: http://pycrop2ml.readthedocs.io/en/latest/
Installation
============
Using conda
~~~~~~~~~~~
conda install -c amei -c openalea3 -c conda-forge pycropml
Usage
=====
From Platforms to Crop2ML
~~~~~~~~~~~~~~~~~~~~~~~~~
cyml -c name_of_the_component_repository absolute_path_of_the_output source_language_or_platform
From Crop2ML to Platforms
~~~~~~~~~~~~~~~~~~~~~~~~~
cyml -p name_of_the_Crop2ML_package target_language_or_platform
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: >-
PyCrop2ML : Python library to exchange and reuse crop
model compponents between languages and platforms
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Cyrille Ahmed
family-names: Midingoyi
affiliation: CIRAD
email: cyrille_ahmed.midingoyi@cirad.fr
- given-names: Christophe
family-names: Pradal
email: christophe.pradal@cirad.fr
affiliation: CIRAD
orcid: 'https://orcid.org/0000-0002-2555-761X'
- given-names: 'Andreas '
family-names: Enders
affiliation: >-
Institute of Crop Science and Resource Conservation
(INRES), University of Bonn, Bonn, Germany,
- given-names: Davide
family-names: Fumagalli
affiliation: Institute for Environment and Sustainability
- given-names: Patrice
family-names: Lecharpentier
affiliation: INRAE
- given-names: 'Hélène '
family-names: Raynal
affiliation: INRAE
- given-names: 'Marcello '
family-names: Donatelli
affiliation: CREAA
- given-names: Ioannis N.
family-names: Athanasiadis
affiliation: 'Wageningen University, Wageningen, The Netherlands'
- given-names: 'Cheryl '
family-names: Porter
affiliation: >-
Agricultural & Biological Engineering, University of
Florida, Gainesville, USA
- given-names: 'Gerrit '
family-names: Hoogenboom
affiliation: >-
Agricultural & Biological Engineering, University of
Florida, Gainesville, USA
- given-names: 'Fabio '
family-names: Oliveira
affiliation: >-
Agricultural & Biological Engineering, University of
Florida, Gainesville, USA
- given-names: 'Dean '
family-names: Holzworth
affiliation: 'CSIRO Agriculture and Food, Toowoomba, Australia'
- given-names: Pierre
family-names: Martre
affiliation: INRAE
email: pierre.martre@inrae.fr
repository-code: >-
https://github.com/AgriculturalModelExchangeInitiative/PyCrop2ML
url: 'https://crop2ml.org'
abstract: >-
The increasing impact of climate change and variability on
food security and agriculture, and the need for
agroecological transition require improving the
performance of crop simulation models and to model new
biophysical processes to tackle new challenges. Recently,
the Agricultural Models Exchange Initiative (AMEI)
proposed Crop2ML, an open-source modeling framework for
exchanging and reusing crop model components between
modeling platforms. This framework provides a unified
description of model components at a high level of
abstraction based on shared concepts, lifting constraints
of modeling platforms through an automatic system that
transforms high-level models into platform-compliant
components. This paper presents an approach based on
reverse engineering to automatically extract and transform
meta-information and algorithms of existing crop model
processes into a platform-independent model component. A
search algorithm using Crop2ML concepts, and a many-to-one
transformation system was adopted as the main reverse
engineering techniques to produce high-level models. The
system consists in parsing the codebase of model
components from different high-level languages (Python, R,
Java, C++, C#, and Fortran) using the ANother Tool for
Language Recognition (ANTLR) parser generator and
processing the generated syntax trees to produce the
various model implementations. It is implemented and
evaluated on three crop model components: an energy
balance model provided by BioMA platform and two soil
temperature models provided by SIMPLACE and DSSAT
platforms. We demonstrated the extensibility of our
approach with the STICS, OpenAlea, and SiriusQuality
modeling platforms. CyMLTx is a significant contribution
towards the interoperability of crop modeling platforms
and the reuse of crop model components beyond programming
languages. It will thus contribute to foster model
intercomparison and improvement activities.
keywords:
- Crop2ML
- AMEI
- Crop Model
- DSSAT
- SimPlace
- STICS
- APSIM
- OpenAlea
- BioMA
- RECORD
license: CECILL-C
Owner metadata
- Name: AgriculturalModelExchangeInitiative
- Login: AgriculturalModelExchangeInitiative
- Email:
- Kind: organization
- Description:
- Website:
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/21251662?v=4
- Repositories: 7
- Last ynced at: 2023-03-05T12:59:40.641Z
- Profile URL: https://github.com/AgriculturalModelExchangeInitiative
GitHub Events
Total
- Issues event: 13
- Watch event: 1
- Delete event: 5
- Member event: 1
- Issue comment event: 9
- Push event: 31
- Pull request review event: 3
- Pull request event: 36
- Fork event: 1
- Create event: 4
Last Year
- Issues event: 3
- Member event: 1
- Issue comment event: 4
- Push event: 19
- Pull request event: 19
- Fork event: 1
Committers metadata
Last synced: 1 day ago
Total Commits: 607
Total Committers: 11
Avg Commits per committer: 55.182
Development Distribution Score (DDS): 0.297
Commits in past year: 25
Committers in past year: 3
Avg Commits per committer in past year: 8.333
Development Distribution Score (DDS) in past year: 0.2
| Name | Commits | |
|---|---|---|
| cyrillemidingoyi | a****i@y****r | 427 |
| pradal | c****l@i****r | 145 |
| Michael Berg-Mohnicke | m****g@z****e | 15 |
| Cyrille Ahmed MIDINGOYI | m****y@S****N | 8 |
| lorenefifame | l****e@g****m | 3 |
| Nicolas Brichet | n****t@i****r | 3 |
| Cyril | c****l@l****n | 2 |
| Teiki RAIHAUTI | r****i@s****n | 1 |
| Nicolas Brichet | n****t@i****r | 1 |
| MIDINGOYI | M****I@l****n | 1 |
| Cyrille Ahmed MIDINGOYI | m****y@s****n | 1 |
Committer domains:
- supagro.inra.lan: 3
- lps-cotonou.supagro.inra.lan: 1
- inrae.fr: 1
- lps-moustache.supagro.inra.lan: 1
- inra.fr: 1
- zalf.de: 1
- inria.fr: 1
Issue and Pull Request metadata
Last synced: 21 days ago
Total issues: 38
Total pull requests: 142
Average time to close issues: almost 2 years
Average time to close pull requests: 18 days
Total issue authors: 6
Total pull request authors: 5
Average comments per issue: 1.08
Average comments per pull request: 0.15
Merged pull request: 132
Bot issues: 0
Bot pull requests: 1
Past year issues: 2
Past year pull requests: 25
Past year average time to close issues: N/A
Past year average time to close pull requests: 10 days
Past year issue authors: 2
Past year pull request authors: 3
Past year average comments per issue: 6.0
Past year average comments per pull request: 0.16
Past year merged pull request: 21
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- pradal (20)
- orianebro (9)
- cyrillemidingoyi (5)
- plecharpent (2)
- hol353 (1)
- PierrickRoyer (1)
Top Pull Request Authors
- cyrillemidingoyi (108)
- pradal (24)
- bergm (7)
- TeikiRaihauti (2)
- dependabot[bot] (1)
Top Issue Labels
- enhancement (3)
Top Pull Request Labels
- dependencies (1)
Package metadata
- Total packages: 2
- Total downloads: unknown
- Total dependent packages: 0 (may contain duplicates)
- Total dependent repositories: 0 (may contain duplicates)
- Total versions: 4
proxy.golang.org: github.com/agriculturalmodelexchangeinitiative/pycrop2ml
- Homepage:
- Documentation: https://pkg.go.dev/github.com/agriculturalmodelexchangeinitiative/pycrop2ml#section-documentation
- Licenses: other
- Latest release: v1.2.0 (published over 2 years ago)
- Last Synced: 2025-12-23T23:01:23.296Z (3 days ago)
- Versions: 2
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 5.401%
- Average: 5.583%
- Dependent repos count: 5.764%
proxy.golang.org: github.com/AgriculturalModelExchangeInitiative/PyCrop2ML
- Homepage:
- Documentation: https://pkg.go.dev/github.com/AgriculturalModelExchangeInitiative/PyCrop2ML#section-documentation
- Licenses: other
- Latest release: v1.2.0 (published over 2 years ago)
- Last Synced: 2025-12-23T23:01:23.316Z (3 days ago)
- Versions: 2
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 5.401%
- Average: 5.583%
- Dependent repos count: 5.764%
Dependencies
- Cython *
- IPython *
- antlr4-python3-runtime *
- graphviz *
- nbformat *
- nbsphinx *
- networkx *
- numpy *
- path.py *
- pydot *
- pytest *
- pytest-mock *
- pyyaml *
- six *
- sphinx *
- unyt *
- actions/checkout v3 composite
- github/codeql-action/analyze v2 composite
- github/codeql-action/autobuild v2 composite
- github/codeql-action/init v2 composite
- actions/checkout v3 composite
- haya14busa/action-cond v1 composite
- openalea/action-build-publish-anaconda v0.1.4 composite
- continuumio/conda-ci-linux-64-python3.7 latest build
- pycropml
- python
- sphinx_rtd_theme
- opencv-python *
- opencv-python *
Score: -Infinity