- 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>
28 lines
747 B
Python
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
|