[dts] [PATCH v3] python: standard project structure

Tu, Lijuan lijuan.tu at intel.com
Thu Sep 16 04:33:02 CEST 2021


Hi Juraj,

Could you please kindly generate v4 based on latest DTS main branch.
Intel is trying to test it ,but found a lot of conflict, and it's not easy to fix them one by one.



> -----Original Message-----
> From: Juraj Linkeš <juraj.linkes at pantheon.tech>
> Sent: 2021年9月10日 21:42
> To: Tu, Lijuan <lijuan.tu at intel.com>; ohilyard at iol.unh.edu
> Cc: dts at dpdk.org; Juraj Linkeš <juraj.linkes at pantheon.tech>
> Subject: [PATCH v3] python: standard project structure
> 
> DTS does not use the standard project structure and therefore has to add
> paths to python interpreter search paths. Move to a standard structure:
> * Move main.py to the root directory.
> * Add __init__.py to directories from which python modules are imported.
> * Adjust import paths to account for this new structure.
> 
> Moving to a standard structure has a host of positives, such as:
> * No need to study any non-standard approaches. This removes any
> bewilderment the developers may feel when encountering something
> non-standard without proper justification (as is the case with DTS).
> * Better integration with IDEs which rely on the standard structure.
> * More accurate results from automated tools.
> 
> In addition to this, not only adjust the import paths but make then
> explicit for modules imported from the same level, e.g. instead of using
> from foo import, use from .foo import (and import bar.foo as foo, where
> foo if on the same level as the importing module). This allows
> developers to separate DTS modules from third party modules at a glance.
> 
> Also sort the import using the isort tool. Add config using the "black"
> profile for isort to facilitate interoperability with Black.
> 
> Signed-off-by: Juraj Linkeš <juraj.linkes at pantheon.tech>
> ---
> v3: addressed dynamic imports, reverted Dot1BR import in packet.py and
> made dynamic imports therein more readable.


More information about the dts mailing list