Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Loosen OpenTelemetry dependency version constraint #216

Merged

Conversation

janhicken
Copy link
Contributor

@janhicken janhicken commented May 22, 2024

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.

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 such, the dependency constraints for the OpenTelemetry OTLP exporters
have been loosened to allow minor version upgrades.
@simonharrer
Copy link
Contributor

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

Soda requires the `distutils` module. As this has been removed with
Python 3.12, `setuptools` is required as a drop-in replacement.
@janhicken
Copy link
Contributor Author

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
Copy link

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

@jochenchrist
Copy link
Contributor

I opened a ticket for soda: sodadata/soda-core#2091

@jochenchrist jochenchrist merged commit 5017f5c into datacontract:main May 27, 2024
3 checks passed
@jochenchrist
Copy link
Contributor

Thank you for your contribution!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants