lumis-ai 0.1.1a2__tar.gz → 0.1.1a4__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 (106) hide show
  1. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/PKG-INFO +6 -9
  2. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/agents/research_agent/tools/search.py +2 -3
  3. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/tools/search/search_engine_client.py +8 -1
  4. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/pyproject.toml +6 -11
  5. lumis_ai-0.1.1a4/uv.lock +5215 -0
  6. lumis_ai-0.1.1a2/poetry.lock +0 -4369
  7. lumis_ai-0.1.1a2/poetry.toml +0 -3
  8. lumis_ai-0.1.1a2/uv.lock +0 -3340
  9. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/.github/workflows/publish.yml +0 -0
  10. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/.gitignore +0 -0
  11. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/.python-version +0 -0
  12. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/.vscode/settings.json +0 -0
  13. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/LICENSE +0 -0
  14. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/README.md +0 -0
  15. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/cookbook/__init__.py +0 -0
  16. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/cookbook/information_extraction.ipynb +0 -0
  17. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/cookbook/nlp.ipynb +0 -0
  18. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/cookbook/utils/config.py +0 -0
  19. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/cookbook/utils/helper.py +0 -0
  20. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/__init__.py +0 -0
  21. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/agents/__init__.py +0 -0
  22. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/agents/base/__init__.py +0 -0
  23. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/agents/base/base_agent.py +0 -0
  24. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/agents/base/core_agent.py +0 -0
  25. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/agents/base/graph_based_agent.py +0 -0
  26. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/agents/prompt_refinement_pipeline.py +0 -0
  27. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/agents/qa_research_agent.py +0 -0
  28. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/agents/react_agent.py +0 -0
  29. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/agents/research_agent/__init__.py +0 -0
  30. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/agents/research_agent/agent.py +0 -0
  31. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/agents/research_agent/source_models.py +0 -0
  32. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/agents/research_agent/source_tracker.py +0 -0
  33. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/agents/research_agent/tools/__init__.py +0 -0
  34. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/agents/research_agent/types.py +0 -0
  35. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/agents/storm/agent.py +0 -0
  36. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/agents/storm/interview_graph.py +0 -0
  37. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/agents/storm/models/outline.py +0 -0
  38. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/agents/storm/models/survey_subjects.py +0 -0
  39. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/common/__init__.py +0 -0
  40. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/core/__init__.py +0 -0
  41. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/core/common/coloured_logger.py +0 -0
  42. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/core/common/logger_mixin.py +0 -0
  43. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/core/django/__init__.py +0 -0
  44. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/core/django/models/chat_memory.py +0 -0
  45. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/core/document.py +0 -0
  46. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/core/event_emitter.py +0 -0
  47. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/core/utils/__init__.py +0 -0
  48. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/core/utils/coroutine.py +0 -0
  49. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/core/utils/helpers.py +0 -0
  50. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/core/utils/inference.py +0 -0
  51. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/core/utils/number.py +0 -0
  52. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/core/utils/status_manager.py +0 -0
  53. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/core/utils/string.py +0 -0
  54. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/core/utils/thread_runner.py +0 -0
  55. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/core/utils/thread_safe_cache.py +0 -0
  56. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/core/utils/time.py +0 -0
  57. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/core/utils/types.py +0 -0
  58. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/embedding/__init__.py +0 -0
  59. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/embedding/base_embedding.py +0 -0
  60. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/embedding/huggingface_embedding.py +0 -0
  61. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/embedding/openai_embedding.py +0 -0
  62. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/evaluators/__init__.py +0 -0
  63. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/evaluators/conciseness_and_clarity_analyzer.py +0 -0
  64. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/evaluators/relevancy.py +0 -0
  65. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/kit/__init__.py +0 -0
  66. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/kit/graph.py +0 -0
  67. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/kit/nodes/__init__.py +0 -0
  68. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/kit/nodes/llm_chat_node.py +0 -0
  69. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/kit/nodes/llm_node.py +0 -0
  70. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/kit/nodes/llm_structured_node.py +0 -0
  71. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/kit/utils.py +0 -0
  72. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/llm/__init__.py +0 -0
  73. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/llm/base_llm.py +0 -0
  74. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/llm/gemini_llm.py +0 -0
  75. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/llm/ollama_llm.py +0 -0
  76. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/llm/openai_llm.py +0 -0
  77. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/llm/perplexity_llm.py +0 -0
  78. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/memory/__init__.py +0 -0
  79. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/memory/base_memory.py +0 -0
  80. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/memory/simple_memory.py +0 -0
  81. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/nlp/__init__.py +0 -0
  82. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/nlp/information_extraction/FactExtractor.py +0 -0
  83. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/nlp/ner/config/entity_rel_extraction.cfg +0 -0
  84. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/nlp/ner/config/fill-config.cfg +0 -0
  85. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/nlp/ner/ner.py +0 -0
  86. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/nlp/semantic_parser.py +0 -0
  87. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/nlp/spacy_summarizer.py +0 -0
  88. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/nlp/summarizer.py +0 -0
  89. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/nlp/vector_similarity_retriever.py +0 -0
  90. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/reader/__init__.py +0 -0
  91. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/reader/pdf.py +0 -0
  92. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/storage/__init__.py +0 -0
  93. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/storage/base_vector_db.py +0 -0
  94. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/storage/chroma_vector_db.py +0 -0
  95. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/storage/faiss_vector_db.py +0 -0
  96. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/tools/__init__.py +0 -0
  97. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/tools/scraper.py +0 -0
  98. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/tools/search/__init__.py +0 -0
  99. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/tools/search/arxiv.py +0 -0
  100. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/tools/search/pytrends.py +0 -0
  101. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/tools/search/vector_search_retrieval_engine.py +0 -0
  102. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/tools/search/wiki.py +0 -0
  103. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis/tools/search/yahoofinance.py +0 -0
  104. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/lumis.code-workspace +0 -0
  105. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/ruff.toml +0 -0
  106. {lumis_ai-0.1.1a2 → lumis_ai-0.1.1a4}/tests/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lumis-ai
3
- Version: 0.1.1a2
3
+ Version: 0.1.1a4
4
4
  Summary: An AI agent framework for building LLM-powered applications
5
5
  Project-URL: Homepage, https://github.com/tareksanger/lumis
6
6
  Project-URL: Repository, https://github.com/tareksanger/lumis
@@ -24,6 +24,7 @@ Requires-Dist: asgiref>=3.8.1
24
24
  Requires-Dist: beautifulsoup4>=4.12.0
25
25
  Requires-Dist: deepmerge>=2.0.0
26
26
  Requires-Dist: faiss-cpu>=1.7.0
27
+ Requires-Dist: google-genai>=1.61.0
27
28
  Requires-Dist: googlesearch-python>=1.2.0
28
29
  Requires-Dist: httpx>=0.27.0
29
30
  Requires-Dist: huggingface-hub>=0.24.0
@@ -31,7 +32,6 @@ Requires-Dist: langchain-core>=0.3.13
31
32
  Requires-Dist: langchain>=0.3.4
32
33
  Requires-Dist: lxml>=4.9.0
33
34
  Requires-Dist: minify-html>=0.11.0
34
- Requires-Dist: neo4j>=5.25.0
35
35
  Requires-Dist: nltk>=3.9.0
36
36
  Requires-Dist: numpy>=1.24
37
37
  Requires-Dist: ollama>=0.3.0
@@ -42,12 +42,11 @@ Requires-Dist: pymupdf>=1.22.0
42
42
  Requires-Dist: pypdf2>=3.0.0
43
43
  Requires-Dist: python-dateutil>=2.8.0
44
44
  Requires-Dist: pyvis>=0.3.0
45
- Requires-Dist: readability-lxml>=3.3.0
45
+ Requires-Dist: readability-lxml>=0.8.0
46
46
  Requires-Dist: redis>=5.0.0
47
47
  Requires-Dist: requests>=2.28.0
48
48
  Requires-Dist: scikit-learn>=1.0.0
49
49
  Requires-Dist: sentence-transformers>=2.2.2
50
- Requires-Dist: tavily-python>=0.3.0
51
50
  Requires-Dist: tenacity>=9.0.0
52
51
  Requires-Dist: textstat>=0.7.0
53
52
  Requires-Dist: tiktoken>=0.5.0
@@ -59,13 +58,11 @@ Provides-Extra: django
59
58
  Requires-Dist: django>=4.2; extra == 'django'
60
59
  Provides-Extra: search
61
60
  Requires-Dist: arxiv>=0.5.0; extra == 'search'
62
- Requires-Dist: pytrends>=5.1.0; extra == 'search'
61
+ Requires-Dist: pytrends>=4.5.0; extra == 'search'
62
+ Requires-Dist: tavily-python>=0.3.0; extra == 'search'
63
63
  Requires-Dist: yfinance>=0.2.0; extra == 'search'
64
64
  Provides-Extra: spacy
65
- Requires-Dist: coreferee-model-en>=1.0.0; extra == 'spacy'
66
- Requires-Dist: coreferee>=1.3.0; extra == 'spacy'
67
- Requires-Dist: en-core-web-lg<3.8.0,>=3.7.0; extra == 'spacy'
68
- Requires-Dist: en-core-web-trf<3.8.0,>=3.7.0; extra == 'spacy'
65
+ Requires-Dist: pytextrank>=3.2.0; extra == 'spacy'
69
66
  Requires-Dist: spacy-llm>=0.7.2; extra == 'spacy'
70
67
  Requires-Dist: spacy<3.8.0,>=3.7.0; extra == 'spacy'
71
68
  Description-Content-Type: text/markdown
@@ -7,8 +7,6 @@ from typing import Any, Optional
7
7
  from lumis.llm import Gemini
8
8
  from lumis.tools import WikipediaSearcher
9
9
  from lumis.tools.search.arxiv import ArxivResult, ArxivSearcher
10
-
11
- from arxiv import SortCriterion, SortOrder
12
10
  from tenacity import retry, retry_if_exception_type, stop_after_attempt, wait_exponential
13
11
 
14
12
  logger = logging.getLogger(__name__)
@@ -173,7 +171,8 @@ async def search_arxiv( # noqa: C901
173
171
  summary_semaphore = asyncio.Semaphore(4)
174
172
 
175
173
  try:
176
- # Convert string sort parameters to enums
174
+ from arxiv import SortCriterion, SortOrder
175
+
177
176
  sort_criterion = SortCriterion(sort_by)
178
177
  sort_order_enum = SortOrder(sort_order)
179
178
 
@@ -8,9 +8,16 @@ from typing import Literal, Optional, Sequence
8
8
 
9
9
  from googlesearch import search as google_search
10
10
  import redis.asyncio as aioredis
11
- from tavily import TavilyClient, UsageLimitExceededError
12
11
  from typing_extensions import TypedDict
13
12
 
13
+ try:
14
+ from tavili import TavilyClient, UsageLimitExceededError
15
+ except ImportError:
16
+ TavilyClient = None # type: ignore[assignment,misc]
17
+
18
+ class UsageLimitExceededError(Exception): # type: ignore[no-redef]
19
+ pass
20
+
14
21
  logger = logging.getLogger(__name__)
15
22
 
16
23
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "lumis-ai"
3
- version = "0.1.1a2"
3
+ version = "0.1.1a4"
4
4
  description = "An AI agent framework for building LLM-powered applications"
5
5
  readme = "README.md"
6
6
  license = "MIT"
@@ -33,7 +33,6 @@ dependencies = [
33
33
  "langchain-core>=0.3.13",
34
34
  "lxml>=4.9.0",
35
35
  "minify-html>=0.11.0",
36
- "neo4j>=5.25.0",
37
36
  "nltk>=3.9.0",
38
37
  "numpy>=1.24",
39
38
  "ollama>=0.3.0",
@@ -44,12 +43,11 @@ dependencies = [
44
43
  "pydantic>=2.9.2",
45
44
  "python-dateutil>=2.8.0",
46
45
  "pyvis>=0.3.0",
47
- "readability-lxml>=3.3.0",
46
+ "readability-lxml>=0.8.0",
48
47
  "redis>=5.0.0",
49
48
  "requests>=2.28.0",
50
49
  "scikit-learn>=1.0.0",
51
50
  "sentence-transformers>=2.2.2",
52
- "tavily-python>=0.3.0",
53
51
  "tenacity>=9.0.0",
54
52
  "textstat>=0.7.0",
55
53
  "tiktoken>=0.5.0",
@@ -57,6 +55,7 @@ dependencies = [
57
55
  "transformers>=4.0.0",
58
56
  "typing-extensions>=4.0.0",
59
57
  "wikipedia>=1.4.0",
58
+ "google-genai>=1.61.0",
60
59
  ]
61
60
 
62
61
  [project.optional-dependencies]
@@ -65,14 +64,12 @@ django = [
65
64
  ]
66
65
  search = [
67
66
  "arxiv>=0.5.0",
68
- "pytrends>=5.1.0",
67
+ "pytrends>=4.5.0",
68
+ "tavily-python>=0.3.0",
69
69
  "yfinance>=0.2.0",
70
70
  ]
71
71
  spacy = [
72
- "coreferee>=1.3.0",
73
- "coreferee-model-en>=1.0.0",
74
- "en-core-web-lg>=3.7.0,<3.8.0",
75
- "en-core-web-trf>=3.7.0,<3.8.0",
72
+ "pytextrank>=3.2.0",
76
73
  "spacy>=3.7.0,<3.8.0",
77
74
  "spacy-llm>=0.7.2",
78
75
  ]
@@ -96,8 +93,6 @@ dev = [
96
93
  torch = [
97
94
  { index = "pytorch", marker = "sys_platform != 'darwin'" },
98
95
  ]
99
- en-core-web-trf = { url = "https://github.com/explosion/spacy-models/releases/download/en_core_web_trf-3.7.1/en_core_web_trf-3.7.1-py3-none-any.whl" }
100
- en-core-web-lg = { url = "https://github.com/explosion/spacy-models/releases/download/en_core_web_lg-3.7.0/en_core_web_lg-3.7.0-py3-none-any.whl" }
101
96
 
102
97
  [[tool.uv.index]]
103
98
  name = "pytorch"