-
Notifications
You must be signed in to change notification settings - Fork 3
feat: complete refactor to remove traceloop and speakeasy #154
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
base: main
Are you sure you want to change the base?
Conversation
|
Check for backwards compatibility of new API client against the old. Refer to docs scripts for reference + the speakeasy SDK ref docs in |
|
Check for backwards compatibility on environment variable references + add support for experiment harness related env vars HoneyHiveClient does not read standard environment variables |
|
Enable verbose flag on the HoneyHiveClient init for customer to debug API errors. |
|
Apply pydantic models on SDK caller params directly instead of inside the function. |
|
Add a SSL cert override option on the HoneyHiveClient init with the env var for httpx. Add a SSL no verify flag on HoneyHiveClient |
|
Standardize python error handling middleware (context handler of some kind) and add that in all client wrapper classes. |
|
Add docstrings on SDK functions |
|
Investigate pydantic alternative |
|
Ensure there's an async method for each API call wrapper. |
|
Nit: Add argument builders for async callers |
|
Investigate an alternative to data model codegen to also include client codegen |
|
Drop the HoneyHiveLogger class / evaluate moving the logger repo into this repo |
|
Drop |
|
Drop unused imports |
|
Move tracer away from singleton. We want to support multiple sessions within the same runtime. |
|
Default session name should be the file name where the tracer is initialized. |
|
Check if TracerProvider is initialized before initializing. We should support not being the main provider if someone already has a tracer provider set. |
|
OTLP export is enabled by default |
|
Provide a flag to disable batching on span exporter + support simple span processor Lambda mode flag to auto-set these configs |
|
Provide ability to set custom session_id via an argument on the tracer init. |
|
Auto-generate UUIDv4 for session_id even if session start fails |
|
Pick up session_id from baggage context if available by default |
|
Setup baggage context should also check if pre-existing baggage has the main association properties set |
|
The context manager sets span attributes as honeyhive.* it should also support traceloop.association.properties.* |
|
Centralize the enrich_session implementation to the tracer class. Don't do |
|
Enrich session should use the baggage to fetch the |
|
Drop |
|
Migrate |
Co-Authored-By: Dhruv <dhruv@honeyhive.ai>
…ion-support feat: add async function support to evaluate function
📚 Documentation Preview Built✅ Documentation preview is ready! 📦 Download PreviewDownload documentation artifact 🔍 How to Review
✅ Validation Status
Preview generated for PR #154 |
- Add typed models for MetricDetail, DatapointResult, DatapointMetric, MetricDatapoints - Update AggregatedMetrics to use details array instead of dynamic keys - Update print_table() to use typed MetricDetail objects - Update get_run_result() to parse datapoints into DatapointResult objects - Fix datapoint rendering to use typed attributes instead of hasattr checks This fixes the issue where the metrics table was printing without values because the SDK expected dynamic metric keys but the backend returns metrics in a 'details' array format per the OpenAPI spec. Co-Authored-By: Dhruv <dhruv@honeyhive.ai>
- Add pylint disable=no-member comments for Pydantic field access - Add unit tests for new typed models (MetricDetail, DatapointResult, etc.) - Add unit tests for print_table() with details array format - Add integration test to validate typed models against real API Co-Authored-By: Dhruv <dhruv@honeyhive.ai>
Co-Authored-By: Dhruv <dhruv@honeyhive.ai>
Co-Authored-By: Dhruv <dhruv@honeyhive.ai>
… AggregatedMetrics Co-Authored-By: Dhruv <dhruv@honeyhive.ai>
…dels Co-Authored-By: Dhruv <dhruv@honeyhive.ai>
…-table-printing fix: update metrics table printing to handle backend response format
📚 Documentation Preview Built✅ Documentation preview is ready! 📦 Download PreviewDownload documentation artifact 🔍 How to Review
✅ Validation Status
Preview generated for PR #154 |
- Add instrumentors parameter to evaluate() and run_experiment() functions - Accept list of instrumentor factory functions that create new instances per datapoint - Each datapoint gets its own tracer and instrumentor instance for proper trace routing - Instrumentors are initialized with tracer_provider before processing and uninstrumented after - Graceful error handling for instrumentor initialization and cleanup Co-Authored-By: Dhruv <dhruv@honeyhive.ai>
Co-Authored-By: Dhruv <dhruv@honeyhive.ai>
Co-Authored-By: Dhruv <dhruv@honeyhive.ai>
Co-Authored-By: Dhruv <dhruv@honeyhive.ai>
…rs-evaluate feat: add instrumentors support to evaluate function
📚 Documentation Preview Built✅ Documentation preview is ready! 📦 Download PreviewDownload documentation artifact 🔍 How to Review
✅ Validation Status
Preview generated for PR #154 |
📚 Documentation Preview Built✅ Documentation preview is ready! 📦 Download PreviewDownload documentation artifact 🔍 How to Review
✅ Validation Status
Preview generated for PR #154 |
📚 Documentation Preview Built✅ Documentation preview is ready! 📦 Download PreviewDownload documentation artifact 🔍 How to Review
✅ Validation Status
Preview generated for PR #154 |
OTLP Json exporter support
📚 Documentation Preview Built✅ Documentation preview is ready! 📦 Download PreviewDownload documentation artifact 🔍 How to Review
✅ Validation Status
Preview generated for PR #154 |
Completely replaces the old sdk with datamodel-codegen for the openapi spec, and removes traceloop and implemente opentlemetry. Greatly increases testability. Delivers no sdk code change support for bring your own instrumnetor.
TODO: Need to rework github workflows to suit the new model.
TODO: Look at adding specific environment testing, i.e. aws lambda
Note
Adds comprehensive specification packages (SRD/specs/tasks/implementation) and validation analyses for the Workflow Engine, HoneyHive SDK Docs MCP (v1 and v2), and Documentation P0 fixes.
workflow-engine-design:honeyhive-sdk-docs-mcp(v1):honeyhive-sdk-docs-mcp-v2:documentation-p0-fixes:supporting-docs/.Written by Cursor Bugbot for commit e20b584. This will update automatically on new commits. Configure here.