A monorepo for electric vehicle fleet management research, including Python and Julia packages for optimization algorithms, data processing, and simulation tools.
Open-EV-Fleet is a research repository focused on developing and comparing optimization algorithms for electric vehicle fleet management. The repository contains:
- Python and Julia packages for various simulation and optimization (MILP, Heuristic) algorithms
- Data processing tools for different input formats (DIVA, VDV452)
- Simulation frameworks for evaluating algorithm performance
- Example analyses and tutorials
The project is part of the Energy Research Center at FHV (University of Applied Sciences Vorarlberg) and related to the EBusCharge and FreeE-Bus projects.
- Multiple optimization algorithms:
- Mixed Integer Linear Programming (MILP)
- Heuristic approaches
- Simulation algorithms (Vehicle-Greedy/Lazy/..., Infra-FCFS/Lazy/LB)
- Support for various charging scenarios:
- Depot- and Opportunity Charging
- Centralized and distributed charging infrastructure
- Flexible schedules (Daily, weekly, ...)
- Data processing pipelines:
- VDV452 and DIVA data conversion
- API integration:
- MQTT protocol support
- REST API capabilities
- Comprehensive documentation:
- Code documentation
- Example analyses
- Tutorials
- Modern development workflow:
- UV for Python package management
- Pre-commit hooks for code quality
- GitLab CI pipeline
- GitHub Actions CI pipeline
This repository's developer documentation is split into focused pages under
docs/developer/. Use the pages below for setup, development, and
maintenance tasks.
- Installation (per-machine)
- Setup (per-repo)
- Development (contributor workflow)
- Testing (test & CI)
- Maintenance (updates & tooling)
- Monorepo / uv workspaces
Minimal commands that get a developer from zero to a working repository on a machine (full commands shown for PowerShell (pwsh) and bash). These are the explicit, copyable commands we recommend to run in order.
Run these commands to verify required tools are available on your machine. All commands are valid in PowerShell (pwsh) and POSIX shells (bash).
Terminal (pwsh / bash):
# Check Git -> if fails, install Git
git --version
# Check UV -> if fails, see Installation section
uv --version
# Check pre-commit -> if fails, see Installation section
pre-commit --versionRun these commands to get a working environment and hooks.
Terminal (pwsh / bash):
# Clone repository
git clone <git@gitlab.it.fhv.at:group/open-ev-fleet.git>
cd open-ev-fleet
# Sync environment
uv sync --all-groups --all-extras
# Install pre-commit hooks
pre-commit install
# Run pre-commit hooks to verify setup
pre-commit run --all-files
pre-commit run --all-files --hook-stage pre-pushFor detailed instructions, pick the relevant page above.
This project is licensed under the MIT License with Citation Requirement. See the LICENSE file for details.
If you use this software in a scientific publication, please cite it as:
K. Kaspar, D. Bauer, K. Rheinberger et al, Open-EV-Fleet, 2025, GitHub repository, https://github.com/erc-fhv/open-ev-fleet.
For more information on how to cite this software, please refer to the CITATION.cff file in the repository. The CITATION.cff file follows the Citation File Format (CFF) standard, which provides a machine-readable way to describe how to cite software projects.
We would like to acknowledge the support from the Energy Research Centre at FHV and the related projects EBusCharge and FreeE-Bus. Special thanks to all contributors who have helped shape these projects.
-
EBusCharge:
-
FreeE-Bus: