datacontract / datacontract-cli

CLI to manage your datacontract.yaml files
https://cli.datacontract.com
Other
353 stars 60 forks source link

Loosen OpenTelemetry dependency version constraint #216

Closed janhicken closed 1 month ago

janhicken commented 1 month ago

When using the datacontract-cli as a library dependency, OpenTelemetry may well be already a dependency of the dependee. The previous dependency constraint allowed only other patch versions of OpenTelemetry to be used. However, other minor versions should also be compatible as of OpenTelemetry's stability guarantees.

As such, the dependency constraints for the OpenTelemetry OTLP exporters have been loosened to allow minor version upgrades.

simonharrer commented 1 month ago

The tests are failing. There seems to be an issue with Soda and their open telemetry.

janhicken commented 1 month ago

I did some investigation:

The deprecated distutils module has been removed in Python 3.12.

Soda is still using it in soda.telemetry.soda_telemetry.py:

from distutils.util import strtobool

As it so happens, older versions of the OpenTelemetry SDK had a dependency to setuptools, which provides a drop-in replacement for distutils. As such, this issue never surfaced.

Newer versions of OpenTelemetry no longer have the setuptools dependency, so after the update, we're missing the distutils module.

Actually, I think Soda should fix this issue upstream. However, I've added a dependency to setuptools in here as a workaround.

nigulable commented 1 month ago

Is there smth that is blocking the merge? we are also waiting for this change. Thx

jochenchrist commented 1 month ago

I opened a ticket for soda: https://github.com/sodadata/soda-core/issues/2091

jochenchrist commented 1 month ago

Thank you for your contribution!