Name | eflips-eval JSON |
Version |
1.5.6
JSON |
| download |
home_page | None |
Summary | None |
upload_time | 2024-12-11 13:02:04 |
maintainer | None |
docs_url | None |
author | Ludger Heide |
requires_python | <4.0,>=3.10 |
license | None |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
[![Unit Tests](https://github.com/mpm-tu-berlin/eflips-eval/actions/workflows/unittests.yml/badge.svg)](https://github.com/mpm-tu-berlin/eflips-eval/actions/workflows/unittests.yml)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
# eflips-eval
---
Part of the [eFLIPS/simBA](https://github.com/stars/ludgerheide/lists/ebus2030) list of projects.
---
This repository contains code to evaluate an eflips/simBA simulation. It provides the `eflips.eval`package, which
contains functions to prepare (database -> pandas DataFrame) and visualize (pandas DataFrame -> plotly) simulation results.
It is organized hierarchically as follows:
- `eflips.eval.input` contains functions to prepare and visualize simulation input data. That means it does not access
any data from the `Event` or `Vehicle` classes.
- `eflips.eval.output` contains functions to prepare and visualize simulation output data. That means these functions
all access the `Event` or `Vehicle` classes.
- within each package, there is a `prepare` and a `visualize` module. The `prepare` module contains functions to prepare
the data, the `visualize` module contains functions to visualize the data. The functions must conform tp a naming
convention, in which for the `eflips.eval.input.preapre.foo()`, there must also exist a
`eflips.eval.input.visualize.foo()` method and vice versa. However, when the exact same data can be visualized in
multiple ways, there can also be a `eflips.eval.input.visualize.foo_scatter()` and a
`eflips.eval.input.visualize.foo_hist()` method.
- the signature of a `prepare` method is always `prepare(identifier(s), session) -> pd.DataFrame`, where `identifier(s)`
is a single or tuple of `int`s identifying a specific database object and `session` is a
`sqlalchemy.orm.session.Session` object that is used to access the database.
- the signature of a `visualize` method is always `visualize(df: pd.DataFrame, **kwargs) -> plotly.graph_objects.Figure`,
where `df` is the DataFrame that is to be visualized and `kwargs` are additional arguments that can be used to
customize the visualization. it does however create a legend (if necessary) and sets axis labels.
- a visualize function does not make assumptions about the size of the viewport and does not set the title of the plot.
- The resulting plots should be in english, with proper names (e.g. "Distance [km]" instead of `total_dist`) for the
values that would be shown to the user.
## Installation
**TODO**
## Usage
**TODO**
## Testing
**TODO**
### Documentation
The documentation is generated using [sphinx](https://www.sphinx-doc.org/en/master/). To generate the documentation,
execute the following command in the root directory of the repository:
```bash
sphinx-build doc/ doc/_build -W
```
### Development
We utilize the [GitHub Flow](https://docs.github.com/get-started/quickstart/github-flow) branching structure. This means that the `main` branch is always deployable and that all development happens in feature branches. The feature branches are merged into `main` via pull requests. We utilize the [semantic versioning](https://semver.org/) scheme for versioning.
Dependencies are managed using [poetry](https://python-poetry.org/). To install the dependencies, execute the following command in the root directory of the repository:
```bash
poetry install
```
We use black for code formatting. You can use `black .` to format the code.
We use [MyPy](https://mypy.readthedocs.io/en/stable/) for static type checking. You can
use ` mypy --strict --explicit-package-bases eflips/` to run MyPy on the code.
Please make sure that your `poetry.lock` and `pyproject.toml` files are consistent before committing. You can use `poetry check` to check this. This is also checked by pre-commit.
You can use [pre-commit](https://pre-commit.com/) to ensure that MyPy, Black, and Poetry are run before committing. To
install pre-commit, execute the following command in the root directory of the repository:
We recommend utilizing linters such as [PyLint](https://pylint.readthedocs.io/en/latest/index.html) for static code
analysis (but not doing everything it says blindly).
## Usage Example
In [examples](examples/) an example script can be found that generates a report.
## License
This project is licensed under the AGPLv3 license - see the [LICENSE](LICENSE.md) file for details.
## Funding Notice
This code was developed as part of the project [eBus2030+](https://www.eflip.de/) funded by the Federal German Ministry for Digital and Transport (BMDV) under grant number 03EMF0402.
Raw data
{
"_id": null,
"home_page": null,
"name": "eflips-eval",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": null,
"author": "Ludger Heide",
"author_email": "ludger.heide@lhtechnologies.de",
"download_url": "https://files.pythonhosted.org/packages/fe/fc/fd924c9533a7463a3531fbb44f37bd4da586e1f0044a1a83ba55751d1e79/eflips_eval-1.5.6.tar.gz",
"platform": null,
"description": "[![Unit Tests](https://github.com/mpm-tu-berlin/eflips-eval/actions/workflows/unittests.yml/badge.svg)](https://github.com/mpm-tu-berlin/eflips-eval/actions/workflows/unittests.yml) \n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n\n# eflips-eval\n\n---\n\nPart of the [eFLIPS/simBA](https://github.com/stars/ludgerheide/lists/ebus2030) list of projects.\n\n---\n\n\nThis repository contains code to evaluate an eflips/simBA simulation. It provides the `eflips.eval`package, which\ncontains functions to prepare (database -> pandas DataFrame) and visualize (pandas DataFrame -> plotly) simulation results.\n\nIt is organized hierarchically as follows:\n- `eflips.eval.input` contains functions to prepare and visualize simulation input data. That means it does not access\n any data from the `Event` or `Vehicle` classes.\n- `eflips.eval.output` contains functions to prepare and visualize simulation output data. That means these functions \n all access the `Event` or `Vehicle` classes.\n- within each package, there is a `prepare` and a `visualize` module. The `prepare` module contains functions to prepare\n the data, the `visualize` module contains functions to visualize the data. The functions must conform tp a naming\n convention, in which for the `eflips.eval.input.preapre.foo()`, there must also exist a\n `eflips.eval.input.visualize.foo()` method and vice versa. However, when the exact same data can be visualized in \n multiple ways, there can also be a `eflips.eval.input.visualize.foo_scatter()` and a \n `eflips.eval.input.visualize.foo_hist()` method.\n- the signature of a `prepare` method is always `prepare(identifier(s), session) -> pd.DataFrame`, where `identifier(s)`\n is a single or tuple of `int`s identifying a specific database object and `session` is a \n `sqlalchemy.orm.session.Session` object that is used to access the database.\n- the signature of a `visualize` method is always `visualize(df: pd.DataFrame, **kwargs) -> plotly.graph_objects.Figure`,\n where `df` is the DataFrame that is to be visualized and `kwargs` are additional arguments that can be used to\n customize the visualization. it does however create a legend (if necessary) and sets axis labels.\n- a visualize function does not make assumptions about the size of the viewport and does not set the title of the plot.\n- The resulting plots should be in english, with proper names (e.g. \"Distance [km]\" instead of `total_dist`) for the\n values that would be shown to the user.\n\n## Installation\n\n**TODO**\n\n## Usage\n\n**TODO**\n\n## Testing\n\n**TODO**\n\n### Documentation\n\nThe documentation is generated using [sphinx](https://www.sphinx-doc.org/en/master/). To generate the documentation,\nexecute the following command in the root directory of the repository:\n\n```bash\nsphinx-build doc/ doc/_build -W\n```\n\n### Development\n\nWe utilize the [GitHub Flow](https://docs.github.com/get-started/quickstart/github-flow) branching structure. This means that the `main` branch is always deployable and that all development happens in feature branches. The feature branches are merged into `main` via pull requests. We utilize the [semantic versioning](https://semver.org/) scheme for versioning.\n\nDependencies are managed using [poetry](https://python-poetry.org/). To install the dependencies, execute the following command in the root directory of the repository:\n\n```bash\npoetry install\n```\n\nWe use black for code formatting. You can use `black .` to format the code.\n\nWe use [MyPy](https://mypy.readthedocs.io/en/stable/) for static type checking. You can\nuse ` mypy --strict --explicit-package-bases eflips/` to run MyPy on the code.\n\nPlease make sure that your `poetry.lock` and `pyproject.toml` files are consistent before committing. You can use `poetry check` to check this. This is also checked by pre-commit.\n\nYou can use [pre-commit](https://pre-commit.com/) to ensure that MyPy, Black, and Poetry are run before committing. To\ninstall pre-commit, execute the following command in the root directory of the repository:\n\nWe recommend utilizing linters such as [PyLint](https://pylint.readthedocs.io/en/latest/index.html) for static code\nanalysis (but not doing everything it says blindly).\n\n## Usage Example\n\nIn [examples](examples/) an example script can be found that generates a report.\n\n## License\n\nThis project is licensed under the AGPLv3 license - see the [LICENSE](LICENSE.md) file for details.\n\n## Funding Notice\n\nThis code was developed as part of the project [eBus2030+](https://www.eflip.de/) funded by the Federal German Ministry for Digital and Transport (BMDV) under grant number 03EMF0402.\n\n\n\n",
"bugtrack_url": null,
"license": null,
"summary": null,
"version": "1.5.6",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "9e24a014ec17e1f0ebba50bdc20f6b3b9fe1f60c0d7366aa43b43a66cfdc29be",
"md5": "940dd0515513a499e52094dbdaf7b7e3",
"sha256": "41c96521d9d87e705ac542d506e8e9ecc6fe5b04d4282215d1d6e4f56b3ccc49"
},
"downloads": -1,
"filename": "eflips_eval-1.5.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "940dd0515513a499e52094dbdaf7b7e3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 43068,
"upload_time": "2024-12-11T13:02:02",
"upload_time_iso_8601": "2024-12-11T13:02:02.461478Z",
"url": "https://files.pythonhosted.org/packages/9e/24/a014ec17e1f0ebba50bdc20f6b3b9fe1f60c0d7366aa43b43a66cfdc29be/eflips_eval-1.5.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "fefcfd924c9533a7463a3531fbb44f37bd4da586e1f0044a1a83ba55751d1e79",
"md5": "0f3c18001d3df876bc0ab715d94ed525",
"sha256": "9c8e667299f347ee4f40484884908184433ffeef2534da6fb0806f2c9c5d3742"
},
"downloads": -1,
"filename": "eflips_eval-1.5.6.tar.gz",
"has_sig": false,
"md5_digest": "0f3c18001d3df876bc0ab715d94ed525",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 29241,
"upload_time": "2024-12-11T13:02:04",
"upload_time_iso_8601": "2024-12-11T13:02:04.007769Z",
"url": "https://files.pythonhosted.org/packages/fe/fc/fd924c9533a7463a3531fbb44f37bd4da586e1f0044a1a83ba55751d1e79/eflips_eval-1.5.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-11 13:02:04",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "eflips-eval"
}