Coverage report: 34%

Files Functions Classes

coverage.py v7.15.2, created at 2026-10-07 05:07 +0000

    Statements   Branches   Total
File   coverage statements missing excluded   coverage branches partial   coverage
open_webui/__init__.py   35% 54 35 0   8% 12 1   30%
open_webui/config.py   80% 1172 230 0   39% 172 61   75%
open_webui/constants.py   99% 93 1 0   100% 6 0   99%
open_webui/env.py   69% 620 192 0   42% 128 46   64%
open_webui/events.py   77% 529 122 0   42% 132 26   70%
open_webui/functions.py   17% 209 173 0   3% 86 7   13%
open_webui/internal/db.py   62% 252 97 0   30% 98 23   53%
open_webui/main.py   46% 1155 625 0   19% 384 69   39%
open_webui/models/access_grants.py   45% 278 153 0   22% 116 7   38%
open_webui/models/auths.py   71% 123 36 0   39% 18 1   67%
open_webui/models/automations.py   58% 223 94 0   30% 30 5   55%
open_webui/models/calendar.py   55% 432 195 0   1% 84 1   46%
open_webui/models/channels.py   40% 471 283 0   4% 52 0   36%
open_webui/models/chat_messages.py   70% 489 148 0   50% 186 23   64%
open_webui/models/chats.py   59% 1409 574 0   42% 396 67   56%
open_webui/models/config.py   51% 240 117 0   22% 98 12   43%
open_webui/models/feedbacks.py   62% 338 130 0   24% 86 7   54%
open_webui/models/files.py   62% 270 102 0   29% 34 8   59%
open_webui/models/folders.py   51% 292 143 0   6% 62 4   43%
open_webui/models/functions.py   55% 264 119 0   16% 32 5   51%
open_webui/models/groups.py   47% 319 168 0   9% 56 3   42%
open_webui/models/knowledge.py   43% 527 300 0   19% 110 7   39%
open_webui/models/memories.py   52% 166 80 0   16% 38 4   45%
open_webui/models/messages.py   37% 276 173 0   0% 46 0   32%
open_webui/models/models.py   71% 392 113 0   46% 106 17   66%
open_webui/models/notes.py   75% 249 63 0   39% 62 6   68%
open_webui/models/oauth_sessions.py   37% 183 116 0   12% 16 2   35%
open_webui/models/prompt_history.py   61% 95 37 0   0% 10 0   55%
open_webui/models/prompts.py   58% 381 159 0   30% 104 11   52%
open_webui/models/shared_chats.py   67% 126 42 0   38% 26 2   62%
open_webui/models/skills.py   76% 204 48 0   42% 38 8   71%
open_webui/models/tags.py   67% 89 29 0   67% 6 0   67%
open_webui/models/tools.py   47% 186 99 0   5% 22 1   42%
open_webui/models/users.py   65% 561 196 0   17% 106 14   57%
open_webui/retrieval/external.py   12% 182 160 0   0% 50 0   9%
open_webui/retrieval/loaders/datalab_marker.py   12% 118 104 0   0% 30 0   9%
open_webui/retrieval/loaders/external_document.py   22% 55 43 0   0% 18 0   16%
open_webui/retrieval/loaders/external_web.py   35% 26 17 0   0% 6 0   28%
open_webui/retrieval/loaders/local.py   32% 69 47 0   0% 10 0   28%
open_webui/retrieval/loaders/main.py   26% 366 270 0   18% 144 26   24%
open_webui/retrieval/loaders/microsoft_web_iq.py   23% 65 50 0   0% 14 0   19%
open_webui/retrieval/loaders/mineru.py   7% 255 236 0   0% 60 0   6%
open_webui/retrieval/loaders/mistral.py   13% 193 168 0   0% 42 0   11%
open_webui/retrieval/loaders/paddleocr_vl.py   25% 61 46 0   0% 14 0   20%
open_webui/retrieval/loaders/pdf.py   16% 82 69 0   0% 32 0   11%
open_webui/retrieval/loaders/tavily.py   23% 43 33 0   0% 12 0   18%
open_webui/retrieval/loaders/youtube.py   15% 103 88 0   0% 32 0   11%
open_webui/retrieval/utils.py   21% 810 640 0   5% 368 9   16%
open_webui/retrieval/vector/async_client.py   83% 35 6 0   100% 0 0   83%
open_webui/retrieval/vector/dbs/chroma.py   60% 87 35 0   18% 22 4   51%
open_webui/retrieval/vector/factory.py   37% 76 48 0   32% 38 12   35%
open_webui/retrieval/vector/main.py   77% 44 10 0   100% 0 0   77%
open_webui/retrieval/vector/type.py   100% 15 0 0   100% 0 0   100%
open_webui/retrieval/vector/utils.py   30% 86 60 0   21% 48 6   27%
open_webui/retrieval/web/azure.py   19% 32 26 0   0% 8 0   15%
open_webui/retrieval/web/bing.py   33% 33 22 0   0% 2 0   31%
open_webui/retrieval/web/bocha.py   32% 25 17 0   0% 8 0   24%
open_webui/retrieval/web/brave.py   32% 25 17 0   0% 4 0   28%
open_webui/retrieval/web/brave_llm_context.py   33% 21 14 0   0% 4 0   28%
open_webui/retrieval/web/duckduckgo.py   37% 19 12 0   0% 6 0   28%
open_webui/retrieval/web/exa.py   32% 19 13 0   100% 0 0   32%
open_webui/retrieval/web/external.py   35% 26 17 0   0% 4 0   30%
open_webui/retrieval/web/firecrawl.py   19% 109 88 0   3% 34 1   15%
open_webui/retrieval/web/google_pse.py   21% 29 23 0   0% 8 0   16%
open_webui/retrieval/web/jina_search.py   39% 18 11 0   0% 2 0   35%
open_webui/retrieval/web/kagi.py   33% 18 12 0   0% 2 0   30%
open_webui/retrieval/web/linkup.py   26% 27 20 0   0% 4 0   23%
open_webui/retrieval/web/main.py   31% 35 24 0   0% 12 0   23%
open_webui/retrieval/web/microsoft_web_iq.py   36% 22 14 0   0% 4 0   31%
open_webui/retrieval/web/mojeek.py   35% 17 11 0   0% 2 0   32%
open_webui/retrieval/web/ollama.py   32% 22 15 0   0% 2 0   29%
open_webui/retrieval/web/openserp.py   35% 17 11 0   0% 2 0   32%
open_webui/retrieval/web/perplexity.py   29% 31 22 0   0% 8 0   23%
open_webui/retrieval/web/perplexity_search.py   35% 23 15 0   0% 2 0   32%
open_webui/retrieval/web/searchapi.py   33% 21 14 0   0% 4 0   28%
open_webui/retrieval/web/searxng.py   41% 29 17 0   0% 6 0   34%
open_webui/retrieval/web/serpapi.py   39% 18 11 0   0% 2 0   35%
open_webui/retrieval/web/serper.py   41% 17 10 0   0% 2 0   37%
open_webui/retrieval/web/serphouse.py   31% 13 9 0   0% 2 0   27%
open_webui/retrieval/web/serply.py   35% 20 13 0   0% 2 0   32%
open_webui/retrieval/web/serpstack.py   35% 17 11 0   0% 2 0   32%
open_webui/retrieval/web/sougou.py   22% 27 21 0   0% 2 0   21%
open_webui/retrieval/web/staan.py   25% 20 15 0   0% 4 0   21%
open_webui/retrieval/web/tavily.py   41% 17 10 0   0% 2 0   37%
open_webui/retrieval/web/utils.py   15% 668 565 0   1% 250 2   11%
open_webui/retrieval/web/yacy.py   32% 22 15 0   0% 6 0   25%
open_webui/retrieval/web/yandex.py   27% 64 47 0   5% 22 1   21%
open_webui/retrieval/web/ydc.py   28% 25 18 0   0% 6 0   23%
open_webui/routers/analytics.py   93% 164 12 0   71% 34 4   89%
open_webui/routers/audio.py   22% 806 630 0   9% 226 15   19%
open_webui/routers/auths.py   45% 766 422 0   18% 278 31   38%
open_webui/routers/automations.py   59% 152 63 0   22% 40 5   51%
open_webui/routers/calendar.py   61% 200 78 0   36% 64 15   55%
open_webui/routers/channels.py   21% 799 631 0   1% 350 4   15%
open_webui/routers/chats.py   85% 881 136 0   66% 344 76   79%
open_webui/routers/configs.py   77% 426 100 0   45% 84 8   71%
open_webui/routers/evaluations.py   80% 216 43 0   71% 58 11   78%
open_webui/routers/files.py   61% 431 167 0   44% 154 32   57%
open_webui/routers/folders.py   66% 313 106 0   44% 118 20   60%
open_webui/routers/functions.py   56% 262 114 0   34% 68 19   52%
open_webui/routers/groups.py   80% 138 27 0   79% 24 3   80%
open_webui/routers/images.py   43% 559 319 0   22% 210 31   37%
open_webui/routers/knowledge.py   42% 918 534 0   15% 340 36   35%
open_webui/routers/memories.py   80% 241 47 0   58% 60 11   76%
open_webui/routers/models.py   54% 457 208 0   36% 218 36   48%
open_webui/routers/notes.py   81% 264 49 0   69% 108 30   78%
open_webui/routers/notifications.py   63% 65 24 0   17% 6 1   59%
open_webui/routers/ollama.py   60% 864 342 0   40% 250 39   56%
open_webui/routers/openai.py   35% 1029 673 0   14% 410 33   29%
open_webui/routers/pipelines.py   39% 293 178 0   15% 54 6   35%
open_webui/routers/prompts.py   85% 208 31 0   68% 94 22   80%
open_webui/routers/retrieval.py   62% 1268 478 0   26% 386 45   54%
open_webui/routers/scim.py   33% 490 329 0   0% 190 0   24%
open_webui/routers/skills.py   88% 143 17 0   77% 52 12   85%
open_webui/routers/tasks.py   38% 284 176 0   28% 72 12   36%
open_webui/routers/terminals.py   16% 263 221 0   1% 98 1   12%
open_webui/routers/tools.py   48% 318 165 0   31% 100 25   44%
open_webui/routers/users.py   81% 498 95 0   43% 118 21   74%
open_webui/routers/utils.py   89% 44 5 0   62% 8 3   85%
open_webui/socket/main.py   26% 656 484 0   12% 242 23   22%
open_webui/socket/utils.py   24% 255 193 0   0% 90 0   18%
open_webui/storage/provider.py   39% 216 132 0   24% 42 6   36%
open_webui/tasks.py   27% 184 135 0   8% 72 6   21%
open_webui/tools/__init__.py   100% 0 0 0   100% 0 0   100%
open_webui/tools/builtin.py   6% 1844 1735 0   0% 828 0   4%
open_webui/tools/knowledge_fs.py   8% 681 624 0   0% 350 0   6%
open_webui/utils/access_control/__init__.py   29% 140 99 0   16% 90 8   24%
open_webui/utils/access_control/files.py   21% 80 63 0   0% 50 0   13%
open_webui/utils/access_control/folders.py   44% 18 10 0   12% 8 1   35%
open_webui/utils/actions.py   30% 73 51 0   12% 34 2   24%
open_webui/utils/anthropic.py   8% 485 444 0   5% 300 12   7%
open_webui/utils/asgi_middleware.py   58% 129 54 0   39% 46 14   53%
open_webui/utils/ask_user.py   8% 72 66 0   0% 40 0   5%
open_webui/utils/audit.py   35% 144 94 0   2% 44 1   27%
open_webui/utils/auth.py   36% 375 240 0   19% 154 19   31%
open_webui/utils/automations.py   41% 216 128 0   17% 52 9   36%
open_webui/utils/calendar.py   18% 45 37 0   0% 12 0   14%
open_webui/utils/channels.py   23% 13 10 0   100% 0 0   23%
open_webui/utils/chat.py   21% 169 133 0   4% 68 3   16%
open_webui/utils/chat_fork.py   93% 30 2 0   83% 12 2   90%
open_webui/utils/chat_id.py   87% 15 2 0   75% 4 1   84%
open_webui/utils/chat_variables.py   19% 195 158 0   10% 92 5   16%
open_webui/utils/code_interpreter.py   22% 115 90 0   0% 32 0   17%
open_webui/utils/context_compaction.py   23% 236 181 0   8% 100 4   19%
open_webui/utils/embeddings.py   62% 37 14 0   25% 16 4   51%
open_webui/utils/files.py   22% 133 104 0   0% 42 0   17%
open_webui/utils/filter.py   16% 146 122 0   0% 50 0   12%
open_webui/utils/groups.py   56% 9 4 0   50% 2 1   55%
open_webui/utils/headers.py   63% 73 27 0   50% 22 5   60%
open_webui/utils/images/comfyui.py   26% 178 132 0   0% 68 0   19%
open_webui/utils/json_codec.py   21% 39 31 0   12% 8 1   19%
open_webui/utils/json_response.py   36% 25 16 0   25% 4 1   34%
open_webui/utils/logger.py   52% 87 42 0   46% 26 6   50%
open_webui/utils/mcp/client.py   21% 117 92 0   0% 32 0   17%
open_webui/utils/memory.py   45% 341 189 0   35% 170 12   41%
open_webui/utils/middleware.py   4% 2896 2774 0   0% 1506 0   3%
open_webui/utils/misc.py   27% 695 509 0   13% 378 19   22%
open_webui/utils/model_ids.py   75% 4 1 0   50% 2 1   67%
open_webui/utils/models.py   20% 308 245 0   6% 152 7   16%
open_webui/utils/notifications.py   19% 242 195 0   1% 102 3   14%
open_webui/utils/oauth.py   19% 1208 981 0   5% 492 15   15%
open_webui/utils/payload.py   8% 223 205 0   0% 130 0   5%
open_webui/utils/plugin.py   41% 270 158 0   18% 116 17   34%
open_webui/utils/rate_limit.py   53% 68 32 0   33% 12 2   50%
open_webui/utils/recurrence.py   31% 108 75 0   5% 38 2   24%
open_webui/utils/redis.py   24% 164 125 0   3% 58 2   18%
open_webui/utils/response.py   14% 121 104 0   0% 50 0   10%
open_webui/utils/sanitize.py   38% 13 8 0   100% 0 0   38%
open_webui/utils/security_headers.py   30% 81 57 0   11% 28 1   25%
open_webui/utils/session_pool.py   65% 49 17 0   29% 24 5   53%
open_webui/utils/skills.py   25% 61 46 0   0% 32 0   16%
open_webui/utils/task.py   10% 253 227 0   0% 88 0   8%
open_webui/utils/terminals.py   20% 186 148 0   6% 78 1   16%
open_webui/utils/timers.py   25% 208 155 0   3% 66 4   20%
open_webui/utils/tool_approval.py   33% 79 53 0   17% 36 2   28%
open_webui/utils/tools.py   16% 877 733 0   6% 464 10   13%
open_webui/utils/validate.py   53% 47 22 0   41% 22 3   49%
open_webui/utils/valves.py   39% 31 19 0   0% 10 0   29%
open_webui/utils/webhook.py   17% 52 43 0   0% 16 0   13%
Total   40% 46559 27792 0   17% 16046 1356   34%

No items found using the specified filter.