Follow the progress of project initialization here:  PLC4X-232 - Getting issue details... STATUS


1) PYTHON PACKAGING AND DEPENDENCY MANAGEMENT →  https://python-poetry.org/ 

→ use the virtual-env generated by poetry

2) PLC4X-251 - Getting issue details... STATUS

DRIVER REGISTRATION, DISCOVERY, LOADING →

Python does not have the service provider API like java for loading drivers, but setup tools does support declarative methods to register plugins.

Along with the pluggy project, this will give the ability to load drivers as plugins.
This is also supported by poetry.
This will allow 3rd parties to provide driver support ( or other extensions should we want to support them ) just through their installations.

We will need a follow on to document writing an external package and supporting this.

 https://pluggy.readthedocs.io/en/latest/

https://dev.to/demianbrecht/entry-points-in-python-34i3
https://docs.pytest.org/en/latest/writing_plugins.html#pip-installable-plugins
https://python-poetry.org/docs/pyproject/#plugins


3) Maven Integration

PLC4X-237 - Getting issue details... STATUS

PLC4X-268 - Getting issue details... STATUS  Add Makefile for Poetry integration into CI Pipeline.


PyCharm Settings:

4) Start programming

4.1) build the plc4py-template,

4.2) build plc4py

This helps you think about the strucutre of the code you produce ... a different approach would be to take some simple types and to hand-port them to python ... as soon as you're happy with them, you convert them into a template.


  • No labels