{"id":45967,"name":"AMIRIS-Py","description":"Python tools for the electricity market model AMIRIS.","url":"https://gitlab.com/dlr-ve/esy/amiris/amiris-py","last_synced_at":"2026-04-08T19:30:19.978Z","repository":{"id":62930799,"uuid":"38877976","full_name":"dlr-ve/esy/amiris/amiris-py","owner":"dlr-ve","description":"Python tools for the electricity market model [AMIRIS](https://gitlab.com/dlr-ve/esy/amiris/amiris)","archived":false,"fork":false,"pushed_at":null,"size":null,"stargazers_count":4,"open_issues_count":5,"forks_count":2,"subscribers_count":null,"default_branch":"dev","last_synced_at":"2026-01-06T23:28:17.970Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":null,"metadata":{},"created_at":"2022-08-25T11:30:54.756Z","updated_at":"2025-10-16T07:58:08.837Z","dependencies_parsed_at":"2022-11-09T10:30:57.029Z","dependency_job_id":null,"html_url":"https://gitlab.com/dlr-ve/esy/amiris/amiris-py","commit_stats":null,"previous_names":[],"tags_count":2,"template":null,"template_full_name":null,"purl":"pkg:gitlab/dlr-ve/amiris-py","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/repositories/dlr-ve%2Fesy%2Famiris%2Famiris-py","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/repositories/dlr-ve%2Fesy%2Famiris%2Famiris-py/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/repositories/dlr-ve%2Fesy%2Famiris%2Famiris-py/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/repositories/dlr-ve%2Fesy%2Famiris%2Famiris-py/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/owners/dlr-ve","download_url":"https://gitlab.com/dlr-ve/esy/amiris/amiris-py/-/archive/dev/amiris-py-dev.zip","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/repositories/dlr-ve%2Fesy%2Famiris%2Famiris-py/sbom","scorecard":null,"host":{"name":"gitlab.com","url":"https://gitlab.com","kind":"gitlab","repositories_count":4521539,"owners_count":7348,"icon_url":"https://github.com/gitlab.png","version":null,"created_at":"2022-05-30T11:31:42.605Z","updated_at":"2026-01-12T22:45:04.389Z","status":"online","status_checked_at":"2026-04-07T02:00:07.660Z","response_time":415,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.382Z","robots_txt_url":"https://gitlab.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/owners"}},"owner":{"login":"dlr-ve","name":"dlr-ve","uuid":"organization-14248338","kind":"organization","description":"","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":null,"repositories_count":11,"last_synced_at":"2023-03-28T20:25:47.211Z","metadata":{},"html_url":"https://gitlab.com/dlr-ve","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2023-03-28T20:25:47.320Z","updated_at":"2023-03-28T20:25:47.320Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/owners/dlr-ve","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/owners/dlr-ve/repositories"},"packages":[],"commits":{"id":1638859,"full_name":"dlr-ve/esy/amiris/amiris-py","default_branch":"dev","total_commits":150,"total_committers":5,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":30.0,"dds":0.5466666666666666,"past_year_total_commits":64,"past_year_total_committers":4,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":16.0,"past_year_dds":0.34375,"last_synced_at":"2026-04-05T18:00:54.194Z","last_synced_commit":"fdbf5acf91ea61af537f354b3b7a6a49d8d3c15d","created_at":"2024-07-24T21:30:37.253Z","updated_at":"2026-04-05T18:00:54.005Z","committers":[{"name":"Felix Nitsch","email":"felix.nitsch@dlr.de","login":null,"count":68},{"name":"Christoph Schimeczek","email":"Christoph.Schimeczek@dlr.de","login":null,"count":61},{"name":"Christoph Schimeczek","email":"christoph.schimeczek@dlr.de","login":null,"count":17},{"name":"Felix Nitsch","email":"5738156-dlr_fn@users.noreply.gitlab.com","login":null,"count":3},{"name":"Florian Maurer","email":"maurer@fh-aachen.de","login":null,"count":1}],"past_year_committers":[{"name":"Christoph Schimeczek","email":"Christoph.Schimeczek@dlr.de","login":null,"count":42},{"name":"Felix Nitsch","email":"felix.nitsch@dlr.de","login":null,"count":18},{"name":"Felix Nitsch","email":"5738156-dlr_fn@users.noreply.gitlab.com","login":null,"count":3},{"name":"Christoph Schimeczek","email":"christoph.schimeczek@dlr.de","login":null,"count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/gitlab.com/repositories/dlr-ve%2Fesy%2Famiris%2Famiris-py/commits","host":{"name":"gitlab.com","url":"https://gitlab.com","kind":"gitlab","last_synced_at":"2026-04-07T00:00:11.432Z","repositories_count":23882,"commits_count":4132893,"contributors_count":114012,"owners_count":12293,"icon_url":"https://github.com/gitlab.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/gitlab.com","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/gitlab.com/repositories"}},"issues_stats":{"full_name":"dlr-ve/esy/amiris/amiris-py","html_url":"https://gitlab.com/dlr-ve/esy/amiris/amiris-py","last_synced_at":"2026-04-05T18:02:01.096Z","status":"error","issues_count":null,"pull_requests_count":null,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":null,"issues_closed_count":null,"pull_requests_closed_count":null,"pull_request_authors_count":null,"issue_authors_count":null,"avg_comments_per_issue":null,"avg_comments_per_pull_request":null,"merged_pull_requests_count":null,"bot_issues_count":null,"bot_pull_requests_count":null,"past_year_issues_count":null,"past_year_pull_requests_count":null,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":null,"past_year_pull_requests_closed_count":null,"past_year_pull_request_authors_count":null,"past_year_issue_authors_count":null,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":null,"past_year_bot_pull_requests_count":null,"past_year_merged_pull_requests_count":null,"created_at":"2024-08-10T05:30:52.929Z","updated_at":"2026-04-05T18:02:01.096Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/gitlab.com/repositories/dlr-ve%2Fesy%2Famiris%2Famiris-py","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/gitlab.com/repositories/dlr-ve%2Fesy%2Famiris%2Famiris-py/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{},"pull_request_author_associations_count":{},"issue_authors":{},"pull_request_authors":{},"host":{"name":"gitlab.com","url":"https://gitlab.com","kind":"gitlab","last_synced_at":"2026-04-07T00:00:09.481Z","repositories_count":0,"issues_count":0,"pull_requests_count":0,"authors_count":61892,"icon_url":"https://github.com/gitlab.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/gitlab.com","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/gitlab.com/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/gitlab.com/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/gitlab.com/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{},"past_year_issue_authors":{},"past_year_pull_request_authors":{},"maintainers":[],"active_maintainers":[]},"events":null,"keywords":[],"dependencies":[{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2022-11-09T10:30:56.978Z","updated_at":"2022-11-09T10:30:56.978Z","repository_link":"https://gitlab.com/dlr-ve/esy/amiris/amiris-py/blob/dev/requirements.txt","dependencies":[{"id":6639026510,"package_name":"fameio","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":6639026511,"package_name":"pandas","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":6639026512,"package_name":"numpy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":6639026513,"package_name":"wget","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2022-11-09T10:30:57.004Z","updated_at":"2022-11-09T10:30:57.004Z","repository_link":"https://gitlab.com/dlr-ve/esy/amiris/amiris-py/blob/dev/setup.py","dependencies":[{"id":6639026514,"package_name":"pandas","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]}],"score":3.8066624897703196,"created_at":"2023-09-13T08:44:58.995Z","updated_at":"2026-04-08T19:30:19.981Z","avatar_url":null,"language":null,"category":"Energy Systems","sub_category":"Energy Markets","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"\u003c!-- SPDX-FileCopyrightText: 2025 German Aerospace Center \u003camiris@dlr.de\u003e\n\nSPDX-License-Identifier: Apache-2.0 --\u003e\n\n[![PyPI version](https://badge.fury.io/py/amirispy.svg)](https://badge.fury.io/py/amirispy)\n[![PyPI license](https://img.shields.io/pypi/l/amirispy.svg)](https://badge.fury.io/py/amirispy)\n[![pipeline status](https://gitlab.com/dlr-ve/esy/amiris/amiris-py/badges/main/pipeline.svg)](https://gitlab.com/dlr-ve/esy/amiris/amiris-py/commits/main)\n\n# AMIRIS-Py\n\nPython tools for the electricity market model [AMIRIS](https://dlr-ve.gitlab.io/esy/amiris/home/).\n\n## Installation\n\n    pip install amirispy\n\nYou may also use `pipx`. For detailed information please refer to the\nofficial `pipx` [documentation](https://github.com/pypa/pipx).\n\n    pipx install amirispy\n\n### Further Requirements\n\nIn order to execute all commands provided by `amirispy`, you also require a Java Development Kit (JDK).\nJDK must be installed and accessible via your console in which you run `amirispy`.\n\nTo test, run `java --version` which should show your JDK version (required: 11 or above).\nIf `java` command is not found or relates to a Java Runtime Environment (JRE), please download and install JDK (e.g. from [Adoptium](https://adoptium.net/de/temurin/releases/?version=17))\n\n## Usage\n\nCurrently, there are three distinct commands available:\n\n- `amiris download`: download the latest versions of [AMIRIS](https://gitlab.com/dlr-ve/esy/amiris/amiris) and [examples](https://gitlab.com/dlr-ve/esy/amiris/examples) files\n- `amiris run`: perform a full workflow by compiling the `.pb` file from your `scenario.yaml`, executing AMIRIS, and extracting the results\n- `amiris batch`: perform multiple runs, each with scenario compilation, AMIRIS execution, and results extraction\n- `amiris comparison`: compare the results of two different AMIRIS runs to check their equivalence\n\nYou may also use the arguments as a list of strings in your script directly, e.g.\n\n```python\nfrom amirispy.scripts import amiris_cli\n\namiris_cli([\"download\", \"-m\", \"model\"])\n```\n\n### `amiris download`\n\nDownloads and extracts the latest open access AMIRIS instance and accompanying examples.\n\n| Option             | Provides                                                                                                                                                     |\n|--------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `-u` or `--url`    | URL to download AMIRIS from (default: latest AMIRIS artifact from [https://gitlab.com/dlr-ve/esy/amiris/amiris](https://gitlab.com/dlr-ve/esy/amiris/amiris) |\n| `-t` or `--target` | Folder to download `amiris-core_\u003cversion\u003e-jar-with-dependencies.jar` to (default: `./`)                                                                      |\n| `-f` or `--force`  | Force download which may overwrites existing AMIRIS installation of same version and existing examples (default: False)                                      |\n| `-m` or `--mode`   | Option to download model and examples `all` (default), only `model`, or only `examples`                                                                      |\n\n### `amiris run`\n\nCompile scenario, execute AMIRIS, and extract results.\n\n| Option                      | Provides                                                                                                                                                          |\n|-----------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `-s` or `--scenario`        | Path to a scenario yaml-file                                                                                                                                      |\n| `-j` or `--jar`             | Path to `amiris-core_\u003cversion\u003e-jar-with-dependencies.jar`, defaults to a single \"amiris*.jar\"-file in current working directory                                   |\n| `-o` or `--output`          | Directory to write output to, defaults to \"./result\"                                                                                                              |\n| `-oo` or `--output-options` | Optional arguments to override default output [conversion arguments of fameio](https://fame-framework.gitlab.io/fame-io/usage/convert.html#extracting-fame-output-binaries) |\n| `-nc` or `--no-checks`      | Skip checks for Java installation and correct version to increase speed                                                                                           |\n\n#### Bug in argparse\n\n:warning: If you provide but a single flag to `--output-option`, you may get a crash as there is a [bug](https://bugs.python.org/issue9334) in the `argparse` library which will not be fixed.\nWe recommend these workarounds:\n\n* provide additional parameters, e.g. for the log level: change `-oo \"-m\"` to `-oo \"-m -l critical\"`, or\n* add a space after the single flag: change `-oo \"-m\"` to `-oo \"-m \"`\n\n#### Calling AMIRIS from your own script using `amiris_cli`\n\nIf you happen to run AMIRIS in your own script by importing `amiris_cli`, this is an example of how to use it.\n\n```python\nfrom amirispy.scripts import amiris_cli\n\ncommands = [\n    \"-l\", \"critical\",\n    \"run\",\n    \"-j\", \"amiris-core_3.4.0-jar-with-dependencies.jar\",\n    \"-s\", \"examples/Germany2019/scenario.yaml\",\n    \"-oo\", \"-m \",\n]\n\namiris_cli(commands)\n```\n\n:warning: Similar to the command-line call you need to work around the argparse bug when using `--output-option` with a single flag only.\nThus, the extra space in statement `\"-oo\", \"-m \"` is intended - see explanation above.\n\n### `amiris batch`\n\nPerform multiple runs - each with scenario compilation, AMIRIS execution, and results extraction\n\n| Option                      | Provides                                                                                                                                                          |\n|-----------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `-s` or `--scenarios`       | Path to single or list of: scenario yaml-files or their enclosing directories                                                                                     |\n| `-j` or `--jar`             | Path to `amiris-core_\u003cversion\u003e-jar-with-dependencies.jar`, defaults to a single \"amiris*.jar\"-file in current working directory                                   |\n| `-o` or `--output`          | Directory to write output to \"./result\"                                                                                                                           |\n| `-r` or `--recursive`       | Option to recursively search in provided Path for scenario (default: False)                                                                                       |\n| `-p` or `--pattern`         | Optional name pattern that scenario files searched for must match                                                                                                 |\n| `-oo` or `--output-options` | Optional arguments to override default output [conversion arguments of fameio](https://gitlab.com/fame-framework/fame-io/-/blob/main/README.md#read-fame-results) |\n| `-nc` or `--no-checks`      | Skip checks for Java installation and correct version to increase speed                                                                                           |\n\nSee description of `amiris run` for details on the issues with the  `-oo` option.\n\n### `amiris compare`\n\nCompare if results of two AMIRIS runs and equivalent.\n\n| Option               | Provides                                                           |\n|----------------------|--------------------------------------------------------------------|\n| `-e` or `--expected` | Path to folder with expected result .csv files                     |\n| `-t` or `--test`     | Path to folder with results files (.csv) to test  for equivalence  |\n| `-i` or `--ignore`   | Optional list of file names not to be compared                     |\n\n### Help\n\nYou reach the help menu at any point using `-h` or `--help` which gives you a list of all available options, e.g.:\n\n`amiris --help`\n\n### Logging\n\nYou may define a logging level or optional log file as **first** arguments in your workflow using any of the following\narguments:\n\n| Option               | Provides                                                                                                 |\n|----------------------|----------------------------------------------------------------------------------------------------------|\n| `-l` or `--log`      | logging level, defaults to `error`; options are `debug`, `info`, `warning`, `warn`, `error`, `critical`. |\n| `-lf` or `--logfile` | path to log file, defaults to `None`; if `None` is provided, all logs get only printed to the console.   |\n\nExample: `amiris --log debug --logfile my/log/file.txt download`\n\n## Cite AMIRIS-Py\n\nIf you use AMIRIS-Py for academic work, please cite:\n\nChristoph Schimeczek, Kristina Nienhaus, Ulrich Frey, Evelyn Sperber, Seyedfarzad Sarfarazi, Felix Nitsch, Johannes Kochems \u0026 A. Achraf El Ghazi (2023).\nAMIRIS: Agent-based Market model for the Investigation of Renewable and Integrated energy Systems.\nJournal of Open Source Software. doi: [10.21105/joss.05041](https://doi.org/10.21105/joss.05041)\n\n## Contributing\n\nPlease see [CONTRIBUTING](CONTRIBUTING.md).\n\n## Available Support\n\nThis is a purely scientific project by (at the moment) one research group.\nThus, there is no paid technical support available.\n\nIf you experience any trouble with AMIRIS, you may contact the developers at the [openMod-Forum](https://forum.openmod.org/tag/amiris) or via [amiris@dlr.de](mailto:amiris@dlr.de).\nPlease report bugs and make feature requests by filing issues following the provided templates (see also [CONTRIBUTING](CONTRIBUTING.md)).\nFor substantial enhancements, we recommend that you contact us via [amiris@dlr.de](mailto:amiris@dlr.de) for working together on the code in common projects or towards common publications and thus further develop AMIRIS.\n\n## Acknowledgement\n\nWork on AMIRIS-Py was financed by the Helmholtz Association's Energy System Design research programme.\n","funding_links":[],"readme_doi_urls":["https://doi.org/10.21105/joss.05041"],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["FAME","agent-based-modeling","electricity market modelling","energy transition"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/45967","html_url":"https://ost.ecosyste.ms/projects/45967"}