Skip to content
Conny Gustafsson edited this page Mar 19, 2024 · 9 revisions

This wiki is used to document the state and progress of Python AUTOSAR v0.5.

Background

The current code base of Python AUTOSAR has become stale and old. This initiative aims to rewrite it while making a number of design changes.

Key design changes

New element class hierarchy

  • Attempt to follow the AUTOSAR XML schema as much as possible.
  • Allowing kwargs in constructor methods drastically reduces the number of arguments needed.

Modern coding style

  • Snake-case naming on variables and method names (attempt to follow PEP8).
  • Modern type-hinting, this forces Python 3.10+.
  • Python Enum classes for enumeration types.

XML reading and writing

  • New element class hierarchy drastically reduces repetition (redundancy) in XML reader & writer implementations.

Unit testing

  • Unit tests reads and writes only the XML element under test. No more writing and matching entire ARXML files.

Project limitations

  • Support AUTOSAR classic platform only.
  • Support only newer AUTOSAR schema versions, starting with R21-11. Versions R20-11 and R22-11 might be added later on depending on complexity.
  • Don't support XML-based blueprints or variant handling of any kind. (Python AUTOSAR offers a more powerful alternative).

Roadmap

See the README file for the most up-to-date roadmap.

Supported Elements

The most up-to-date list of implemented elements is maintained in the CHANGELOG file.