-
Notifications
You must be signed in to change notification settings - Fork 80
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
feat(weave): Minimal setup for non-SaaS BYOB #3674
Conversation
Preview this PR with FeatureBee: https://beta.wandb.ai/?betaVersion=f9b2e5a04cde446bfdfe1c275726fdadcaa894fb |
WalkthroughThe changes introduce comprehensive enhancements for multi-cloud file storage support. The Changes
Sequence Diagram(s)sequenceDiagram
participant Client
participant Server as ClickHouseTraceServer
participant DB
Client->>Server: file_create(request)
Server->>Server: _get_base_file_storage_uri()
alt Base URI exists
Server->>Server: _file_create_bucket(request, digest, base URI)
Server->>DB: Insert record with file_storage details
else No Base URI
Server->>DB: Chunk file content and insert record
end
Server-->>Client: file_create response
sequenceDiagram
participant Caller
participant Factory as get_storage_client()
participant S3 as S3StorageClient
participant GCS as GCSStorageClient
participant Azure as AzureStorageClient
Caller->>Factory: Request storage client with FileStorageURI
alt S3 URI
Factory->>S3: Return S3StorageClient instance
else GCS URI
Factory->>GCS: Return GCSStorageClient instance
else Azure URI
Factory->>Azure: Return AzureStorageClient instance
else Unsupported URI
Factory-->>Caller: Raise NotImplementedError
end
Caller->>S3/GCS/Azure: Call store/read operations
Suggested reviewers
Poem
📜 Recent review detailsConfiguration used: .coderabbit.yaml 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
⏰ Context from checks skipped due to timeout of 90000ms (743)
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
🧹 Nitpick comments (4)
weave/trace_server/file_management.py (2)
316-364
: Rename parameter to avoid overshadowing built-in.Using
bytes
as a parameter name overshadows the built-inbytes
type in Python. It's safer to rename this parameter to avoid confusion and possible linting errors.Below is a diff proposing the name
file_data
instead:-def store_in_bucket(storage_bucket_uri: str, bytes: bytes) -> str: +def store_in_bucket(storage_bucket_uri: str, file_data: bytes) -> str: ...
482-532
: Suggest adding unit tests for read operations.The
read_from_bucket
function supports multiple providers and includes retries, but it's important to ensure you have tests covering network failures, credential issues, and provider-specific corner cases.Would you like a sample test suite to verify these scenarios automatically?
weave/trace_server/environment.py (1)
29-62
: Consider consolidating storage-related environment variables.All your cloud credentials and bucket settings are nicely grouped here. To reduce repeated code patterns in the future, consider a single function or class that encapsulates all storage configuration, returning a structured object instead of calling each environment accessor individually.
weave/trace_server/migrations/011_add_file_bucket_storage.up.sql (1)
2-2
: Remove or replace the TODO-style comment.The comment "What do i need here?" suggests uncertainty in the implementation. If there are no additional requirements, remove this comment. If there are pending requirements, please document them clearly.
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (5)
weave/trace_server/clickhouse_trace_server_batched.py
(6 hunks)weave/trace_server/environment.py
(2 hunks)weave/trace_server/file_management.py
(1 hunks)weave/trace_server/migrations/011_add_file_bucket_storage.down.sql
(1 hunks)weave/trace_server/migrations/011_add_file_bucket_storage.up.sql
(1 hunks)
✅ Files skipped from review due to trivial changes (1)
- weave/trace_server/migrations/011_add_file_bucket_storage.down.sql
🧰 Additional context used
📓 Path-based instructions (1)
`**/*.py`: Focus on pythonic code patterns. Check for proper...
**/*.py
: Focus on pythonic code patterns.
Check for proper exception handling.
Verify type hints usage where applicable.
Look for potential performance improvements.
Don't comment on formatting if black/isort is configured.
Check for proper dependency injection patterns.
Verify proper async handling if applicable.
weave/trace_server/environment.py
weave/trace_server/clickhouse_trace_server_batched.py
weave/trace_server/file_management.py
🪛 GitHub Actions: test
weave/trace_server/clickhouse_trace_server_batched.py
[error] 81-81: ImportError while loading module: No module named 'boto3'.
weave/trace_server/file_management.py
[error] 4-4: ModuleNotFoundError: No module named 'boto3'.
🔇 Additional comments (4)
weave/trace_server/file_management.py (1)
219-245
: Storage handlers look comprehensive.Your approach to separate out each provider’s storage logic into dedicated functions (S3, GCS, Azure) with clear error handling and retries is clean and maintainable. Great job adding detailed logging as well.
weave/trace_server/clickhouse_trace_server_batched.py (3)
81-85
: Check environment or dependency for file management imports.These imports rely on external libraries (
boto3
,azure
,google-cloud-storage
) used infile_management.py
. Make sure your environment is properly set up to avoid import failures in production or testing.🧰 Tools
🪛 GitHub Actions: test
[error] 81-81: ImportError while loading module: No module named 'boto3'.
194-221
: Optional storage logic is well-structured.Including
storage_bucket_uri
in the constructor and retrieving it from environment defaults is straightforward. This design clearly signals an optional "bring your own bucket" mode.
1296-1332
: Validation of actual vs. expected URIs is commendable.The extra check to ensure the database-stored URI matches
determine_bucket_uri()
can prevent confusion or data inconsistency. Make sure to handle or log any mismatched URIs in production, as it implies a configuration error or concurrency issue where the file’s stored location got overwritten.
import boto3 | ||
from azure.core.credentials import TokenCredential as AzureTokenCredential | ||
from azure.storage.blob import BlobServiceClient | ||
from botocore.config import Config | ||
from google.cloud import storage |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Verification agent
🧩 Analysis chain
Address missing dependency for imports.
The pipeline is failing due to "No module named 'boto3'." You may need to add boto3
(and possibly other imported packages like azure
and google-cloud-storage
) to your project's dependencies or conditionally import them if they are optional.
Here's a quick script to check if they are installed:
🏁 Script executed:
#!/bin/bash
pip show boto3 || echo "boto3 not installed"
pip show azure-storage-blob || echo "azure-storage-blob not installed"
pip show google-cloud-storage || echo "google-cloud-storage not installed"
Length of output: 420
Missing dependency packages – please update your dependency configuration.
The imports in weave/trace_server/file_management.py
(lines 4–8) require packages that aren’t currently installed. The pipeline failure ("No module named 'boto3'") is a direct result of the missing packages. Based on the verification, none of the following are installed:
- boto3
- azure-storage-blob
- google-cloud-storage
Action items:
- Add these packages to your dependency management file (e.g.,
requirements.txt
orsetup.py
) to ensure they are installed in your environments. - Alternatively, if these modules are only needed conditionally, implement try/except blocks or optional import logic to prevent pipeline failures when they aren’t required.
🧰 Tools
🪛 GitHub Actions: test
[error] 4-4: ModuleNotFoundError: No module named 'boto3'.
|
||
if self._storage_bucket_uri is not None: | ||
bucket_uri = determine_bucket_uri( | ||
self._storage_bucket_uri, req.project_id, req.digest | ||
) | ||
store_in_bucket(bucket_uri, req.content) | ||
self._insert( | ||
"files", | ||
data=[(req.project_id, digest, 0, 0, req.name, b"", bucket_uri)], | ||
column_names=[ | ||
"project_id", | ||
"digest", | ||
"chunk_index", | ||
"n_chunks", | ||
"name", | ||
"val_bytes", | ||
"file_storage_uri", | ||
], | ||
) | ||
else: | ||
chunks = [ | ||
req.content[i : i + FILE_CHUNK_SIZE] | ||
for i in range(0, len(req.content), FILE_CHUNK_SIZE) | ||
] | ||
self._insert( | ||
"files", | ||
data=[ | ||
( | ||
req.project_id, | ||
digest, | ||
i, | ||
len(chunks), | ||
req.name, | ||
chunk, | ||
None, | ||
) | ||
for i, chunk in enumerate(chunks) | ||
], | ||
column_names=[ | ||
"project_id", | ||
"digest", | ||
"chunk_index", | ||
"n_chunks", | ||
"name", | ||
"val_bytes", | ||
"file_storage_uri", | ||
], | ||
) | ||
return tsi.FileCreateRes(digest=digest) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Beware of partial failures in write operations.
When _storage_bucket_uri
is set, files are uploaded to cloud storage before the DB insert. If the upload partially succeeds but the DB insert fails, there's no rollback or cleanup. Consider adding a rollback mechanism or at least a warning log if one step fails while the other succeeds.
ALTER TABLE files | ||
-- What do i need here? | ||
ADD COLUMN bucket_storage_uri Nullable(String); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Verification agent
🧩 Analysis chain
Verify rollback safety.
The migration looks correct for adding cloud storage support. However, ensure there's a corresponding .down.sql
migration that can safely roll back these changes.
🏁 Script executed:
#!/bin/bash
# Description: Check for the existence of a corresponding down migration and its content
# Check if the down migration exists
if [ -f "weave/trace_server/migrations/011_add_file_bucket_storage.down.sql" ]; then
echo "Down migration exists"
cat "weave/trace_server/migrations/011_add_file_bucket_storage.down.sql"
else
echo "Warning: No down migration found"
fi
Length of output: 257
Mismatch in Rollback Logic—Update Required
- The up migration adds the column
bucket_storage_uri
to thefiles
table. - The down migration, however, drops
file_storage_uri
rather thanbucket_storage_uri
, breaking rollback safety.
Please update weave/trace_server/migrations/011_add_file_bucket_storage.down.sql
to drop bucket_storage_uri
so that it correctly reverses the changes introduced in the up migration.
WalkthroughThe changes add new cloud storage-related dependencies and capabilities. In the configuration file, three new libraries are listed under a dedicated "BYOB" section. The Changes
Sequence Diagram(s)sequenceDiagram
participant C as Client
participant TS as TraceServer
participant CS as CloudStorage
participant DB as Database
C->>TS: file_create(file)
alt storage_bucket_uri provided
TS->>CS: Upload file content
CS-->>TS: Return storage URI
TS->>DB: Insert file record with storage URI
else No storage_bucket_uri
TS->>DB: Insert file chunks using legacy logic
end
TS-->>C: Return file creation response
sequenceDiagram
participant C as Client
participant TS as TraceServer
participant CS as CloudStorage
participant DB as Database
C->>TS: file_content_read(request)
TS->>DB: Query file chunks & storage URI
alt Valid storage_bucket_uri exists
TS->>CS: Retrieve file content from bucket
else No valid storage URI
TS->>DB: Aggregate file chunks
end
TS-->>C: Return file content
Poem
✨ Finishing Touches
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
🧹 Nitpick comments (18)
weave/trace_server/file_management.py (10)
37-43
: Add type hints or docstrings for optional fields.
Currently,AWSCredentials
has an optionalsession_token
. Consider clarifying its usage pattern in the docstring for more explicit guidance and maintainability.
60-62
: Clarify the usage context in docstrings.
AllCredentials
is a union of many credential types. A brief docstring describing typical usage scenarios can help future maintainers understand how to select the correct credential type.
95-118
: Support short-lived credentials or auto-refresh.
get_aws_credentials
is static, but in real scenarios, credentials may require rotation (e.g., STS tokens). Consider periodic refresh or re-fetch from environment if usage is long-lived.
120-146
: Include robust JSON validation for service account keys.
Ensuring thatWF_STORAGE_BUCKET_GCP_CREDENTIALS_JSON
is a well-formed JSON is handled, but deeper checks around key presence (project_id, private_key, etc.) can prevent runtime errors.
148-168
: Handle heterogeneous Azure credentials gracefully.
It's good that the function distinguishes connection-string-based vs. account-based. Consider logging the chosen method at info level for easier debug in production.
197-217
: Consider stricter path splitting.
When callingsplit_bucket_and_path
, ensure no unexpected behavior occurs if the bucket name or path has unusual characters (e.g., leading/trailing slashes).
219-245
: Restructure duplicate client creation patterns.
handle_s3_storage
configuresboto3.client
with timeouts and retries disabled. This pattern repeats in read functions. A helper function could reduce duplication.
272-314
: Validate container existence or auto-create.
handle_azure_storage
presumes that the container already exists. For a robust user experience, consider verifying or auto-creating the destination container before upload.
316-364
: Add a more direct file scheme fallback or local dev strategy.
store_in_bucket
only raises NotImplementedError forfile://
. You might unify local dev scenarios with smaller ephemeral storage or explicitly mention the limitation in docstrings.
482-532
: Enable partial fallback in local dev or testing environments.
read_from_bucket
also raises NotImplementedError forfile://
. If local reads are needed for tests, consider a simple local filesystem mock or an in-memory alternative.weave/trace_server/clickhouse_trace_server_batched.py (3)
194-194
: Document new parameter.
Thestorage_bucket_uri
parameter is added to the constructor. Update docstrings to reflect usage, impact on file creation, and fallback behavior when omitted.
220-220
: Prevent overshadowed environment variables.
wf_storage_bucket_uri()
returns the environment-based URI, but if local overrides occur, ensure the server re-initializes properly to avoid stale config.
1292-1333
: Add safer mismatch logic.
The code checks iffile_storage_uri
matchesexpected_file_storage_uri
. For large systems, consider user error or a changed project ID/digest. Provide a more descriptive error or fallback.weave/trace_server/environment.py (5)
2-2
: LeverageTypedDict
or explicit classes for future expansions.
WhileOptional[str]
is good for environment-based config, typed structures can scale better if more complex environment logic emerges.
28-28
: Remove extraneous blank line.
Minor style concern: there's a double newline around line 28. Confirm if this is intentional or can be simplified for consistency.
38-51
: Handle short-lived AWS tokens gracefully.
If environment variables rotate (e.g., in ephemeral container environments), confirm the system re-fetches them. Consider caching or verification strategies for rotation.
53-66
: Consider synergy between connection string and account-based config.
Azure can have multiple auth strategies. If both environment variables are present, clarify which takes precedence or throw an error to avoid confusion.
68-70
: Encourage minimal privileges.
wf_storage_bucket_gcp_credentials_json
can contain full-service credentials. Recommend restricting them to the minimal scopes needed for file I/O.
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (6)
pyproject.toml
(1 hunks)weave/trace_server/clickhouse_trace_server_batched.py
(6 hunks)weave/trace_server/environment.py
(2 hunks)weave/trace_server/file_management.py
(1 hunks)weave/trace_server/migrations/011_add_file_bucket_storage.down.sql
(1 hunks)weave/trace_server/migrations/011_add_file_bucket_storage.up.sql
(1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
`**/*.py`: Focus on pythonic code patterns. Check for proper...
**/*.py
: Focus on pythonic code patterns.
Check for proper exception handling.
Verify type hints usage where applicable.
Look for potential performance improvements.
Don't comment on formatting if black/isort is configured.
Check for proper dependency injection patterns.
Verify proper async handling if applicable.
weave/trace_server/environment.py
weave/trace_server/file_management.py
weave/trace_server/clickhouse_trace_server_batched.py
⏰ Context from checks skipped due to timeout of 90000ms (563)
- GitHub Check: test-query-service-matrix-check
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, vertexai)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, mistral0)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, mistral0)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
🔇 Additional comments (14)
weave/trace_server/file_management.py (8)
31-35
: Consider validating the 'base_storage_bucket_uri' parameter.
If an illegal format is passed or if the resulting path is malformed, it might lead to unexpected file paths. A simple format check or exception can avoid subtle bugs.
45-49
: Evaluate partial vs total type dict usage.
AzureConnectionCredentials
is a hard requirement (total=True by default). If future additions make some fields optional, consider marking it as partial or providing defaults.
65-93
: Consider customizing valid retryable exceptions.
While using tenacity's default reraise logic is great, it might be too broad or too narrow. Confirm which exceptions genuinely warrant a retry (e.g., timeouts, transient network failures) and which should fail fast.
170-195
: Validate suspicious path or escaping.
parse_storage_uri
splits on://
, but some user input might include extra slashes or special characters. Consider raising a more descriptive error or sanitizing user input.
247-270
: Avoid large data reads into memory with advanced GCS usage.
blob.upload_from_string
is straightforward but can be memory-intensive for very large files. Consider using streaming methods likeupload_from_file
.
[performance]
369-402
: Consider chunked downloads for large S3 objects.
handle_s3_read
callsget_object
and reads everything into memory at once. Replacing with chunked reads can be more memory-friendly for large files.
[performance]
404-433
: Handle missing blob gracefully.
If a requested GCS blob doesn't exist,download_as_bytes
might raise an exception. Consider wrapping with a user-friendly error or fallback.
435-480
: Replicate container existence checks for reads.
Similar to the write path, handle the case where the container or blob in Azure storage might not exist, to help produce consistent error handling.weave/trace_server/clickhouse_trace_server_batched.py (3)
81-85
: Check for potential import cycles.
Imports fromfile_management
are new. Although it seems fine, watch out for cyclical dependencies iffile_management
eventually imports from ClickHouse modules.
207-207
: Ensure null or invalid default is handled.
StoringNone
in_storage_bucket_uri
is valid, but confirm call sites handle no-bucket scenarios gracefully, especially when reading or writing large files.
1242-1291
: Consider large file re-uploads.
Whenfile_create
is used with a large file and_storage_bucket_uri
is set, ensure timeouts and partial retries are adequate, especially for multi-GB scenarios.weave/trace_server/environment.py (1)
30-36
: Validate presence of scheme in URI.
wf_storage_bucket_uri
might return partial URIs (without scheme). Consider raising an early warning for incomplete or malformed URIs.weave/trace_server/migrations/011_add_file_bucket_storage.down.sql (1)
1-2
: LGTM!The down migration correctly drops the
file_storage_uri
column, providing a clean rollback path.weave/trace_server/migrations/011_add_file_bucket_storage.up.sql (1)
1-2
:❓ Verification inconclusive
LGTM! Verify column usage in application code.
The migration correctly adds the
bucket_storage_uri
column as nullable, which is appropriate for optional external storage.
🏁 Script executed:
#!/bin/bash # Description: Verify the column usage in application code # Search for references to bucket_storage_uri in the codebase rg -l "bucket_storage_uri"Length of output: 91
LGTM! The migration correctly adds the
bucket_storage_uri
column as a nullable field for optional external storage.I searched the codebase for references to
bucket_storage_uri
and found it only in the migration file. If this column is intended for immediate use in the application, please ensure that the corresponding integration (e.g., in ORM models or business logic) is added. If its usage is scheduled for a future update as part of the BYOB external storage feature, this migration is fine as-is.
class AzureAccountCredentials(TypedDict): | ||
"""Type for Azure account credentials.""" | ||
|
||
account_url: str | ||
credential: Union[ | ||
str, AzureTokenCredential | ||
] # Can be connection string, SAS token, or credential object | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ensure credential is never logged unintentionally.
When debugging, ensure that no logs inadvertently include credential
from AzureAccountCredentials
, to avoid security leaks.
pyproject.toml
Outdated
"boto3", | ||
"azure-storage-blob", | ||
"google-cloud-storage", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Add version constraints for cloud SDKs.
Missing version constraints for cloud storage SDKs could lead to compatibility issues. Consider adding appropriate version constraints.
- "boto3",
- "azure-storage-blob",
- "google-cloud-storage",
+ "boto3>=1.34.0",
+ "azure-storage-blob>=12.19.0",
+ "google-cloud-storage>=2.14.0",
Also note that boto3
is already listed under the bedrock
optional dependencies. Consider consolidating these dependencies to avoid potential version conflicts.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
"boto3", | |
"azure-storage-blob", | |
"google-cloud-storage", | |
"boto3>=1.34.0", | |
"azure-storage-blob>=12.19.0", | |
"google-cloud-storage>=2.14.0", |
pyproject.toml
Outdated
# BYOB | ||
"boto3", | ||
"azure-storage-blob", | ||
"google-cloud-storage", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Move BYOB dependencies to core dependencies section.
These cloud storage dependencies appear to be core requirements for the BYOB feature rather than test dependencies. Consider moving them to the main [project.dependencies]
section.
[project.dependencies]
dependencies = [
"pydantic>=2.0.0",
"wandb>=0.17.1",
+ # BYOB
+ "boto3",
+ "azure-storage-blob",
+ "google-cloud-storage",
...
]
[project.optional-dependencies.test]
- # BYOB
- "boto3",
- "azure-storage-blob",
- "google-cloud-storage",
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
# BYOB | |
"boto3", | |
"azure-storage-blob", | |
"google-cloud-storage", | |
[project.dependencies] | |
dependencies = [ | |
"pydantic>=2.0.0", | |
"wandb>=0.17.1", | |
# BYOB | |
"boto3", | |
"azure-storage-blob", | |
"google-cloud-storage", | |
... | |
] | |
[project.optional-dependencies.test] | |
dependencies = [ | |
# Other test dependencies (BYOB dependencies have been removed) | |
... | |
] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
♻️ Duplicate comments (1)
weave/trace_server/file_management.py (1)
95-168
: 🛠️ Refactor suggestionEnsure secure handling of credentials.
While the credential retrieval is functionally correct, consider these security improvements:
- Mask credentials in logs
- Clear credentials from memory after use
- Validate credential format before use
🧹 Nitpick comments (8)
weave/trace_server/environment.py (1)
38-70
: Consider adding credential validation and masking.The credential functions are well-structured and properly typed. However, consider adding:
- Basic validation for credential format/length.
- Logging masking to prevent accidental credential exposure.
Apply this diff to add credential validation and masking:
+def _mask_credential(value: str) -> str: + """Returns a masked version of the credential for logging.""" + if not value: + return "" + return value[:4] + "*" * (len(value) - 4) def wf_storage_bucket_aws_access_key_id() -> Optional[str]: """The AWS access key ID.""" - return os.environ.get("WF_STORAGE_BUCKET_AWS_ACCESS_KEY_ID") + value = os.environ.get("WF_STORAGE_BUCKET_AWS_ACCESS_KEY_ID") + if value and len(value) < 16: # Basic validation + logger.warning("AWS access key ID appears to be invalid: %s", _mask_credential(value)) + return valuetests/trace/test_server_byob.py (3)
30-53
: Consider parameterizing test bucket names and connection strings.Extract hardcoded values to constants or configuration:
- Test bucket names
- Azurite connection string
- GCS endpoint URL
Apply this diff to improve maintainability:
+# Test configuration +TEST_BUCKET_NAME = "test-bucket" +AZURITE_CONNECTION_STRING = "DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;" +GCS_EMULATOR_HOST = "http://localhost:8888" @pytest.fixture def gcs(): storage_client = storage.Client( project="test-project", credentials=AnonymousCredentials(), _http=storage._http.Connection(), - client_options={"api_endpoint": "http://localhost:8888"}, + client_options={"api_endpoint": GCS_EMULATOR_HOST}, ) # Create the test bucket - bucket = storage_client.bucket("test-bucket") + bucket = storage_client.bucket(TEST_BUCKET_NAME) bucket.create() yield storage_client
56-91
: Consider adding negative test cases for invalid credentials.The fixtures cover the happy path but could benefit from additional test cases:
- Invalid/malformed credentials
- Missing required credentials
- Invalid bucket URIs
94-110
: Add test cases for edge cases and error scenarios.The integration test covers basic functionality but should include:
- Large file handling
- Error cases (network issues, invalid credentials)
- Concurrent access
- File overwrite scenarios
Example test case:
@pytest.mark.integration @pytest.mark.usefixtures("s3", "gcs", "azure_blob", "storage_config") def test_byob_storage_large_file(client: WeaveClient): # Create large test data large_data = b"x" * (10 * 1024 * 1024) # 10MB res = client.server.file_create(FileCreateReq( project_id=client._project_id(), name="large.bin", content=large_data, )) assert res.digest is not None file = client.server.file_content_read(FileContentReadReq( project_id=client._project_id(), digest=res.digest)) assert file.content == large_datatests/trace/test_server_file_management_utils.py (1)
45-153
: Consider adding test cases for credential validation.The credential tests are thorough but could benefit from additional cases:
- Malformed JSON for GCP credentials
- Invalid Azure connection strings
- Expired AWS session tokens
weave/trace_server/file_management.py (3)
31-34
: Consider using pathlib for path construction.While the f-string works, using
pathlib
would provide better path manipulation and validation:+from pathlib import Path def determine_bucket_uri( project_id: str, digest: str, base_storage_bucket_uri: str ) -> str: - return f"{base_storage_bucket_uri}/weave/projects/{project_id}/files/{digest}" + path = Path("weave") / "projects" / project_id / "files" / digest + return f"{base_storage_bucket_uri}/{path}"
219-364
: Add content validation and compression support.The storage functions could benefit from:
- Content validation (checksum)
- Compression for large files
- Content-type detection
Example implementation:
import hashlib import gzip import mimetypes def compress_if_needed(data: bytes, threshold: int = 1024 * 1024) -> tuple[bytes, bool]: """Compress data if larger than threshold.""" if len(data) > threshold: return gzip.compress(data), True return data, False def calculate_checksum(data: bytes) -> str: """Calculate SHA-256 checksum of data.""" return hashlib.sha256(data).hexdigest()
366-532
: Add support for streaming large files.The read functions load entire files into memory. Consider:
- Streaming support for large files
- Range requests for partial reads
- Async operations for better performance
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (6)
pyproject.toml
(1 hunks)tests/trace/test_server_byob.py
(1 hunks)tests/trace/test_server_file_management_utils.py
(1 hunks)weave/trace_server/environment.py
(2 hunks)weave/trace_server/file_management.py
(1 hunks)weave/trace_server/migrations/011_add_file_bucket_storage.up.sql
(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- weave/trace_server/migrations/011_add_file_bucket_storage.up.sql
🧰 Additional context used
📓 Path-based instructions (1)
`**/*.py`: Focus on pythonic code patterns. Check for proper...
**/*.py
: Focus on pythonic code patterns.
Check for proper exception handling.
Verify type hints usage where applicable.
Look for potential performance improvements.
Don't comment on formatting if black/isort is configured.
Check for proper dependency injection patterns.
Verify proper async handling if applicable.
tests/trace/test_server_file_management_utils.py
weave/trace_server/environment.py
tests/trace/test_server_byob.py
weave/trace_server/file_management.py
🪛 GitHub Actions: test
tests/trace/test_server_byob.py
[error] 9-9: ModuleNotFoundError: No module named 'moto'.
⏰ Context from checks skipped due to timeout of 90000ms (814)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, notdiamond)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, langchain)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, anthropic)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, pandas-test)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, vertexai)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, mistral0)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, pandas-test)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, vertexai)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, litellm)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, google_ai_studio)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, groq)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, anthropic)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, notdiamond)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, langchain)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, pandas-test)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, vertexai)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, mistral0)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, pandas-test)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, vertexai)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, litellm)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, google_ai_studio)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, groq)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, anthropic)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, notdiamond)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, langchain)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, pandas-test)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, vertexai)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, mistral0)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, vertexai)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, litellm)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, groq)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, anthropic)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, langchain)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, pandas-test)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, vertexai)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, mistral0)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, vertexai)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, litellm)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, groq)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, anthropic)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: notify-wandb-core
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, langchain)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, pandas-test)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, vertexai)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, mistral0)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, vertexai)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, litellm)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, groq)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, anthropic)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: notify-wandb-core
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, langchain)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, pandas-test)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, vertexai)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, mistral0)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, vertexai)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, groq)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, anthropic)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: notify-wandb-core
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, langchain)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, pandas-test)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, vertexai)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, groq)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, anthropic)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, langchain)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, pandas-test)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, vertexai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, groq)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, anthropic)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, langchain)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, pandas-test)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, vertexai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, groq)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, anthropic)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, pandas-test)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, vertexai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, anthropic)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
🔇 Additional comments (7)
weave/trace_server/environment.py (1)
33-35
: LGTM!The function correctly retrieves the optional storage bucket URI from the environment.
tests/trace/test_server_byob.py (1)
15-27
: Add missing test dependencies.The test requires the
moto
package for S3 mocking, which is missing from the project dependencies.tests/trace/test_server_file_management_utils.py (1)
15-42
: LGTM!The tests thoroughly cover URI parsing with good edge cases and error validation.
weave/trace_server/file_management.py (2)
37-92
: LGTM!The credential type definitions and retry decorator implementation are well-structured with:
- Clear type hints
- Comprehensive docstrings
- Robust retry logic with logging
170-195
: LGTM!The URI parsing functions are well-implemented with proper validation and error handling.
pyproject.toml (2)
109-112
: Move BYOB dependencies to core dependencies section.These cloud storage dependencies appear to be core requirements for the BYOB feature rather than test dependencies. Consider moving them to the main
[project.dependencies]
section.[project.dependencies] dependencies = [ "pydantic>=2.0.0", "wandb>=0.17.1", + # BYOB + "boto3", + "azure-storage-blob", + "google-cloud-storage", ... ] [project.optional-dependencies.test] - # BYOB - "boto3", - "azure-storage-blob", - "google-cloud-storage",
109-112
: Add version constraints for cloud SDKs.Missing version constraints for cloud storage SDKs could lead to compatibility issues. Consider adding appropriate version constraints.
- "boto3", - "azure-storage-blob", - "google-cloud-storage", + "boto3>=1.34.0", + "azure-storage-blob>=12.19.0", + "google-cloud-storage>=2.14.0",Also note that
boto3
is already listed under thebedrock
optional dependencies. Consider consolidating these dependencies to avoid potential version conflicts.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🔭 Outside diff range comments (1)
weave/trace_server/clickhouse_trace_server_batched.py (1)
1292-1333
:⚠️ Potential issueGuard against empty query results before indexing.
At line 1312, you indexquery_result.result_rows[0]
. Ifresult_rows
is empty (e.g., no matching digest), an index error arises. Adding a safety check or explicit exception for “no file found” would enhance error clarity.+ if not query_result.result_rows: + raise NotFoundError(f"No file chunks found for project {req.project_id} digest {req.digest}") n_chunks = query_result.result_rows[0][0]
🧹 Nitpick comments (13)
tests/trace/test_server_byob.py (5)
16-29
: Consider using a dynamically generated bucket name for each test.
While this static bucket name is usually fine for local testing, if multiple test runs happen concurrently (or in CI environments where tests may run in parallel), using the same bucket name can cause conflicts. Generating a unique or random bucket name helps prevent such collisions.
82-129
: Consolidate environment variable fixtures if appropriate.
The AWS, GCP, and Azure environment fixtures follow a similar pattern of mocking environment variables. If the logic becomes more complex or needs to be shared, consider consolidating them into a helper utility to reduce duplication.
149-174
: Include edge case tests for large or empty file content.
Testing the default "Hello, world!" scenario is good, but consider adding test cases for large file sizes (exceeding a single chunk size) and zero-byte (empty) files to ensure the S3 logic handles boundary conditions without errors.
175-185
: Expand coverage for GCS permission errors.
In addition to the happy path, you might want to ensure the test suite covers permission or credential errors on GCS to confirm how gracefully the code handles unauthorized access.
186-195
: Add negative test case for non-existing blob scenario.
Similar to the GCS suggestions, verifying behavior when the requested blob doesn't exist or the container is misnamed can interest your test coverage for Azure. Ensure an explicit assertion that an appropriate exception or error is raised under failure conditions.weave/trace_server/file_management.py (5)
67-95
: Add distinct retry policies for different errors.
Currently, all S3/GCS/Azure operations share a uniform retry approach by way ofcreate_retry_decorator
. While workable, some providers and errors could benefit from specialized backoff or timeouts (e.g., 429 vs. 5xx). Consider letting each handler define a more granular retry condition.
97-120
: Consider adding default credentials fallback messaging.
When AWS environment variables are missing, aValueError
is raised. For easier debugging, you might consider logging which specific variable is unset and/or suggesting potential defaults to help developers quickly resolve missing environment issues.
221-247
: Add support for specifying MIME type or metadata in S3 uploads.
Right now, you upload raw bytes without specifying content type. If your workflow requires more robust usage, consider letting callers define metadata such asContentType
or tags. This helps if you serve or analyze these objects outside Weave.
318-366
: Check for partial failures or concurrency conflicts when storing files.
If multiple writes target the same URI simultaneously, or if a file is stored but DB insertion fails, consider adding rollback or conflict handling logic at a higher level. The current design logs an exception but does not always handle partially uploaded objects, which can remain orphaned.
484-534
: Add detection for missing or truncated objects during read.
Similar to the storing process, partially uploaded or truncated objects could cause unexpected errors. It might be helpful to log an error or raise a specialized exception if the retrieved file is incomplete.weave/trace_server/clickhouse_trace_server_batched.py (3)
194-195
: Expose reasoning behind choosing Optional storage bucket URI.
Adding a docstring or short comment clarifying thatstorage_bucket_uri
can beNone
for purely on-database file storage clarifies the fallback scenario and helps future maintainers understand the design choice.
207-208
: Consider validation of URI format during initialization.
You currently storestorage_bucket_uri
directly. If an invalid URI is passed in, the error is deferred until file creation time. You could validate it early, so failures are caught at startup rather than during operational calls.
1241-1291
: Gracefully handling existing content.
When storing a file in the bucket, if a file with the same digest is already present, consider either skipping the upload or providing a conflict strategy. Re-uploading the same content might be redundant or lead to unexpected overwrites.
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (4)
pyproject.toml
(1 hunks)tests/trace/test_server_byob.py
(1 hunks)weave/trace_server/clickhouse_trace_server_batched.py
(6 hunks)weave/trace_server/file_management.py
(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- pyproject.toml
🧰 Additional context used
📓 Path-based instructions (1)
`**/*.py`: Focus on pythonic code patterns. Check for proper...
**/*.py
: Focus on pythonic code patterns.
Check for proper exception handling.
Verify type hints usage where applicable.
Look for potential performance improvements.
Don't comment on formatting if black/isort is configured.
Check for proper dependency injection patterns.
Verify proper async handling if applicable.
weave/trace_server/clickhouse_trace_server_batched.py
tests/trace/test_server_byob.py
weave/trace_server/file_management.py
⏰ Context from checks skipped due to timeout of 90000ms (732)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, pandas-test)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, vertexai)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, mistral0)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, vertexai)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, google_ai_studio)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, groq)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, anthropic)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: notify-wandb-core
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, vertexai)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, mistral0)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, vertexai)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, google_ai_studio)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, groq)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, anthropic)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: notify-wandb-core
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, vertexai)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, mistral0)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, vertexai)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, google_ai_studio)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, anthropic)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, vertexai)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, mistral0)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, vertexai)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, google_ai_studio)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, anthropic)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, vertexai)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, google_ai_studio)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, anthropic)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, google_ai_studio)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, anthropic)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, google_ai_studio)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, google_ai_studio)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, google_ai_studio)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, google_ai_studio)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
🔇 Additional comments (7)
tests/trace/test_server_byob.py (3)
31-60
: Ensure that the in-memory mock is reset for each test.
When using a sharedstorage.Client
for Google Cloud Storage in-memory testing, ensure each test starts with a clean slate or consider a teardown process. Residual state from previous tests could cause unexpected behaviors if test data overlaps.
62-80
: Handle container creation race conditions gracefully.
You gracefully catch an exception when creating the container to handle the scenario that the container already exists. As a best practice, consider logging that the container is reused or confirm it is empty, so leftover data from other tests does not affect subsequent test runs.
130-148
: Verify additional metadata checks in run_test.
Currently, the test checks only the content integrity ("Hello, world!"). Consider verifying that the file name or optional metadata (if any) is also stored or used correctly, adding stronger coverage for the file storage operations.weave/trace_server/file_management.py (2)
150-170
: Validate Azure credential combination more thoroughly.
Currently, ifconnection_string
is unset, you assumeaccount_url
andcredential
must be valid. Consider verifying thatcredential
is the correct type (e.g.,AzureTokenCredential
or a SAS token string). If it is invalid, a more specific message can help developers fix config errors faster.
274-316
: Confirm container existence before upload (Azure).
The current flow assumes the container already exists. If there's a scenario where the container is missing, the request might fail. You could optionally attempt a safe container creation or handle the error to provide more descriptive logging or auto-provision.weave/trace_server/clickhouse_trace_server_batched.py (2)
81-85
: Ensure consistent import usage.
You importdetermine_bucket_uri
,read_from_bucket
, andstore_in_bucket
directly fromfile_management
. Verify that other parts of the code referencing these items have been updated accordingly. Otherwise, mismatch in references can lead to runtime errors.
220-220
: Watch out for environment misuse.
Callingwf_env.wf_storage_bucket_uri()
sets a global environment-based default for the server. Make sure this fits the desired multi-environment scenario if you run multiple servers with different buckets.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 4
🧹 Nitpick comments (1)
weave/trace_server/file_management.py (1)
366-369
: Enhance error context with provider information.When re-raising the error, include the storage provider for better debugging.
except Exception as e: logger.exception("Failed to store file at %s: %s", storage_bucket_uri, str(e)) # Re-raise with more context - raise type(e)(f"Failed to store file at {storage_bucket_uri}: {str(e)}") from e + raise type(e)( + f"Failed to store file at {storage_bucket_uri} using provider '{provider}': {str(e)}" + ) from e
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
weave/trace_server/clickhouse_trace_server_batched.py
(6 hunks)weave/trace_server/file_management.py
(1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
`**/*.py`: Focus on pythonic code patterns. Check for proper...
**/*.py
: Focus on pythonic code patterns.
Check for proper exception handling.
Verify type hints usage where applicable.
Look for potential performance improvements.
Don't comment on formatting if black/isort is configured.
Check for proper dependency injection patterns.
Verify proper async handling if applicable.
weave/trace_server/clickhouse_trace_server_batched.py
weave/trace_server/file_management.py
⏰ Context from checks skipped due to timeout of 90000ms (801)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, pandas-test)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, vertexai)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, mistral0)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, pandas-test)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, vertexai)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, litellm)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, google_ai_studio)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, groq)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, anthropic)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Trace nox tests (3, 9, instructor)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, pandas-test)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, vertexai)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, mistral0)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, pandas-test)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, vertexai)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, litellm)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, google_ai_studio)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, groq)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, anthropic)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, pandas-test)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, vertexai)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, mistral0)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, pandas-test)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, vertexai)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, litellm)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, google_ai_studio)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, groq)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, anthropic)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, pandas-test)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, mistral0)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, pandas-test)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, vertexai)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, litellm)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, google_ai_studio)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, anthropic)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, pandas-test)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, pandas-test)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, vertexai)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, litellm)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, anthropic)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, pandas-test)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, pandas-test)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, vertexai)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, litellm)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, anthropic)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, pandas-test)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, pandas-test)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, vertexai)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, litellm)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, anthropic)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: notify-wandb-core
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, pandas-test)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, pandas-test)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, vertexai)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, litellm)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, anthropic)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: notify-wandb-core
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, pandas-test)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, pandas-test)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, vertexai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, litellm)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, anthropic)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, pandas-test)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, pandas-test)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, vertexai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, litellm)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
🔇 Additional comments (5)
weave/trace_server/file_management.py (4)
78-88
: LGTM! Well-structured retry logging.The retry mechanism is well-implemented with proper logging and exponential backoff.
227-253
: LGTM! Robust S3 storage implementation.The S3 storage handler is well-implemented with:
- Proper error handling
- Configurable timeouts
- Disabled built-in retries in favor of custom retry mechanism
374-488
: LGTM! Consistent read implementation.The read operations mirror the write operations with:
- Consistent error handling
- Proper retry mechanisms
- Parallel structure across providers
490-540
: LGTM! Well-structured read implementation.The read_from_bucket function is well-implemented with:
- Comprehensive error handling
- Consistent structure with store_in_bucket
- Clear documentation
weave/trace_server/clickhouse_trace_server_batched.py (1)
1321-1334
: LGTM! Robust storage URI verification.The implementation includes proper validation of storage URIs and maintains backward compatibility with the existing chunked storage mechanism.
# BBBAAADDD | ||
assert base_storage_bucket_uri.endswith("/") | ||
return f"{base_storage_bucket_uri}{key_for_project_digest(project_id, digest)}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Replace assert with proper validation.
Using assertions for validation in production code is not recommended as they can be disabled with the -O flag. Replace with explicit validation.
- # BBBAAADDD
- assert base_storage_bucket_uri.endswith("/")
+ if not base_storage_bucket_uri.endswith("/"):
+ raise ValueError("Base storage bucket URI must end with '/'")
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
# BBBAAADDD | |
assert base_storage_bucket_uri.endswith("/") | |
return f"{base_storage_bucket_uri}{key_for_project_digest(project_id, digest)}" | |
if not base_storage_bucket_uri.endswith("/"): | |
raise ValueError("Base storage bucket URI must end with '/'") | |
return f"{base_storage_bucket_uri}{key_for_project_digest(project_id, digest)}" |
credential = base64.b64decode(b64_credential).decode('utf-8') | ||
return AzureAccountCredentials(account_url=account_url, credential=credential) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add error handling for base64 decoding.
The base64 decoding of Azure credentials lacks error handling for malformed input.
- credential = base64.b64decode(b64_credential).decode('utf-8')
+ try:
+ credential = base64.b64decode(b64_credential).decode('utf-8')
+ except (base64.binascii.Error, UnicodeDecodeError) as e:
+ raise ValueError(f"Invalid base64-encoded Azure credential: {e}")
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
credential = base64.b64decode(b64_credential).decode('utf-8') | |
return AzureAccountCredentials(account_url=account_url, credential=credential) | |
try: | |
credential = base64.b64decode(b64_credential).decode('utf-8') | |
except (base64.binascii.Error, UnicodeDecodeError) as e: | |
raise ValueError(f"Invalid base64-encoded Azure credential: {e}") | |
return AzureAccountCredentials(account_url=account_url, credential=credential) |
# BBBAAADDD | ||
name, path = path.split("/", 1) | ||
return provider, path |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add error handling for path splitting.
The current path splitting is unsafe and could raise an IndexError if the path doesn't contain a forward slash.
- # BBBAAADDD
- name, path = path.split("/", 1)
+ try:
+ name, path = path.split("/", 1)
+ except ValueError:
+ raise ValueError(f"Invalid path format: {path}. Must include bucket/container name and path separated by '/'")
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
# BBBAAADDD | |
name, path = path.split("/", 1) | |
return provider, path | |
try: | |
name, path = path.split("/", 1) | |
except ValueError: | |
raise ValueError(f"Invalid path format: {path}. Must include bucket/container name and path separated by '/'") | |
return provider, path |
if self._storage_bucket_uri is not None: | ||
bucket_uri = determine_bucket_uri( | ||
self._storage_bucket_uri, req.project_id, digest | ||
) | ||
store_in_bucket(bucket_uri, req.content) | ||
self._insert( | ||
"files", | ||
data=[(req.project_id, digest, 0, 0, req.name, b"", bucket_uri)], | ||
column_names=[ | ||
"project_id", | ||
"digest", | ||
"chunk_index", | ||
"n_chunks", | ||
"name", | ||
"val_bytes", | ||
"bucket_storage_uri", | ||
], | ||
) | ||
else: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Consider implementing rollback for failed operations.
When storing files in cloud storage, a failure in the database insert after successful cloud storage upload would leave orphaned files in the bucket. Consider implementing a cleanup mechanism for such cases.
if self._storage_bucket_uri is not None:
bucket_uri = determine_bucket_uri(
self._storage_bucket_uri, req.project_id, digest
)
- store_in_bucket(bucket_uri, req.content)
- self._insert(
- "files",
- data=[(req.project_id, digest, 0, 0, req.name, b"", bucket_uri)],
- column_names=[
- "project_id",
- "digest",
- "chunk_index",
- "n_chunks",
- "name",
- "val_bytes",
- "bucket_storage_uri",
- ],
- )
+ try:
+ store_in_bucket(bucket_uri, req.content)
+ self._insert(
+ "files",
+ data=[(req.project_id, digest, 0, 0, req.name, b"", bucket_uri)],
+ column_names=[
+ "project_id",
+ "digest",
+ "chunk_index",
+ "n_chunks",
+ "name",
+ "val_bytes",
+ "bucket_storage_uri",
+ ],
+ )
+ except Exception as e:
+ # Attempt to clean up the uploaded file
+ try:
+ # TODO: Implement delete_from_bucket function
+ delete_from_bucket(bucket_uri)
+ except Exception as cleanup_error:
+ logger.error(
+ "Failed to clean up file %s after error: %s",
+ bucket_uri,
+ cleanup_error,
+ )
+ raise e
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
if self._storage_bucket_uri is not None: | |
bucket_uri = determine_bucket_uri( | |
self._storage_bucket_uri, req.project_id, digest | |
) | |
store_in_bucket(bucket_uri, req.content) | |
self._insert( | |
"files", | |
data=[(req.project_id, digest, 0, 0, req.name, b"", bucket_uri)], | |
column_names=[ | |
"project_id", | |
"digest", | |
"chunk_index", | |
"n_chunks", | |
"name", | |
"val_bytes", | |
"bucket_storage_uri", | |
], | |
) | |
else: | |
if self._storage_bucket_uri is not None: | |
bucket_uri = determine_bucket_uri( | |
self._storage_bucket_uri, req.project_id, digest | |
) | |
try: | |
store_in_bucket(bucket_uri, req.content) | |
self._insert( | |
"files", | |
data=[(req.project_id, digest, 0, 0, req.name, b"", bucket_uri)], | |
column_names=[ | |
"project_id", | |
"digest", | |
"chunk_index", | |
"n_chunks", | |
"name", | |
"val_bytes", | |
"bucket_storage_uri", | |
], | |
) | |
except Exception as e: | |
# Attempt to clean up the uploaded file | |
try: | |
# TODO: Implement delete_from_bucket function | |
delete_from_bucket(bucket_uri) | |
except Exception as cleanup_error: | |
logger.error( | |
"Failed to clean up file %s after error: %s", | |
bucket_uri, | |
cleanup_error, | |
) | |
raise e | |
else: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
♻️ Duplicate comments (1)
weave/trace_server/clickhouse_trace_server_batched.py (1)
1243-1290
:⚠️ Potential issueImplement transaction-like behavior for cloud storage operations.
When
_storage_bucket_uri
is set, files are uploaded to cloud storage before the DB insert. If the upload succeeds but the DB insert fails, the file will be orphaned in cloud storage.Apply this diff to implement proper error handling:
if self._storage_bucket_uri is not None: bucket_uri = determine_bucket_uri( self._storage_bucket_uri, req.project_id, digest ) - store_in_bucket(bucket_uri, req.content) - self._insert( - "files", - data=[(req.project_id, digest, 0, 0, req.name, b"", bucket_uri)], - column_names=[ - "project_id", - "digest", - "chunk_index", - "n_chunks", - "name", - "val_bytes", - "bucket_storage_uri", - ], - ) + try: + store_in_bucket(bucket_uri, req.content) + try: + self._insert( + "files", + data=[(req.project_id, digest, 0, 0, req.name, b"", bucket_uri)], + column_names=[ + "project_id", + "digest", + "chunk_index", + "n_chunks", + "name", + "val_bytes", + "bucket_storage_uri", + ], + ) + except Exception as e: + # Attempt to clean up the uploaded file + try: + # TODO: Implement delete_from_bucket function + delete_from_bucket(bucket_uri) + except Exception as cleanup_error: + logger.error( + "Failed to clean up file %s after error: %s", + bucket_uri, + cleanup_error, + ) + raise e + except Exception as e: + logger.error("Failed to store file in bucket: %s", e) + raise e
🧹 Nitpick comments (2)
weave/trace_server/clickhouse_trace_server_batched.py (2)
81-85
: Add type hints for better code maintainability.Consider adding type hints to the
storage_bucket_uri
parameter and instance variable:- storage_bucket_uri: Optional[str] = None, + storage_bucket_uri: Optional[str] = None, # type: Optional[str] - self._storage_bucket_uri = storage_bucket_uri + self._storage_bucket_uri: Optional[str] = storage_bucket_uriAlso applies to: 194-194, 207-207
1315-1334
: Improve error messages for better debugging.The error messages could be more descriptive to help with debugging issues.
if not bucket_storage_uri: - raise ValueError("File not found") + raise ValueError(f"File {req.digest} not found in project {req.project_id}") elif len(chunks) != n_chunks: - raise ValueError("Missing chunks") + raise ValueError(f"Missing chunks for file {req.digest}: expected {n_chunks}, got {len(chunks)}") if bucket_storage_uri: # Verify storage URI is what we expect. This is an extra check to ensure # that the storage bucket URI is set correctly. if self._storage_bucket_uri is None: - raise ValueError("Storage bucket URI is not set") + raise ValueError("Storage bucket URI is not configured but file is stored in cloud storage") expected_bucket_storage_uri = determine_bucket_uri( self._storage_bucket_uri, req.project_id, req.digest ) if bucket_storage_uri != expected_bucket_storage_uri: - raise ValueError("File storage URI does not match expected URI") + raise ValueError(f"File storage URI mismatch: found {bucket_storage_uri}, expected {expected_bucket_storage_uri}")
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
weave/trace_server/clickhouse_trace_server_batched.py
(6 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
`**/*.py`: Focus on pythonic code patterns. Check for proper...
**/*.py
: Focus on pythonic code patterns.
Check for proper exception handling.
Verify type hints usage where applicable.
Look for potential performance improvements.
Don't comment on formatting if black/isort is configured.
Check for proper dependency injection patterns.
Verify proper async handling if applicable.
weave/trace_server/clickhouse_trace_server_batched.py
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (2)
weave/trace_server/file_management.py (2)
5-9
: Consider using conditional imports for cloud storage libraries.Since these are optional dependencies based on which cloud provider is used, consider using conditional imports to avoid import errors when a particular provider's library is not installed.
-import boto3 -from azure.core.credentials import TokenCredential as AzureTokenCredential -from azure.storage.blob import BlobServiceClient -from botocore.config import Config -from google.cloud import storage +def import_aws(): + try: + import boto3 + from botocore.config import Config + return boto3, Config + except ImportError: + return None, None + +def import_azure(): + try: + from azure.core.credentials import TokenCredential as AzureTokenCredential + from azure.storage.blob import BlobServiceClient + return AzureTokenCredential, BlobServiceClient + except ImportError: + return None, None + +def import_gcp(): + try: + from google.cloud import storage + return storage + except ImportError: + return None
80-90
: Enhance retry attempt logging.Consider adding more context to retry logs, such as the error that caused the retry and the remaining retry attempts.
def after_retry(retry_state: RetryCallState) -> None: """Log retry attempt information.""" if retry_state.attempt_number > 1: # Only log retries, not the first attempt logger.info( - "%s: Attempt %d/%d after %.2f seconds", - operation_name, - retry_state.attempt_number, - RETRY_MAX_ATTEMPTS, - retry_state.seconds_since_start, + "%s: Attempt %d/%d after %.2f seconds. Error: %s. Remaining attempts: %d", + operation_name, + retry_state.attempt_number, + RETRY_MAX_ATTEMPTS, + retry_state.seconds_since_start, + str(retry_state.outcome.exception()), + RETRY_MAX_ATTEMPTS - retry_state.attempt_number, )
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (6)
tests/trace/test_server_byob.py
(1 hunks)tests/trace/test_server_file_management_utils.py
(1 hunks)weave/trace_server/clickhouse_trace_server_batched.py
(6 hunks)weave/trace_server/file_management.py
(1 hunks)weave/trace_server/migrations/011_add_file_bucket_storage.down.sql
(1 hunks)weave/trace_server/migrations/011_add_file_bucket_storage.up.sql
(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (4)
- weave/trace_server/migrations/011_add_file_bucket_storage.down.sql
- weave/trace_server/migrations/011_add_file_bucket_storage.up.sql
- tests/trace/test_server_file_management_utils.py
- tests/trace/test_server_byob.py
🧰 Additional context used
📓 Path-based instructions (1)
`**/*.py`: Focus on pythonic code patterns. Check for proper...
**/*.py
: Focus on pythonic code patterns.
Check for proper exception handling.
Verify type hints usage where applicable.
Look for potential performance improvements.
Don't comment on formatting if black/isort is configured.
Check for proper dependency injection patterns.
Verify proper async handling if applicable.
weave/trace_server/clickhouse_trace_server_batched.py
weave/trace_server/file_management.py
⏰ Context from checks skipped due to timeout of 90000ms (740)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, pandas-test)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, vertexai)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, mistral0)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, pandas-test)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, vertexai)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, google_ai_studio)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, groq)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, anthropic)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Trace nox tests (3, 9, instructor)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, mistral0)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, pandas-test)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, google_ai_studio)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, groq)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Trace nox tests (3, 9, instructor)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, mistral0)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, groq)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Trace nox tests (3, 9, instructor)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, mistral0)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, groq)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Trace nox tests (3, 9, instructor)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, groq)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Trace nox tests (3, 9, instructor)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, groq)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Trace nox tests (3, 9, instructor)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Trace nox tests (3, 9, instructor)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Trace nox tests (3, 9, instructor)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Trace nox tests (3, 9, instructor)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Trace nox tests (3, 9, instructor)
🔇 Additional comments (6)
weave/trace_server/file_management.py (4)
58-65
: Ensure credential is never logged unintentionally.The
credential
field inAzureAccountCredentials
could contain sensitive information. Ensure it's never included in logs or error messages.
39-41
: Replace assert with proper validation.Using assertions for validation in production code is not recommended as they can be disabled with the -O flag.
174-174
: Add error handling for base64 decoding.The base64 decoding of Azure credentials lacks error handling for malformed input.
202-204
: Add error handling for path splitting.The current path splitting is unsafe and could raise an IndexError if the path doesn't contain a forward slash.
weave/trace_server/clickhouse_trace_server_batched.py (2)
1243-1273
: Consider implementing rollback for failed operations.When storing files in cloud storage, a failure in the database insert after successful cloud storage upload would leave orphaned files in the bucket.
1335-1346
: LGTM! Well-implemented storage URI verification.The implementation includes thorough validation of storage URIs and proper error handling.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
♻️ Duplicate comments (1)
weave/trace_server/clickhouse_trace_server_batched.py (1)
1244-1306
:⚠️ Potential issueAdd error handling for partial failures.
When
_storage_bucket_uri
is set, the code performs two operations:
- Uploads file to cloud storage
- Inserts record into the database
If the upload succeeds but the DB insert fails, there will be orphaned files in the bucket. Similarly, if the DB insert succeeds but the upload fails, there will be inconsistent state.
Consider implementing a transaction-like pattern with rollback:
if self._storage_bucket_uri is not None: bucket_uri = determine_bucket_uri( self._storage_bucket_uri, req.project_id, digest ) - store_in_bucket(bucket_uri, req.content) - self._insert( - "files", - data=[( - req.project_id, - digest, - 0, - 0, - req.name, - b"", - len(req.content), - bucket_uri, - )], - column_names=[ - "project_id", - "digest", - "chunk_index", - "n_chunks", - "name", - "val_bytes", - "bytes_stored", - "file_storage_uri", - ], - ) + try: + store_in_bucket(bucket_uri, req.content) + try: + self._insert( + "files", + data=[( + req.project_id, + digest, + 0, + 0, + req.name, + b"", + len(req.content), + bucket_uri, + )], + column_names=[ + "project_id", + "digest", + "chunk_index", + "n_chunks", + "name", + "val_bytes", + "bytes_stored", + "file_storage_uri", + ], + ) + except Exception as db_error: + # Rollback: Delete the uploaded file + try: + delete_from_bucket(bucket_uri) + except Exception as cleanup_error: + logger.error( + "Failed to clean up file %s after DB error: %s. Original error: %s", + bucket_uri, + cleanup_error, + db_error, + ) + raise db_error + except Exception as e: + raise ValueError(f"Failed to store file in bucket: {e}")
🧹 Nitpick comments (1)
weave/trace_server/clickhouse_trace_server_batched.py (1)
1308-1351
: Improve error messages for better debugging.The error messages in the file content read logic could be more descriptive to aid in debugging.
- if not file_storage_uri: - raise ValueError("File not found") + if not file_storage_uri: + raise ValueError(f"File not found: project_id={req.project_id}, digest={req.digest}") - if self._storage_bucket_uri is None: - raise ValueError("Storage bucket URI is not set") + if self._storage_bucket_uri is None: + raise ValueError(f"Storage bucket URI is not set but file {req.digest} has storage URI {file_storage_uri}") - if file_storage_uri != expected_file_storage_uri: - raise ValueError("File storage URI does not match expected URI") + if file_storage_uri != expected_file_storage_uri: + raise ValueError( + f"File storage URI mismatch for {req.digest}: " + f"found={file_storage_uri}, expected={expected_file_storage_uri}" + )
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
pyproject.toml
(1 hunks)weave/trace_server/clickhouse_trace_server_batched.py
(6 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- pyproject.toml
🧰 Additional context used
📓 Path-based instructions (1)
`**/*.py`: Focus on pythonic code patterns. Check for proper...
**/*.py
: Focus on pythonic code patterns.
Check for proper exception handling.
Verify type hints usage where applicable.
Look for potential performance improvements.
Don't comment on formatting if black/isort is configured.
Check for proper dependency injection patterns.
Verify proper async handling if applicable.
weave/trace_server/clickhouse_trace_server_batched.py
⏰ Context from checks skipped due to timeout of 90000ms (727)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, anthropic)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, vertexai)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, mistral0)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, pandas-test)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, vertexai)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, litellm)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, google_ai_studio)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, groq)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, anthropic)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, vertexai)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, mistral0)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, pandas-test)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, vertexai)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, litellm)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, google_ai_studio)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, groq)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, anthropic)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, vertexai)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, mistral0)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, pandas-test)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, vertexai)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, google_ai_studio)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, groq)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, anthropic)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, mistral0)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, google_ai_studio)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, groq)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, mistral0)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, google_ai_studio)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, groq)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: notify-wandb-core
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, google_ai_studio)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, groq)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: notify-wandb-core
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, google_ai_studio)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, groq)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, google_ai_studio)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, google_ai_studio)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, google_ai_studio)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, langchain)
🔇 Additional comments (3)
weave/trace_server/clickhouse_trace_server_batched.py (3)
81-85
: LGTM!The imports are well-organized and correctly scoped to the new file management functionality.
194-194
: LGTM!The constructor changes properly handle the new storage bucket URI parameter with appropriate type hints.
Also applies to: 207-207
220-220
: LGTM!The factory method correctly integrates with the environment configuration for storage bucket URI.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
♻️ Duplicate comments (4)
weave/trace_server/file_management.py (3)
174-175
:⚠️ Potential issueAdd error handling for base64 decoding.
The base64 decoding of Azure credentials lacks error handling for malformed input.
Apply this diff to add error handling:
- credential = base64.b64decode(b64_credential).decode("utf-8") + try: + credential = base64.b64decode(b64_credential).decode("utf-8") + except (base64.binascii.Error, UnicodeDecodeError) as e: + raise ValueError(f"Invalid base64-encoded Azure credential: {e}")
39-41
:⚠️ Potential issueReplace assert with proper validation.
Using assertions for validation in production code is not recommended as they can be disabled with the -O flag.
Apply this diff to replace the assertion:
- # BBBAAADDD - assert base_file_storage_uri.endswith("/") + if not base_file_storage_uri.endswith("/"): + raise ValueError("Base storage bucket URI must end with '/'")
202-204
:⚠️ Potential issueAdd error handling for path splitting.
The current path splitting is unsafe and could raise an IndexError if the path doesn't contain a forward slash.
Apply this diff to add error handling:
- # BBBAAADDD - name, path = path.split("/", 1) + try: + name, path = path.split("/", 1) + except ValueError: + raise ValueError(f"Invalid path format: {path}. Must include bucket/container name and path separated by '/'")weave/trace_server/clickhouse_trace_server_batched.py (1)
1260-1290
:⚠️ Potential issueImplement rollback for failed operations.
When storing files in cloud storage, a failure in the database insert after successful cloud storage upload would leave orphaned files in the bucket.
Apply this diff to add rollback support:
if base_file_storage_uri is not None: bucket_uri = determine_bucket_uri( base_file_storage_uri, req.project_id, digest ) - store_in_bucket(bucket_uri, req.content) - self._insert( - "files", - data=[( - req.project_id, - digest, - 0, - 0, - req.name, - b"", - len(req.content), - bucket_uri, - )], - column_names=[ - "project_id", - "digest", - "chunk_index", - "n_chunks", - "name", - "val_bytes", - "bytes_stored", - "file_storage_uri", - ], - ) + try: + store_in_bucket(bucket_uri, req.content) + self._insert( + "files", + data=[( + req.project_id, + digest, + 0, + 0, + req.name, + b"", + len(req.content), + bucket_uri, + )], + column_names=[ + "project_id", + "digest", + "chunk_index", + "n_chunks", + "name", + "val_bytes", + "bytes_stored", + "file_storage_uri", + ], + ) + except Exception as e: + # Attempt to clean up the uploaded file + try: + delete_from_bucket(bucket_uri) + except Exception as cleanup_error: + logger.error( + "Failed to clean up file %s after error: %s", + bucket_uri, + cleanup_error, + ) + raise e
🧹 Nitpick comments (5)
weave/trace_server/file_storage_uris.py (4)
17-23
: Consider adding type hints and docstrings for constructor parameters in subclasses.While the class-level docstrings are excellent, the constructors (e.g., in
FileStorageURI
and its subclasses) currently lack explicit parameter type hints in the function signature. Consider enhancing readability and maintainability by including type hints and brief docstrings for each constructor parameter, e.g.:def __init__(self, bucket: str, path: str) -> None: ...
29-59
: Potential optimization forwith_path
method.The
with_path
method fully re-parses (parse_uri_str(self.to_uri_str())
) to produce a copy and then reassignpath
. While clear, this adds overhead. If the subclasses store only simple attributes, consider shallow-copying the necessary fields directly, reducing the need for a round trip through string parsing.
78-129
: Refactor repeated validation for S3, GCS, and Azure.Each subclass repeats checks for empty
params
,query
, andfragment
. This is functional, but you may reduce duplication by providing a helper method in the base class that validates unused components (params
,query
,fragment
) before returning. Then each subclass can pass these checks unless there is a special override.
182-248
: Suggestion: Considerdataclass
usage for AzureFileStorageURI (and others).The Azure, S3, and GCS URI classes could benefit from Python’s
dataclass
to reduce boilerplate and improve clarity, especially around the constructor and defined attributes.weave/trace_server/clickhouse_trace_server_batched.py (1)
1242-1254
: Consider using a dedicated class for file storage URI.The TODO comment suggests converting the return type to a
FILESTORAGEURI
object. This is a good suggestion as it would provide better encapsulation and validation.Consider implementing a dedicated class:
from dataclasses import dataclass from typing import Optional @dataclass class FileStorageUri: """Represents a file storage URI with validation.""" base_uri: str def __post_init__(self) -> None: if not self.base_uri.endswith("/"): raise ValueError("Base storage URI must end with '/'") @classmethod def from_env(cls) -> Optional["FileStorageUri"]: """Creates a FileStorageUri from environment variables.""" uri = wf_env.wf_file_storage_uri() return cls(uri) if uri else None def __str__(self) -> str: return self.base_uri
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (7)
pyproject.toml
(1 hunks)tests/trace/test_file_storage_uris.py
(1 hunks)tests/trace/test_server_byob.py
(1 hunks)weave/trace_server/clickhouse_trace_server_batched.py
(6 hunks)weave/trace_server/environment.py
(2 hunks)weave/trace_server/file_management.py
(1 hunks)weave/trace_server/file_storage_uris.py
(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
- pyproject.toml
- tests/trace/test_server_byob.py
🧰 Additional context used
📓 Path-based instructions (1)
`**/*.py`: Focus on pythonic code patterns. Check for proper...
**/*.py
: Focus on pythonic code patterns.
Check for proper exception handling.
Verify type hints usage where applicable.
Look for potential performance improvements.
Don't comment on formatting if black/isort is configured.
Check for proper dependency injection patterns.
Verify proper async handling if applicable.
tests/trace/test_file_storage_uris.py
weave/trace_server/environment.py
weave/trace_server/clickhouse_trace_server_batched.py
weave/trace_server/file_storage_uris.py
weave/trace_server/file_management.py
⏰ Context from checks skipped due to timeout of 90000ms (40)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, trace)
🔇 Additional comments (5)
weave/trace_server/environment.py (1)
33-71
: Straightforward environment lookups - watch for inadvertent credential exposure.These functions correctly return environment variables as optional strings. Ensure they are never inadvertently logged or exposed in unexpected contexts. This is a standard approach for handling credentials in Python. No major changes needed.
tests/trace/test_file_storage_uris.py (1)
1-218
: Excellent coverage of URI parsing edge cases.The parameterized tests and coverage of invalid URIs, empty paths, and edge cases (especially for Azure container/path handling) appear comprehensive. This thorough test suite greatly reduces the risk of hidden parsing bugs.
weave/trace_server/file_management.py (2)
5-9
: Add missing cloud storage dependencies.The code requires cloud storage libraries that aren't currently installed. Add the following packages to your dependency management file:
boto3
for AWS S3azure-storage-blob
for Azure Blob Storagegoogle-cloud-storage
for Google Cloud Storage
58-65
: Ensure credential is never logged unintentionally.When debugging, ensure that no logs inadvertently include
credential
fromAzureAccountCredentials
, to avoid security leaks.weave/trace_server/clickhouse_trace_server_batched.py (1)
1352-1364
: LGTM! Well-structured file reading logic.The implementation includes:
- Proper validation of storage URIs
- Verification of expected URIs
- Fallback to chunk-based reading when needed
def store_in_bucket(file_storage_uri: str, bytes: bytes) -> str: | ||
""" | ||
Stores a file in a storage bucket. file_storage_uri is the uri of the | ||
bucket to store the file in - supports the following providers: Azure, | ||
GCP, and S3. | ||
|
||
Args: | ||
file_storage_uri: The complete URI where the file should be stored | ||
Format examples: | ||
- AWS: s3://bucket-name/path/to/file | ||
- GCP: gs://bucket-name/path/to/file | ||
- Azure: azure://container-name/path/to/file | ||
- Local: file:///path/to/file (currently not supported) | ||
bytes: The file contents to store | ||
|
||
Returns: | ||
str: The complete URI of the stored file | ||
|
||
Raises: | ||
ValueError: If the URI format is invalid or provider is unsupported | ||
NotImplementedError: For unimplemented providers (like local files) | ||
Various provider-specific exceptions for storage/auth failures | ||
""" | ||
provider, path = parse_storage_uri(file_storage_uri) | ||
logger.info("Storing %d bytes at %s", len(bytes), file_storage_uri) | ||
credentials: AllCredentials | ||
try: | ||
if provider == "s3": | ||
credentials = get_aws_credentials() | ||
handle_s3_storage(path, bytes, credentials) | ||
|
||
elif provider == "gs": | ||
credentials = get_gcp_credentials() | ||
handle_gcs_storage(path, bytes, credentials) | ||
|
||
elif provider == "azure": | ||
credentials = get_azure_credentials() | ||
handle_azure_storage(path, bytes, credentials) | ||
|
||
elif provider == "file": | ||
raise NotImplementedError("Local file storage not currently supported") | ||
|
||
except Exception as e: | ||
logger.exception("Failed to store file at %s: %s", file_storage_uri, str(e)) | ||
# Re-raise with more context | ||
raise type(e)(f"Failed to store file at {file_storage_uri}: {str(e)}") from e | ||
|
||
return file_storage_uri # Return the full URI as it uniquely identifies the stored file | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Add cleanup mechanism for failed storage operations.
When storing files in cloud storage, a failure in the database insert after successful cloud storage upload would leave orphaned files in the bucket.
Consider implementing a cleanup mechanism by:
- Adding a
delete_from_bucket
function to handle file deletion. - Wrapping the storage and database operations in a try-except block.
- Cleaning up the uploaded file if the database insert fails.
Example implementation:
def delete_from_bucket(file_storage_uri: str) -> None:
"""
Deletes a file from a storage bucket.
Args:
file_storage_uri: The complete URI of the file to delete
"""
provider, path = parse_storage_uri(file_storage_uri)
logger.info("Deleting from %s", file_storage_uri)
try:
if provider == "s3":
credentials = get_aws_credentials()
bucket_name, object_path = split_bucket_and_path(path, "s3")
s3_client = boto3.client("s3", **credentials)
s3_client.delete_object(Bucket=bucket_name, Key=object_path)
elif provider == "gs":
credentials = get_gcp_credentials()
bucket_name, object_path = split_bucket_and_path(path, "gs")
storage_client = storage.Client(credentials=credentials)
bucket = storage_client.bucket(bucket_name)
blob = bucket.blob(object_path)
blob.delete()
elif provider == "azure":
credentials = get_azure_credentials()
container_name, blob_path = split_bucket_and_path(path, "azure")
if "connection_string" in credentials:
blob_service_client = BlobServiceClient.from_connection_string(
credentials["connection_string"]
)
else:
blob_service_client = BlobServiceClient(
account_url=credentials["account_url"],
credential=credentials["credential"]
)
container_client = blob_service_client.get_container_client(container_name)
blob_client = container_client.get_blob_client(blob_path)
blob_client.delete_blob()
except Exception as e:
logger.error("Failed to delete file at %s: %s", file_storage_uri, str(e))
raise
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 6
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (7)
.github/workflows/test.yaml
(1 hunks)pyproject.toml
(2 hunks)tests/trace/test_file_storage_credentials.py
(1 hunks)tests/trace/test_file_storage_uris.py
(1 hunks)weave/trace_server/file_storage.py
(1 hunks)weave/trace_server/file_storage_credentials.py
(1 hunks)weave/trace_server/file_storage_uris.py
(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (4)
- .github/workflows/test.yaml
- tests/trace/test_file_storage_credentials.py
- tests/trace/test_file_storage_uris.py
- weave/trace_server/file_storage_credentials.py
🧰 Additional context used
📓 Path-based instructions (1)
`**/*.py`: Focus on pythonic code patterns. Check for proper...
**/*.py
: Focus on pythonic code patterns.
Check for proper exception handling.
Verify type hints usage where applicable.
Look for potential performance improvements.
Don't comment on formatting if black/isort is configured.
Check for proper dependency injection patterns.
Verify proper async handling if applicable.
weave/trace_server/file_storage_uris.py
weave/trace_server/file_storage.py
🪛 GitHub Actions: test
weave/trace_server/file_storage_uris.py
[error] 62-62: Property "path" defined in "FileStorageURI" is read-only.
[error] 103-103: Property "bucket" defined in "S3FileStorageURI" is read-only.
[error] 106-106: Property "path" defined in "S3FileStorageURI" is read-only.
[error] 130-130: "S3FileStorageURI" not callable.
[error] 156-156: Property "bucket" defined in "GCSFileStorageURI" is read-only.
[error] 159-159: Property "path" defined in "GCSFileStorageURI" is read-only.
[error] 183-183: "GCSFileStorageURI" not callable.
[error] 208-208: Property "account" defined in "AzureFileStorageURI" is read-only.
[error] 211-211: Property "container" defined in "AzureFileStorageURI" is read-only.
[error] 214-214: Property "path" defined in "AzureFileStorageURI" is read-only.
[error] 252-252: "AzureFileStorageURI" not callable.
weave/trace_server/file_storage.py
[error] 184-184: Could not access item in TypedDict. "account_url" is not a required key in "AzureAccountCredentials".
[error] 185-185: Could not access item in TypedDict. "account_url" is not a required key in "AzureAccountCredentials".
[warning] 10-10: Import "requests" could not be resolved from source.
⏰ Context from checks skipped due to timeout of 90000ms (56)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, scorers)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, notdiamond)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, litellm)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, bedrock)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, notdiamond)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, litellm)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, notdiamond)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, litellm)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 13, notdiamond)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, openai)
🔇 Additional comments (2)
weave/trace_server/file_storage.py (1)
5-5
:❓ Verification inconclusive
Confirm “requests” availability.
A pipeline warning suggests “requests” might not be resolvable. If you rely on it (directly or indirectly), ensure it’s included in the active environment or pinned in dependencies.
🏁 Script executed:
#!/bin/bash # Check for direct 'requests' imports: rg '^import requests' -A 2 # If found, verify 'requests' is in the project's dependencies: rg 'requests' pyproject.tomlLength of output: 4956
Dependency Availability: Confirm that "requests" is properly resolved in the environment
While the file
weave/trace_server/file_storage.py
(line 5) currently only importsboto3
, our wider codebase clearly relies on therequests
package—as evidenced by its numerous imports in documentation, tests, and other modules. Notably, the dependency is not directly declared inpyproject.toml
but is introduced indirectly via the extra in the dependency:"gql[aiohttp,requests]", # Used exclusively in wandb_api.py
Please verify that your active environment correctly resolves the
requests
dependency. If there are ongoing pipeline warnings, consider either confirming that the extra dependency is reliably installed in all target environments or explicitly addingrequests
as a dependency to your configuration.pyproject.toml (1)
46-46
:❓ Verification inconclusive
Verify compatibility with “requests” usage.
Line 46 includes
"gql[aiohttp,requests]"
which may expect “requests” installed. The pipeline warns about unresolved imports. Ensure the environment or optional dependency is configured properly to satisfy this requirement.
🏁 Script executed:
#!/bin/bash # Checking usage of requests in the codebase rg 'import requests' -A2 # Additionally see if 'requests' is pinned in all relevant sections rg 'requests' pyproject.tomlLength of output: 6920
Action Required: Double-check Dependency Configuration for "requests".
Several parts of the codebase rely on the
requests
library (e.g., in files likeexamples/tutorial_scripts/09_tracing.py
and various modules underdocs/
,tests/
,weave/
, andweave_query/
). The dependency specified on line 46 inpyproject.toml
as"gql[aiohttp,requests]"
means that therequests
package should be installed as an optional dependency. Please verify that your build and runtime environments are correctly configured so that therequests
module is available—especially considering that your pipeline has issued unresolved import warnings.
- Verify that the environment installation of optional dependencies correctly includes
requests
when usinggql[aiohttp,requests]
.- Check if the unresolved import warnings persist and if so, adjust the dependency configuration or installation process accordingly.
def with_path(self, path: str) -> "FileStorageURI": | ||
copied = self.parse_uri_str(self.to_uri_str()) | ||
copied.path = path | ||
return copied |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cannot mutate a frozen dataclass field.
Within with_path()
(lines 60–63), .path
is reassigned despite @dataclass(frozen=True)
making fields read-only. This triggers the pipeline error "Property 'path' is read-only." To support path changes, you must remove frozen=True
or return a new instance without directly mutating.
Possible fix: Remove or modify frozen
. For instance:
-@dataclass(frozen=True)
+@dataclass
class FileStorageURI:
...
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
def with_path(self, path: str) -> "FileStorageURI": | |
copied = self.parse_uri_str(self.to_uri_str()) | |
copied.path = path | |
return copied | |
@dataclass | |
class FileStorageURI: | |
# ... other fields and methods ... | |
def with_path(self, path: str) -> "FileStorageURI": | |
copied = self.parse_uri_str(self.to_uri_str()) | |
copied.path = path | |
return copied |
🧰 Tools
🪛 GitHub Actions: test
[error] 62-62: Property "path" defined in "FileStorageURI" is read-only.
def __init__(self, bucket: str, path: str): | ||
self.bucket = bucket.strip("/") | ||
if self.bucket == "": | ||
raise URIParseError("Bucket cannot be empty") | ||
self.path = path.strip("/") | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cannot set read-only fields within the constructor.
The S3FileStorageURI
lines 102–107 attempt to set bucket
and path
, yet they’re marked read-only under @dataclass(frozen=True)
. This conflicts with the pipeline checks. You should remove frozen=True
or initialize fields via __post_init__()
without direct assignment.
Possible fix (remove frozen=True
and rely on default dataclass initialization):
-@dataclass(frozen=True)
+@dataclass
class S3FileStorageURI(FileStorageURI):
scheme = "s3"
bucket: str
...
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
def __init__(self, bucket: str, path: str): | |
self.bucket = bucket.strip("/") | |
if self.bucket == "": | |
raise URIParseError("Bucket cannot be empty") | |
self.path = path.strip("/") | |
@dataclass | |
class S3FileStorageURI(FileStorageURI): | |
scheme = "s3" | |
bucket: str | |
path: str | |
def __init__(self, bucket: str, path: str): | |
self.bucket = bucket.strip("/") | |
if self.bucket == "": | |
raise URIParseError("Bucket cannot be empty") | |
self.path = path.strip("/") |
🧰 Tools
🪛 GitHub Actions: test
[error] 103-103: Property "bucket" defined in "S3FileStorageURI" is read-only.
[error] 106-106: Property "path" defined in "S3FileStorageURI" is read-only.
def __init__(self, bucket: str, path: str): | ||
self.bucket = bucket.strip("/") | ||
if self.bucket == "": | ||
raise URIParseError("Bucket cannot be empty") | ||
self.path = path.strip("/") | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cannot set read-only fields within GCS constructor.
For GCSFileStorageURI, lines 155–160 assign bucket
and path
even though @dataclass(frozen=True)
locks fields. This also causes “property is read-only” errors. Remove frozen=True
or switch to a non-mutating pattern.
Suggested fix:
-@dataclass(frozen=True)
+@dataclass
class GCSFileStorageURI(FileStorageURI):
scheme = "gcs"
bucket: str
...
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
def __init__(self, bucket: str, path: str): | |
self.bucket = bucket.strip("/") | |
if self.bucket == "": | |
raise URIParseError("Bucket cannot be empty") | |
self.path = path.strip("/") | |
@dataclass | |
class GCSFileStorageURI(FileStorageURI): | |
scheme = "gcs" | |
bucket: str | |
path: str | |
def __init__(self, bucket: str, path: str): | |
self.bucket = bucket.strip("/") | |
if self.bucket == "": | |
raise URIParseError("Bucket cannot be empty") | |
self.path = path.strip("/") |
🧰 Tools
🪛 GitHub Actions: test
[error] 156-156: Property "bucket" defined in "GCSFileStorageURI" is read-only.
[error] 159-159: Property "path" defined in "GCSFileStorageURI" is read-only.
def _from_parse_result(cls, parsed_uri: ParseResult) -> "S3FileStorageURI": | ||
if parsed_uri.scheme != cls.scheme: | ||
raise URIParseError( | ||
f"Incorrect scheme for S3 file storage URI: {parsed_uri.geturl()}" | ||
) | ||
if parsed_uri.params != "": | ||
raise URIParseError( | ||
f"Invalid params for S3 file storage URI: {parsed_uri.geturl()}" | ||
) | ||
if parsed_uri.query != "": | ||
raise URIParseError( | ||
f"Invalid query for S3 file storage URI: {parsed_uri.geturl()}" | ||
) | ||
if parsed_uri.fragment != "": | ||
raise URIParseError( | ||
f"Invalid fragment for S3 file storage URI: {parsed_uri.geturl()}" | ||
) | ||
return cls(parsed_uri.netloc, parsed_uri.path) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
“S3FileStorageURI not callable” pipeline error.
The _from_parse_result()
method calls cls(...)
, but the pipeline reports this class is “not callable.” With @dataclass(frozen=True)
and a custom __init__
, type checkers can conflict. Removing frozen=True
or restructuring the constructor typically resolves this.
Potential resolution: Remove frozen=True
so cls(...)
behaves as expected:
-@dataclass(frozen=True)
+@dataclass
class S3FileStorageURI(FileStorageURI):
...
@classmethod
def _from_parse_result(cls, parsed_uri: ParseResult) -> "S3FileStorageURI":
...
return cls(parsed_uri.netloc, parsed_uri.path)
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
def _from_parse_result(cls, parsed_uri: ParseResult) -> "S3FileStorageURI": | |
if parsed_uri.scheme != cls.scheme: | |
raise URIParseError( | |
f"Incorrect scheme for S3 file storage URI: {parsed_uri.geturl()}" | |
) | |
if parsed_uri.params != "": | |
raise URIParseError( | |
f"Invalid params for S3 file storage URI: {parsed_uri.geturl()}" | |
) | |
if parsed_uri.query != "": | |
raise URIParseError( | |
f"Invalid query for S3 file storage URI: {parsed_uri.geturl()}" | |
) | |
if parsed_uri.fragment != "": | |
raise URIParseError( | |
f"Invalid fragment for S3 file storage URI: {parsed_uri.geturl()}" | |
) | |
return cls(parsed_uri.netloc, parsed_uri.path) | |
@dataclass | |
class S3FileStorageURI(FileStorageURI): | |
# ... other class members ... | |
@classmethod | |
def _from_parse_result(cls, parsed_uri: ParseResult) -> "S3FileStorageURI": | |
if parsed_uri.scheme != cls.scheme: | |
raise URIParseError( | |
f"Incorrect scheme for S3 file storage URI: {parsed_uri.geturl()}" | |
) | |
if parsed_uri.params != "": | |
raise URIParseError( | |
f"Invalid params for S3 file storage URI: {parsed_uri.geturl()}" | |
) | |
if parsed_uri.query != "": | |
raise URIParseError( | |
f"Invalid query for S3 file storage URI: {parsed_uri.geturl()}" | |
) | |
if parsed_uri.fragment != "": | |
raise URIParseError( | |
f"Invalid fragment for S3 file storage URI: {parsed_uri.geturl()}" | |
) | |
return cls(parsed_uri.netloc, parsed_uri.path) |
def __init__(self, account: str, container: str, path: str): | ||
self.account = account.strip("/") | ||
if self.account == "": | ||
raise URIParseError("Account cannot be empty") | ||
self.container = container.strip("/") | ||
if self.container == "": | ||
raise URIParseError("Container cannot be empty") | ||
self.path = path.strip("/") | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cannot set read-only fields in Azure constructor.
Lines 207–215 set account
, container
, and path
while the dataclass is frozen. This forces read-only fields. For flexible initialization, remove frozen=True
or adopt a non-mutating approach.
Suggested fix:
-@dataclass(frozen=True)
+@dataclass
class AzureFileStorageURI(FileStorageURI):
scheme = "az"
account: str
container: str
...
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
def __init__(self, account: str, container: str, path: str): | |
self.account = account.strip("/") | |
if self.account == "": | |
raise URIParseError("Account cannot be empty") | |
self.container = container.strip("/") | |
if self.container == "": | |
raise URIParseError("Container cannot be empty") | |
self.path = path.strip("/") | |
@dataclass | |
class AzureFileStorageURI(FileStorageURI): | |
scheme = "az" | |
account: str | |
container: str | |
path: str | |
def __init__(self, account: str, container: str, path: str): | |
self.account = account.strip("/") | |
if self.account == "": | |
raise URIParseError("Account cannot be empty") | |
self.container = container.strip("/") | |
if self.container == "": | |
raise URIParseError("Container cannot be empty") | |
self.path = path.strip("/") |
🧰 Tools
🪛 GitHub Actions: test
[error] 208-208: Property "account" defined in "AzureFileStorageURI" is read-only.
[error] 211-211: Property "container" defined in "AzureFileStorageURI" is read-only.
[error] 214-214: Property "path" defined in "AzureFileStorageURI" is read-only.
weave/trace_server/file_storage.py
Outdated
if account_creds["account_url"]: | ||
account_url = account_creds["account_url"] | ||
else: | ||
account_url = f"https://{account}.blob.core.windows.net/" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Handle missing 'account_url' key safely in TypedDict.
Lines 184–187 assume account_url
exists in AzureAccountCredentials
but the pipeline fails if the key is optional. Use .get()
or check for the key before using it.
Example fix:
account_creds = cast(AzureAccountCredentials, self.credentials)
-if account_creds["account_url"]:
+if account_creds.get("account_url"):
account_url = account_creds["account_url"]
else:
account_url = f"https://{account}.blob.core.windows.net/"
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
if account_creds["account_url"]: | |
account_url = account_creds["account_url"] | |
else: | |
account_url = f"https://{account}.blob.core.windows.net/" | |
if account_creds.get("account_url"): | |
account_url = account_creds["account_url"] | |
else: | |
account_url = f"https://{account}.blob.core.windows.net/" |
🧰 Tools
🪛 GitHub Actions: test
[error] 184-184: Could not access item in TypedDict. "account_url" is not a required key in "AzureAccountCredentials".
[error] 185-185: Could not access item in TypedDict. "account_url" is not a required key in "AzureAccountCredentials".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (2)
weave/trace_server/file_storage_uris.py (2)
17-46
: Consider making this class abstract.
FileStorageURI
contains abstract methods that raiseNotImplementedError
and should typically be declared usingABC
or@abstractmethod
to clearly indicate it is an abstract base class. This makes the design more explicit and self-documenting.
58-62
: Avoid re-parsing inwith_path
.Calling
parse_uri_str
onself.to_uri_str()
re-parses the entire URI, which may be slightly inefficient. Instead, consider building the new instance directly from the existing fields to avoid double-parsing.def with_path(self, path: str) -> "FileStorageURI": - copied = self.parse_uri_str(self.to_uri_str()) - copied.path = path - return copied + # Example of constructing a new instance without re-parsing: + new_uri = type(self).__new__(type(self)) + # Copy existing fields or call the subclass constructor directly + # (Implementation will vary per subclass) + new_uri.scheme = self.scheme + new_uri.path = path + # Apply any subclass-specific fields here + return new_uri
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
weave/trace_server/file_storage.py
(1 hunks)weave/trace_server/file_storage_credentials.py
(1 hunks)weave/trace_server/file_storage_uris.py
(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- weave/trace_server/file_storage_credentials.py
🧰 Additional context used
📓 Path-based instructions (1)
`**/*.py`: Focus on pythonic code patterns. Check for proper...
**/*.py
: Focus on pythonic code patterns.
Check for proper exception handling.
Verify type hints usage where applicable.
Look for potential performance improvements.
Don't comment on formatting if black/isort is configured.
Check for proper dependency injection patterns.
Verify proper async handling if applicable.
weave/trace_server/file_storage_uris.py
weave/trace_server/file_storage.py
⏰ Context from checks skipped due to timeout of 90000ms (12)
- GitHub Check: notify-wandb-core
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (0)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: trace-tests-matrix-check
- GitHub Check: trace-tests-matrix-check
- GitHub Check: test-query-service-matrix-check
🔇 Additional comments (8)
weave/trace_server/file_storage_uris.py (3)
67-79
: Looks good.The
parse_uri_str
method cleanly delegates to subclasses by inspectingscheme
.
99-104
: Validate user inputs more thoroughly if needed.It might be beneficial to check for invalid characters in S3 bucket names or guidelines (e.g., DNS-compatible naming). This may not be required for every scenario but is worth considering if user input is untrusted.
202-241
: Ensure consistent naming constraints.The Azure constructor checks for non-empty account and container. If additional validations or naming conventions are required (e.g., container naming rules), confirm they are enforced here.
weave/trace_server/file_storage.py (5)
46-53
: Enhance error handling by catching specific provider exceptions.Raising a generic exception may mask domain-specific errors. Past feedback suggested catching provider-specific exceptions (e.g.,
boto3.exceptions.Boto3Error
,storage.exceptions.GoogleCloudError
, etc.).
56-63
: Apply similar refined error handling in read method.As with
store_in_bucket
, consider catching provider-specific exceptions for more informative logs and error messages.
73-93
: LGTM on retry logic.The use of tenacity for retry behavior, logged attempts, and exponential backoff offers robust error handling.
110-138
: AWS resource usage looks correct.Initialization with
boto3.client
and handling timeouts viaConfig
is a standard approach.
165-211
: Careful with credential handling.Using
BlobServiceClient
for both connection string and account credentials is valid. Confirm that production credential handling is safe and aligns with security best practices (encrypted secret storage, etc.).
New dependencies detected. Learn more about Socket for GitHub ↗︎
Have feedback? Participate in our User Experience Survey 📊 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
weave/trace_server/migrations/011_add_file_bucket_storage.up.sql (1)
7-22
: Enhance null-safety in view query calculation.
The view query computessize_bytes
aslength(files.val_bytes) + files.bytes_stored
. Sincebytes_stored
is nullable, the addition might yield an unexpected null ifbytes_stored
is not set. Consider using a null-coalescing function (e.g.,ifNull
) to ensure a meaningful sum. For example:- anySimpleState(length(files.val_bytes) + files.bytes_stored) AS size_bytes, + anySimpleState(length(files.val_bytes) + ifNull(files.bytes_stored, 0)) AS size_bytes,This adjustment will ensure that
size_bytes
returns a valid numerical value even whenbytes_stored
is null.
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (4)
pyproject.toml
(2 hunks)tests/trace/test_file_storage_uris.py
(1 hunks)weave/trace_server/migrations/011_add_file_bucket_storage.down.sql
(1 hunks)weave/trace_server/migrations/011_add_file_bucket_storage.up.sql
(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
- pyproject.toml
- tests/trace/test_file_storage_uris.py
⏰ Context from checks skipped due to timeout of 90000ms (817)
- GitHub Check: Legacy (Query Service) Python unit tests (1)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, notdiamond)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, pandas-test)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, vertexai)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, mistral0)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, pandas-test)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, vertexai)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, litellm)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, google_ai_studio)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, groq)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, anthropic)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, notdiamond)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, pandas-test)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, vertexai)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, mistral0)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, pandas-test)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, vertexai)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, litellm)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, google_ai_studio)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, groq)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, anthropic)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, notdiamond)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, pandas-test)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, vertexai)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, mistral0)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, pandas-test)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, vertexai)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, litellm)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, google_ai_studio)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, groq)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, anthropic)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, notdiamond)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, pandas-test)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, vertexai)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, mistral0)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, pandas-test)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, vertexai)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, litellm)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, google_ai_studio)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, groq)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, anthropic)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, pandas-test)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, vertexai)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, mistral0)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, pandas-test)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, vertexai)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, litellm)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, google_ai_studio)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, groq)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, cerebras)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, anthropic)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: test-query-service-matrix-check
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, pandas-test)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, vertexai)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, mistral0)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, huggingface)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, pandas-test)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, vertexai)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, litellm)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, google_ai_studio)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, groq)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: test-query-service-matrix-check
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, pandas-test)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, vertexai)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, mistral0)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, cerebras)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, litellm)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, groq)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, pandas-test)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, vertexai)
- GitHub Check: Trace nox tests (3, 11, openai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, mistral0)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, cohere)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, litellm)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, groq)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, pandas-test)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, vertexai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, mistral1)
- GitHub Check: Trace nox tests (3, 11, mistral0)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, bedrock)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral1)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, litellm)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, vertexai)
- GitHub Check: Trace nox tests (3, 12, openai)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, mistral1)
- GitHub Check: Trace nox tests (3, 12, mistral0)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, google_ai_studio)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, groq)
- GitHub Check: Trace nox tests (3, 12, dspy)
- GitHub Check: Trace nox tests (3, 12, cohere)
- GitHub Check: Trace nox tests (3, 12, cerebras)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, anthropic)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, vertexai)
- GitHub Check: Trace nox tests (3, 11, notdiamond)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, litellm)
- GitHub Check: Trace nox tests (3, 11, langchain)
- GitHub Check: Trace nox tests (3, 11, instructor)
- GitHub Check: Trace nox tests (3, 11, google_ai_studio)
- GitHub Check: Trace nox tests (3, 11, groq)
- GitHub Check: Trace nox tests (3, 11, dspy)
- GitHub Check: Trace nox tests (3, 11, anthropic)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, openai)
- GitHub Check: Trace nox tests (3, 10, notdiamond)
- GitHub Check: Trace nox tests (3, 10, mistral0)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, litellm)
- GitHub Check: Trace nox tests (3, 10, langchain)
- GitHub Check: Trace nox tests (3, 10, instructor)
- GitHub Check: Trace nox tests (3, 10, huggingface)
- GitHub Check: Trace nox tests (3, 10, dspy)
- GitHub Check: Trace nox tests (3, 10, cohere)
- GitHub Check: Trace nox tests (3, 10, bedrock)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, pandas-test)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, vertexai)
- GitHub Check: Trace nox tests (3, 9, openai)
- GitHub Check: Trace nox tests (3, 9, notdiamond)
- GitHub Check: Trace nox tests (3, 9, mistral1)
- GitHub Check: Trace nox tests (3, 9, mistral0)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 9, litellm)
- GitHub Check: Trace nox tests (3, 9, langchain)
🔇 Additional comments (5)
weave/trace_server/migrations/011_add_file_bucket_storage.down.sql (3)
1-2
: Confirming column removal from 'files' table.
The SQL statements correctly drop thebytes_stored
andfile_storage_uri
columns from thefiles
table, ensuring proper rollback of the schema changes.
4-5
: Confirming column removal from 'files_stats' table.
The commands correctly remove thebytes_stored
andfile_storage_uri
columns from thefiles_stats
table, maintaining consistency with the up migration.
7-21
: View query update aligned with column removal.
The modified view query now omits any reference to the dropped columns. Please verify that calculatingsize_bytes
solely based onlength(files.val_bytes)
meets your reporting requirements.weave/trace_server/migrations/011_add_file_bucket_storage.up.sql (2)
1-2
: Addition of new columns to 'files' table confirmed.
The statements successfully add thebytes_stored
(as Nullable(UInt32)) andfile_storage_uri
(as Nullable(String)) columns to thefiles
table, supporting the extended file storage functionality.
4-5
: Addition of new columns to 'files_stats' table confirmed.
The script correctly adds thebytes_stored
andfile_storage_uri
columns with their respective data types, aligning with the new storage requirements.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
♻️ Duplicate comments (1)
weave/trace_server/file_storage_credentials.py (1)
113-115
:⚠️ Potential issueAdd error handling for base64 decoding in Azure credentials.
The base64 decoding operation could fail with various exceptions (e.g.,
binascii.Error
). Add proper error handling to provide clear error messages.- credential = base64.b64decode(b64_credential).decode("utf-8") - account_url = environment.wf_storage_bucket_azure_account_url() - return AzureAccountCredentials(credential=credential, account_url=account_url) + try: + credential = base64.b64decode(b64_credential).decode("utf-8") + account_url = environment.wf_storage_bucket_azure_account_url() + return AzureAccountCredentials(credential=credential, account_url=account_url) + except Exception as e: + raise ValueError(f"Invalid base64-encoded Azure credential: {e}")
🧹 Nitpick comments (8)
weave/trace_server/environment.py (2)
58-60
: Environment variable name doesn't match function description.The function docstring mentions "Azure credential" but the environment variable uses "AZURE_CREDENTIAL_B64" suffix indicating it's a base64-encoded value. Consider updating the docstring to clarify this.
- """The Azure credential.""" + """The Azure credential (base64-encoded)."""
28-70
: Group environment variables by provider for better organization.The file has multiple environment variables for three different cloud providers. Consider grouping them by provider using comments or class-based organization for better readability and maintainability.
# BYOB Settings +# AWS Settings def wf_file_storage_uri() -> Optional[str]: """The storage bucket URI.""" return os.environ.get("WF_FILE_STORAGE_URI") def wf_storage_bucket_aws_access_key_id() -> Optional[str]: """The AWS access key ID.""" return os.environ.get("WF_FILE_STORAGE_BUCKET_AWS_ACCESS_KEY_ID") def wf_storage_bucket_aws_secret_access_key() -> Optional[str]: """The AWS secret access key.""" return os.environ.get("WF_FILE_STORAGE_BUCKET_AWS_SECRET_ACCESS_KEY") def wf_storage_bucket_aws_session_token() -> Optional[str]: """The AWS session token.""" return os.environ.get("WF_FILE_STORAGE_BUCKET_AWS_SESSION_TOKEN") +# Azure Settings def wf_storage_bucket_azure_connection_string() -> Optional[str]: """The Azure connection string.""" return os.environ.get("WF_FILE_STORAGE_BUCKET_AZURE_CONNECTION_STRING") def wf_storage_bucket_azure_credential() -> Optional[str]: """The Azure credential.""" return os.environ.get("WF_FILE_STORAGE_BUCKET_AZURE_CREDENTIAL_B64") def wf_storage_bucket_azure_account_url() -> Optional[str]: """The Azure account url (optional override).""" return os.environ.get("WF_FILE_STORAGE_BUCKET_AZURE_ACCOUNT_URL") +# GCP Settings def wf_storage_bucket_gcp_credentials_json_b64() -> Optional[str]: """The GCP credentials JSON string.""" return os.environ.get("WF_FILE_STORAGE_BUCKET_GCP_CREDENTIALS_JSON_B64")weave/trace_server/file_storage_credentials.py (1)
74-77
: Consider moving imports into the module scope.The
json
import is standard library and can be moved to the top of the file. For theservice_account
import, since this is server-side code as mentioned in previous comment responses, it's acceptable to keep it as is, but moving standard library imports to the top would be more consistent with Python best practices.import base64 +import json from typing import Optional, TypedDict, Union from google.oauth2.credentials import Credentials as GCPCredentials +from google.oauth2 import service_account from typing_extensions import NotRequired from weave.trace_server import environmenttests/trace/test_server_file_storage.py (2)
131-136
: Improve GCS mock implementation.The current mock implementation for GCS has a limited data storage mechanism. For better testing, consider tracking multiple blobs and their content.
# Store uploaded data for verification -uploaded_data = {} +uploaded_data = {} # Map of blob names to content def mock_upload(data, timeout=None): - uploaded_data["content"] = data + blob_name = mock_blob.name + uploaded_data[blob_name] = data + mock_blob.download_as_bytes.return_value = data # Update return value for this blob
198-202
: Add specific exception handling.Replace the generic exception handling with specific exception types expected from the Azure SDK when a container already exists.
try: azurite_client.create_container(TEST_BUCKET) -except Exception: +except azure.core.exceptions.ResourceExistsError: # Container might already exist passweave/trace_server/file_storage_uris.py (3)
33-45
: Consider makingFileStorageURI
an abstract base class.
By decorating this class withabc.ABC
and marking_from_parse_result
as@abstractmethod
, you convey the intent that concrete subclasses must provide an implementation. This avoids potential confusion if someone instantiates the base class directly.
58-62
: Avoid parsing a round-trip URI to adjust the path.
Inwith_path
, callingparse_uri_str(self.to_uri_str())
parses the URI again only to replace the path. A simpler approach might be to call a copy constructor or store the relevant fields in a new instance.Here's a possible sketch:
def with_path(self, path: str) -> "FileStorageURI": - copied = self.parse_uri_str(self.to_uri_str()) - copied.path = path - return copied + # Example concept: instantiate a new object, reusing the existing scheme, etc. + # (Implementation will differ depending on your design) + new_uri = type(self)( + # reuse relevant fields needed for your subclass + ) + new_uri.path = path + return new_uri
1-254
: Optional: Use@dataclass
for reduced boilerplate.
Currently, each subclass manually defines__init__
. Converting to non-frozen dataclasses (withfrozen=False
) may simplify initialization logic while preserving type annotations.
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (6)
pyproject.toml
(2 hunks)tests/trace/test_file_storage_uris.py
(1 hunks)tests/trace/test_server_file_storage.py
(1 hunks)weave/trace_server/environment.py
(2 hunks)weave/trace_server/file_storage_credentials.py
(1 hunks)weave/trace_server/file_storage_uris.py
(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
- pyproject.toml
- tests/trace/test_file_storage_uris.py
🧰 Additional context used
📓 Path-based instructions (1)
`**/*.py`: Focus on pythonic code patterns. Check for proper...
**/*.py
: Focus on pythonic code patterns.
Check for proper exception handling.
Verify type hints usage where applicable.
Look for potential performance improvements.
Don't comment on formatting if black/isort is configured.
Check for proper dependency injection patterns.
Verify proper async handling if applicable.
weave/trace_server/file_storage_uris.py
weave/trace_server/environment.py
weave/trace_server/file_storage_credentials.py
tests/trace/test_server_file_storage.py
⏰ Context from checks skipped due to timeout of 90000ms (80)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, scorers)
🔇 Additional comments (11)
weave/trace_server/environment.py (2)
33-35
: Looks good! File storage URI retrieval handling implemented correctly.The implementation correctly handles the case when the environment variable is not set by returning
None
.
39-40
: Consider renaming environment variables to avoid confusion.Are we sure we want to use
WF_*
env vars? How will a user know what this means?weave/trace_server/file_storage_credentials.py (4)
1-8
: TypedDict and imports are properly set up.The imports and type definitions are organized well, and it's good to see the use of TypedDict for strongly typed credential structures.
10-17
: AWS credentials type definition is correctly implemented.The AWSCredentials TypedDict properly defines required and optional fields with appropriate types.
32-59
: AWS credentials retrieval implementation is correct.The implementation correctly validates required credentials and properly handles the optional session_token.
62-89
: Good error handling in GCP credentials retrieval.The implementation properly handles both missing credentials and invalid JSON format. Proper try-except block is used for JSON decoding.
tests/trace/test_server_file_storage.py (5)
1-31
: Test constants and imports are well organized.Good job organizing imports and defining clear test constants. The Azure constants are properly grouped together.
33-58
: Well-implemented shared test runner.The
run_storage_test
fixture efficiently avoids code duplication by providing a reusable test function for all storage implementations. The SQLite skip logic is a good addition.
83-85
: Consider using environment constants from environment.py.These hardcoded environment variable keys should ideally be sourced from
environment.py
to maintain consistency and avoid duplication.+from weave.trace_server import environment @pytest.fixture def aws_storage_env(self): """Setup AWS storage environment.""" with mock.patch.dict( os.environ, { - "WF_FILE_STORAGE_BUCKET_AWS_ACCESS_KEY_ID": "test-key", - "WF_FILE_STORAGE_BUCKET_AWS_SECRET_ACCESS_KEY": "test-secret", - "WF_FILE_STORAGE_URI": f"s3://{TEST_BUCKET}", + environment.wf_storage_bucket_aws_access_key_id.__name__.upper(): "test-key", + environment.wf_storage_bucket_aws_secret_access_key.__name__.upper(): "test-secret", + environment.wf_file_storage_uri.__name__.upper(): f"s3://{TEST_BUCKET}", }, ): yield
167-174
: Test is mostly verifying mock behavior.This test is primarily validating that the mocks work as expected rather than testing the actual implementation. While this is often unavoidable with external service testing, consider adding assertions about the blob name format or path structure to better test the implementation logic.
228-230
: Use helper methods for path generation.Instead of hardcoding the path format, consider using the file storage client's path generation methods to ensure the test doesn't break if the path format changes.
scheme (str): Always 'gcs' | ||
bucket (str): The GCS bucket name | ||
path (str): The object path within the bucket |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Fix mismatched scheme references in GCS docstring.
The docstring says "Always 'gcs'" but the class sets scheme = "gs"
. Adjust the docstring or the code for consistency.
Below is a fix for the docstring:
- Attributes:
- scheme (str): Always 'gcs'
+ Attributes:
+ scheme (str): Always 'gs'
Also applies to: 148-148
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
♻️ Duplicate comments (1)
tests/trace/test_server_file_storage.py (1)
119-141
: 🛠️ Refactor suggestionImprove GCS mock implementation with more realistic behavior
The current GCS mock implementation doesn't fully simulate the behavior of the actual service:
- It doesn't store blob data properly to simulate multiple blobs
- It doesn't use the correct key for storage/retrieval
- The download always returns the same TEST_CONTENT regardless of input
@pytest.fixture def gcs(self): """Google Cloud Storage mock using method patches.""" mock_storage_client = mock.MagicMock() mock_bucket = mock.MagicMock() mock_blob = mock.MagicMock() # Setup mock chain mock_storage_client.bucket.return_value = mock_bucket mock_bucket.blob.return_value = mock_blob - mock_blob.download_as_bytes.return_value = TEST_CONTENT # Store uploaded data for verification - uploaded_data = {} + blob_data = {} # In-memory storage for all blobs - def mock_upload(data, timeout=None): - uploaded_data["content"] = data + def mock_upload_from_string(data, timeout=None): + # Get the blob name from the mock's name attribute + blob_name = mock_blob.name + blob_data[blob_name] = data + def mock_download_as_bytes(): + # Get the blob name from the mock's name attribute + blob_name = mock_blob.name + return blob_data.get(blob_name, b"") - mock_blob.upload_from_string.side_effect = mock_upload + mock_blob.upload_from_string.side_effect = mock_upload_from_string + mock_blob.download_as_bytes.side_effect = mock_download_as_bytes
🧹 Nitpick comments (8)
weave/trace_server/file_storage_uris.py (2)
17-28
: Consider using type hints for all attributes and methods.
Currently,FileStorageURI
has docstring-based documentation, but thescheme
andpath
attributes and methods likewith_path()
could benefit from explicit Python type hints. This would also improve tooling support and code readability.
58-62
: Be aware of performance overhead when re-parsing URIs inwith_path()
.
Callingparse_uri_str(self.to_uri_str())
each time creates a new object and re-parses the URI. While this is straightforward, it can be more costly if done frequently or in tight loops. If performance becomes critical, consider a more direct copy or partial update approach.weave/trace_server/environment.py (1)
30-71
: Add clarity about which environment variables are mandatory vs. optional.
All the newly added functions returnOptional[str]
, but some may need to be set for proper BYOB flow. If certain variables are truly required for a given scenario, consider clarifying it in docstrings or raising an exception when they are missing, instead of silently returningNone
.weave/trace_server/file_storage_credentials.py (2)
32-60
: Optionally leverage AWS SDK credential fallback.
If environment variables are unset, you could allow the standard AWS credential provider chain (viaboto3
orbotocore
). This can be especially convenient for local development.
91-115
: Handle potential errors when base64-decoding Azure credentials.
Consider wrapping the decode in a try-except block similar to the GCP approach. A malformed Base64 string can raisebinascii.Error
orUnicodeDecodeError
, which might cause confusion without a clear error message.+ try: + credential = base64.b64decode(b64_credential).decode("utf-8") + except Exception as e: + raise ValueError(f"Invalid base64-encoded Azure credential: {e}")tests/trace/test_server_file_storage.py (3)
34-34
: Add return type hint to fixtureAdd a return type hint to the fixture function for better code documentation and IDE support.
- @pytest.fixture - def run_storage_test(client: WeaveClient): + @pytest.fixture + def run_storage_test(client: WeaveClient) -> callable:
199-204
: Use specific exception typesCatching all exceptions is generally not a good practice. Instead, catch the specific exception type that might be thrown when the container already exists.
# Create test container try: azurite_client.create_container(TEST_BUCKET) - except Exception: + except azure.core.exceptions.ResourceExistsError: # Container might already exist pass
229-232
: Consider adding a helper for project path constructionWhile not using
key_for_project_digest
directly is reasonable to avoid propagating implementation errors, consider adding a test-specific helper function to construct these paths for better maintainability.This would make the test more readable and easier to maintain if the path structure changes.
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (5)
tests/trace/test_file_storage_credentials.py
(1 hunks)tests/trace/test_server_file_storage.py
(1 hunks)weave/trace_server/environment.py
(2 hunks)weave/trace_server/file_storage_credentials.py
(1 hunks)weave/trace_server/file_storage_uris.py
(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- tests/trace/test_file_storage_credentials.py
🧰 Additional context used
📓 Path-based instructions (1)
`**/*.py`: Focus on pythonic code patterns. Check for proper...
**/*.py
: Focus on pythonic code patterns.
Check for proper exception handling.
Verify type hints usage where applicable.
Look for potential performance improvements.
Don't comment on formatting if black/isort is configured.
Check for proper dependency injection patterns.
Verify proper async handling if applicable.
weave/trace_server/environment.py
weave/trace_server/file_storage_uris.py
weave/trace_server/file_storage_credentials.py
tests/trace/test_server_file_storage.py
⏰ Context from checks skipped due to timeout of 90000ms (222)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, notdiamond)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, instructor)
- GitHub Check: Trace nox tests (3, 12, huggingface)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, litellm)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, bedrock)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, mistral0)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, pandas-test)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 9, llamaindex)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, mistral1)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, openai)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, llamaindex)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, llamaindex)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, huggingface)
- GitHub Check: Trace nox tests (3, 13, groq)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, langchain)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 13, pandas-test)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, instructor)
- GitHub Check: Trace nox tests (3, 13, cerebras)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 13, vertexai)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, scorers)
- GitHub Check: Trace nox tests (3, 13, llamaindex)
- GitHub Check: Trace nox tests (3, 13, trace_server)
- GitHub Check: Trace nox tests (3, 13, trace)
- GitHub Check: Trace nox tests (3, 12, scorers)
- GitHub Check: Trace nox tests (3, 12, llamaindex)
- GitHub Check: Trace nox tests (3, 12, trace_server)
- GitHub Check: Trace nox tests (3, 12, trace)
- GitHub Check: Trace nox tests (3, 11, scorers)
- GitHub Check: Trace nox tests (3, 11, trace_server)
- GitHub Check: Trace nox tests (3, 11, trace)
- GitHub Check: Trace nox tests (3, 10, scorers)
- GitHub Check: Trace nox tests (3, 10, trace_server)
- GitHub Check: Trace nox tests (3, 10, trace)
- GitHub Check: Trace nox tests (3, 9, scorers)
🔇 Additional comments (8)
weave/trace_server/file_storage_uris.py (2)
84-105
: Validate or percent-decode special bucket names if necessary.
The current constructor strips slashes and checks for empty bucket values. If there's a possibility of percent-encoded characters in the bucket (e.g.,'my%2Dbucket'
), consider decoding or validating them.
188-254
: Double-check Azure path splitting logic for edge cases.
The approach of splitting into[container, path]
works well, but if there's a trailing slash like"az://myaccount/mycontainer/"
, the resulting path becomes an empty string. That might be intended, but verify whether it matches all usage scenarios and user expectations.weave/trace_server/environment.py (1)
2-2
: [Approved] for the import ofOptional
.
This is necessary for returningOptional[str]
from the new environment variable getters.weave/trace_server/file_storage_credentials.py (2)
10-29
: Good use of TypedDict with partial optional fields.
This approach clarifies which fields are always required vs. optional. It is well-structured and Pythonic.
62-89
: Great approach to handle invalid base64 or JSON for GCP credentials.
This function properly raises aValueError
if credentials are missing or invalid, which improves error transparency.tests/trace/test_server_file_storage.py (3)
77-88
: Import environment variables from environment.pyRather than hardcoding environment variable names, consider importing them from
environment.py
to maintain consistency and make updates easier.
169-176
: Enhance GCP storage test with direct verificationThe current test only verifies the mock's behavior rather than the actual upload and download functionality.
Consider enhancing this test to verify the actual content was uploaded correctly, similar to how the S3 and Azure tests verify the content through their respective APIs.
209-219
: Import environment variables from environment.pySimilar to the AWS environment setup, consider importing environment variable names from
environment.py
to maintain consistency.
…im/byob_file_storage
Adds BYOB support to Weave for files. This allows the server to be started with certain env vars which will modify the storage logic to use a blob store rather than clickhouse
Summary by CodeRabbit
New Features
Tests
Chores