Repository navigation
Ponytail audit — deleted 4 files, ~103 lines removed. Module-level global replaced with constructor kwarg.
Removed
set_mode()/get_mode()— global module-level mode switch deleted. Replaced byBoard(backend="pyfirmata2"|"pyserial")constructor kwarg. Default remainspyfirmata2.megawrapper/version.py— version now sourced fromimportlib.metadata.version("megawrapper").megawrapper/utils.py—delay()andmillis()moved inline into__init__.py.examples/tank_drive.py— removed (9 → 8 examples).tests/test_exceptions.py— duplicated coverage.
Changed
Board.__init__(port, stby, backend="pyfirmata2")— backend kwarg replacesset_mode().Board.__repr__simplified withgetattrinstead of mode branching.motor.py—forward()/backward()callself.set_speed(speed).servo.py—_validate_and_clamp_angleremoved; angle clamping inlined.sensor.py— I2C init deduplicated into_default_i2c()helper.__init__.py—delay()/millis()inline via stdlibtime; version viaimportlib.metadata.- All docs (README, CHANGELOG, wiki, AGENTS) updated for new API.
Notes
- 91 tests total (90 passing, 1 pre-existing env-related skip).
- Net: ~103 source lines removed, 4 files deleted.