Structured Outputs
This report summarizes scanner evidence for dottxt-ai/outlines, a Python project with 15,915 GitHub stars. SynthScan examined 40,927 lines of code across 230 source files, recording 858 pattern matches distributed across 17 syntactic categories. The legacy adjusted pattern signal is 28.3 (Elevated pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 651 finding(s).
Are imports declared and package/API names verified? 104 finding(s).
Are wrappers, guards, and repeated structures necessary? 710 finding(s).
Which changes need focused human review? 858 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 858 distinct pattern matches across 17 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. 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 configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/conftest.py | 6 | def pytest_collection_modifyitems(config, items): | CODE |
| LOW | tests/test_inputs.py | 23 | def test_image_initialization(): | CODE |
| LOW | tests/test_inputs.py | 47 | def test_image_initialization_invalid(): | CODE |
| LOW | tests/test_inputs.py | 61 | def test_video_initialization(): | CODE |
| LOW | tests/test_inputs.py | 67 | def test_audio_initialization(): | CODE |
| LOW | tests/test_inputs.py | 129 | def test_chat_add_system_message(image_input): | CODE |
| LOW | tests/test_inputs.py | 152 | def test_add_user_message_string(image_input): | CODE |
| LOW | tests/test_inputs.py | 175 | def test_add_assistant_message_string(image_input): | CODE |
| LOW⚡ | tests/test_generator.py | 90 | def test_steerable_generator_init_valid_processor(steerable_model, sample_processor): | CODE |
| LOW⚡ | tests/test_generator.py | 96 | def test_steerable_generator_init_cfg_output_type(steerable_model): | CODE |
| LOW⚡ | tests/test_generator.py | 102 | def test_steerable_generator_init_other_output_type(steerable_model): | CODE |
| LOW⚡ | tests/test_generator.py | 108 | def test_steerable_generator_init_invalid_output_type(steerable_model, sample_processor): | CODE |
| LOW⚡ | tests/test_generator.py | 113 | def test_steerable_generator_call(steerable_model): | CODE |
| LOW⚡ | tests/test_generator.py | 119 | def test_steerable_generator_stream(steerable_model): | CODE |
| LOW⚡ | tests/test_generator.py | 130 | def test_black_box_generator_init(black_box_sync_model): | CODE |
| LOW⚡ | tests/test_generator.py | 135 | def test_black_box_generator_call(black_box_sync_model): | CODE |
| LOW⚡ | tests/test_generator.py | 141 | def test_black_box_generator_stream(black_box_sync_model): | CODE |
| LOW⚡ | tests/test_generator.py | 151 | def test_async_black_box_generator_init(black_box_async_model): | CODE |
| LOW⚡ | tests/test_generator.py | 158 | async def test_async_black_box_generator_call(black_box_async_model): | CODE |
| LOW⚡ | tests/test_generator.py | 165 | async def test_async_black_box_generator_stream(black_box_async_model): | CODE |
| LOW⚡ | tests/test_generator.py | 177 | def test_generator_init_no_model(): | CODE |
| LOW⚡ | tests/test_generator.py | 182 | def test_generator_init_multiple_output_type(steerable_model, sample_processor): | CODE |
| LOW⚡ | tests/test_generator.py | 187 | def test_generator_steerable_output_type(steerable_model): | CODE |
| LOW⚡ | tests/test_generator.py | 194 | def test_generator_steerable_processor(steerable_model, sample_processor): | CODE |
| LOW⚡ | tests/test_generator.py | 201 | def test_generator_black_box_sync_output_type(black_box_sync_model): | CODE |
| LOW⚡ | tests/test_generator.py | 208 | def test_generator_black_box_sync_processor(black_box_sync_model, sample_processor): | CODE |
| LOW⚡ | tests/test_generator.py | 213 | def test_generator_black_box_async_output_type(black_box_async_model): | CODE |
| LOW⚡ | tests/test_generator.py | 220 | def test_generator_black_box_async_processor(black_box_async_model, sample_processor): | CODE |
| LOW | tests/test_templates.py | 30 | def function_with_annotations(x: int, y: str) -> str: | CODE |
| LOW | tests/test_templates.py | 34 | def function_with_no_docstring(x, y): | CODE |
| LOW⚡ | tests/test_templates.py | 77 | def test_vision_initialization(): | CODE |
| LOW | tests/test_templates.py | 102 | def test_vision_invalid_image_format(): | CODE |
| LOW | tests/test_templates.py | 152 | def test_render_escaped_linebreak(): | STRING |
| LOW | tests/test_templates.py | 341 | def test_template_from_str_with_extra_linebreaks(): | STRING |
| LOW | tests/test_templates.py | 436 | def test_render_trailing_whitespace_preserves_linebreak(): | CODE |
| LOW | tests/test_templates.py | 441 | def test_render_trailing_whitespace_keeps_next_line_indentation(): | CODE |
| LOW⚡ | tests/test_exceptions.py | 88 | def test_api_error_stores_provider_and_original(self): | CODE |
| LOW⚡ | tests/test_exceptions.py | 94 | def test_api_error_status_code_param(self): | CODE |
| LOW⚡ | tests/test_exceptions.py | 98 | def test_api_error_default_message(self): | CODE |
| LOW⚡ | tests/test_exceptions.py | 102 | def test_api_error_provider_message(self): | CODE |
| LOW⚡ | tests/test_exceptions.py | 106 | def test_hint_stored_in_notes_or_attribute(self): | CODE |
| LOW⚡ | tests/test_exceptions.py | 113 | def test_hint_note_uses_arrow_format(self): | CODE |
| LOW⚡ | tests/test_exceptions.py | 120 | def test_hint_note_fallback_without_add_note(self): | CODE |
| LOW⚡ | tests/test_exceptions.py | 163 | def test_response_status_code(self): | CODE |
| LOW⚡ | tests/test_exceptions.py | 170 | def test_sentinel_minus_one_filtered(self): | CODE |
| LOW⚡ | tests/test_exceptions.py | 180 | def test_response_with_non_int_status_code_returns_none(self): | CODE |
| LOW⚡ | tests/test_exceptions.py | 187 | def test_response_with_out_of_range_status_code_returns_none(self): | CODE |
| LOW⚡ | tests/test_exceptions.py | 226 | def test_no_status_code_fallback_to_api_error(self): | CODE |
| LOW⚡ | tests/test_exceptions.py | 230 | def test_original_exception_preserved(self): | CODE |
| LOW⚡ | tests/test_exceptions.py | 238 | def test_unknown_provider_uses_status_code_fallback(self): | CODE |
| LOW⚡ | tests/test_exceptions.py | 247 | def test_request_id_propagated_through_normalize(self): | CODE |
| LOW⚡ | tests/test_exceptions.py | 257 | def test_request_id_from_response_headers_propagated(self): | CODE |
| LOW⚡ | tests/test_exceptions.py | 275 | def test_type_error_is_not_provider(self): | CODE |
| LOW⚡ | tests/test_exceptions.py | 278 | def test_attribute_error_is_not_provider(self): | CODE |
| LOW⚡ | tests/test_exceptions.py | 281 | def test_key_error_is_not_provider(self): | CODE |
| LOW⚡ | tests/test_exceptions.py | 284 | def test_name_error_is_not_provider(self): | CODE |
| LOW⚡ | tests/test_exceptions.py | 287 | def test_assertion_error_is_not_provider(self): | CODE |
| LOW⚡ | tests/test_exceptions.py | 290 | def test_plain_exception_no_status_code_is_not_provider(self): | CODE |
| LOW⚡ | tests/test_exceptions.py | 301 | def test_status_code_on_response_is_provider(self): | CODE |
| LOW⚡ | tests/test_exceptions.py | 308 | def test_sentinel_minus_one_is_not_provider(self): | CODE |
| 545 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/backends/test_outlines_core.py | 0 | ?start: sum ?sum: product | sum "+" product -> add | sum "-" product -> sub ?product: atom | product "*" atom -> mul | p | STRING |
| HIGH | tests/backends/test_llguidance.py | 0 | ?start: sum ?sum: product | sum "+" product -> add | sum "-" product -> sub ?product: atom | product "*" atom -> mul | p | STRING |
| HIGH | tests/backends/test_backends.py | 0 | ?start: sum ?sum: product | sum "+" product -> add | sum "-" product -> sub ?product: atom | product "*" atom -> mul | p | STRING |
| HIGH | tests/models/test_llamacpp.py | 0 | ?start: sum ?sum: product | sum "+" product -> add | sum "-" product -> sub ?product: atom | product "*" atom -> mul | p | STRING |
| HIGH | docs/guide/getting_started.md | 0 | ?start: sum ?sum: product | sum "+" product -> add | sum "-" product -> sub ?product: atom | product "*" atom -> mul | p | STRING |
| HIGH | docs/features/models/mlxlm.md | 0 | ?start: sum ?sum: product | sum "+" product -> add | sum "-" product -> sub ?product: atom | product "*" atom -> mul | p | STRING |
| HIGH | docs/features/models/vllm.md | 0 | ?start: sum ?sum: product | sum "+" product -> add | sum "-" product -> sub ?product: atom | product "*" atom -> mul | p | STRING |
| HIGH | docs/features/models/transformers.md | 0 | ?start: sum ?sum: product | sum "+" product -> add | sum "-" product -> sub ?product: atom | product "*" atom -> mul | p | STRING |
| HIGH | docs/features/models/vllm_offline.md | 0 | ?start: sum ?sum: product | sum "+" product -> add | sum "-" product -> sub ?product: atom | product "*" atom -> mul | p | STRING |
| HIGH | tests/models/test_sglang_type_adapter.py | 0 | { "type": "object", "properties": { "answer": {"type": "number"} } } | STRING |
| HIGH | tests/models/test_vllm_type_adapter.py | 0 | { "type": "object", "properties": { "answer": {"type": "number"} } } | STRING |
| HIGH | tests/models/test_vllm_offline_type_adapter.py | 0 | { "type": "object", "properties": { "answer": {"type": "number"} } } | STRING |
| HIGH | tests/models/test_tgi_model_adapter.py | 0 | { "type": "object", "properties": { "answer": {"type": "number"} } } | STRING |
| HIGH | tests/models/test_mistral.py | 0 | get the dottxt api key from the environment, providing a default value if not found. this fixture should be used for tes | STRING |
| HIGH | tests/models/test_openai.py | 0 | get the dottxt api key from the environment, providing a default value if not found. this fixture should be used for tes | STRING |
| HIGH | tests/models/test_dottxt.py | 0 | get the dottxt api key from the environment, providing a default value if not found. this fixture should be used for tes | STRING |
| HIGH | docs/examples/deploy-using-modal.md | 0 | { "title": "character", "type": "object", "properties": { "name": { "title": "name", "maxlength": 10, "type": "string" } | STRING |
| HIGH | docs/examples/deploy-using-bentoml.md | 0 | { "title": "character", "type": "object", "properties": { "name": { "title": "name", "maxlength": 10, "type": "string" } | STRING |
| HIGH | docs/examples/deploy-using-cerebrium.md | 0 | { "title": "character", "type": "object", "properties": { "name": { "title": "name", "maxlength": 10, "type": "string" } | STRING |
| HIGH | examples/modal_example.py | 0 | { "title": "character", "type": "object", "properties": { "name": { "title": "name", "maxlength": 10, "type": "string" } | STRING |
| HIGH | examples/bentoml/service.py | 0 | { "title": "character", "type": "object", "properties": { "name": { "title": "name", "maxlength": 10, "type": "string" } | STRING |
| HIGH | src/outlines/backends/outlines_core.py | 0 | parameters ---------- model the outlines model of the user. | STRING |
| HIGH | src/outlines/backends/llguidance.py | 0 | parameters ---------- model the outlines model of the user. | STRING |
| HIGH | src/outlines/backends/xgrammar.py | 0 | parameters ---------- model the outlines model of the user. | STRING |
| HIGH | src/outlines/backends/outlines_core.py | 0 | create a logits processor from a regex. parameters ---------- regex: str the regex to create a logits processor from. re | STRING |
| HIGH | src/outlines/backends/llguidance.py | 0 | create a logits processor from a regex. parameters ---------- regex: str the regex to create a logits processor from. re | STRING |
| HIGH | src/outlines/backends/xgrammar.py | 0 | create a logits processor from a regex. parameters ---------- regex: str the regex to create a logits processor from. re | STRING |
| HIGH | src/outlines/models/mistral.py | 0 | generate the `messages` argument to pass to the client. parameters ---------- model_input the input provided by the user | STRING |
| HIGH | src/outlines/models/gemini.py | 0 | generate the `messages` argument to pass to the client. parameters ---------- model_input the input provided by the user | STRING |
| HIGH | src/outlines/models/openai.py | 0 | generate the `messages` argument to pass to the client. parameters ---------- model_input the input provided by the user | STRING |
| HIGH | src/outlines/models/anthropic.py | 0 | generate the `messages` argument to pass to the client. parameters ---------- model_input the input provided by the user | STRING |
| HIGH | src/outlines/models/vllm.py | 0 | stream text using tgi. parameters ---------- model_input the prompt based on which the model will generate a response. o | STRING |
| HIGH | src/outlines/models/tgi.py | 0 | stream text using tgi. parameters ---------- model_input the prompt based on which the model will generate a response. o | STRING |
| HIGH | src/outlines/models/sglang.py | 0 | stream text using tgi. parameters ---------- model_input the prompt based on which the model will generate a response. o | STRING |
| HIGH | src/outlines/models/lmstudio.py | 0 | async thin wrapper around the `dottxt.client.asyncdottxt` client. this wrapper is used to convert the input and output t | STRING |
| HIGH | src/outlines/models/gemini.py | 0 | async thin wrapper around the `dottxt.client.asyncdottxt` client. this wrapper is used to convert the input and output t | STRING |
| HIGH | src/outlines/models/openai.py | 0 | async thin wrapper around the `dottxt.client.asyncdottxt` client. this wrapper is used to convert the input and output t | STRING |
| HIGH | src/outlines/models/anthropic.py | 0 | async thin wrapper around the `dottxt.client.asyncdottxt` client. this wrapper is used to convert the input and output t | STRING |
| HIGH | src/outlines/models/dottxt.py | 0 | async thin wrapper around the `dottxt.client.asyncdottxt` client. this wrapper is used to convert the input and output t | STRING |
| HIGH | src/outlines/models/ollama.py | 0 | async thin wrapper around the `dottxt.client.asyncdottxt` client. this wrapper is used to convert the input and output t | STRING |
| HIGH | src/outlines/models/lmstudio.py | 0 | generate text using dottxt asynchronously. parameters ---------- model_input the prompt based on which the model will ge | STRING |
| HIGH | src/outlines/models/dottxt.py | 0 | generate text using dottxt asynchronously. parameters ---------- model_input the prompt based on which the model will ge | STRING |
| HIGH | src/outlines/models/ollama.py | 0 | generate text using dottxt asynchronously. parameters ---------- model_input the prompt based on which the model will ge | STRING |
| HIGH | src/outlines/models/transformers.py | 0 | generate the prompt argument to pass to the model. parameters ---------- model_input the input provided by the user. ret | STRING |
| HIGH | src/outlines/models/mlxlm.py | 0 | generate the prompt argument to pass to the model. parameters ---------- model_input the input provided by the user. ret | STRING |
| HIGH | src/outlines/models/llamacpp.py | 0 | generate the prompt argument to pass to the model. parameters ---------- model_input the input provided by the user. ret | STRING |
| HIGH | src/outlines/models/openai.py | 0 | generate the `messages` argument to pass to the client when the user passes a chat instance. | STRING |
| HIGH | src/outlines/models/ollama.py | 0 | generate the `messages` argument to pass to the client when the user passes a chat instance. | STRING |
| HIGH | src/outlines/models/anthropic.py | 0 | generate the `messages` argument to pass to the client when the user passes a chat instance. | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_inputs.py | 4 | CODE | |
| LOW | tests/test_inputs.py | 6 | CODE | |
| LOW | tests/test_inputs.py | 6 | CODE | |
| LOW | tests/test_inputs.py | 6 | CODE | |
| LOW | tests/test_applications.py | 1 | CODE | |
| LOW | tests/test_cache.py | 8 | CODE | |
| LOW | tests/test_cache.py | 9 | CODE | |
| LOW | tests/types/test_types_utils.py | 13 | CODE | |
| LOW | tests/types/test_to_regex.py | 4 | CODE | |
| LOW | tests/models/test_vllm.py | 5 | CODE | |
| LOW | tests/models/test_dottxt_type_adapter.py | 11 | CODE | |
| LOW | tests/models/test_llamacpp_tokenizer.py | 4 | CODE | |
| LOW | tests/processors/test_tensor_adapters.py | 14 | CODE | |
| LOW | tests/processors/test_base_processor.py | 1 | CODE | |
| LOW | examples/dating_profile.py | 4 | CODE | |
| LOW | src/outlines/__init__.py | 4 | CODE | |
| LOW | src/outlines/__init__.py | 5 | CODE | |
| LOW | src/outlines/__init__.py | 6 | CODE | |
| LOW | src/outlines/__init__.py | 7 | CODE | |
| LOW | src/outlines/__init__.py | 8 | CODE | |
| LOW | src/outlines/__init__.py | 9 | CODE | |
| LOW | src/outlines/__init__.py | 10 | CODE | |
| LOW | src/outlines/__init__.py | 11 | CODE | |
| LOW | src/outlines/__init__.py | 12 | CODE | |
| LOW | src/outlines/__init__.py | 13 | CODE | |
| LOW | src/outlines/__init__.py | 14 | CODE | |
| LOW | src/outlines/__init__.py | 15 | CODE | |
| LOW | src/outlines/__init__.py | 16 | CODE | |
| LOW | src/outlines/__init__.py | 17 | CODE | |
| LOW | src/outlines/__init__.py | 18 | CODE | |
| LOW | src/outlines/__init__.py | 19 | CODE | |
| LOW | src/outlines/__init__.py | 20 | CODE | |
| LOW | src/outlines/__init__.py | 21 | CODE | |
| LOW | src/outlines/__init__.py | 22 | CODE | |
| LOW | src/outlines/templates.py | 11 | CODE | |
| LOW | src/outlines/inputs.py | 6 | CODE | |
| LOW | src/outlines/types/__init__.py | 3 | CODE | |
| LOW | src/outlines/types/__init__.py | 3 | CODE | |
| LOW | src/outlines/types/__init__.py | 3 | CODE | |
| LOW | src/outlines/types/__init__.py | 3 | CODE | |
| LOW | src/outlines/types/__init__.py | 3 | CODE | |
| LOW | src/outlines/types/__init__.py | 3 | CODE | |
| LOW | src/outlines/types/__init__.py | 3 | CODE | |
| LOW | src/outlines/types/__init__.py | 3 | CODE | |
| LOW | src/outlines/types/__init__.py | 3 | CODE | |
| LOW | src/outlines/types/__init__.py | 3 | CODE | |
| LOW | src/outlines/types/__init__.py | 3 | CODE | |
| LOW | src/outlines/types/__init__.py | 3 | CODE | |
| LOW | src/outlines/types/__init__.py | 3 | CODE | |
| LOW | src/outlines/types/__init__.py | 3 | CODE | |
| LOW | src/outlines/types/__init__.py | 21 | CODE | |
| LOW | src/outlines/types/utils.py | 10 | CODE | |
| LOW | src/outlines/types/utils.py | 10 | CODE | |
| LOW | src/outlines/types/utils.py | 10 | CODE | |
| LOW | src/outlines/types/utils.py | 10 | CODE | |
| LOW | src/outlines/types/locale/__init__.py | 3 | CODE | |
| LOW | src/outlines/backends/llguidance.py | 14 | CODE | |
| LOW | src/outlines/models/lmstudio.py | 23 | CODE | |
| LOW | src/outlines/models/transformers.py | 19 | CODE | |
| LOW | src/outlines/models/transformers.py | 20 | CODE | |
| 39 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/types/test_dsl.py | 1079 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/types/test_dsl.py | 1082 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/models/test_openai.py | 344 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/models/test_openai.py | 348 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/models/test_provider_exceptions.py | 329 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/models/test_provider_exceptions.py | 332 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/models/test_dottxt.py | 66 | # ── Sync tests ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/models/test_dottxt.py | 144 | # ── Async tests ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/models/test_ollama.py | 295 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/models/test_ollama.py | 298 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/outlines/exceptions.py | 170 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/outlines/exceptions.py | 172 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/outlines/exceptions.py | 210 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/outlines/exceptions.py | 212 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/outlines/exceptions.py | 224 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/outlines/exceptions.py | 226 | # --------------------------------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_utils/mock_lmstudio_client.py | 42 | CODE | |
| LOW | tests/processors/test_tensor_adapters.py | 31 | CODE | |
| LOW | tests/processors/test_tensor_adapters.py | 41 | CODE | |
| LOW | tests/processors/test_tensor_adapters.py | 223 | CODE | |
| LOW | tests/processors/test_tensor_adapters.py | 247 | CODE | |
| LOW | src/outlines/templates.py | 321 | CODE | |
| LOW | src/outlines/exceptions.py | 68 | CODE | |
| LOW | src/outlines/types/dsl.py | 730 | CODE | |
| LOW | src/outlines/types/dsl.py | 925 | CODE | |
| LOW | src/outlines/types/dsl.py | 978 | CODE | |
| LOW | src/outlines/types/dsl.py | 293 | CODE | |
| LOW | src/outlines/types/dsl.py | 362 | CODE | |
| LOW | src/outlines/types/json_schema_utils.py | 15 | CODE | |
| LOW | src/outlines/backends/xgrammar.py | 92 | CODE | |
| LOW | src/outlines/models/mistral.py | 106 | CODE | |
| LOW | src/outlines/models/mistral.py | 140 | CODE | |
| LOW | src/outlines/models/mistral.py | 192 | CODE | |
| LOW | src/outlines/models/lmstudio.py | 86 | CODE | |
| LOW | src/outlines/models/lmstudio.py | 126 | CODE | |
| LOW | src/outlines/models/transformers.py | 466 | CODE | |
| LOW | src/outlines/models/transformers.py | 627 | CODE | |
| LOW | src/outlines/models/gemini.py | 163 | CODE | |
| LOW | src/outlines/models/dottxt.py | 43 | CODE | |
| LOW | src/outlines/models/ollama.py | 112 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/outlines/exceptions.py | 14 | __all__ = [ | CODE |
| LOW | src/outlines/types/__init__.py | 49 | __all__ = [ | CODE |
| LOW | src/outlines/types/locale/__init__.py | 5 | __all__ = [ | CODE |
| LOW | src/outlines/backends/outlines_core.py | 42 | def _setup(self, batch_size: int, vocab_size: int) -> None: | CODE |
| LOW | src/outlines/backends/llguidance.py | 50 | def _setup(self, batch_size: int) -> None: | CODE |
| LOW | src/outlines/backends/__init__.py | 12 | __all__ = [ | CODE |
| LOW | src/outlines/backends/xgrammar.py | 38 | def _setup(self, batch_size: int, vocab_size: int) -> None: | CODE |
| LOW | src/outlines/models/mistral.py | 35 | __all__ = ["AsyncMistral", "Mistral", "from_mistral"] | CODE |
| LOW | src/outlines/models/vllm.py | 17 | __all__ = ["VLLM", "AsyncVLLM", "from_vllm"] | CODE |
| LOW | src/outlines/models/lmstudio.py | 25 | __all__ = ["LMStudio", "AsyncLMStudio", "from_lmstudio"] | CODE |
| LOW | src/outlines/models/transformers.py | 27 | __all__ = ["Transformers", "TransformersMultiModal", "from_transformers"] | CODE |
| LOW | src/outlines/models/vllm_offline.py | 20 | __all__ = ["VLLMOffline", "from_vllm_offline"] | CODE |
| LOW | src/outlines/models/__init__.py | 57 | __all__ = [ | CODE |
| LOW | src/outlines/models/gemini.py | 31 | __all__ = ["Gemini", "from_gemini"] | CODE |
| LOW | src/outlines/models/mlxlm.py | 28 | __all__ = ["MLXLM", "from_mlxlm"] | CODE |
| LOW | src/outlines/models/tgi.py | 23 | __all__ = ["AsyncTGI", "TGI", "from_tgi"] | CODE |
| LOW | src/outlines/models/openai.py | 33 | __all__ = ["AsyncOpenAI", "OpenAI", "from_openai"] | CODE |
| LOW | src/outlines/models/anthropic.py | 15 | __all__ = ["Anthropic", "from_anthropic"] | CODE |
| LOW | src/outlines/models/dottxt.py | 16 | __all__ = ["AsyncDottxt", "Dottxt", "from_dottxt"] | CODE |
| LOW | src/outlines/models/sglang.py | 25 | __all__ = ["AsyncSGLang", "SGLang", "from_sglang"] | CODE |
| LOW | src/outlines/models/ollama.py | 25 | __all__ = ["AsyncOllama", "Ollama", "from_ollama"] | CODE |
| LOW | src/outlines/models/llamacpp.py | 25 | __all__ = ["LlamaCpp", "from_llamacpp"] | CODE |
| LOW | src/outlines/processors/__init__.py | 5 | __all__ = [ | CODE |
| LOW | src/outlines/processors/tensor_adapters/__init__.py | 21 | __all__ = [ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tests/test_templates.py | 78 | # Create a simple image for testing | COMMENT |
| MEDIUM⚡ | tests/test_templates.py | 82 | # Initialize the Vision object | COMMENT |
| MEDIUM | tests/test_templates.py | 103 | # Create an image without a format | COMMENT |
| MEDIUM | docs/examples/extract_event_details.py | 14 | # Define the event schema using Pydantic | COMMENT |
| MEDIUM | docs/examples/extract_event_details.py | 41 | # Create the generator | COMMENT |
| MEDIUM | docs/examples/extract_event_details.py | 44 | # Create the prompt | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/test_cache.py | 36 | except KeyError: | CODE |
| HIGH | src/outlines/models/vllm_offline.py | 264 | except Exception: | CODE |
| HIGH | src/outlines/models/vllm_offline.py | 272 | except Exception: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | docs/features/models/openai_compatible.md | 24 | api_key="your-api-key" | CODE |
| HIGH | docs/features/models/openai_compatible.md | 60 | api_key="your-api-key" | CODE |
| HIGH | docs/features/models/openai_compatible.md | 74 | api_key="your-api-key", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/guide/fastapi_vllm_deployment.md | 153 | except Exception as e: | CODE |
| LOW⚡ | docs/guide/fastapi_vllm_deployment.md | 181 | except Exception as e: | CODE |
| MEDIUM | docs/examples/structured_generation_workflow.md | 183 | print(f"Error {matched_string} != {phone_number}") | STRING |
| LOW | docs/examples/react_agent.md | 175 | except Exception as e: | CODE |
| LOW | docs/examples/react_agent.md | 180 | except Exception as e: | CODE |
| LOW | src/outlines/exceptions.py | 417 | except Exception as exc: | CODE |
| LOW | src/outlines/types/dsl.py | 430 | except Exception as e: # pragma: no cover | CODE |
| LOW | src/outlines/types/utils.py | 210 | except Exception as e: | CODE |
| LOW | src/outlines/models/vllm_offline.py | 264 | except Exception: | CODE |
| LOW | src/outlines/models/vllm_offline.py | 272 | except Exception: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/guide/fastapi_vllm_deployment.md | 19 | ### Step 1: Define Data Models | COMMENT |
| LOW | docs/guide/fastapi_vllm_deployment.md | 57 | ### Step 2: Define the prompts | COMMENT |
| LOW | docs/guide/fastapi_vllm_deployment.md | 83 | ### Step 3: Create the FastAPI Application | COMMENT |
| LOW⚡ | docs/guide/fastapi_vllm_deployment.md | 187 | ### Step 1: Start your vLLM server | COMMENT |
| LOW⚡ | docs/guide/fastapi_vllm_deployment.md | 193 | ### Step 2: Run the FastAPI application | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/types/test_dsl.py | 447 | assert schema.schema == '{"properties": {"foo": {"title": "Foo", "type": "string"}, "bar": {"anyOf": [{"type": "inte | STRING |
| HIGH | tests/types/test_dsl.py | 455 | assert schema.schema == '{"properties": {"foo": {"title": "Foo", "type": "string"}, "bar": {"anyOf": [{"type": "inte | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/examples/qa-with-citations.md | 81 | # {'id': 5, 'first_name': 'John', 'last_name': 'Smith', 'age': 20}] | COMMENT |
| LOW | docs/examples/qa-with-citations.md | 241 | # 'Which companies did Robert intern at?' | COMMENT |
| LOW | docs/examples/react_agent.md | 221 | # Thought: To answer this question, I will use the 'wikipedia' action to gather information about England's geographical | COMMENT |
| LOW | docs/examples/chain_of_density.md | 81 | # }, | COMMENT |
| LOW | src/outlines/types/__init__.py | 221 | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | README.md | 575 | # Use with examples for few-shot learning | STRING |
| MEDIUM | examples/dating_profile.py | 88 | # Motivation: Reasonably large model that fits on a single GPU and has been fine-tuned for a larger context window | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/gen_ref_pages.py | 48 | # For root module, just use the package name | COMMENT |
| LOW | src/outlines/types/dsl.py | 394 | # just return it | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | examples/math_generate_code.py | 37 | CODE | |
| LOW | src/outlines/processors/tensor_adapters/mlx.py | 57 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | src/outlines/models/dottxt.py | 270 | CODE |