lmnr 0.7.9__tar.gz → 0.7.10__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {lmnr-0.7.9 → lmnr-0.7.10}/PKG-INFO +1 -1
- {lmnr-0.7.9 → lmnr-0.7.10}/pyproject.toml +1 -1
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/tracing/__init__.py +13 -2
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/version.py +1 -1
- {lmnr-0.7.9 → lmnr-0.7.10}/README.md +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/__init__.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/cli.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/.flake8 +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/__init__.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/decorators/__init__.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/litellm/__init__.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/litellm/utils.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/anthropic/__init__.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/anthropic/config.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/anthropic/event_emitter.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/anthropic/event_models.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/anthropic/span_utils.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/anthropic/streaming.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/anthropic/utils.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/anthropic/version.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/google_genai/__init__.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/google_genai/config.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/google_genai/schema_utils.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/google_genai/utils.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/groq/__init__.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/groq/config.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/groq/event_emitter.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/groq/event_models.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/groq/span_utils.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/groq/utils.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/groq/version.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/langgraph/__init__.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/langgraph/utils.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/__init__.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/__init__.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/chat_wrappers.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/completion_wrappers.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/config.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/embeddings_wrappers.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/event_emitter.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/event_models.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/image_gen_wrappers.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/utils.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/v0/__init__.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/v1/__init__.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/v1/assistant_wrappers.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/v1/event_handler_wrapper.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/v1/responses_wrappers.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/version.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/openhands_ai/__init__.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/opentelemetry/__init__.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/skyvern/__init__.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/threading/__init__.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/tracing/_instrument_initializers.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/tracing/attributes.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/tracing/context.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/tracing/exporter.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/tracing/instruments.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/tracing/processor.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/tracing/tracer.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/utils/__init__.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/utils/json_encoder.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/utils/package_check.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/utils/wrappers.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/py.typed +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/sdk/__init__.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/sdk/browser/__init__.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/sdk/browser/browser_use_cdp_otel.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/sdk/browser/browser_use_otel.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/sdk/browser/cdp_utils.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/sdk/browser/patchright_otel.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/sdk/browser/playwright_otel.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/sdk/browser/pw_utils.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/sdk/browser/recorder/record.umd.min.cjs +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/sdk/browser/utils.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/sdk/client/asynchronous/async_client.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/sdk/client/asynchronous/resources/__init__.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/sdk/client/asynchronous/resources/agent.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/sdk/client/asynchronous/resources/base.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/sdk/client/asynchronous/resources/browser_events.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/sdk/client/asynchronous/resources/evals.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/sdk/client/asynchronous/resources/evaluators.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/sdk/client/asynchronous/resources/tags.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/sdk/client/synchronous/resources/__init__.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/sdk/client/synchronous/resources/agent.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/sdk/client/synchronous/resources/base.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/sdk/client/synchronous/resources/browser_events.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/sdk/client/synchronous/resources/evals.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/sdk/client/synchronous/resources/evaluators.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/sdk/client/synchronous/resources/tags.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/sdk/client/synchronous/sync_client.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/sdk/datasets.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/sdk/decorators.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/sdk/eval_control.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/sdk/evaluations.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/sdk/laminar.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/sdk/log.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/sdk/types.py +0 -0
- {lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/sdk/utils.py +0 -0
@@ -219,8 +219,19 @@ class TracerWrapper(object):
|
|
219
219
|
|
220
220
|
@classmethod
|
221
221
|
def verify_initialized(cls) -> bool:
|
222
|
-
|
223
|
-
|
222
|
+
# This is not using lock, but it is fine to return False from here
|
223
|
+
# even if initialization is going on.
|
224
|
+
|
225
|
+
# If we try to acquire the lock here, it may deadlock if an automatic
|
226
|
+
# instrumentation is importing a file that (at the top level) has a
|
227
|
+
# function annotated with Laminar's `observe` decorator.
|
228
|
+
# The decorator is evaluated at import time, inside `init_instrumentations`,
|
229
|
+
# which is called by the `TracerWrapper` constructor while holding the lock.
|
230
|
+
# Without the lock here, we will simply return False, which will cause
|
231
|
+
# the decorator to return the original function. This is fine, at runtime,
|
232
|
+
# the next import statement will re-evaluate the decorator, and Laminar will
|
233
|
+
# have been initialized by that time.
|
234
|
+
return hasattr(cls, "instance") and hasattr(cls.instance, "_span_processor")
|
224
235
|
|
225
236
|
@classmethod
|
226
237
|
def clear(cls):
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/groq/__init__.py
RENAMED
File without changes
|
{lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/groq/config.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/groq/utils.py
RENAMED
File without changes
|
{lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/groq/version.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{lmnr-0.7.9 → lmnr-0.7.10}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/utils.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|