Skip to main content

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:

✨ 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

doip_server-0.1.0.tar.gz (14.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

doip_server-0.1.0-py3-none-any.whl (15.4 kB view details)

Uploaded Python 3

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

Hashes for doip_server-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5e6c7a1a62272c2390cd42cfd1adefebfaa22182efa3767096a437c9d946fcb2
MD5 a1d657d453636aaf0a4064749113801d
BLAKE2b-256 09c33dea3496d03723bbb98c056f9ad26ec9a1f7751cfc07489dfc649bc9437e

See more details on using hashes here.

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

Hashes for doip_server-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a8a98499d224dfb31e475b92c6207cda51945a8e79367e81ba9e6f1a731c633c
MD5 e680fc46045eee4b11e5c38a74a9d584
BLAKE2b-256 e6a567d6b0e3471d77a202b96b3964734bfa195905db148b7834c5bf8d7c030a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page