DoIP Server and Client implementation with YAML configuration
Project description
DoIP Server
A Python implementation of DoIP (Diagnostics over Internet Protocol) server and client with comprehensive YAML configuration management.
🚀 Quick Start
# Install dependencies
poetry install
# Run with hierarchical configuration
poetry run python src/doip_server/main.py --gateway-config config/gateway1.yaml
# Test UDP Vehicle Identification
python run_udp_client.py --verbose
# Test Functional Diagnostics (NEW!)
python test_functional_diagnostics.py
📚 Documentation
All documentation has been moved to the docs/ directory for better organization:
- 📖 Documentation Index - Complete documentation index
- 🚀 Getting Started - Detailed project overview and setup
- ⚙️ Configuration Guide - Hierarchical configuration system
- 🔧 Functional Diagnostics - Functional addressing and broadcast diagnostics
- 🧪 Test Results - Complete test results and analysis
✨ Key Features
- Hierarchical Configuration: Multi-file configuration system with dynamic ECU loading
- Response Cycling: Automatic cycling through multiple responses per UDS service
- Per-ECU Services: ECU-specific UDS service definitions
- Functional Diagnostics: Broadcast requests to multiple ECUs using functional addressing (NEW!)
- UDP Vehicle Identification: Network discovery via UDP broadcasts
- Comprehensive Testing: 99.5% test pass rate with full core functionality
🏗️ Architecture
config/
├── gateway1.yaml # Gateway network configuration
├── ecu_engine.yaml # Engine ECU configuration
├── ecu_transmission.yaml # Transmission ECU configuration
├── ecu_abs.yaml # ABS ECU configuration
└── uds_services.yaml # Common UDS services
📊 Test Status
- Unit Tests: 17/17 ✅ (100%)
- Hierarchical Config Tests: 21/21 ✅ (100%)
- Response Cycling Tests: 9/9 ✅ (100%)
- Legacy Integration Tests: 13/13 ✅ (100%)
- Client Extended Tests: 25/25 ✅ (100%)
- Main Module Tests: 12/12 ✅ (100%)
- Validate Config Tests: 15/15 ✅ (100%)
- Debug Client Tests: 30/30 ✅ (100%)
- Demo Tests: 5/6 ✅ (83% - 1 skipped)
- Overall: 185/186 tests passing (99.5% success rate)
🔧 Development
# Run tests
poetry run pytest tests/ -v
# Run specific test categories
poetry run pytest tests/test_doip_unit.py -v
poetry run pytest tests/test_hierarchical_configuration.py -v
poetry run pytest tests/test_response_cycling.py -v
📖 Documentation
For detailed documentation, see the docs/ directory or start with the Documentation Index.
For complete documentation and implementation details, see the docs/ directory.
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 doip_server-0.1.0.tar.gz.
File metadata
- Download URL: doip_server-0.1.0.tar.gz
- Upload date:
- Size: 14.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5e6c7a1a62272c2390cd42cfd1adefebfaa22182efa3767096a437c9d946fcb2
|
|
| MD5 |
a1d657d453636aaf0a4064749113801d
|
|
| BLAKE2b-256 |
09c33dea3496d03723bbb98c056f9ad26ec9a1f7751cfc07489dfc649bc9437e
|
File details
Details for the file doip_server-0.1.0-py3-none-any.whl.
File metadata
- Download URL: doip_server-0.1.0-py3-none-any.whl
- Upload date:
- Size: 15.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a8a98499d224dfb31e475b92c6207cda51945a8e79367e81ba9e6f1a731c633c
|
|
| MD5 |
e680fc46045eee4b11e5c38a74a9d584
|
|
| BLAKE2b-256 |
e6a567d6b0e3471d77a202b96b3964734bfa195905db148b7834c5bf8d7c030a
|