ecu-tests/ecu_framework/__init__.py
Hosam-Eldin Mostafa de9ccacd1a build(framework): make ecu-framework pip-installable
- Add pyproject.toml (hatchling backend, version 0.1.0, name ecu-framework).
  Runtime deps split out from requirements.txt; test extras and the
  Melexis-transitive bundle are opt-in.
- Add CHANGELOG.md (Keep-A-Changelog format), seeding [Unreleased] with the
  installable shift and a [0.1.0] entry for the existing baseline.
- ecu_framework/__init__.py: resolve __version__ from importlib.metadata
  with a "0.0.0+local" fallback for source checkouts. Add power and
  flashing to __all__ and the docstring (previously stale).
- Drop per-subpackage __version__ from lin/ and power/. A single
  pyproject.toml version is the source of truth; subpackage-level
  __version__ strings drift and nothing consumed them.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 19:42:20 +02:00

28 lines
747 B
Python

"""
ECU Tests framework package.
Provides:
- config: YAML configuration loader and types
- lin: LIN interface abstraction and adapters (mock, MUM, and the deprecated BabyLIN)
- power: Owon PSU control and cross-platform serial-port resolution
- flashing: UDS-over-LIN ECU programming scaffold (HexFlasher)
Package version is exposed as __version__.
"""
__all__ = [
"config",
"lin",
"power",
"flashing",
]
from importlib.metadata import PackageNotFoundError, version as _pkg_version
try:
__version__ = _pkg_version("ecu-framework")
except PackageNotFoundError:
# Running from a source checkout without `pip install -e .`
__version__ = "0.0.0+local"
del PackageNotFoundError, _pkg_version