Plot VCDS CSV data with Matplotlib – a small, testable CLI tool.
Project description
VCDS‑Plotter
Visualise raw CSV logs from a Volkswagen Car‑Diagnostic System (VCDS) with a single command.
vcds-plotter is a lightweight Python package that turns the raw CSV files produced by VCDS into clear, multi‑series plots.
It is intentionally simple: no GUI, no heavy dependencies – just matplotlib and the standard library.
If you’re a developer or power‑user, checkout the contributing guide – the code is small and welcoming.
📖 Table of Contents
| Section | Description |
|---|---|
| Features | What the tool can do |
| Installation | How to get it running |
| Configuration | Where VCDS logs are expected |
| Usage | Quick start and advanced options |
| Examples | Real‑world command snippets |
| Troubleshooting | Common issues & fixes |
| Development | Build, test, lint |
| Contributing | How to help |
| License | Legal stuff |
✨ Features
- Fast, zero‑config plotting – a single command shows the newest log or a file you pick.
- Fine‑grained metric selection – include / exclude specific measurements.
- Custom groups – plot a subset of metrics in their own figure with a title you choose.
- Unit‑based grouping – automatically split metrics by unit (e.g.,
km/h,%) into separate figures. - Convenience helpers – list all available metrics or CSV files with a flag.
📦 Installation
# From PyPI (recommended)
pip install vcds-plotter
The console script is installed as
vcds‑plot.
See the help output for all options:
vcds-plot --help
From source
If you want to tweak the code or run tests:
git clone https://github.com/yourorg/vcds-plotter.git
cd vcds-plotter
# Create a virtual environment (recommended)
python -m venv .venv
source .venv/bin/activate # Windows: .\.venv\Scripts\activate
# Install dev dependencies
pip install -e ".[dev]"
⚙️ Configuration
The package expects VCDS logs to live in a directory called logs/ relative to the current working directory.
You can change this by editing the LOGS_DIR constant in vcds_plotter/config.py or, if you prefer, set the environment variable VCDS_LOGS_DIR before running.
# vcds_plotter/config.py
LOGS_DIR = Path(os.getenv("VCDS_LOGS_DIR", "logs")).resolve()
🚀 Usage
1️⃣ Basic plot – newest file, grouped by unit
vcds-plot --group-by-unit
2️⃣ Select specific metrics
vcds-plot --metric Motordrehzahl,Temperatur --exclude SensorX
--metric– comma‑separated list of measurements to include.--exclude– measurements to skip (useful for noisy sensors).
3️⃣ Custom groups
vcds-plot --group "Engine & temp=Motordrehzahl,Temperatur"
--groupaccepts one or moreNAME=METRICSpairs.
Each group gets its own figure titled withNAME.
4️⃣ Explicit file
vcds-plot --file /path/to/log_2023-09-12.csv
5️⃣ Listing helpers
# List all CSV files in the logs directory
vcds-plot --list-files
# Show every measurement name available in a file
vcds-plot --list-metrics --file /path/to/file.csv
🛠️ Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
No CSV file found in logs/ |
The logs/ directory is missing or empty. |
Create the folder and copy VCDS logs into it, or set VCDS_LOGS_DIR. |
No metrics left after applying filters. |
The filter lists are empty or exclude all available metrics. | Double‑check the metric names (case‑sensitive) and try without --exclude. |
| Plot window freezes | Very large CSV file or too many metrics. | Use --exclude to trim, or plot in groups (--group-by-unit). |
| Matplotlib errors | Outdated matplotlib or missing backend. |
Upgrade: pip install --upgrade matplotlib. |
🤝 Contributing
We welcome issues, pull requests, and suggestions!
Please read the CONTRIBUTING.md for details on how to set up a dev environment, run tests, and follow our coding style.
📄 License
MIT © Supporterino
See the LICENSE file for details.
Happy plotting! 🚗💨
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vcds_plotter-0.4.0.tar.gz.
File metadata
- Download URL: vcds_plotter-0.4.0.tar.gz
- Upload date:
- Size: 9.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da4281c53dda4d0a271520dcf46efb5f0d2a10a9d4b1fee7d4c9990124bbdbb3
|
|
| MD5 |
b8422da12d22b52f30a501b794f85c1b
|
|
| BLAKE2b-256 |
4b30269d259e462580095e7abcb5b91bd15cd319e00158a036585757445d2347
|
File details
Details for the file vcds_plotter-0.4.0-py3-none-any.whl.
File metadata
- Download URL: vcds_plotter-0.4.0-py3-none-any.whl
- Upload date:
- Size: 9.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f8e87ee7011a8019241ec6a458b967ec6a5bf3c469f2ec830d71d7753d9e6eaf
|
|
| MD5 |
f8807a9bf70628fafdb966edd70e38bd
|
|
| BLAKE2b-256 |
2b6faeec771e7f200332593066605a52e51b6395a24139ad2c30fc4a47cbc92c
|