-
Notifications
You must be signed in to change notification settings - Fork 742
🚀 Feature: Install less packages #2803
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
Comments
Side note: I see that you can actually install separate packages: https://qdrant.tech/documentation/observability/openllmetry/ |
Hey @InAnYan, you're right. When we began this OSS we just had 5 packages and it has overgrown a bit. We'll prioritize this but feel free to take a stab at it if you have the capacity - we'd love the contribution :) |
/assign |
You're absolutely right — installing traceloop-sdk currently pulls in all optional OpenTelemetry instrumentation packages, even when users only need a subset. This can result in unnecessary bloat, especially for minimal or targeted setups. It would definitely be more efficient to split these dependencies using extras_require in setup.py or pyproject.toml. For example: pip install traceloop-sdk[openai] This way, users can install only the integrations they need. If the maintainers are open to this, I’d be happy to help contribute a PR to implement optional dependencies and update the docs accordingly. |
you can do it manually or you can use some technics for that and sprate them |
picking this up |
I'm planning to modularize the dependencies like this, let me know if this looks good to you
To handle cases where a user installs the minimal version but tries to use an integration from a missing group, I'm also thinking of adding a small utility like: from .utils import require_dependency
# Ensure the 'openai' package is installed
require_dependency("openai", "llm") This would raise a clear error like:
One drawback is that this check would need to be added in multiple places across the codebase, which isn’t ideal. Open to better suggestions or ideas for a cleaner solution before I move ahead with the PR. |
Sounds good @amitalokbera! I might even take it one step further (not sure how easy / hard it will be) - have a module per LLM. So you can even just install |
Which component is this feature for?
Traceloop SDK
🔖 Feature description
I've installed
traceloop-sdk
withuv
, and it installed a lot of packages:Is there a way to limit number of packages and install only necessary?
🎤 Why is this feature needed ?
I don't really use all of these technologies in my app. This is too much.
Everywhere where
openllmetry
is mentioned (even your docs), they tell to use this command:Many projects use this feature: https://stackoverflow.com/a/46775606/10037342, where extensions are listed in square brackets.
✌️ How do you aim to achieve this?
Use optional dependencies, so that only needed packages are installed.
And replace original command with:
Something like that. Free to discuss, free to close 😄
🔄️ Additional Information
No response
👀 Have you spent some time to check if this feature request has been raised before?
Are you willing to submit PR?
None
The text was updated successfully, but these errors were encountered: