chore: specify otlp http exporter dep #1295
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Important
Specify
opentelemetry-exporter-otlp-proto-httpdependency inpyproject.toml.opentelemetry-exporter-otlptoopentelemetry-exporter-otlp-proto-httpinpyproject.tomlto specify the HTTP protocol version.This description was created by
for 236de15. You can customize this summary. It will automatically update as commits are pushed.
Disclaimer: Experimental PR review
Greptile Summary
This PR optimizes the OpenTelemetry dependency specification by replacing the generic
opentelemetry-exporter-otlpmetapackage with the specificopentelemetry-exporter-otlp-proto-httppackage. The version is also bumped from 3.2.3 to 3.2.4.The change is motivated by Langfuse's actual usage pattern - the codebase only uses HTTP-based OTLP exports through the LangfuseSpanProcessor, which creates OTLPSpanExporter instances with HTTP endpoints. The original metapackage includes multiple transport implementations (gRPC, HTTP protobuf, and HTTP JSON), but Langfuse only needs the HTTP protobuf variant.
This dependency optimization follows OpenTelemetry's recommended best practices of installing specific exporter packages rather than metapackages to avoid unnecessary dependencies. The change maintains the same version constraint (
^1.33.1) and functionality while reducing the overall dependency footprint by eliminating unused gRPC and JSON transport implementations.The modification aligns with modern Python packaging practices of being explicit about dependencies and only including what's actually used by the application.
Confidence score: 5/5