Skip to content

Repository files navigation

Open-EV-Fleet

License: MIT GitLab CI Coverage (GitLab) Pre-commit GitHub Mirror GitHub Actions

A monorepo for electric vehicle fleet management research, including Python and Julia packages for optimization algorithms, data processing, and simulation tools.

Table of Contents

Description

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.

Features

  • 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

Development

This repository's developer documentation is split into focused pages under docs/developer/. Use the pages below for setup, development, and maintenance tasks.

Quick links

Quick start

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.

Prerequisites for Quick Start

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 --version

Quick Start Setup

Run 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-push

For detailed instructions, pick the relevant page above.

License

This project is licensed under the MIT License with Citation Requirement. See the LICENSE file for details.

Citation

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.

Acknowledgments

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.

About

A monorepo for electric vehicle fleet management research, including Python and Julia packages for optimization algorithms, data processing, and simulation tools.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages