This commit is an initial draft at fixing #147. The error is due to the
fact that pyo3 has linked the libpython from the compilation and not
trying to use libpython that is available in `LD_LIBRARY_PATH`.
The current only solution to disable the linking is to use the `extension-module` flag.
This requires to make the python `runtime-node` packaged in a python library.
The python `runtime-node` should also be fully compatible with the other operators in case we want hybrid runtime.
The issue that i'm facing is that. Due to the packaging, I have to deal with the `GIL` that is present from the start of
`dora-runtime` node. This however makes the process single threaded wich is impossible.
So, I have to disable it, but when I do, I have a race condition:
```bash
Exception ignored in: <module 'threading' from '/usr/lib/python3.8/threading.py'>
Traceback (most recent call last):
File "/usr/lib/python3.8/threading.py", line 1373, in _shutdown
assert tlock.locked()
AssertionError:
```
The issue is the same as https://github.com/PyO3/pyo3/issues/1274
To fix this issue, I'm going to look again at the different step to make this work.
But this is my current investigation.
* Changing `drop_operator` to `__del__` in `python.rs`
Using the default python destructor function for dora operator simplify
the usability of dora as user does not have to learn as many custom
methods.
This also creates a symmetry with __init__ and reduce the risk of
errors if drop_operator is not present or misspelled.
It also enables the usability of dora operator outside of dora ( for
testing dor example ) and let it be naturally garbage collected.
* fixing clippy and add comments
* fix formatting
* add opentelemetry feature to python op
* modify `python-dataflow` to test opentelemetry
* change `timer` topic to `tick`
* adding tracing to `shared_libraries`
* example install refactoring
* Rename `input` to `dora_input` for python ex