ws-bom-robot-app 0.0.29__tar.gz → 0.0.30__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. ws_bom_robot_app-0.0.30/MANIFEST.in +2 -0
  2. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/PKG-INFO +11 -11
  3. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/pyproject.toml +1 -1
  4. {ws_bom_robot_app-0.0.29/ws_bom_robot_app → ws_bom_robot_app-0.0.30}/requirements.txt +10 -10
  5. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/setup.py +4 -3
  6. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/vector_store/integration/sitemap.py +12 -3
  7. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/vector_store/loader/docling.py +4 -2
  8. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app.egg-info/PKG-INFO +11 -11
  9. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app.egg-info/SOURCES.txt +2 -1
  10. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app.egg-info/requires.txt +10 -10
  11. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/README.md +0 -0
  12. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/setup.cfg +0 -0
  13. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/__init__.py +0 -0
  14. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/auth.py +0 -0
  15. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/config.py +0 -0
  16. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/cron_manager.py +0 -0
  17. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/__init__.py +0 -0
  18. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/agent_description.py +0 -0
  19. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/agent_handler.py +0 -0
  20. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/agent_lcel.py +0 -0
  21. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/api.py +0 -0
  22. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/defaut_prompt.py +0 -0
  23. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/main.py +0 -0
  24. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/models/__init__.py +0 -0
  25. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/models/api.py +0 -0
  26. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/models/base.py +0 -0
  27. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/models/kb.py +0 -0
  28. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/settings.py +0 -0
  29. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/tools/__init__.py +0 -0
  30. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/tools/models/__init__.py +0 -0
  31. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/tools/models/main.py +0 -0
  32. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/tools/tool_builder.py +0 -0
  33. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/tools/tool_manager.py +0 -0
  34. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/tools/utils.py +0 -0
  35. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/utils/__init__.py +0 -0
  36. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/utils/agent_utils.py +0 -0
  37. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/utils/chunker.py +0 -0
  38. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/utils/download.py +0 -0
  39. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/utils/faiss_helper.py +0 -0
  40. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/utils/kb.py +0 -0
  41. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/utils/print.py +0 -0
  42. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/utils/webhooks.py +0 -0
  43. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/vector_store/__init__.py +0 -0
  44. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/vector_store/generator.py +0 -0
  45. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/vector_store/integration/__init__.py +0 -0
  46. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/vector_store/integration/azure.py +0 -0
  47. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/vector_store/integration/base.py +0 -0
  48. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/vector_store/integration/confluence.py +0 -0
  49. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/vector_store/integration/dropbox.py +0 -0
  50. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/vector_store/integration/gcs.py +0 -0
  51. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/vector_store/integration/github.py +0 -0
  52. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/vector_store/integration/googledrive.py +0 -0
  53. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/vector_store/integration/jira.py +0 -0
  54. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/vector_store/integration/manager.py +0 -0
  55. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/vector_store/integration/s3.py +0 -0
  56. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/vector_store/integration/sftp.py +0 -0
  57. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/vector_store/integration/sharepoint.py +0 -0
  58. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/vector_store/integration/slack.py +0 -0
  59. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/vector_store/loader/__init__.py +0 -0
  60. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/vector_store/loader/base.py +0 -0
  61. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/llm/vector_store/loader/json_loader.py +0 -0
  62. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/main.py +0 -0
  63. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/task_manager.py +0 -0
  64. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app/util.py +0 -0
  65. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app.egg-info/dependency_links.txt +0 -0
  66. {ws_bom_robot_app-0.0.29 → ws_bom_robot_app-0.0.30}/ws_bom_robot_app.egg-info/top_level.txt +0 -0
@@ -0,0 +1,2 @@
1
+ include requirements.txt
2
+ include README.md
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ws_bom_robot_app
3
- Version: 0.0.29
3
+ Version: 0.0.30
4
4
  Summary: A FastAPI application serving ws bom/robot/llm platform ai.
5
5
  Home-page: https://github.com/websolutespa/bom
6
6
  Author: Websolute Spa
@@ -13,17 +13,17 @@ Description-Content-Type: text/markdown
13
13
  Requires-Dist: standardwebhooks==1.0.0
14
14
  Requires-Dist: apscheduler==3.11.0
15
15
  Requires-Dist: aiofiles==24.1.0
16
- Requires-Dist: pydantic==2.10.3
17
- Requires-Dist: pydantic-settings==2.6.1
18
- Requires-Dist: fastapi[standard]==0.115.5
19
- Requires-Dist: langchain==0.3.9
20
- Requires-Dist: langchain-openai==0.2.10
21
- Requires-Dist: langchain-community==0.3.8
22
- Requires-Dist: langchain-core==0.3.21
16
+ Requires-Dist: pydantic==2.10.5
17
+ Requires-Dist: pydantic-settings==2.7.1
18
+ Requires-Dist: fastapi[standard]==0.115.6
19
+ Requires-Dist: langchain==0.3.14
20
+ Requires-Dist: langchain-openai==0.3.0
21
+ Requires-Dist: langchain-community==0.3.14
22
+ Requires-Dist: langchain-core==0.3.29
23
23
  Requires-Dist: faiss-cpu==1.9.0
24
- Requires-Dist: unstructured==0.16.11
24
+ Requires-Dist: unstructured==0.16.13
25
25
  Requires-Dist: unstructured[image]
26
- Requires-Dist: unstructured-ingest==0.3.8
26
+ Requires-Dist: unstructured-ingest==0.3.14
27
27
  Requires-Dist: unstructured-ingest[azure]
28
28
  Requires-Dist: unstructured-ingest[confluence]
29
29
  Requires-Dist: unstructured-ingest[dropbox]
@@ -37,7 +37,7 @@ Requires-Dist: unstructured-ingest[sharepoint]
37
37
  Requires-Dist: unstructured-ingest[slack]
38
38
  Requires-Dist: html5lib==1.1
39
39
  Requires-Dist: markdownify==0.14.1
40
- Requires-Dist: nebuly==0.3.35
40
+ Requires-Dist: nebuly==0.3.36
41
41
  Dynamic: author
42
42
  Dynamic: author-email
43
43
  Dynamic: classifier
@@ -1,5 +1,5 @@
1
1
  [build-system]
2
- requires = ["setuptools >= 64"]
2
+ requires = ["setuptools >= 75"]
3
3
  build-backend = "setuptools.build_meta"
4
4
 
5
5
  [tool.pytest.ini_options]
@@ -2,15 +2,15 @@
2
2
  standardwebhooks==1.0.0
3
3
  apscheduler==3.11.0
4
4
  aiofiles==24.1.0
5
- pydantic==2.10.3
6
- pydantic-settings==2.6.1
7
- fastapi[standard]==0.115.5
5
+ pydantic==2.10.5
6
+ pydantic-settings==2.7.1
7
+ fastapi[standard]==0.115.6
8
8
 
9
9
  #framework
10
- langchain==0.3.9
11
- langchain-openai==0.2.10
12
- langchain-community==0.3.8
13
- langchain-core==0.3.21
10
+ langchain==0.3.14
11
+ langchain-openai==0.3.0
12
+ langchain-community==0.3.14
13
+ langchain-core==0.3.29
14
14
 
15
15
  #vector DB
16
16
  faiss-cpu==1.9.0
@@ -20,11 +20,11 @@ faiss-cpu==1.9.0
20
20
  #loaders
21
21
  #python-magic==0.4.27
22
22
  #opencv-python-headless==4.10.0.84 #docker specs
23
- unstructured==0.16.11
23
+ unstructured==0.16.13
24
24
  unstructured[image]
25
25
  #unstructured[all-docs]==0.16.11
26
26
  #langchain_unstructured==0.1.5
27
- unstructured-ingest==0.3.8
27
+ unstructured-ingest==0.3.14
28
28
  unstructured-ingest[azure]
29
29
  unstructured-ingest[confluence]
30
30
  unstructured-ingest[dropbox]
@@ -42,4 +42,4 @@ html5lib==1.1 #beautifulsoup4 parser
42
42
  markdownify==0.14.1 #sitemap
43
43
 
44
44
  #telemetry
45
- nebuly==0.3.35
45
+ nebuly==0.3.36
@@ -1,8 +1,10 @@
1
1
  from setuptools import setup, find_packages
2
2
 
3
+ _requirements = [line.split('#')[0].strip() for line in open("requirements.txt").readlines() if all([line.strip(), not line.startswith("#")])]
4
+
3
5
  setup(
4
6
  name="ws_bom_robot_app",
5
- version="0.0.29",
7
+ version="0.0.30",
6
8
  description="A FastAPI application serving ws bom/robot/llm platform ai.",
7
9
  long_description=open("README.md", encoding='utf-8').read(),
8
10
  long_description_content_type="text/markdown",
@@ -10,7 +12,7 @@ setup(
10
12
  author_email="dev@websolute.it",
11
13
  url="https://github.com/websolutespa/bom",
12
14
  packages=find_packages(),
13
- install_requires=[line.split('#')[0].strip() for line in open("ws_bom_robot_app/requirements.txt").readlines() if all([line.strip(), not line.startswith("#")])],
15
+ install_requires=_requirements,
14
16
  classifiers=[
15
17
  "Programming Language :: Python :: 3",
16
18
  "License :: OSI Approved :: MIT License",
@@ -18,4 +20,3 @@ setup(
18
20
  ],
19
21
  python_requires=">=3.12",
20
22
  )
21
-
@@ -1,10 +1,11 @@
1
- from typing import Any
1
+ from typing import Any, AsyncGenerator, AsyncIterator
2
2
  import aiofiles
3
3
  import aiofiles.os
4
4
  from ws_bom_robot_app.llm.vector_store.integration.base import IntegrationStrategy
5
5
  from langchain_community.document_loaders.sitemap import SitemapLoader
6
6
  from langchain_community.document_transformers import MarkdownifyTransformer as markdownify
7
7
  from langchain_core.documents import Document
8
+ from langchain_core.runnables import run_in_executor
8
9
  from bs4 import BeautifulSoup, Tag
9
10
 
10
11
  class Sitemap(IntegrationStrategy):
@@ -59,7 +60,15 @@ class Sitemap(IntegrationStrategy):
59
60
 
60
61
  def _remap_if_local(self, url: str) -> str:
61
62
  return f"{self.knowledgebase_path}/{url}" if self._is_local(url) else url
62
-
63
+ async def alazy_load(self,loader: SitemapLoader) -> AsyncIterator[Document]:
64
+ """A lazy loader for Documents."""
65
+ iterator = await run_in_executor(None, loader.lazy_load)
66
+ done = object()
67
+ while True:
68
+ doc = await run_in_executor(None, next, iterator, done) # type: ignore[call-arg, arg-type]
69
+ if doc is done:
70
+ break
71
+ yield doc # type: ignore[misc]
63
72
  async def load(self) -> list[Document]:
64
73
  if (self.__sitemap_url):
65
74
  _loader = SitemapLoader(
@@ -68,7 +77,7 @@ class Sitemap(IntegrationStrategy):
68
77
  parsing_function=self._parse,
69
78
  is_local=self._is_local(self.__sitemap_url)
70
79
  )
71
- _docs = self._output([document async for document in _loader.alazy_load()])
80
+ _docs = self._output([document async for document in self.alazy_load(_loader)])
72
81
  if self._is_local(self.__sitemap_url):
73
82
  try:
74
83
  await aiofiles.os.remove(_loader.web_path)
@@ -10,8 +10,10 @@ class DoclingLoader(BaseLoader):
10
10
  def __init__(self, file_path: str | list[str]) -> None:
11
11
  self._file_paths = file_path if isinstance(file_path, list) else [file_path]
12
12
  self._converter = DocumentConverter(format_options={
13
- InputFormat.PDF: PdfFormatOption(pipeline_options=PdfPipelineOptions(
14
- table_structure_options=TableStructureOptions(mode=TableFormerMode.ACCURATE)))
13
+ InputFormat.PDF: PdfFormatOption(
14
+ pipeline_options=PdfPipelineOptions(
15
+ table_structure_options=TableStructureOptions(mode=TableFormerMode.ACCURATE)
16
+ ))
15
17
  })
16
18
  def load(self) -> list[Document]:
17
19
  """Load data into Document objects."""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ws_bom_robot_app
3
- Version: 0.0.29
3
+ Version: 0.0.30
4
4
  Summary: A FastAPI application serving ws bom/robot/llm platform ai.
5
5
  Home-page: https://github.com/websolutespa/bom
6
6
  Author: Websolute Spa
@@ -13,17 +13,17 @@ Description-Content-Type: text/markdown
13
13
  Requires-Dist: standardwebhooks==1.0.0
14
14
  Requires-Dist: apscheduler==3.11.0
15
15
  Requires-Dist: aiofiles==24.1.0
16
- Requires-Dist: pydantic==2.10.3
17
- Requires-Dist: pydantic-settings==2.6.1
18
- Requires-Dist: fastapi[standard]==0.115.5
19
- Requires-Dist: langchain==0.3.9
20
- Requires-Dist: langchain-openai==0.2.10
21
- Requires-Dist: langchain-community==0.3.8
22
- Requires-Dist: langchain-core==0.3.21
16
+ Requires-Dist: pydantic==2.10.5
17
+ Requires-Dist: pydantic-settings==2.7.1
18
+ Requires-Dist: fastapi[standard]==0.115.6
19
+ Requires-Dist: langchain==0.3.14
20
+ Requires-Dist: langchain-openai==0.3.0
21
+ Requires-Dist: langchain-community==0.3.14
22
+ Requires-Dist: langchain-core==0.3.29
23
23
  Requires-Dist: faiss-cpu==1.9.0
24
- Requires-Dist: unstructured==0.16.11
24
+ Requires-Dist: unstructured==0.16.13
25
25
  Requires-Dist: unstructured[image]
26
- Requires-Dist: unstructured-ingest==0.3.8
26
+ Requires-Dist: unstructured-ingest==0.3.14
27
27
  Requires-Dist: unstructured-ingest[azure]
28
28
  Requires-Dist: unstructured-ingest[confluence]
29
29
  Requires-Dist: unstructured-ingest[dropbox]
@@ -37,7 +37,7 @@ Requires-Dist: unstructured-ingest[sharepoint]
37
37
  Requires-Dist: unstructured-ingest[slack]
38
38
  Requires-Dist: html5lib==1.1
39
39
  Requires-Dist: markdownify==0.14.1
40
- Requires-Dist: nebuly==0.3.35
40
+ Requires-Dist: nebuly==0.3.36
41
41
  Dynamic: author
42
42
  Dynamic: author-email
43
43
  Dynamic: classifier
@@ -1,12 +1,13 @@
1
+ MANIFEST.in
1
2
  README.md
2
3
  pyproject.toml
4
+ requirements.txt
3
5
  setup.py
4
6
  ws_bom_robot_app/__init__.py
5
7
  ws_bom_robot_app/auth.py
6
8
  ws_bom_robot_app/config.py
7
9
  ws_bom_robot_app/cron_manager.py
8
10
  ws_bom_robot_app/main.py
9
- ws_bom_robot_app/requirements.txt
10
11
  ws_bom_robot_app/task_manager.py
11
12
  ws_bom_robot_app/util.py
12
13
  ws_bom_robot_app.egg-info/PKG-INFO
@@ -1,17 +1,17 @@
1
1
  standardwebhooks==1.0.0
2
2
  apscheduler==3.11.0
3
3
  aiofiles==24.1.0
4
- pydantic==2.10.3
5
- pydantic-settings==2.6.1
6
- fastapi[standard]==0.115.5
7
- langchain==0.3.9
8
- langchain-openai==0.2.10
9
- langchain-community==0.3.8
10
- langchain-core==0.3.21
4
+ pydantic==2.10.5
5
+ pydantic-settings==2.7.1
6
+ fastapi[standard]==0.115.6
7
+ langchain==0.3.14
8
+ langchain-openai==0.3.0
9
+ langchain-community==0.3.14
10
+ langchain-core==0.3.29
11
11
  faiss-cpu==1.9.0
12
- unstructured==0.16.11
12
+ unstructured==0.16.13
13
13
  unstructured[image]
14
- unstructured-ingest==0.3.8
14
+ unstructured-ingest==0.3.14
15
15
  unstructured-ingest[azure]
16
16
  unstructured-ingest[confluence]
17
17
  unstructured-ingest[dropbox]
@@ -25,4 +25,4 @@ unstructured-ingest[sharepoint]
25
25
  unstructured-ingest[slack]
26
26
  html5lib==1.1
27
27
  markdownify==0.14.1
28
- nebuly==0.3.35
28
+ nebuly==0.3.36