quantalogic 0.50.0__py3-none-any.whl → 0.50.2__py3-none-any.whl
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.
- quantalogic/tools/__init__.py +70 -61
- {quantalogic-0.50.0.dist-info → quantalogic-0.50.2.dist-info}/METADATA +1 -74
- {quantalogic-0.50.0.dist-info → quantalogic-0.50.2.dist-info}/RECORD +6 -6
- {quantalogic-0.50.0.dist-info → quantalogic-0.50.2.dist-info}/LICENSE +0 -0
- {quantalogic-0.50.0.dist-info → quantalogic-0.50.2.dist-info}/WHEEL +0 -0
- {quantalogic-0.50.0.dist-info → quantalogic-0.50.2.dist-info}/entry_points.txt +0 -0
quantalogic/tools/__init__.py
CHANGED
@@ -10,85 +10,94 @@ class LazyLoader:
|
|
10
10
|
Lazily import a module only when its attributes are accessed.
|
11
11
|
This helps reduce startup time by deferring imports until needed.
|
12
12
|
"""
|
13
|
-
def __init__(self, module_path: str):
|
13
|
+
def __init__(self, module_path: str, optional: bool = False):
|
14
14
|
self.module_path = module_path
|
15
15
|
self._module = None
|
16
|
+
self.optional = optional
|
16
17
|
|
17
18
|
def __getattr__(self, name: str) -> Any:
|
18
19
|
if self._module is None:
|
19
|
-
|
20
|
+
try:
|
21
|
+
self._module = importlib.import_module(self.module_path)
|
22
|
+
except ImportError as e:
|
23
|
+
if self.optional:
|
24
|
+
# If the tool is optional, log a warning but don't raise an error
|
25
|
+
print(f"Warning: Optional tool {self.module_path} could not be imported: {e}")
|
26
|
+
return None
|
27
|
+
raise
|
28
|
+
|
20
29
|
return getattr(self._module, name)
|
21
30
|
|
22
31
|
|
23
|
-
# Map of tool names to their import paths
|
32
|
+
# Map of tool names to their import paths and optional status
|
24
33
|
_TOOL_IMPORTS = {
|
25
|
-
"AgentTool": ".agent_tool",
|
26
|
-
"ComposioTool": ".composio.composio",
|
27
|
-
"GenerateDatabaseReportTool": ".database.generate_database_report_tool",
|
28
|
-
"SQLQueryToolAdvanced": ".database.sql_query_tool_advanced",
|
29
|
-
"MarkdownToDocxTool": ".document_tools.markdown_to_docx_tool",
|
30
|
-
"MarkdownToEpubTool": ".document_tools.markdown_to_epub_tool",
|
31
|
-
"MarkdownToHtmlTool": ".document_tools.markdown_to_html_tool",
|
32
|
-
"MarkdownToIpynbTool": ".document_tools.markdown_to_ipynb_tool",
|
33
|
-
"MarkdownToLatexTool": ".document_tools.markdown_to_latex_tool",
|
34
|
-
"MarkdownToPdfTool": ".document_tools.markdown_to_pdf_tool",
|
35
|
-
"MarkdownToPptxTool": ".document_tools.markdown_to_pptx_tool",
|
36
|
-
"DownloadHttpFileTool": ".download_http_file_tool",
|
37
|
-
"DuckDuckGoSearchTool": ".duckduckgo_search_tool",
|
38
|
-
"EditWholeContentTool": ".edit_whole_content_tool",
|
39
|
-
"ElixirTool": ".elixir_tool",
|
40
|
-
"ExecuteBashCommandTool": ".execute_bash_command_tool",
|
41
|
-
"BitbucketCloneTool": ".git.bitbucket_clone_repo_tool",
|
42
|
-
"BitbucketOperationsTool": ".git.bitbucket_operations_tool",
|
43
|
-
"CloneRepoTool": ".git.clone_repo_tool",
|
44
|
-
"GitOperationsTool": ".git.git_operations_tool",
|
45
|
-
"GoogleNewsTool": ".google_packages.google_news_tool",
|
46
|
-
"GrepAppTool": ".grep_app_tool",
|
47
|
-
"LLMImageGenerationTool": ".image_generation.dalle_e",
|
48
|
-
"InputQuestionTool": ".input_question_tool",
|
49
|
-
"JinjaTool": ".jinja_tool",
|
50
|
-
"ListDirectoryTool": ".list_directory_tool",
|
51
|
-
"LLMTool": ".llm_tool",
|
52
|
-
"LLMVisionTool": ".llm_vision_tool",
|
53
|
-
"MarkitdownTool": ".markitdown_tool",
|
54
|
-
"NasaApodTool": ".nasa_packages.nasa_apod_tool",
|
55
|
-
"NasaNeoWsTool": ".nasa_packages.nasa_neows_tool",
|
56
|
-
"NodeJsTool": ".nodejs_tool",
|
57
|
-
"PresentationLLMTool": ".presentation_tools.presentation_llm_tool",
|
58
|
-
"ProductHuntTool": ".product_hunt.product_hunt_tool",
|
59
|
-
"PythonTool": ".python_tool",
|
60
|
-
"RagTool": ".rag_tool.rag_tool",
|
61
|
-
"ReadFileBlockTool": ".read_file_block_tool",
|
62
|
-
"ReadFileTool": ".read_file_tool",
|
63
|
-
"ReadHTMLTool": ".read_html_tool",
|
64
|
-
"ReplaceInFileTool": ".replace_in_file_tool",
|
65
|
-
"RipgrepTool": ".ripgrep_tool",
|
66
|
-
"SafePythonInterpreterTool": ".safe_python_interpreter_tool",
|
67
|
-
"SearchDefinitionNames": ".search_definition_names",
|
68
|
-
"SequenceTool": ".sequence_tool",
|
69
|
-
"SerpApiSearchTool": ".serpapi_search_tool",
|
70
|
-
"SQLQueryTool": ".sql_query_tool",
|
71
|
-
"TaskCompleteTool": ".task_complete_tool",
|
72
|
-
"Tool": ".tool",
|
73
|
-
"ToolArgument": ".tool",
|
74
|
-
"UnifiedDiffTool": ".unified_diff_tool",
|
75
|
-
"CSVProcessorTool": ".utilities.csv_processor_tool",
|
76
|
-
"PrepareDownloadTool": ".utilities.download_file_tool",
|
77
|
-
"MermaidValidatorTool": ".utilities.mermaid_validator_tool",
|
78
|
-
"WikipediaSearchTool": ".wikipedia_search_tool",
|
79
|
-
"WriteFileTool": ".write_file_tool",
|
34
|
+
"AgentTool": (".agent_tool", False),
|
35
|
+
"ComposioTool": (".composio.composio", False),
|
36
|
+
"GenerateDatabaseReportTool": (".database.generate_database_report_tool", False),
|
37
|
+
"SQLQueryToolAdvanced": (".database.sql_query_tool_advanced", False),
|
38
|
+
"MarkdownToDocxTool": (".document_tools.markdown_to_docx_tool", True),
|
39
|
+
"MarkdownToEpubTool": (".document_tools.markdown_to_epub_tool", True),
|
40
|
+
"MarkdownToHtmlTool": (".document_tools.markdown_to_html_tool", True),
|
41
|
+
"MarkdownToIpynbTool": (".document_tools.markdown_to_ipynb_tool", True),
|
42
|
+
"MarkdownToLatexTool": (".document_tools.markdown_to_latex_tool", True),
|
43
|
+
"MarkdownToPdfTool": (".document_tools.markdown_to_pdf_tool", True),
|
44
|
+
"MarkdownToPptxTool": (".document_tools.markdown_to_pptx_tool", True),
|
45
|
+
"DownloadHttpFileTool": (".download_http_file_tool", False),
|
46
|
+
"DuckDuckGoSearchTool": (".duckduckgo_search_tool", False),
|
47
|
+
"EditWholeContentTool": (".edit_whole_content_tool", False),
|
48
|
+
"ElixirTool": (".elixir_tool", False),
|
49
|
+
"ExecuteBashCommandTool": (".execute_bash_command_tool", False),
|
50
|
+
"BitbucketCloneTool": (".git.bitbucket_clone_repo_tool", False),
|
51
|
+
"BitbucketOperationsTool": (".git.bitbucket_operations_tool", False),
|
52
|
+
"CloneRepoTool": (".git.clone_repo_tool", False),
|
53
|
+
"GitOperationsTool": (".git.git_operations_tool", False),
|
54
|
+
"GoogleNewsTool": (".google_packages.google_news_tool", False),
|
55
|
+
"GrepAppTool": (".grep_app_tool", False),
|
56
|
+
"LLMImageGenerationTool": (".image_generation.dalle_e", False),
|
57
|
+
"InputQuestionTool": (".input_question_tool", False),
|
58
|
+
"JinjaTool": (".jinja_tool", False),
|
59
|
+
"ListDirectoryTool": (".list_directory_tool", False),
|
60
|
+
"LLMTool": (".llm_tool", False),
|
61
|
+
"LLMVisionTool": (".llm_vision_tool", False),
|
62
|
+
"MarkitdownTool": (".markitdown_tool", False),
|
63
|
+
"NasaApodTool": (".nasa_packages.nasa_apod_tool", False),
|
64
|
+
"NasaNeoWsTool": (".nasa_packages.nasa_neows_tool", False),
|
65
|
+
"NodeJsTool": (".nodejs_tool", False),
|
66
|
+
"PresentationLLMTool": (".presentation_tools.presentation_llm_tool", False),
|
67
|
+
"ProductHuntTool": (".product_hunt.product_hunt_tool", False),
|
68
|
+
"PythonTool": (".python_tool", False),
|
69
|
+
"RagTool": (".rag_tool.rag_tool", False),
|
70
|
+
"ReadFileBlockTool": (".read_file_block_tool", False),
|
71
|
+
"ReadFileTool": (".read_file_tool", False),
|
72
|
+
"ReadHTMLTool": (".read_html_tool", False),
|
73
|
+
"ReplaceInFileTool": (".replace_in_file_tool", False),
|
74
|
+
"RipgrepTool": (".ripgrep_tool", False),
|
75
|
+
"SafePythonInterpreterTool": (".safe_python_interpreter_tool", False),
|
76
|
+
"SearchDefinitionNames": (".search_definition_names", False),
|
77
|
+
"SequenceTool": (".sequence_tool", False),
|
78
|
+
"SerpApiSearchTool": (".serpapi_search_tool", False),
|
79
|
+
"SQLQueryTool": (".sql_query_tool", False),
|
80
|
+
"TaskCompleteTool": (".task_complete_tool", False),
|
81
|
+
"Tool": (".tool", False),
|
82
|
+
"ToolArgument": (".tool", False),
|
83
|
+
"UnifiedDiffTool": (".unified_diff_tool", False),
|
84
|
+
"CSVProcessorTool": (".utilities.csv_processor_tool", False),
|
85
|
+
"PrepareDownloadTool": (".utilities.download_file_tool", False),
|
86
|
+
"MermaidValidatorTool": (".utilities.mermaid_validator_tool", False),
|
87
|
+
"WikipediaSearchTool": (".wikipedia_search_tool", False),
|
88
|
+
"WriteFileTool": (".write_file_tool", False),
|
80
89
|
}
|
81
90
|
|
82
91
|
# Create lazy loaders for each module path
|
83
92
|
_lazy_modules: Dict[str, LazyLoader] = {}
|
84
|
-
for tool, path in _TOOL_IMPORTS.items():
|
93
|
+
for tool, (path, optional) in _TOOL_IMPORTS.items():
|
85
94
|
full_path = f"{__package__}{path}"
|
86
95
|
if full_path not in _lazy_modules:
|
87
|
-
_lazy_modules[full_path] = LazyLoader(full_path)
|
96
|
+
_lazy_modules[full_path] = LazyLoader(full_path, optional)
|
88
97
|
|
89
98
|
# Set up attributes for lazy loading
|
90
99
|
_tools_to_lazy_modules = {}
|
91
|
-
for tool, path in _TOOL_IMPORTS.items():
|
100
|
+
for tool, (path, optional) in _TOOL_IMPORTS.items():
|
92
101
|
full_path = f"{__package__}{path}"
|
93
102
|
_tools_to_lazy_modules[tool] = _lazy_modules[full_path]
|
94
103
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: quantalogic
|
3
|
-
Version: 0.50.
|
3
|
+
Version: 0.50.2
|
4
4
|
Summary: QuantaLogic ReAct Agents
|
5
5
|
Author: Raphaël MANSUY
|
6
6
|
Author-email: raphael.mansuy@gmail.com
|
@@ -8,90 +8,17 @@ Requires-Python: >=3.12,<4.0
|
|
8
8
|
Classifier: Programming Language :: Python :: 3
|
9
9
|
Classifier: Programming Language :: Python :: 3.12
|
10
10
|
Classifier: Programming Language :: Python :: 3.13
|
11
|
-
Requires-Dist: beautifulsoup4 (>=4.12.3,<5.0.0)
|
12
|
-
Requires-Dist: bibtexparser (>=1.4.3,<2.0.0)
|
13
|
-
Requires-Dist: boto3 (>=1.35.86,<2.0.0)
|
14
|
-
Requires-Dist: ccxt (>=4.4.61,<5.0.0)
|
15
|
-
Requires-Dist: chromadb (>=0.6.3,<0.7.0)
|
16
11
|
Requires-Dist: click (>=8.1.8,<9.0.0)
|
17
|
-
Requires-Dist: composio (>=0.1.1,<0.2.0)
|
18
|
-
Requires-Dist: duckduckgo-search (>=7.2.1,<8.0.0)
|
19
|
-
Requires-Dist: ebooklib (>=0.18,<0.19)
|
20
|
-
Requires-Dist: epub (>=0.5.2,<0.6.0)
|
21
|
-
Requires-Dist: faiss-cpu (>=1.10.0,<2.0.0)
|
22
|
-
Requires-Dist: faker (>=33.3.1,<34.0.0)
|
23
|
-
Requires-Dist: fastapi (>=0.115.6,<0.116.0)
|
24
|
-
Requires-Dist: fuzzywuzzy (>=0.18.0,<0.19.0)
|
25
|
-
Requires-Dist: gitpython (>=3.1.44,<4.0.0)
|
26
|
-
Requires-Dist: gnews (>=0.4.0,<0.5.0)
|
27
|
-
Requires-Dist: google-auth (>=2.20.0,<3.0.0)
|
28
|
-
Requires-Dist: google-search-results (>=2.4.2,<3.0.0)
|
29
|
-
Requires-Dist: html2text (>=2024.2.26,<2025.0.0)
|
30
12
|
Requires-Dist: instructor (>=1.7.2,<2.0.0)
|
31
|
-
Requires-Dist: ipython (>=8.32.0,<9.0.0)
|
32
13
|
Requires-Dist: jinja2 (>=3.1.5,<4.0.0)
|
33
14
|
Requires-Dist: litellm (>=1.56.4,<2.0.0)
|
34
|
-
Requires-Dist: llama-index (>=0.12.19,<0.13.0)
|
35
|
-
Requires-Dist: llama-index-embeddings-bedrock (>=0.5.0,<0.6.0)
|
36
|
-
Requires-Dist: llama-index-embeddings-huggingface (>=0.5.1,<0.6.0)
|
37
|
-
Requires-Dist: llama-index-embeddings-instructor (>=0.3.0,<0.4.0)
|
38
|
-
Requires-Dist: llama-index-embeddings-openai (>=0.3.1,<0.4.0)
|
39
|
-
Requires-Dist: llama-index-vector-stores-chroma (>=0.4.1,<0.5.0)
|
40
|
-
Requires-Dist: llama-index-vector-stores-faiss (>=0.3.0,<0.4.0)
|
41
|
-
Requires-Dist: llmlingua (>=0.2.2,<0.3.0)
|
42
15
|
Requires-Dist: loguru (>=0.7.3,<0.8.0)
|
43
|
-
Requires-Dist: markdown (>=3.7,<4.0)
|
44
|
-
Requires-Dist: markdownify (>=0.14.1,<0.15.0)
|
45
|
-
Requires-Dist: markitdown (>=0.0.1a3,<0.0.2)
|
46
|
-
Requires-Dist: mermaid-py (>=0.7.0,<0.8.0)
|
47
|
-
Requires-Dist: mkdocs-git-revision-date-localized-plugin (>=1.2.0,<2.0.0)
|
48
|
-
Requires-Dist: mkdocs-macros-plugin (>=1.0.4,<2.0.0)
|
49
|
-
Requires-Dist: mkdocs-material[imaging] (>=9.5.49,<10.0.0)
|
50
|
-
Requires-Dist: mkdocs-mermaid2-plugin (>=1.1.1,<2.0.0)
|
51
|
-
Requires-Dist: mkdocs-minify-plugin (>=0.7.1,<0.8.0)
|
52
|
-
Requires-Dist: mkdocstrings (>=0.24.0,<0.25.0)
|
53
|
-
Requires-Dist: mkdocstrings-python (>=1.7.0,<2.0.0)
|
54
|
-
Requires-Dist: nbformat (>=5.10.4,<6.0.0)
|
55
|
-
Requires-Dist: networkx (>=3.4.2,<4.0.0)
|
56
|
-
Requires-Dist: numpy (>=2.2.3,<3.0.0)
|
57
|
-
Requires-Dist: pandas (>=2.2.3,<3.0.0)
|
58
16
|
Requires-Dist: pathspec (>=0.12.1,<0.13.0)
|
59
|
-
Requires-Dist: pillow (>=10.2,<11.0)
|
60
|
-
Requires-Dist: pinecone-client (>=6.0.0,<7.0.0)
|
61
17
|
Requires-Dist: prompt-toolkit (>=3.0.48,<4.0.0)
|
62
18
|
Requires-Dist: pydantic (>=2.10.4,<3.0.0)
|
63
|
-
Requires-Dist: pygments (>=2.19.1,<3.0.0)
|
64
|
-
Requires-Dist: pymdown-extensions (>=10.3.1,<11.0.0)
|
65
|
-
Requires-Dist: pypdf (>=5.3.0,<6.0.0)
|
66
|
-
Requires-Dist: python-docx (>=1.1.2,<2.0.0)
|
67
|
-
Requires-Dist: python-dotenv (>=1.0.1,<2.0.0)
|
68
|
-
Requires-Dist: python-levenshtein (>=0.26.1,<0.27.0)
|
69
|
-
Requires-Dist: python-multipart (>=0.0.20,<0.0.21)
|
70
|
-
Requires-Dist: python-pptx (>=1.0.2,<2.0.0)
|
71
19
|
Requires-Dist: requests (>=2.32.3,<3.0.0)
|
72
20
|
Requires-Dist: rich (>=13.9.4,<14.0.0)
|
73
|
-
Requires-Dist: serpapi (>=0.1.5,<0.2.0)
|
74
|
-
Requires-Dist: sqlalchemy (>=2.0.37,<3.0.0)
|
75
|
-
Requires-Dist: ta (>=0.11.0,<0.12.0)
|
76
21
|
Requires-Dist: tenacity (>=9.0.0,<10.0.0)
|
77
|
-
Requires-Dist: toml (>=0.10.2,<0.11.0)
|
78
|
-
Requires-Dist: torch (>=2.6.0,<3.0.0)
|
79
|
-
Requires-Dist: transformers (>=4.49.0,<5.0.0)
|
80
|
-
Requires-Dist: tree-sitter (>=0.23.2,<0.24.0)
|
81
|
-
Requires-Dist: tree-sitter-c (>=0.23.4,<0.24.0)
|
82
|
-
Requires-Dist: tree-sitter-cpp (>=0.23.4,<0.24.0)
|
83
|
-
Requires-Dist: tree-sitter-go (>=0.23.4,<0.24.0)
|
84
|
-
Requires-Dist: tree-sitter-java (>=0.23.5,<0.24.0)
|
85
|
-
Requires-Dist: tree-sitter-javascript (>=0.23.1,<0.24.0)
|
86
|
-
Requires-Dist: tree-sitter-python (>=0.23.6,<0.24.0)
|
87
|
-
Requires-Dist: tree-sitter-rust (>=0.23.2,<0.24.0)
|
88
|
-
Requires-Dist: tree-sitter-scala (>=0.23.4,<0.24.0)
|
89
|
-
Requires-Dist: tree-sitter-typescript (>=0.23.2,<0.24.0)
|
90
|
-
Requires-Dist: types-requests (>=2.32.0.20241016,<3.0.0.0)
|
91
|
-
Requires-Dist: uvicorn (>=0.34.0,<0.35.0)
|
92
|
-
Requires-Dist: weasyprint (>=64.0,<65.0)
|
93
|
-
Requires-Dist: websocket (>=0.2.1,<0.3.0)
|
94
|
-
Requires-Dist: yfinance (>=0.2.53,<0.3.0)
|
95
22
|
Description-Content-Type: text/markdown
|
96
23
|
|
97
24
|
# QuantaLogic
|
@@ -38,7 +38,7 @@ quantalogic/server/templates/index.html,sha256=nDnXJoQEm1vXbhXtgaYk0G5VXj0wwzE6K
|
|
38
38
|
quantalogic/task_file_reader.py,sha256=oPcB4vTxJ__Y8o7VVABIPOkVw3tGDMdQYwdK27PERlE,1440
|
39
39
|
quantalogic/task_runner.py,sha256=c2QVGKZfHA0wZIBUvehpjMvtRaKZuhuYQerjIiCC9iY,10053
|
40
40
|
quantalogic/tool_manager.py,sha256=vNA7aBKgdU3wpw_goom6i9rg_64pNZapNxvg4cUhhCI,6983
|
41
|
-
quantalogic/tools/__init__.py,sha256=
|
41
|
+
quantalogic/tools/__init__.py,sha256=AeXs2jtnY8mqHz7egpzVkRDl9W8-Gh0_-wyEnmC2QDE,5143
|
42
42
|
quantalogic/tools/agent_tool.py,sha256=MXCXxWHRch7VK4UWhtRP1jeI8Np9Ne2CUGo8vm1oZiM,3064
|
43
43
|
quantalogic/tools/composio/composio.py,sha256=icVHA_Scr1pViBhahGGBGBRBl9JSB3hGSqpgQzAIUH8,17627
|
44
44
|
quantalogic/tools/database/generate_database_report_tool.py,sha256=lGgER2VuHqnxliPM806tbwJh7WRW9HJcbBLL7QMvVBQ,1861
|
@@ -141,8 +141,8 @@ quantalogic/version_check.py,sha256=JyQFTNMDWtpHCLnN-BiakzB2cyXf6kUFsTjvmSruZi4,
|
|
141
141
|
quantalogic/welcome_message.py,sha256=o4tHdgabNuIV9kbIDPgS3_2yzJhayK30oKad2UouYDc,3020
|
142
142
|
quantalogic/xml_parser.py,sha256=AKuMdJC3QAX3Z_tErHVlZ-msjPemWaZUFiTwkHz76jg,11614
|
143
143
|
quantalogic/xml_tool_parser.py,sha256=Vz4LEgDbelJynD1siLOVkJ3gLlfHsUk65_gCwbYJyGc,3784
|
144
|
-
quantalogic-0.50.
|
145
|
-
quantalogic-0.50.
|
146
|
-
quantalogic-0.50.
|
147
|
-
quantalogic-0.50.
|
148
|
-
quantalogic-0.50.
|
144
|
+
quantalogic-0.50.2.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
145
|
+
quantalogic-0.50.2.dist-info/METADATA,sha256=XQ7ALbdA_f7UR-j7DE6umu3H2gatHiKtR4A2IeYS5Yo,22785
|
146
|
+
quantalogic-0.50.2.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
147
|
+
quantalogic-0.50.2.dist-info/entry_points.txt,sha256=h74O_Q3qBRCrDR99qvwB4BpBGzASPUIjCfxHq6Qnups,183
|
148
|
+
quantalogic-0.50.2.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|