Repository Analysis

pydantic/logfire

AI observability platform for production LLM and agent systems.

17.5 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of pydantic/logfire, a Python project with 4,416 GitHub stars. SynthScan v2.0 examined 157,232 lines of code across 610 source files, recording 2469 pattern matches distributed across 20 syntactic categories. The overall adjusted score of 17.5 places this repository in the Moderate AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

17.5
Adjusted Score
17.5
Raw Score
100%
Time Factor
2026-08-09
Last Push
4.4K
Stars
Python
Language
157.2K
Lines of Code
610
Files
2.5K
Pattern Hits
2026-08-09
Scan Date
0.10
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.

No multi-scan history yet — run the scanner again to build trend data.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 0HIGH 59MEDIUM 239LOW 2171

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 2469 distinct pattern matches across 20 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hyper-Verbose Identifiers1556 hits · 1119 pts
SeverityFileLineSnippetContext
LOWlogfire/_internal/metrics.py131 def create_observable_counter(CODE
LOWlogfire/_internal/metrics.py170 def create_observable_up_down_counter(CODE
LOWlogfire/_internal/formatter.py246def logfire_format_with_magic(CODE
LOWlogfire/_internal/formatter.py374 def heuristic_call_node_filter(self, node: ast.Call) -> bool:CODE
LOWlogfire/_internal/formatter.py378 def warn_inspect_arguments_middle(self):CODE
LOWlogfire/_internal/stack_info.py71def get_stack_info_from_frame(frame: FrameType) -> StackInfo:CODE
LOWlogfire/_internal/stack_info.py90def get_user_frame_and_stacklevel() -> tuple[FrameType | None, int]:CODE
LOWlogfire/_internal/config.py1734 def _initialize_credentials_from_token(self, token: str) -> LogfireCredentials | None:CODE
LOWlogfire/_internal/config.py1739 def _ensure_flush_after_aws_lambda(self):CODE
LOWlogfire/_internal/config.py1746 def wrap_client_post_invocation_method(client_method: Any): # pragma: no coverCODE
LOWlogfire/_internal/config.py963def _register_at_fork_resource_updates(CODE
LOWlogfire/_internal/config.py1694 def _lazy_init_variable_provider(self) -> VariableProvider:CODE
LOWlogfire/_internal/config.py2327def common_resource_attributes() -> dict[str, Any]:CODE
LOWlogfire/_internal/forwarding.py209 def _wait_for_queue_empty_locked(self, deadline: float) -> bool:CODE
LOWlogfire/_internal/forwarding.py236 def _close_session_if_idle_locked(self) -> None:CODE
LOWlogfire/_internal/forwarding.py333 def _reset_after_fork_if_needed(self) -> None:CODE
LOWlogfire/_internal/forwarding.py361def _build_forwarding_request_headers(headers: Mapping[str, str], *, content_type: str) -> Mapping[str, str]:CODE
LOWlogfire/_internal/forwarding.py374def parse_forwarding_content_type(content_type: str) -> ForwardingContentType | None:CODE
LOWlogfire/_internal/forwarding.py390def _normalize_forwarding_path(path: str) -> ForwardingPath | ForwardingErrorResponse:CODE
LOWlogfire/_internal/forwarding.py447def build_partial_success_response(CODE
LOWlogfire/_internal/json_schema.py169def attributes_json_schema_properties(attributes: dict[str, Any]) -> JsonSchemaProperties:CODE
LOWlogfire/_internal/json_schema.py317def _pydantic_root_model_schema(obj: Any, seen: set[int]) -> JsonDict:CODE
LOWlogfire/_internal/json_encoder.py63def _pandas_data_frame_encoder(o: Any, seen: set[int]) -> JsonValue:CODE
LOWlogfire/_internal/utils.py264def is_instrumentation_suppressed() -> bool:CODE
LOWlogfire/_internal/utils.py385def maybe_capture_server_headers(capture: bool):CODE
LOWlogfire/_internal/utils.py391def is_asgi_send_receive_span_name(name: str) -> bool:CODE
LOWlogfire/_internal/utils.py395def _default_ms_timestamp_generator() -> int:CODE
LOWlogfire/_internal/utils.py441def canonicalize_exception_traceback(exc: BaseException, seen: set[int] | None = None) -> str:CODE
LOWlogfire/_internal/ast_utils.py123 def logfire_method_arg_values(self, qualname: str, lineno: int) -> tuple[str, dict[str, otel_types.AttributeValue]]:CODE
LOWlogfire/_internal/ast_utils.py209 def heuristic_call_node_filter(self, node: ast.Call) -> bool:CODE
LOWlogfire/_internal/ast_utils.py213 def warn_inspect_arguments_middle(self) -> str:CODE
LOWlogfire/_internal/async_.py78def stack_info_from_coroutine(coro: CoroutineType[Any, Any, Any]) -> StackInfo:CODE
LOWlogfire/_internal/server_response.py23def install_logfire_response_hook(CODE
LOWlogfire/_internal/db_statement_summary.py10def message_from_db_statement(attributes: Mapping[str, Any], message: str | None, span_name: str) -> str | None:CODE
LOWlogfire/_internal/main.py294 def _instrument_span_with_args(CODE
LOWlogfire/_internal/main.py996 def _warn_if_not_initialized_for_instrumentation(self):CODE
LOWlogfire/_internal/main.py1030 def instrument_claude_agent_sdk(self) -> AbstractContextManager[None]:CODE
LOWlogfire/_internal/main.py1970 def instrument_aiohttp_client(CODE
LOWlogfire/_internal/main.py2001 def instrument_aiohttp_server(self, **kwargs: Any) -> None:CODE
LOWlogfire/_internal/main.py2199 def instrument_system_metrics(CODE
LOWlogfire/_internal/main.py2430 def metric_up_down_counter_callback(CODE
LOWlogfire/_internal/main.py3068 async def forward_export_request_starlette(CODE
LOWlogfire/_internal/main.py3381def set_user_attributes_on_raw_span(span: Span, attributes: dict[str, Any]) -> None:CODE
LOWlogfire/_internal/tracer.py416def get_sample_rate_from_attributes(attributes: otel_types.Attributes) -> float | None:CODE
LOWlogfire/_internal/tracer.py493def _patched_format_exception(*args: Any, **kwargs: Any):CODE
LOWlogfire/_internal/auto_trace/__init__.py65def modules_func_from_sequence(modules: Sequence[str]) -> Callable[[AutoTraceModule], bool]:CODE
LOWlogfire/_internal/exporters/processor_wrapper.py467def _transform_langchain_message(old_message: dict[str, Any]) -> dict[str, Any]:CODE
LOWlogfire/_internal/exporters/processor_wrapper.py89def _set_error_level_and_status(span: ReadableSpanDict) -> None:CODE
LOWlogfire/_internal/exporters/processor_wrapper.py115def _tweak_sqlalchemy_connect_spans(span: ReadableSpanDict) -> None:CODE
LOWlogfire/_internal/exporters/processor_wrapper.py131def _tweak_asgi_send_receive_spans(span: ReadableSpanDict) -> None:CODE
LOWlogfire/_internal/exporters/processor_wrapper.py162def _is_asgi_send_receive_span(name: str, instrumentation_scope: InstrumentationScope | None) -> bool:CODE
LOWlogfire/_internal/exporters/processor_wrapper.py338def _transform_langchain_span(span: ReadableSpanDict):CODE
LOWlogfire/_internal/exporters/processor_wrapper.py379def _transform_langsmith_span_attributes(CODE
LOWlogfire/_internal/exporters/processor_wrapper.py535def _default_gen_ai_response_model(span: ReadableSpanDict):CODE
LOWlogfire/_internal/exporters/processor_wrapper.py544def _transform_google_genai_span(span: ReadableSpanDict):CODE
LOWlogfire/_internal/exporters/otlp.py122def raise_for_retryable_status(response: requests.Response):CODE
LOWlogfire/_internal/exporters/test.py94 def build_instrumentation_scope(span: ReadableSpan) -> dict[str, Any]:CODE
LOWlogfire/_internal/cli/run.py208def find_recommended_instrumentations_to_install(CODE
LOWlogfire/_internal/cli/run.py273def instrumented_packages_text(CODE
LOWlogfire/_internal/cli/run.py445def _installed_target_packages(otel_pkg: str, import_name: str, installed_pkgs: set[str]) -> tuple[str, ...]:CODE
1496 more matches not shown…
Decorative Section Separators202 hits · 669 pts
SeverityFileLineSnippetContext
MEDIUMlogfire/db_api.py37# ---------------------------------------------------------------------------COMMENT
MEDIUMlogfire/db_api.py39# ---------------------------------------------------------------------------COMMENT
MEDIUMlogfire/db_api.py45# ---------------------------------------------------------------------------COMMENT
MEDIUMlogfire/db_api.py47# ---------------------------------------------------------------------------COMMENT
MEDIUMlogfire/db_api.py78# ---------------------------------------------------------------------------COMMENT
MEDIUMlogfire/db_api.py80# ---------------------------------------------------------------------------COMMENT
MEDIUMlogfire/db_api.py86# ---------------------------------------------------------------------------COMMENT
MEDIUMlogfire/db_api.py88# ---------------------------------------------------------------------------COMMENT
MEDIUMlogfire/db_api.py127# ---------------------------------------------------------------------------COMMENT
MEDIUMlogfire/db_api.py129# ---------------------------------------------------------------------------COMMENT
MEDIUMlogfire/db_api.py181# ---------------------------------------------------------------------------COMMENT
MEDIUMlogfire/db_api.py183# ---------------------------------------------------------------------------COMMENT
MEDIUMlogfire/db_api.py338# ---------------------------------------------------------------------------COMMENT
MEDIUMlogfire/db_api.py340# ---------------------------------------------------------------------------COMMENT
MEDIUMlogfire/_internal/integrations/claude_agent_sdk.py53# ---------------------------------------------------------------------------COMMENT
MEDIUMlogfire/_internal/integrations/claude_agent_sdk.py60# ---------------------------------------------------------------------------COMMENT
MEDIUMlogfire/_internal/integrations/claude_agent_sdk.py77# ---------------------------------------------------------------------------COMMENT
MEDIUMlogfire/_internal/integrations/claude_agent_sdk.py79# ---------------------------------------------------------------------------COMMENT
MEDIUMlogfire/_internal/integrations/claude_agent_sdk.py164# ---------------------------------------------------------------------------COMMENT
MEDIUMlogfire/_internal/integrations/claude_agent_sdk.py166# ---------------------------------------------------------------------------COMMENT
MEDIUMlogfire/_internal/integrations/claude_agent_sdk.py282# ---------------------------------------------------------------------------COMMENT
MEDIUMlogfire/_internal/integrations/claude_agent_sdk.py284# ---------------------------------------------------------------------------COMMENT
MEDIUMlogfire/variables/composition.py310# ---------------------------------------------------------------------------STRING
MEDIUMlogfire/variables/composition.py312# ---------------------------------------------------------------------------STRING
MEDIUMtests/test_variable_composition.py496# =============================================================================COMMENT
MEDIUMtests/test_variable_composition.py498# =============================================================================COMMENT
MEDIUMtests/test_variable_composition.py713# =============================================================================COMMENT
MEDIUMtests/test_variable_composition.py715# =============================================================================COMMENT
MEDIUMtests/test_variable_composition.py34# =============================================================================COMMENT
MEDIUMtests/test_variable_composition.py36# =============================================================================COMMENT
MEDIUMtests/test_template_validation.py103# =============================================================================COMMENT
MEDIUMtests/test_template_validation.py105# =============================================================================COMMENT
MEDIUMtests/test_template_validation.py496# =============================================================================COMMENT
MEDIUMtests/test_template_validation.py498# =============================================================================COMMENT
MEDIUMtests/test_template_validation.py19# =============================================================================COMMENT
MEDIUMtests/test_template_validation.py21# =============================================================================COMMENT
MEDIUMtests/test_template_validation.py359# =============================================================================COMMENT
MEDIUMtests/test_template_validation.py361# =============================================================================COMMENT
MEDIUMtests/test_datasets_client.py596# =============================================================================COMMENT
MEDIUMtests/test_datasets_client.py598# =============================================================================COMMENT
MEDIUMtests/test_datasets_client.py1456# =============================================================================COMMENT
MEDIUMtests/test_datasets_client.py1458# =============================================================================COMMENT
MEDIUMtests/test_datasets_client.py161# =============================================================================COMMENT
MEDIUMtests/test_datasets_client.py163# =============================================================================COMMENT
MEDIUMtests/test_datasets_client.py502# =============================================================================COMMENT
MEDIUMtests/test_datasets_client.py504# =============================================================================COMMENT
MEDIUMtests/test_datasets_client.py515# =============================================================================COMMENT
MEDIUMtests/test_datasets_client.py517# =============================================================================COMMENT
MEDIUMtests/test_datasets_client.py1045# =============================================================================COMMENT
MEDIUMtests/test_datasets_client.py1047# =============================================================================COMMENT
MEDIUMtests/test_db_api.py86# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_db_api.py88# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_db_api.py97# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_db_api.py99# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_db_api.py123# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_db_api.py125# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_db_api.py222# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_db_api.py224# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_db_api.py310# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_db_api.py312# ---------------------------------------------------------------------------COMMENT
142 more matches not shown…
Unused Imports281 hits · 249 pts
SeverityFileLineSnippetContext
LOWlogfire/db_api.py18CODE
LOWlogfire/__init__.py3CODE
LOWlogfire/__init__.py7CODE
LOWlogfire/__init__.py7CODE
LOWlogfire/__init__.py8CODE
LOWlogfire/__init__.py10CODE
LOWlogfire/__init__.py11CODE
LOWlogfire/__init__.py12CODE
LOWlogfire/__init__.py13CODE
LOWlogfire/__init__.py13CODE
LOWlogfire/__init__.py14CODE
LOWlogfire/__init__.py15CODE
LOWlogfire/__init__.py15CODE
LOWlogfire/__init__.py15CODE
LOWlogfire/__init__.py15CODE
LOWlogfire/__init__.py15CODE
LOWlogfire/__init__.py15CODE
LOWlogfire/__init__.py15CODE
LOWlogfire/__init__.py15CODE
LOWlogfire/__init__.py25CODE
LOWlogfire/__init__.py26CODE
LOWlogfire/__init__.py27CODE
LOWlogfire/__init__.py27CODE
LOWlogfire/__init__.py28CODE
LOWlogfire/__init__.py29CODE
LOWlogfire/__init__.py30CODE
LOWlogfire/__init__.py31CODE
LOWlogfire/types.py1CODE
LOWlogfire/cli.py1CODE
LOWlogfire/query_client.py2CODE
LOWlogfire/query_client.py2CODE
LOWlogfire/query_client.py2CODE
LOWlogfire/query_client.py2CODE
LOWlogfire/query_client.py2CODE
LOWlogfire/query_client.py2CODE
LOWlogfire/query_client.py2CODE
LOWlogfire/query_client.py2CODE
LOWlogfire/query_client.py2CODE
LOWlogfire/query_client.py2CODE
LOWlogfire/query_client.py2CODE
LOWlogfire/testing.py3CODE
LOWlogfire/testing.py20CODE
LOWlogfire/propagate.py13CODE
LOWlogfire/_internal/json_formatter.py1CODE
LOWlogfire/_internal/auth.py1CODE
LOWlogfire/_internal/metrics.py1CODE
LOWlogfire/_internal/formatter.py1CODE
LOWlogfire/_internal/stack_info.py1CODE
LOWlogfire/_internal/config.py1CODE
LOWlogfire/_internal/json_types.py1CODE
LOWlogfire/_internal/forwarding.py1CODE
LOWlogfire/_internal/client.py1CODE
LOWlogfire/_internal/constants.py1CODE
LOWlogfire/_internal/json_schema.py15CODE
LOWlogfire/_internal/json_encoder.py1CODE
LOWlogfire/_internal/utils.py1CODE
LOWlogfire/_internal/logs.py1CODE
LOWlogfire/_internal/ast_utils.py1CODE
LOWlogfire/_internal/config_params.py1CODE
LOWlogfire/_internal/async_.py1CODE
221 more matches not shown…
Docstring Block Structure32 hits · 160 pts
SeverityFileLineSnippetContext
HIGHlogfire/_internal/config.py1918Check if a credentials file exists and if so load it. Args: creds_dir: Path to the credentials direSTRING
HIGHlogfire/_internal/config.py1997Configure one of the user projects to be used by Logfire. It configures the project if organization/project_namSTRING
HIGHlogfire/_internal/config.py2092Create a new project and configure it to be used by Logfire. It creates the project under the organization if bSTRING
HIGHlogfire/_internal/config.py2176Create a new project or use an existing project on logfire.dev requesting the given project name. Args: STRING
HIGHlogfire/_internal/exporters/test.py52The exported spans as a list of dicts. Args: fixed_line_number: The line number to use for all spanSTRING
HIGHlogfire/experimental/api_client.py687Update an existing dataset. Args: id_or_name: The dataset ID (UUID) or name. name: New STRING
HIGHlogfire/experimental/api_client.py744List all cases in a dataset. Args: dataset_id_or_name: The dataset ID (UUID) or name. RetuSTRING
HIGHlogfire/experimental/api_client.py759Get a specific case from a dataset. Args: dataset_id_or_name: The dataset ID (UUID) or name. STRING
HIGHlogfire/experimental/api_client.py783Publish a local `pydantic_evals.Dataset` to the hosted datasets API. This is the high-level "push my dataset toSTRING
HIGHlogfire/experimental/api_client.py890Add cases to a dataset. Accepts either pydantic-evals Case objects or plain dicts. By default, uses upSTRING
HIGHlogfire/experimental/api_client.py947Update an existing case. Args: dataset_id_or_name: The dataset ID (UUID) or name. case_STRING
HIGHlogfire/experimental/api_client.py1031Get a dataset by ID or name. The return type depends on the arguments provided: - **No type arguments*STRING
HIGHlogfire/experimental/api_client.py1225Async version of `LogfireAPIClient.push_dataset`. Args: dataset: The local `pydantic_evals.Dataset`STRING
HIGHlogfire/variables/abstract.py160Convert template `inputs` to a context dict for Handlebars rendering. Accepts whatever the variable's declared `inpSTRING
HIGHlogfire/variables/abstract.py1133Retrieve the serialized value for a variable. Args: variable_name: The name of the variable to resoSTRING
HIGHlogfire/variables/abstract.py1252Create a new variable configuration. Args: config: The configuration for the new variable. STRING
HIGHlogfire/variables/abstract.py1274Update an existing variable configuration. Args: name: The name of the variable to update. STRING
HIGHlogfire/variables/abstract.py1976Return None for all variable lookups. Args: variable_name: The name of the variable to resolve (ignSTRING
HIGHlogfire/variables/config.py352Evaluate rollout rules and return the selected label name. The resolution process: 1. Evaluate overrideSTRING
HIGHlogfire/variables/config.py391Resolve the serialized value for this variable. Resolution order: 1. If explicit label requested, look STRING
HIGHlogfire/variables/config.py507Evaluate a managed variable configuration and resolve the selected value. Args: name: The name of tSTRING
HIGHlogfire/variables/config.py635Check if all conditions match the provided attributes. Args: conditions: List of conditions to evaluate. STRING
HIGHlogfire/variables/remote.py527Resolve a variable's serialized value from the remote configuration. Args: variable_name: The name STRING
HIGHlogfire/variables/remote.py623Create a new variable configuration via the remote API. Args: config: The configuration for the newSTRING
HIGHlogfire/variables/remote.py652Update an existing variable configuration via the remote API. Args: name: The name of the variable STRING
HIGHlogfire/variables/remote.py830Create or update a variable type via the remote API. If a type with the given name exists, it will be updated. STRING
HIGHlogfire/variables/local.py39Resolve a variable's serialized value from the local configuration. Args: variable_name: The name oSTRING
HIGHlogfire/variables/local.py83Create a new variable configuration. Args: config: The configuration for the new variable. STRING
HIGHlogfire/variables/local.py102Update an existing variable configuration. Args: name: The name of the variable to update. STRING
HIGHlogfire/variables/variable.py952Resolve the variable and return full details including label, version, and any errors. Args: targetSTRING
HIGHlogfire/variables/variable.py1044Resolve the variable, render templates with the given inputs, and return the result. The resolution pipeline isSTRING
HIGHlogfire/variables/composition.py123Expand `@{var}@` references in a serialized variable value. Uses the Handlebars engine so `@{}@` supports the full STRING
Excessive Try-Catch Wrapping138 hits · 146 pts
SeverityFileLineSnippetContext
LOWlogfire/_internal/formatter.py205 except Exception as exc:CODE
LOWlogfire/_internal/formatter.py212 except Exception as exc:CODE
LOWlogfire/_internal/formatter.py223 except Exception as exc:CODE
LOWlogfire/_internal/formatter.py269 except Exception:CODE
LOWlogfire/_internal/config.py1751 except Exception:CODE
LOWlogfire/_internal/config.py1208 except Exception:CODE
LOWlogfire/_internal/config.py1309 except Exception:CODE
LOWlogfire/_internal/config.py1768 except Exception: # pragma: no coverCODE
LOWlogfire/_internal/config.py1775 except Exception as e: # pragma: no coverCODE
LOWlogfire/_internal/config.py1970 except Exception:CODE
LOWlogfire/_internal/config.py2311 except Exception as exc:CODE
LOWlogfire/_internal/forwarding.py177 except Exception:CODE
LOWlogfire/_internal/forwarding.py193 except Exception:CODE
LOWlogfire/_internal/json_schema.py153 except Exception: # pragma: no coverCODE
LOWlogfire/_internal/json_encoder.py295 except Exception: # currently redundant, but future-proofCODE
LOWlogfire/_internal/json_encoder.py300 except Exception: # pragma: no coverCODE
LOWlogfire/_internal/json_encoder.py312 except Exception:CODE
LOWlogfire/_internal/json_encoder.py329 except Exception:CODE
LOWlogfire/_internal/utils.py69except Exception: # pragma: no coverCODE
LOWlogfire/_internal/utils.py93 except Exception: # pragma: no coverCODE
LOWlogfire/_internal/utils.py102 except Exception: # pragma: no coverCODE
LOWlogfire/_internal/utils.py291 except Exception: # pragma: no coverCODE
LOWlogfire/_internal/utils.py304 except Exception: # pragma: no coverCODE
LOWlogfire/_internal/utils.py356 except Exception: # pragma: no coverCODE
LOWlogfire/_internal/utils.py462 except Exception:CODE
LOWlogfire/_internal/utils.py502 except Exception: # pragma: no coverCODE
MEDIUMlogfire/_internal/utils.py285def log_internal_error():CODE
LOWlogfire/_internal/ast_utils.py262 except Exception: # probably SyntaxError, but ast.parse can raise other exceptions tooCODE
LOWlogfire/_internal/config_params.py324 except Exception as exc:CODE
LOWlogfire/_internal/async_.py50 except Exception: # pragma: no coverCODE
LOWlogfire/_internal/async_.py54 except Exception:CODE
LOWlogfire/_internal/collect_system_info.py19 except Exception: # pragma: no coverCODE
LOWlogfire/_internal/collect_system_info.py25 except Exception: # pragma: no coverCODE
LOWlogfire/_internal/instrument.py240 except Exception: # pragma: no coverCODE
LOWlogfire/_internal/main.py278 except Exception:CODE
LOWlogfire/_internal/main.py290 except Exception: # pragma: no coverCODE
LOWlogfire/_internal/main.py310 except Exception: # pragma: no coverCODE
LOWlogfire/_internal/main.py2230 except Exception:STRING
LOWlogfire/_internal/tracer.py496 except Exception as exc:CODE
LOWlogfire/_internal/auto_trace/__init__.py40 except Exception:CODE
LOWlogfire/_internal/auto_trace/import_hook.py48 except Exception: # pragma: no coverCODE
LOWlogfire/_internal/auto_trace/import_hook.py60 except Exception:CODE
LOWlogfire/_internal/auto_trace/import_hook.py68 except Exception: # pragma: no coverCODE
LOWlogfire/_internal/auto_trace/import_hook.py79 except Exception: # pragma: no coverCODE
LOWlogfire/_internal/auto_trace/import_hook.py99 except Exception: # pragma: no coverCODE
LOWlogfire/_internal/exporters/processor_wrapper.py452 except Exception:CODE
LOWlogfire/_internal/exporters/processor_wrapper.py459 except Exception: # pragma: no coverCODE
LOWlogfire/_internal/exporters/processor_wrapper.py212 except Exception: # pragma: no coverCODE
LOWlogfire/_internal/exporters/processor_wrapper.py234 except Exception: # pragma: no coverCODE
LOWlogfire/_internal/exporters/processor_wrapper.py437 except Exception:CODE
LOWlogfire/_internal/exporters/processor_wrapper.py593 except Exception: # pragma: no coverCODE
LOWlogfire/_internal/exporters/processor_wrapper.py606 except Exception: # pragma: no coverCODE
LOWlogfire/_internal/exporters/otlp.py195 except Exception: # pragma: no coverCODE
LOWlogfire/_internal/exporters/otlp.py212 except Exception as e: # pragma: no coverCODE
LOWlogfire/_internal/exporters/otlp.py263 except Exception: # pragma: no coverCODE
LOWlogfire/_internal/cli/run.py197 except Exception:CODE
LOWlogfire/_internal/cli/gateway_auth.py223 except Exception:CODE
LOWlogfire/_internal/cli/gateway_auth.py275 except Exception:CODE
LOWlogfire/_internal/cli/gateway_auth.py280 except Exception:CODE
LOWlogfire/_internal/integrations/fastapi.py192 except Exception as exc:CODE
78 more matches not shown…
Magic Placeholder Names15 hits · 78 pts
SeverityFileLineSnippetContext
HIGHlogfire/experimental/api_client.py33 with LogfireAPIClient(api_key='your-api-key') as client:STRING
HIGHlogfire/experimental/api_client.py544 with LogfireAPIClient(api_key='your-api-key') as client:STRING
HIGHdocs/evaluate/evals-in-code.md162 with LogfireAPIClient(api_key='your-api-key') as client:CODE
HIGHdocs/evaluate/datasets-sdk.md29client = LogfireAPIClient(api_key='your-api-key')CODE
HIGHdocs/evaluate/datasets-sdk.md35with LogfireAPIClient(api_key='your-api-key') as client:CODE
HIGHdocs/evaluate/datasets-sdk.md46 api_key='your-api-key',CODE
HIGHdocs/evaluate/datasets-sdk.md56async with AsyncLogfireAPIClient(api_key='your-api-key') as client:CODE
HIGHdocs/evaluate/datasets-sdk.md110with LogfireAPIClient(api_key='your-api-key') as client:CODE
HIGHdocs/how-to-guides/client-side-feature-flags.md42const LOGFIRE_API_KEY = 'your-api-key' // project:read_external_variables scopeCODE
HIGHdocs/how-to-guides/client-side-feature-flags.md217 headers_factory=lambda: {'Authorization': 'Bearer YOUR_API_KEY'},CODE
HIGHdocs/how-to-guides/client-side-feature-flags.md233 headers={'Authorization': 'Bearer YOUR_API_KEY'},CODE
HIGHdocs/reference/advanced/use-api-keys.md101 -H "Authorization: Bearer YOUR_API_KEY"CODE
HIGHdocs/reference/advanced/use-api-keys.md108 -H "Authorization: Bearer YOUR_API_KEY"CODE
HIGHdocs/reference/advanced/use-api-keys.md111Replace `YOUR_API_KEY` with your actual API key.CODE
HIGHdocs/reference/advanced/managed-variables/external.md62 headers={'Authorization': 'Bearer YOUR_API_KEY'},CODE
Deep Nesting80 hits · 70 pts
SeverityFileLineSnippetContext
LOWlogfire/_internal/json_formatter.py69CODE
LOWlogfire/_internal/formatter.py61CODE
LOWlogfire/_internal/formatter.py152CODE
LOWlogfire/_internal/config.py1228CODE
LOWlogfire/_internal/config.py1739CODE
LOWlogfire/_internal/config.py1989CODE
LOWlogfire/_internal/config.py2084CODE
LOWlogfire/_internal/config.py1350CODE
LOWlogfire/_internal/forwarding.py180CODE
LOWlogfire/_internal/json_schema.py99CODE
LOWlogfire/_internal/json_schema.py317CODE
LOWlogfire/_internal/json_encoder.py246CODE
LOWlogfire/_internal/utils.py441CODE
LOWlogfire/_internal/scrubbing.py305CODE
LOWlogfire/_internal/db_statement_summary.py50CODE
LOWlogfire/_internal/instrument.py52CODE
LOWlogfire/_internal/instrument.py65CODE
LOWlogfire/_internal/main.py3357CODE
LOWlogfire/_internal/main.py722CODE
LOWlogfire/_internal/auto_trace/__init__.py16CODE
LOWlogfire/_internal/exporters/processor_wrapper.py89CODE
LOWlogfire/_internal/exporters/processor_wrapper.py174CODE
LOWlogfire/_internal/exporters/processor_wrapper.py299CODE
LOWlogfire/_internal/exporters/processor_wrapper.py379CODE
LOWlogfire/_internal/exporters/processor_wrapper.py467CODE
LOWlogfire/_internal/exporters/otlp.py176CODE
LOWlogfire/_internal/exporters/otlp.py222CODE
LOWlogfire/_internal/exporters/remove_pending.py15CODE
LOWlogfire/_internal/cli/__init__.py58CODE
LOWlogfire/_internal/integrations/aiohttp_client.py113CODE
LOWlogfire/_internal/integrations/fastapi.py196CODE
LOWlogfire/_internal/integrations/psycopg.py28CODE
LOWlogfire/_internal/integrations/pytest.py432CODE
LOWlogfire/_internal/integrations/claude_agent_sdk.py82CODE
LOWlogfire/_internal/integrations/claude_agent_sdk.py287CODE
LOWlogfire/_internal/integrations/claude_agent_sdk.py339CODE
LOWlogfire/_internal/integrations/openai_agents.py358CODE
LOWlogfire/_internal/integrations/openai_agents.py74CODE
LOWlogfire/_internal/integrations/openai_agents.py138CODE
LOWlogfire/_internal/integrations/llm_providers/openai.py113CODE
LOWlogfire/_internal/integrations/llm_providers/openai.py205CODE
LOWlogfire/_internal/integrations/llm_providers/openai.py279CODE
LOWlogfire/_internal/integrations/llm_providers/openai.py332CODE
LOWlogfire/_internal/integrations/llm_providers/openai.py610CODE
LOWlogfire/_internal/integrations/llm_providers/openai.py741CODE
LOW…fire/_internal/integrations/llm_providers/anthropic.py89CODE
LOW…fire/_internal/integrations/llm_providers/anthropic.py143CODE
LOW…fire/_internal/integrations/llm_providers/anthropic.py234CODE
LOW…fire/_internal/integrations/llm_providers/anthropic.py322CODE
LOW…e/_internal/integrations/llm_providers/llm_provider.py24CODE
LOW…e/_internal/integrations/llm_providers/llm_provider.py88CODE
LOWlogfire/sampling/_tail_sampling.py178CODE
LOWlogfire/sampling/_tail_sampling.py213CODE
LOWlogfire/integrations/pydantic.py257CODE
LOWlogfire/integrations/loguru.py32CODE
LOWlogfire/variables/abstract.py708CODE
LOWlogfire/variables/abstract.py961CODE
LOWlogfire/variables/abstract.py403CODE
LOWlogfire/variables/abstract.py1775CODE
LOWlogfire/variables/config.py545CODE
20 more matches not shown…
Self-Referential Comments27 hits · 60 pts
SeverityFileLineSnippetContext
MEDIUMlogfire/propagate.py1"""This module provides a thin wrapper around the OpenTelemetry propagate API to allowSTRING
MEDIUMlogfire/_internal/utils.py325 # This function is always called from log_internal_error, so skip that frame.COMMENT
MEDIUMlogfire/_internal/tracer.py329 # Create a no-op span with the same SpanContext as the current span.COMMENT
MEDIUMlogfire/_internal/cli/run.py371 # Create a final rule for the bottom sectionCOMMENT
MEDIUMlogfire/_internal/cli/run.py391 # Create a panel containing the content with a rounded box borderCOMMENT
MEDIUMlogfire/_internal/integrations/asgi.py81 # Create a no-op span with the same SpanContext as the current span.COMMENT
MEDIUMlogfire/_internal/integrations/pytest.py145 # Create a scoped logfire instance for pytest spansCOMMENT
MEDIUMlogfire/integrations/pydantic.py324 """This method is called every time a new `SchemaValidator` is created.STRING
MEDIUMlogfire/integrations/structlog.py12# This file is currently imported eagerly from __init__.py, so it shouldn't import structlog directlyCOMMENT
MEDIUMtests/test_query_client.py12# This file is intended to be updated by the Logfire developers, with the development platform running locally.COMMENT
MEDIUMtests/test_metrics.py564 # Create a view that only keeps 'important' attribute for our custom counterCOMMENT
MEDIUMtests/test_variable_composition.py1049 # Create a variable config with a non-string variableCOMMENT
MEDIUMtests/test_tail_sampling.py654 # Create a span that doesn't trigger sampling — immediate processor gets on_start,COMMENT
MEDIUMtests/test_variables.py1729 # Create a logfire instanceCOMMENT
MEDIUMtests/test_variables.py1760 # Create a logfire instance and start the providerCOMMENT
MEDIUMtests/test_variables.py4006 # Create a new var to ensure there are changes (so push proceeds)COMMENT
MEDIUMtests/test_variables.py4341 # Create a real trace context using the logfire instanceCOMMENT
MEDIUMtests/test_variables.py4358 # Create a config that will report "not on server"COMMENT
MEDIUMtests/test_variables.py4372 # Create a config where variant validation will produce a multi-line errorCOMMENT
MEDIUMtests/test_variables.py4392 # Create a variable with a complex type that will generate multi-line errorsCOMMENT
MEDIUMtests/test_variables.py5201 # Create a type-like object without __module__COMMENT
MEDIUMtests/exporters/test_otlp_session.py104 # Create a bunch of failed exports.COMMENT
MEDIUMtests/otel_integrations/test_dspy.py131 # Define a simple signatureSTRING
MEDIUMtests/otel_integrations/test_dspy.py138 # Create a predictorCOMMENT
MEDIUMtests/otel_integrations/test_pytest_plugin.py68 # Create a conftest that captures spans to a JSON fileCOMMENT
MEDIUMtests/otel_integrations/test_pytest_plugin.py1339 # Create a child span and verify it's properly nestedSTRING
MEDIUMtests/otel_integrations/test_pytest_plugin.py1185 # Create a child span and verify it's properly nestedSTRING
Structural Annotation Overuse22 hits · 37 pts
SeverityFileLineSnippetContext
LOWlogfire/.agents/skills/logfire-instrumentation/SKILL.md49## Step 1: Detect Language and FrameworksCOMMENT
LOWlogfire/variables/config.py370 # Step 1: Determine the rollout and overrides to useCOMMENT
LOWlogfire/variables/config.py374 # Step 2: Find the first matching override, or use the base rolloutCOMMENT
LOWdocs/cookbook/evaluate-an-agent.md42## Step 1: Build the agentCOMMENT
LOWdocs/cookbook/evaluate-an-agent.md75## Step 2: Instrument it and see the traceCOMMENT
LOWdocs/cookbook/evaluate-an-agent.md121## Step 3: Is it any good? Score it with an evalCOMMENT
LOWdocs/cookbook/evaluate-an-agent.md226## Step 4: Catch a regressionCOMMENT
LOWdocs/cookbook/evaluate-an-agent.md265## Step 5: Send the uncertain cases to a humanCOMMENT
LOWdocs/guides/web-ui/metrics-explorer.md15### Step 1: Pick a namespaceCOMMENT
LOWdocs/guides/web-ui/metrics-explorer.md21### Step 2: Pick a metricCOMMENT
LOWdocs/guides/web-ui/metrics-explorer.md25### Step 3: Explore the dimensionsCOMMENT
LOWdocs/how-to-guides/sso-setup.md43## Step 1: Find the Redirect URI in LogfireCOMMENT
LOWdocs/how-to-guides/sso-setup.md52## Step 2: Create an App Registration in Azure Entra IDCOMMENT
LOWdocs/how-to-guides/sso-setup.md63## Step 3: Create a Client SecretCOMMENT
LOWdocs/how-to-guides/sso-setup.md71## Step 4: Collect Required Values from AzureCOMMENT
LOWdocs/how-to-guides/sso-setup.md83## Step 5: Configure the OIDC Provider in LogfireCOMMENT
LOWdocs/how-to-guides/sso-setup.md96## Step 6: Connect Entra IDCOMMENT
LOWdocs/how-to-guides/sso-setup.md104## Step 7: Test the SSO LoginCOMMENT
LOWdocs/how-to-guides/sso-setup.md121## Step 8: Invite Team MembersCOMMENT
LOWdocs/reference/self-hosted/bucket-migration.md33## Step 1: Replicate & Sync Bucket DataCOMMENT
LOWdocs/reference/self-hosted/bucket-migration.md66## Step 2: Scale Down Writer WorkloadsCOMMENT
LOWdocs/reference/self-hosted/bucket-migration.md138## Step 3: Deploy Updated Configuration & Scale UpCOMMENT
Modern Structural Boilerplate33 hits · 36 pts
SeverityFileLineSnippetContext
LOWlogfire/query_client.py16__all__ = [CODE
LOWlogfire/testing.py22__all__ = [CODE
LOWlogfire/_internal/metrics.py64 def set_meter_provider(self, meter_provider: MeterProvider) -> None:CODE
LOWlogfire/_internal/metrics.py94 def set_meter(self, meter_provider: MeterProvider) -> None:CODE
LOWlogfire/_internal/logs.py47 def set_min_level(self, min_level: int) -> None:CODE
LOWlogfire/_internal/logs.py60 def set_provider(self, logger_provider: LoggerProvider) -> None:CODE
LOWlogfire/_internal/logs.py124 def set_logger(self, provider: LoggerProvider) -> None:CODE
LOWlogfire/_internal/main.py3217 def set_attribute(self, key: str, value: Any) -> None:CODE
LOWlogfire/_internal/main.py3230 def set_attributes(self, attributes: dict[str, Any]) -> None:CODE
LOWlogfire/_internal/main.py3279 def _set_attribute(self, key: str, value: Any) -> None:CODE
LOWlogfire/_internal/main.py3381def set_user_attributes_on_raw_span(span: Span, attributes: dict[str, Any]) -> None:CODE
LOWlogfire/_internal/tracer.py66 def set_provider(self, provider: SDKTracerProvider) -> None:CODE
LOWlogfire/_internal/tracer.py173 def set_attributes(self, attributes: Mapping[str, otel_types.AttributeValue]) -> None:CODE
LOWlogfire/_internal/tracer.py176 def set_attribute(self, key: str, value: otel_types.AttributeValue) -> None:CODE
LOWlogfire/_internal/tracer.py190 def update_name(self, name: str) -> None: # pragma: no coverCODE
LOWlogfire/_internal/tracer.py273 def set_tracer(self, tracer: Tracer) -> None:CODE
LOWlogfire/_internal/exporters/processor_wrapper.py89def _set_error_level_and_status(span: ReadableSpanDict) -> None:CODE
LOWlogfire/_internal/cli/__init__.py39logger = logging.getLogger(__name__)CODE
LOWlogfire/_internal/integrations/aiohttp_client.py149 def _set_complex_span_attributes(self, attributes: dict[str, Any]) -> None:CODE
LOWlogfire/_internal/integrations/claude_agent_sdk.py68def _set_state(state: _ConversationState) -> None:CODE
LOWlogfire/_internal/integrations/openai_agents.py328 def set_error(self, error: SpanError) -> None:CODE
LOWlogfire/sampling/__init__.py5__all__ = [CODE
LOWlogfire/integrations/pydantic.py246 def _set_span_attributes(self, span: LogfireSpan, *, status: str, success: bool, **attributes: Any) -> None:CODE
LOWlogfire/integrations/pydantic.py379def set_pydantic_plugin_config(plugin_config: PydanticPlugin | None) -> None:CODE
LOWlogfire/variables/__init__.py54__all__ = [CODE
LOWtests/test_configure.py1341 def _update_resource(self, resource: Resource) -> None:CODE
LOWtests/test_configure.py1348 def _update_resource(self, resource: Resource) -> None:CODE
LOWtests/test_configure.py1355 def _update_resource(self, resource: Resource) -> None:CODE
LOWtests/otel_integrations/test_anthropic.py1304 def set_attribute(self, key: str, value: Any) -> None:CODE
LOWtests/otel_integrations/test_anthropic.py1307 def set_attributes(self, attributes: dict[str, Any]) -> None:CODE
LOWrelease/prepare.py11def update_version(pyproject_file: str, new_version: str) -> None:CODE
LOWrelease/prepare.py65def update_history(new_version: str, notes: str) -> None:CODE
LOWlogfire-api/logfire_api/__init__.py88 def set_attribute(self, key: str, value: Any) -> None: ... # pragma: no coverCODE
Cross-File Repetition7 hits · 35 pts
SeverityFileLineSnippetContext
HIGHlogfire/_internal/integrations/starlette.py0instrument `app` so that spans are automatically created for each request. see the `logfire.instrument_wsgi` method for STRING
HIGHlogfire/_internal/integrations/flask.py0instrument `app` so that spans are automatically created for each request. see the `logfire.instrument_wsgi` method for STRING
HIGHlogfire/_internal/integrations/asgi.py0instrument `app` so that spans are automatically created for each request. see the `logfire.instrument_wsgi` method for STRING
HIGHlogfire/_internal/integrations/wsgi.py0instrument `app` so that spans are automatically created for each request. see the `logfire.instrument_wsgi` method for STRING
HIGHdocs/integrations/llms/langgraph.md0look up the current status and owner of an incident by id.STRING
HIGHdocs/integrations/llms/autogen.md0look up the current status and owner of an incident by id.STRING
HIGHdocs/integrations/llms/crewai.md0look up the current status and owner of an incident by id.STRING
Cross-Language Confusion5 hits · 30 pts
SeverityFileLineSnippetContext
HIGHtests/test_template_validation.py72 result = extract_template_strings('{"text": "{{name}}", "count": 42, "active": true, "nothing": null}')CODE
HIGHtests/test_template_validation.py77 result = extract_template_strings('["{{a}}", 42, true, null, "{{b}}"]')CODE
HIGHtests/test_json_args.py804 '{"x":1,"y":2,"z":null}',CODE
HIGHtests/test_json_args.py818 '{"x":1,"y":2,"z":{"x":1,"y":2,"z":null}}',CODE
HIGHtests/test_json_args.py1062 'complex_list': '[1,2,{"a":{"b":{"c":["d"]}}},{"b":[2]},true,false,null,"a","b",[1,2]]',CODE
Fake / Example Data42 hits · 24 pts
SeverityFileLineSnippetContext
LOWtests/test_configure.py1888 # we check that fake_token is valid now when we configure the projectCOMMENT
LOWtests/test_configure.py2153 with patch.dict(os.environ, {'LOGFIRE_TOKEN': 'fake_token'}), requests_mock.Mocker() as request_mocker:CODE
LOWtests/test_configure.py2161 assert request_mocker.request_history[0].headers['Authorization'] == 'fake_token'CODE
LOWtests/test_configure.py2178 with patch.dict(os.environ, {'LOGFIRE_TOKEN': 'fake_token'}), requests_mock.Mocker() as request_mocker:CODE
LOWtests/test_configure.py2185 assert logfire.DEFAULT_LOGFIRE_INSTANCE.config.token == 'fake_token'CODE
LOWtests/test_configure.py2189 assert request_mocker.request_history[0].headers['Authorization'] == 'fake_token'CODE
LOWtests/test_configure.py1642 'token': 'fake_token',CODE
LOWtests/test_configure.py1681 'token': 'fake_token',CODE
LOWtests/test_configure.py1743 'token': 'fake_token',CODE
LOWtests/test_configure.py1868 'token': 'fake_token',CODE
LOWtests/test_configure.py1891 assert request_mocker.request_history[-1].headers['Authorization'] == 'fake_token'CODE
LOWtests/test_configure.py1966 'token': 'fake_token',CODE
LOWtests/test_db_api.py74 read_token='fake-token',CODE
LOWtests/test_json_args.py460 NameEmail(name='John Doe', email='john.doe@mail.com'),CODE
LOWtests/test_variable_templates.py210 resolved = var.get(Inputs(user_name='Alice', company='Acme Corp'))CODE
LOWtests/test_cli.py505token = "fake_token"CODE
LOWtests/test_cli.py644token = "fake_token"CODE
LOWtests/test_cli.py496 dict(text='{"token": "fake_token", "expiration": "fake_exp"}'),STRING
LOWtests/test_cli.py545 dict(text='{"token": "fake_token", "expiration": "fake_exp"}'),STRING
LOWtests/test_cli.py634 dict(text='{"token": "fake_token", "expiration": "fake_exp"}'),STRING
LOWtests/test_cli.py734 'token': 'fake_token',STRING
LOWtests/test_cli.py780 'token': 'fake_token',STRING
LOWtests/test_cli.py828 'token': 'fake_token',STRING
LOWtests/test_cli.py874 'token': 'fake_token',STRING
LOWtests/test_cli.py923 'token': 'fake_token',STRING
LOWtests/test_cli.py979 'token': 'fake_token',STRING
LOWtests/test_cli.py1023 'token': 'fake_token',STRING
LOWtests/test_cli.py1071 'token': 'fake_token',STRING
LOWtests/test_cli.py1124 'token': 'fake_token',STRING
LOWtests/test_cli.py1162 'token': 'fake_token',STRING
LOWtests/test_cli.py1272 json={'token': 'fake_token'},STRING
LOWtests/test_cli.py1278 assert output == snapshot('fake_token\n')STRING
LOWtests/test_cli.py1328 'token': 'fake_token',STRING
LOWtests/test_cli.py1374 'token': 'fake_token',STRING
LOWtests/test_cli.py1433 'token': 'fake_token',STRING
LOWtests/test_cli.py1496 'token': 'fake_token',STRING
LOWtests/test_cli.py1539 'token': 'fake_token',STRING
LOWtests/test_cli.py1657 'token': 'fake_token',STRING
LOWtests/test_cli.py4235 json={'token': 'fake_token'},STRING
LOWtests/test_cli.py4439 'env = { "LOGFIRE_READ_TOKEN" = "fake_token" }\n'STRING
LOWtests/test_variables.py127 assert condition.matches({'email': 'user@example.com'}) is TrueCODE
LOWdocs/integrations/llms/instructor.md50#> name='John Doe' age=30COMMENT
Redundant / Tautological Comments6 hits · 9 pts
SeverityFileLineSnippetContext
LOWlogfire/_internal/formatter.py288 # Check if the expression contains await before attempting to compileCOMMENT
LOWlogfire/variables/abstract.py900 # Check if description differs (for warning purposes)COMMENT
LOWlogfire/variables/remote.py343 # Set flag to force refresh and wake up the workerCOMMENT
LOWlogfire/variables/remote.py380 # Check if SSE event requested a forced refreshCOMMENT
LOWtests/test_tail_sampling.py25 # Set duration to None to not include spans with a long duration.COMMENT
LOWtests/test_tail_sampling.py214 # Set level to None to not include spans merely based on a high level.COMMENT
AI Slop Vocabulary4 hits · 8 pts
SeverityFileLineSnippetContext
LOWlogfire/_internal/formatter.py274 # Formatting failed, so just use the original format string as the message.COMMENT
LOWlogfire/_internal/exporters/processor_wrapper.py448 # If the input messages are a prefix of the output messages, we can just use the output messagesCOMMENT
LOWlogfire/sampling/_tail_sampling.py199 # Most processors just set attributes, which is safe before the sampling decision.COMMENT
MEDIUMtests/test_utils.py58 # - They should look seamless, with each frame pointing to the next one.COMMENT
Over-Commented Block7 hits · 7 pts
SeverityFileLineSnippetContext
LOWpyproject.toml361source = ["logfire", "logfire-api"]COMMENT
LOWlogfire/integrations/logging.py141 # so `name` should be treated as a keyword argument, i.e. its own attribute.COMMENT
LOWlogfire/variables/remote.py381 force = self._force_refresh_event.is_set()COMMENT
LOWlogfire/variables/composition.py261 )COMMENT
LOWtests/test_query_client.py21# import logfireCOMMENT
LOWdocs/how-to-guides/alternative-clients.md141 .http()COMMENT
LOW.github/workflows/docs-preview.yml1name: Docs PreviewCOMMENT
Modern AI Meta-Vocabulary2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMtests/otel_integrations/test_openai_agents.py1022 # The model call runs concurrently with input guardrails. Depending on when it isCOMMENT
MEDIUMdocs/evaluate/overview.md16## The scaffold: dataset → task → evaluators → results → experimentCOMMENT
AI Structural Patterns5 hits · 4 pts
SeverityFileLineSnippetContext
LOWlogfire/_internal/config.py489CODE
LOWlogfire/_internal/config.py1014CODE
LOWlogfire/_internal/main.py1570CODE
LOWlogfire/_internal/main.py1585CODE
LOWlogfire/_internal/integrations/llm_providers/openai.py513CODE
Verbosity Indicators2 hits · 4 pts
SeverityFileLineSnippetContext
LOWlogfire/variables/config.py370 # Step 1: Determine the rollout and overrides to useCOMMENT
LOWlogfire/variables/config.py374 # Step 2: Find the first matching override, or use the base rolloutCOMMENT
Overly Generic Function Names3 hits · 1 pts
SeverityFileLineSnippetContext
LOWlogfire/_internal/main.py635 def my_function(a: int):STRING
LOWlogfire/_internal/main.py665 def my_function(a: int):STRING
LOWlogfire/_internal/main.py690 def my_function(a: int):STRING