Skip to content

feat: init TypeScript Ragbits API Client modules #582

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 20 commits into
base: main
Choose a base branch
from

Conversation

jakubduda-dsai
Copy link
Collaborator

No description provided.

@jakubduda-dsai jakubduda-dsai self-assigned this May 27, 2025
Copy link
Collaborator

@dazy-ds dazy-ds left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I left some comments to be addressed.

I am also thinking about renaming the typescript directory to something more descriptive. Maybe client would be good? WDYT?

@jakubduda-dsai jakubduda-dsai marked this pull request as ready for review June 2, 2025 09:45
@jakubduda-dsai jakubduda-dsai changed the title feat: add TypeScript Ragbits API Client modules feat: init TypeScript Ragbits API Client modules Jun 2, 2025
Copy link
Contributor

github-actions bot commented Jun 2, 2025

Trivy scanning results.

Report Summary

┌───────────────────────────────────────────────────────┬──────┬─────────────────┬─────────┐
│ Target │ Type │ Vulnerabilities │ Secrets │
├───────────────────────────────────────────────────────┼──────┼─────────────────┼─────────┤
│ typescript/ragbits-api-client-react/package-lock.json │ npm │ 0 │ - │
├───────────────────────────────────────────────────────┼──────┼─────────────────┼─────────┤
│ typescript/ui/package-lock.json │ npm │ 0 │ - │
├───────────────────────────────────────────────────────┼──────┼─────────────────┼─────────┤
│ uv.lock │ uv │ 16 │ - │
└───────────────────────────────────────────────────────┴──────┴─────────────────┴─────────┘
Legend:

  • '-': Not scanned
  • '0': Clean (no security findings detected)

For OSS Maintainers: VEX Notice

If you're an OSS maintainer and Trivy has detected vulnerabilities in your project that you believe are not actually exploitable, consider issuing a VEX (Vulnerability Exploitability eXchange) statement.
VEX allows you to communicate the actual status of vulnerabilities in your project, improving security transparency and reducing false positives for your users.
Learn more and start using VEX: https://trivy.dev/v0.63/docs/supply-chain/vex/repo#publishing-vex-documents

To disable this notice, set the TRIVY_DISABLE_VEX_NOTICE environment variable.

uv.lock (uv)

Total: 16 (MEDIUM: 8, HIGH: 6, CRITICAL: 2)

┌──────────────┬────────────────┬──────────┬────────┬───────────────────┬───────────────┬──────────────────────────────────────────────────────────────┐
│ Library │ Vulnerability │ Severity │ Status │ Installed Version │ Fixed Version │ Title │
├──────────────┼────────────────┼──────────┼────────┼───────────────────┼───────────────┼──────────────────────────────────────────────────────────────┤
│ aiohttp │ CVE-2024-52303 │ MEDIUM │ fixed │ 3.10.8 │ 3.10.11 │ aiohttp: aiohttp memory leak when middleware is enabled when │
│ │ │ │ │ │ │ requesting a resource... │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2024-52303
│ ├────────────────┤ │ │ │ ├──────────────────────────────────────────────────────────────┤
│ │ CVE-2024-52304 │ │ │ │ │ aiohttp: aiohttp vulnerable to request smuggling due to │
│ │ │ │ │ │ │ incorrect parsing of chunk... │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2024-52304
├──────────────┼────────────────┼──────────┤ ├───────────────────┼───────────────┼──────────────────────────────────────────────────────────────┤
│ h11 │ CVE-2025-43859 │ CRITICAL │ │ 0.14.0 │ 0.16.0 │ h11: h11 accepts some malformed Chunked-Encoding bodies │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2025-43859
├──────────────┼────────────────┼──────────┤ ├───────────────────┼───────────────┼──────────────────────────────────────────────────────────────┤
│ jinja2 │ CVE-2024-56201 │ MEDIUM │ │ 3.1.4 │ 3.1.5 │ jinja2: Jinja has a sandbox breakout through malicious │
│ │ │ │ │ │ │ filenames │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2024-56201
│ ├────────────────┤ │ │ │ ├──────────────────────────────────────────────────────────────┤
│ │ CVE-2024-56326 │ │ │ │ │ jinja2: Jinja has a sandbox breakout through indirect │
│ │ │ │ │ │ │ reference to format method... │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2024-56326
│ ├────────────────┤ │ │ ├───────────────┼──────────────────────────────────────────────────────────────┤
│ │ CVE-2025-27516 │ │ │ │ 3.1.6 │ jinja2: Jinja sandbox breakout through attr filter selecting │
│ │ │ │ │ │ │ format method │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2025-27516
├──────────────┼────────────────┼──────────┤ ├───────────────────┼───────────────┼──────────────────────────────────────────────────────────────┤
│ litellm │ CVE-2024-8984 │ HIGH │ │ 1.55.0 │ 1.56.2 │ LiteLLM Vulnerable to Denial of Service (DoS) via Crafted │
│ │ │ │ │ │ │ HTTP Request │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2024-8984
│ ├────────────────┤ │ │ ├───────────────┼──────────────────────────────────────────────────────────────┤
│ │ CVE-2025-0628 │ │ │ │ 1.61.15 │ LiteLLM Has an Improper Authorization Vulnerability │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2025-0628
├──────────────┼────────────────┤ │ ├───────────────────┼───────────────┼──────────────────────────────────────────────────────────────┤
│ setuptools │ CVE-2025-47273 │ │ │ 75.1.0 │ 78.1.1 │ setuptools: Path Traversal Vulnerability in setuptools │
│ │ │ │ │ │ │ PackageIndex │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2025-47273
├──────────────┼────────────────┼──────────┤ ├───────────────────┼───────────────┼──────────────────────────────────────────────────────────────┤
│ torch │ CVE-2025-32434 │ CRITICAL │ │ 2.2.2 │ 2.6.0 │ PyTorch is a Python package that provides tensor computation │
│ │ │ │ │ │ │ with stro ...... │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2025-32434
├──────────────┼────────────────┼──────────┤ ├───────────────────┼───────────────┼──────────────────────────────────────────────────────────────┤
│ transformers │ CVE-2024-11392 │ HIGH │ │ 4.44.2 │ 4.48.0 │ transformers: Hugging Face Transformers MobileViTV2 │
│ │ │ │ │ │ │ Deserialization of Untrusted Data Remote Code Execution... │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2024-11392
│ ├────────────────┤ │ │ │ ├──────────────────────────────────────────────────────────────┤
│ │ CVE-2024-11393 │ │ │ │ │ transformers: Hugging Face Transformers MaskFormer Model │
│ │ │ │ │ │ │ Deserialization of Untrusted Data Remote Code... │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2024-11393
│ ├────────────────┤ │ │ │ ├──────────────────────────────────────────────────────────────┤
│ │ CVE-2024-11394 │ │ │ │ │ transformers: Hugging Face Transformers Trax Model │
│ │ │ │ │ │ │ Deserialization of Untrusted Data Remote Code... │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2024-11394
│ ├────────────────┼──────────┤ │ │ ├──────────────────────────────────────────────────────────────┤
│ │ CVE-2024-12720 │ MEDIUM │ │ │ │ Transformers Regular Expression Denial of Service (ReDoS) │
│ │ │ │ │ │ │ vulnerability │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2024-12720
│ ├────────────────┤ │ │ ├───────────────┼──────────────────────────────────────────────────────────────┤
│ │ CVE-2025-1194 │ │ │ │ 4.50.0 │ Transformers Regular Expression Denial of Service (ReDoS) │
│ │ │ │ │ │ │ vulnerability │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2025-1194
│ ├────────────────┤ │ │ │ ├──────────────────────────────────────────────────────────────┤
│ │ CVE-2025-2099 │ │ │ │ │ transformers: Regular Expression Denial of Service (ReDoS) │
│ │ │ │ │ │ │ in huggingface/transformers │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2025-2099
└──────────────┴────────────────┴──────────┴────────┴───────────────────┴───────────────┴──────────────────────────────────────────────────────────────┘

Copy link
Contributor

github-actions bot commented Jun 2, 2025

badge

Code Coverage Summary

Filename                                                                                                     Stmts    Miss  Cover    Missing
---------------------------------------------------------------------------------------------------------  -------  ------  -------  -------------------------------------------------------------------------------------------------------------
packages/ragbits-chat/src/ragbits/chat/__init__.py                                                               0       0  100.00%
packages/ragbits-chat/src/ragbits/chat/api.py                                                                   98       8  91.84%   69-70, 93, 119, 152-161
packages/ragbits-chat/src/ragbits/chat/cli.py                                                                    9       2  77.78%   37-42
packages/ragbits-chat/src/ragbits/chat/history/__init__.py                                                       0       0  100.00%
packages/ragbits-chat/src/ragbits/chat/history/compressors/__init__.py                                           3       0  100.00%
packages/ragbits-chat/src/ragbits/chat/history/compressors/base.py                                              10       0  100.00%
packages/ragbits-chat/src/ragbits/chat/history/compressors/llm.py                                               29       1  96.55%   79
packages/ragbits-chat/src/ragbits/chat/interface/__init__.py                                                     2       0  100.00%
packages/ragbits-chat/src/ragbits/chat/interface/_interface.py                                                  76      10  86.84%   37, 46-47, 64, 116-117, 162, 200-201, 217
packages/ragbits-chat/src/ragbits/chat/interface/forms.py                                                       15       0  100.00%
packages/ragbits-chat/src/ragbits/chat/interface/types.py                                                       37       3  91.89%   61, 71, 81
packages/ragbits-chat/src/ragbits/chat/persistence/__init__.py                                                   2       0  100.00%
packages/ragbits-chat/src/ragbits/chat/persistence/base.py                                                       6       1  83.33%   28
packages/ragbits-chat/src/ragbits/chat/persistence/sql.py                                                       91       3  96.70%   292-294
packages/ragbits-chat/tests/unit/test_api.py                                                                   123       1  99.19%   186
packages/ragbits-chat/tests/unit/history/test_llm_compressor.py                                                 64       0  100.00%
packages/ragbits-chat/tests/unit/persistence/test_sql.py                                                        74       0  100.00%
packages/ragbits-cli/src/ragbits/cli/__init__.py                                                                33       4  87.88%   78-79, 86-87
packages/ragbits-cli/src/ragbits/cli/_utils.py                                                                  23       4  82.61%   47, 65-67
packages/ragbits-cli/src/ragbits/cli/state.py                                                                   79       3  96.20%   50-51, 61
packages/ragbits-cli/tests/unit/test_state.py                                                                   72       2  97.22%   103-104
packages/ragbits-core/src/ragbits/core/__init__.py                                                               8       2  75.00%   9-10
packages/ragbits-core/src/ragbits/core/cli.py                                                                    6       0  100.00%
packages/ragbits-core/src/ragbits/core/options.py                                                               17       0  100.00%
packages/ragbits-core/src/ragbits/core/types.py                                                                  9       0  100.00%
packages/ragbits-core/src/ragbits/core/audit/__init__.py                                                         5       0  100.00%
packages/ragbits-core/src/ragbits/core/audit/metrics/__init__.py                                                27       8  70.37%   37-46, 54
packages/ragbits-core/src/ragbits/core/audit/metrics/base.py                                                    36       0  100.00%
packages/ragbits-core/src/ragbits/core/audit/traces/__init__.py                                                 74       5  93.24%   48-51, 58-60
packages/ragbits-core/src/ragbits/core/audit/traces/base.py                                                    183      57  68.85%   156-165, 178-179, 200, 215-216, 220, 230, 233-234, 249, 256, 262-264, 271-274, 334-345, 352-360, 374, 390-409
packages/ragbits-core/src/ragbits/core/audit/traces/cli.py                                                     132      29  78.03%   88-93, 112-139, 156, 163, 172-173, 176-177
packages/ragbits-core/src/ragbits/core/embeddings/__init__.py                                                    4       0  100.00%
packages/ragbits-core/src/ragbits/core/embeddings/base.py                                                       32       5  84.38%   20-21, 24, 77, 92
packages/ragbits-core/src/ragbits/core/embeddings/exceptions.py                                                 17       7  58.82%   7-8, 17, 26-27, 36, 45
packages/ragbits-core/src/ragbits/core/embeddings/dense/__init__.py                                              4       0  100.00%
packages/ragbits-core/src/ragbits/core/embeddings/dense/base.py                                                  9       1  88.89%   44
packages/ragbits-core/src/ragbits/core/embeddings/dense/fastembed.py                                            35       3  91.43%   34, 62-63
packages/ragbits-core/src/ragbits/core/embeddings/dense/litellm.py                                              56      11  80.36%   131-136, 139, 143-145, 166
packages/ragbits-core/src/ragbits/core/embeddings/dense/local.py                                                32       5  84.38%   13-14, 52, 68-69
packages/ragbits-core/src/ragbits/core/embeddings/dense/noop.py                                                 32       1  96.88%   99
packages/ragbits-core/src/ragbits/core/embeddings/dense/vertex_multimodal.py                                    60      24  60.00%   13-14, 57, 62, 102-123, 139-148, 175, 194-198
packages/ragbits-core/src/ragbits/core/embeddings/sparse/__init__.py                                             4       0  100.00%
packages/ragbits-core/src/ragbits/core/embeddings/sparse/bag_of_tokens.py                                       43       1  97.67%   53
packages/ragbits-core/src/ragbits/core/embeddings/sparse/base.py                                                12       1  91.67%   48
packages/ragbits-core/src/ragbits/core/embeddings/sparse/fastembed.py                                           31       2  93.55%   25, 52
packages/ragbits-core/src/ragbits/core/llms/__init__.py                                                          4       0  100.00%
packages/ragbits-core/src/ragbits/core/llms/base.py                                                             85       2  97.65%   67, 79
packages/ragbits-core/src/ragbits/core/llms/exceptions.py                                                       20       5  75.00%   17, 26-27, 36, 45
packages/ragbits-core/src/ragbits/core/llms/factory.py                                                          12       2  83.33%   30, 51
packages/ragbits-core/src/ragbits/core/llms/litellm.py                                                         126      34  73.02%   107, 122-123, 165, 171, 226-277, 299-304, 315, 344
packages/ragbits-core/src/ragbits/core/llms/local.py                                                            73      43  41.10%   10-13, 69-77, 89-90, 111-143, 164-216
packages/ragbits-core/src/ragbits/core/llms/mock.py                                                             30       3  90.00%   70-73
packages/ragbits-core/src/ragbits/core/prompt/__init__.py                                                        2       0  100.00%
packages/ragbits-core/src/ragbits/core/prompt/_cli.py                                                           53      22  58.49%   37-45, 59-61, 69-80, 88-90, 104-112
packages/ragbits-core/src/ragbits/core/prompt/base.py                                                           28       0  100.00%
packages/ragbits-core/src/ragbits/core/prompt/discovery.py                                                      36       2  94.44%   55-56
packages/ragbits-core/src/ragbits/core/prompt/exceptions.py                                                      7       0  100.00%
packages/ragbits-core/src/ragbits/core/prompt/parsers.py                                                        35       0  100.00%
packages/ragbits-core/src/ragbits/core/prompt/prompt.py                                                        164       1  99.39%   208
packages/ragbits-core/src/ragbits/core/sources/__init__.py                                                       9       0  100.00%
packages/ragbits-core/src/ragbits/core/sources/azure.py                                                         95      13  86.32%   65-66, 92-102, 189-190
packages/ragbits-core/src/ragbits/core/sources/base.py                                                          74       3  95.95%   46, 185-186
packages/ragbits-core/src/ragbits/core/sources/exceptions.py                                                    16       0  100.00%
packages/ragbits-core/src/ragbits/core/sources/gcs.py                                                           63       0  100.00%
packages/ragbits-core/src/ragbits/core/sources/git.py                                                           94       3  96.81%   188, 195, 211
packages/ragbits-core/src/ragbits/core/sources/hf.py                                                            73      16  78.08%   57-60, 64-65, 85-88, 108-110, 138, 145-146
packages/ragbits-core/src/ragbits/core/sources/local.py                                                         41       2  95.12%   39, 80
packages/ragbits-core/src/ragbits/core/sources/s3.py                                                           105      17  83.81%   54-57, 75, 88-93, 117, 128-131, 162, 179
packages/ragbits-core/src/ragbits/core/sources/web.py                                                           41       2  95.12%   58, 75
packages/ragbits-core/src/ragbits/core/utils/__init__.py                                                         2       0  100.00%
packages/ragbits-core/src/ragbits/core/utils/_pyproject.py                                                      38       1  97.37%   113
packages/ragbits-core/src/ragbits/core/utils/config_handling.py                                                 72       8  88.89%   16, 54-55, 62-63, 152-154
packages/ragbits-core/src/ragbits/core/utils/decorators.py                                                      29       0  100.00%
packages/ragbits-core/src/ragbits/core/utils/dict_transformations.py                                           143      35  75.52%   24, 27, 80, 90, 110-115, 126-133, 147-151, 166-167, 173, 185-191, 195, 254
packages/ragbits-core/src/ragbits/core/utils/helpers.py                                                         11       0  100.00%
packages/ragbits-core/src/ragbits/core/utils/pydantic.py                                                        13       2  84.62%   13, 16
packages/ragbits-core/src/ragbits/core/utils/secrets.py                                                         18       0  100.00%
packages/ragbits-core/src/ragbits/core/vector_stores/__init__.py                                                 3       0  100.00%
packages/ragbits-core/src/ragbits/core/vector_stores/_cli.py                                                    50       4  92.00%   67, 89, 95, 119
packages/ragbits-core/src/ragbits/core/vector_stores/base.py                                                    96       3  96.88%   39, 200, 272
packages/ragbits-core/src/ragbits/core/vector_stores/chroma.py                                                  91       2  97.80%   74, 112
packages/ragbits-core/src/ragbits/core/vector_stores/hybrid.py                                                  34       0  100.00%
packages/ragbits-core/src/ragbits/core/vector_stores/hybrid_strategies.py                                       62       0  100.00%
packages/ragbits-core/src/ragbits/core/vector_stores/in_memory.py                                               59       0  100.00%
packages/ragbits-core/src/ragbits/core/vector_stores/pgvector.py                                               178       8  95.51%   115, 158, 307-309, 342-344
packages/ragbits-core/src/ragbits/core/vector_stores/qdrant.py                                                  97       5  94.85%   80-95, 160, 181
packages/ragbits-core/tests/conftest.py                                                                         12       0  100.00%
packages/ragbits-core/tests/cli/__init__.py                                                                      0       0  100.00%
packages/ragbits-core/tests/cli/test_cli_trace_handler.py                                                       47       3  93.62%   29, 42, 55
packages/ragbits-core/tests/cli/test_vector_store.py                                                           115       0  100.00%
packages/ragbits-core/tests/integration/sources/test_git.py                                                     68       6  91.18%   147-156
packages/ragbits-core/tests/integration/sources/test_hf.py                                                      19       9  52.63%   16-21, 32-37
packages/ragbits-core/tests/integration/sources/test_s3.py                                                      42       0  100.00%
packages/ragbits-core/tests/integration/vector_stores/__init__.py                                                0       0  100.00%
packages/ragbits-core/tests/integration/vector_stores/test_vector_store.py                                     122       1  99.18%   48
packages/ragbits-core/tests/integration/vector_stores/test_vector_store_sparse.py                               63       0  100.00%
packages/ragbits-core/tests/unit/__init__.py                                                                     0       0  100.00%
packages/ragbits-core/tests/unit/test_options.py                                                                21       0  100.00%
packages/ragbits-core/tests/unit/audit/test_cli.py                                                             107       0  100.00%
packages/ragbits-core/tests/unit/audit/test_metrics.py                                                          28       1  96.43%   11
packages/ragbits-core/tests/unit/audit/test_trace.py                                                            97       3  96.91%   16, 19, 22
packages/ragbits-core/tests/unit/embeddings/test_bag_of_tokens.py                                               52       0  100.00%
packages/ragbits-core/tests/unit/embeddings/test_fastembed.py                                                   50       0  100.00%
packages/ragbits-core/tests/unit/embeddings/test_from_config.py                                                 39       0  100.00%
packages/ragbits-core/tests/unit/embeddings/test_litellm.py                                                     64       0  100.00%
packages/ragbits-core/tests/unit/embeddings/test_local.py                                                       42       0  100.00%
packages/ragbits-core/tests/unit/embeddings/test_noop.py                                                        26       0  100.00%
packages/ragbits-core/tests/unit/embeddings/test_vector_size.py                                                 33       0  100.00%
packages/ragbits-core/tests/unit/embeddings/test_vertex_multimodal.py                                           39       0  100.00%
packages/ragbits-core/tests/unit/llms/__init__.py                                                                0       0  100.00%
packages/ragbits-core/tests/unit/llms/test_base.py                                                             101       0  100.00%
packages/ragbits-core/tests/unit/llms/test_from_config.py                                                       27       0  100.00%
packages/ragbits-core/tests/unit/llms/test_litellm.py                                                          114       0  100.00%
packages/ragbits-core/tests/unit/llms/factory/__init__.py                                                        0       0  100.00%
packages/ragbits-core/tests/unit/llms/factory/test_get_preferred_llm.py                                         12       0  100.00%
packages/ragbits-core/tests/unit/prompts/__init__.py                                                             0       0  100.00%
packages/ragbits-core/tests/unit/prompts/test_parsers.py                                                        65       0  100.00%
packages/ragbits-core/tests/unit/prompts/test_prompt.py                                                        251       0  100.00%
packages/ragbits-core/tests/unit/prompts/discovery/__init__.py                                                   0       0  100.00%
packages/ragbits-core/tests/unit/prompts/discovery/prompt_classes_for_tests.py                                  30       0  100.00%
packages/ragbits-core/tests/unit/prompts/discovery/test_prompt_discovery.py                                     18       0  100.00%
packages/ragbits-core/tests/unit/prompts/discovery/ragbits_tests_pkg_with_prompts/__init__.py                    2       1  50.00%   3
packages/ragbits-core/tests/unit/prompts/discovery/ragbits_tests_pkg_with_prompts/prompts/__init__.py            3       2  33.33%   2-4
packages/ragbits-core/tests/unit/prompts/discovery/ragbits_tests_pkg_with_prompts/prompts/temp_prompt1.py       14       0  100.00%
packages/ragbits-core/tests/unit/prompts/discovery/ragbits_tests_pkg_with_prompts/prompts/temp_prompt2.py       14       0  100.00%
packages/ragbits-core/tests/unit/sources/test_aws.py                                                            23       0  100.00%
packages/ragbits-core/tests/unit/sources/test_azure.py                                                          70       0  100.00%
packages/ragbits-core/tests/unit/sources/test_exceptions.py                                                     22       0  100.00%
packages/ragbits-core/tests/unit/sources/test_gcs.py                                                            33       6  81.82%   42-47
packages/ragbits-core/tests/unit/sources/test_git.py                                                           110       0  100.00%
packages/ragbits-core/tests/unit/sources/test_hf.py                                                             12       0  100.00%
packages/ragbits-core/tests/unit/sources/test_local.py                                                          13       0  100.00%
packages/ragbits-core/tests/unit/sources/test_source_discriminator.py                                           36       0  100.00%
packages/ragbits-core/tests/unit/sources/test_web.py                                                            43       0  100.00%
packages/ragbits-core/tests/unit/utils/__init__.py                                                               0       0  100.00%
packages/ragbits-core/tests/unit/utils/test_config_handling.py                                                  64       2  96.88%   27-28
packages/ragbits-core/tests/unit/utils/test_decorators.py                                                       26       2  92.31%   17, 39
packages/ragbits-core/tests/unit/utils/test_dict_transformations.py                                             98       0  100.00%
packages/ragbits-core/tests/unit/utils/test_helpers.py                                                           6       0  100.00%
packages/ragbits-core/tests/unit/utils/test_secrets.py                                                          24       0  100.00%
packages/ragbits-core/tests/unit/utils/pyproject/test_find.py                                                   13       0  100.00%
packages/ragbits-core/tests/unit/utils/pyproject/test_get_config.py                                              9       0  100.00%
packages/ragbits-core/tests/unit/utils/pyproject/test_get_instace.py                                            37       0  100.00%
packages/ragbits-core/tests/unit/vector_stores/test_chroma.py                                                   81       0  100.00%
packages/ragbits-core/tests/unit/vector_stores/test_from_config.py                                              40       0  100.00%
packages/ragbits-core/tests/unit/vector_stores/test_hybrid.py                                                   74       0  100.00%
packages/ragbits-core/tests/unit/vector_stores/test_hybrid_strategies.py                                        31       0  100.00%
packages/ragbits-core/tests/unit/vector_stores/test_in_memory.py                                               102       0  100.00%
packages/ragbits-core/tests/unit/vector_stores/test_pgvector.py                                                262       0  100.00%
packages/ragbits-core/tests/unit/vector_stores/test_qdrant.py                                                  100       0  100.00%
packages/ragbits-document-search/src/ragbits/document_search/__init__.py                                         2       0  100.00%
packages/ragbits-document-search/src/ragbits/document_search/_main.py                                           91       0  100.00%
packages/ragbits-document-search/src/ragbits/document_search/cli.py                                             40       2  95.00%   86, 105
packages/ragbits-document-search/src/ragbits/document_search/documents/__init__.py                               0       0  100.00%
packages/ragbits-document-search/src/ragbits/document_search/documents/document.py                              78       2  97.44%   49, 93
packages/ragbits-document-search/src/ragbits/document_search/documents/element.py                               86      14  83.72%   97, 115, 179-187, 197, 206-208
packages/ragbits-document-search/src/ragbits/document_search/ingestion/__init__.py                               0       0  100.00%
packages/ragbits-document-search/src/ragbits/document_search/ingestion/enrichers/__init__.py                     4       0  100.00%
packages/ragbits-document-search/src/ragbits/document_search/ingestion/enrichers/base.py                        21       0  100.00%
packages/ragbits-document-search/src/ragbits/document_search/ingestion/enrichers/exceptions.py                  14       0  100.00%
packages/ragbits-document-search/src/ragbits/document_search/ingestion/enrichers/image.py                       30       0  100.00%
packages/ragbits-document-search/src/ragbits/document_search/ingestion/enrichers/router.py                      25       0  100.00%
packages/ragbits-document-search/src/ragbits/document_search/ingestion/parsers/__init__.py                       3       0  100.00%
packages/ragbits-document-search/src/ragbits/document_search/ingestion/parsers/base.py                          28       0  100.00%
packages/ragbits-document-search/src/ragbits/document_search/ingestion/parsers/docling.py                       39       1  97.44%   129
packages/ragbits-document-search/src/ragbits/document_search/ingestion/parsers/exceptions.py                    14       0  100.00%
packages/ragbits-document-search/src/ragbits/document_search/ingestion/parsers/router.py                        24       0  100.00%
packages/ragbits-document-search/src/ragbits/document_search/ingestion/parsers/unstructured.py                  66      24  63.64%   102, 121-123, 135-156, 176-190, 212-213, 233-248
packages/ragbits-document-search/src/ragbits/document_search/ingestion/strategies/__init__.py                    5       0  100.00%
packages/ragbits-document-search/src/ragbits/document_search/ingestion/strategies/base.py                       93      17  81.72%   153, 209-239
packages/ragbits-document-search/src/ragbits/document_search/ingestion/strategies/batched.py                    69       8  88.41%   172, 200-215, 255-256
packages/ragbits-document-search/src/ragbits/document_search/ingestion/strategies/ray.py                        32       0  100.00%
packages/ragbits-document-search/src/ragbits/document_search/ingestion/strategies/sequential.py                  4       0  100.00%
packages/ragbits-document-search/src/ragbits/document_search/retrieval/__init__.py                               0       0  100.00%
packages/ragbits-document-search/src/ragbits/document_search/retrieval/rephrasers/__init__.py                    4       0  100.00%
packages/ragbits-document-search/src/ragbits/document_search/retrieval/rephrasers/base.py                       14       0  100.00%
packages/ragbits-document-search/src/ragbits/document_search/retrieval/rephrasers/llm.py                        40       5  87.50%   51, 115-118
packages/ragbits-document-search/src/ragbits/document_search/retrieval/rephrasers/noop.py                        8       0  100.00%
packages/ragbits-document-search/src/ragbits/document_search/retrieval/rerankers/__init__.py                     3       0  100.00%
packages/ragbits-document-search/src/ragbits/document_search/retrieval/rerankers/answerai.py                    29       0  100.00%
packages/ragbits-document-search/src/ragbits/document_search/retrieval/rerankers/base.py                        19       0  100.00%
packages/ragbits-document-search/src/ragbits/document_search/retrieval/rerankers/litellm.py                     27       0  100.00%
packages/ragbits-document-search/src/ragbits/document_search/retrieval/rerankers/llm.py                         59       1  98.31%   173
packages/ragbits-document-search/src/ragbits/document_search/retrieval/rerankers/noop.py                        10       0  100.00%
packages/ragbits-document-search/src/ragbits/document_search/retrieval/rerankers/rrf.py                         28       2  92.86%   50, 60
packages/ragbits-document-search/tests/cli/custom_cli_source.py                                                 22       1  95.45%   32
packages/ragbits-document-search/tests/cli/test_ingest.py                                                       56       0  100.00%
packages/ragbits-document-search/tests/cli/test_search.py                                                       71       0  100.00%
packages/ragbits-document-search/tests/integration/__init__.py                                                   0       0  100.00%
packages/ragbits-document-search/tests/integration/test_docling.py                                              10       0  100.00%
packages/ragbits-document-search/tests/integration/test_rerankers.py                                            32       9  71.88%   32-39, 59-64
packages/ragbits-document-search/tests/integration/test_unstructured.py                                         12       4  66.67%   62-67
packages/ragbits-document-search/tests/unit/test_config.py                                                      63       0  100.00%
packages/ragbits-document-search/tests/unit/test_document_parser_router.py                                      24       0  100.00%
packages/ragbits-document-search/tests/unit/test_document_parsers.py                                            47       0  100.00%
packages/ragbits-document-search/tests/unit/test_document_search.py                                            238       1  99.58%   480
packages/ragbits-document-search/tests/unit/test_document_search_ingest_errors.py                               38       0  100.00%
packages/ragbits-document-search/tests/unit/test_documents.py                                                   13       0  100.00%
packages/ragbits-document-search/tests/unit/test_element_enricher_router.py                                     23       0  100.00%
packages/ragbits-document-search/tests/unit/test_element_enrichers.py                                           56       1  98.21%   25
packages/ragbits-document-search/tests/unit/test_elements.py                                                    21       0  100.00%
packages/ragbits-document-search/tests/unit/test_ingest_strategies.py                                           43       0  100.00%
packages/ragbits-document-search/tests/unit/test_llm_reranker.py                                                43       0  100.00%
packages/ragbits-document-search/tests/unit/test_rephrasers.py                                                  26       0  100.00%
packages/ragbits-document-search/tests/unit/test_rerankers.py                                                   80       1  98.75%   25
packages/ragbits-document-search/tests/unit/testprojects/project_with_instance_factory/__init__.py               0       0  100.00%
packages/ragbits-document-search/tests/unit/testprojects/project_with_instance_factory/factories.py             22       0  100.00%
packages/ragbits-evaluate/src/ragbits/evaluate/__init__.py                                                       0       0  100.00%
packages/ragbits-evaluate/src/ragbits/evaluate/cli.py                                                           46       3  93.48%   133, 135, 137
packages/ragbits-evaluate/src/ragbits/evaluate/evaluator.py                                                     77       1  98.70%   201
packages/ragbits-evaluate/src/ragbits/evaluate/optimizer.py                                                     92      18  80.43%   162-168, 187, 190-191, 194, 198-204, 207-210
packages/ragbits-evaluate/src/ragbits/evaluate/utils.py                                                         58      37  36.21%   31-50, 62-69, 98-101, 117-129, 140-149, 159-160
packages/ragbits-evaluate/src/ragbits/evaluate/dataloaders/__init__.py                                           2       0  100.00%
packages/ragbits-evaluate/src/ragbits/evaluate/dataloaders/base.py                                              34       4  88.24%   58-60, 79
packages/ragbits-evaluate/src/ragbits/evaluate/dataloaders/document_search.py                                   13       0  100.00%
packages/ragbits-evaluate/src/ragbits/evaluate/dataloaders/exceptions.py                                        10       5  50.00%   10-12, 21-25
packages/ragbits-evaluate/src/ragbits/evaluate/metrics/__init__.py                                               2       0  100.00%
packages/ragbits-evaluate/src/ragbits/evaluate/metrics/base.py                                                  27       0  100.00%
packages/ragbits-evaluate/src/ragbits/evaluate/metrics/document_search.py                                       23       0  100.00%
packages/ragbits-evaluate/src/ragbits/evaluate/pipelines/__init__.py                                            11       1  90.91%   26
packages/ragbits-evaluate/src/ragbits/evaluate/pipelines/base.py                                                24       0  100.00%
packages/ragbits-evaluate/src/ragbits/evaluate/pipelines/document_search.py                                     38       6  84.21%   68-71, 80-84
packages/ragbits-evaluate/tests/cli/test_run_evaluation.py                                                      25       0  100.00%
packages/ragbits-evaluate/tests/unit/test_evaluator.py                                                          65       0  100.00%
packages/ragbits-evaluate/tests/unit/test_metrics.py                                                            77       0  100.00%
packages/ragbits-evaluate/tests/unit/test_optimizer.py                                                          68       0  100.00%
packages/ragbits-guardrails/src/ragbits/guardrails/__init__.py                                                   0       0  100.00%
packages/ragbits-guardrails/src/ragbits/guardrails/base.py                                                      15       0  100.00%
packages/ragbits-guardrails/src/ragbits/guardrails/openai_moderation.py                                         19       5  73.68%   29-33
packages/ragbits-guardrails/tests/unit/test_openai_moderation.py                                                35       0  100.00%
TOTAL                                                                                                         9772     651  93.34%

Diff against main

Filename                                                 Stmts    Miss  Cover
-----------------------------------------------------  -------  ------  -------
packages/ragbits-core/src/ragbits/core/sources/web.py        0      +1  -2.44%
TOTAL                                                        0      +1  -0.01%

Results for commit: f0c7894

Minimum allowed coverage is 60%

♻️ This comment has been updated with latest results

Copy link
Collaborator

@dazy-ds dazy-ds left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just some minor nits. Looks good overall.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants