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

21 lines
697 B
Python

"""
LIN interface package.
Exports:
- LinInterface, LinFrame: core abstraction and frame type
- MockBabyLinInterface: mock implementation for fast, hardware-free tests
(the ``BabyLin`` part of the name is historical; the mock is interface-agnostic)
Real hardware adapters live in their own modules and are imported by the
fixture only when selected by config:
- mum.MumLinInterface (current; needs Melexis pylin + pymumclient)
- babylin.BabyLinInterface (DEPRECATED; needs the BabyLIN SDK + native libs)
"""
from .base import LinInterface, LinFrame
from .mock import MockBabyLinInterface
__all__ = [
"LinInterface",
"LinFrame",
"MockBabyLinInterface",
]