aria-ai 0.1.0__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 (257) hide show
  1. aria_ai-0.1.0/PKG-INFO +423 -0
  2. aria_ai-0.1.0/README.md +385 -0
  3. aria_ai-0.1.0/pyproject.toml +99 -0
  4. aria_ai-0.1.0/setup.cfg +4 -0
  5. aria_ai-0.1.0/src/aria/__init__.py +16 -0
  6. aria_ai-0.1.0/src/aria/agents/__init__.py +14 -0
  7. aria_ai-0.1.0/src/aria/agents/aria.py +93 -0
  8. aria_ai-0.1.0/src/aria/agents/instructions/__init__.py +83 -0
  9. aria_ai-0.1.0/src/aria/agents/instructions/tests/__init__.py +0 -0
  10. aria_ai-0.1.0/src/aria/agents/instructions/tests/test_load_agent_instructions.py +112 -0
  11. aria_ai-0.1.0/src/aria/agents/prompt_enhancer.py +135 -0
  12. aria_ai-0.1.0/src/aria/agents/tests/__init__.py +1 -0
  13. aria_ai-0.1.0/src/aria/agents/tests/test_worker.py +79 -0
  14. aria_ai-0.1.0/src/aria/agents/worker.py +76 -0
  15. aria_ai-0.1.0/src/aria/ax_cli/__init__.py +23 -0
  16. aria_ai-0.1.0/src/aria/ax_cli/app.py +132 -0
  17. aria_ai-0.1.0/src/aria/ax_cli/tests/__init__.py +1 -0
  18. aria_ai-0.1.0/src/aria/ax_cli/tests/test_ax_cli.py +92 -0
  19. aria_ai-0.1.0/src/aria/cli/__init__.py +73 -0
  20. aria_ai-0.1.0/src/aria/cli/check.py +369 -0
  21. aria_ai-0.1.0/src/aria/cli/config.py +479 -0
  22. aria_ai-0.1.0/src/aria/cli/dev.py +40 -0
  23. aria_ai-0.1.0/src/aria/cli/extras.py +420 -0
  24. aria_ai-0.1.0/src/aria/cli/knowledge.py +113 -0
  25. aria_ai-0.1.0/src/aria/cli/lightpanda.py +113 -0
  26. aria_ai-0.1.0/src/aria/cli/main.py +155 -0
  27. aria_ai-0.1.0/src/aria/cli/models.py +217 -0
  28. aria_ai-0.1.0/src/aria/cli/processes.py +195 -0
  29. aria_ai-0.1.0/src/aria/cli/server.py +682 -0
  30. aria_ai-0.1.0/src/aria/cli/system.py +315 -0
  31. aria_ai-0.1.0/src/aria/cli/tests/__init__.py +1 -0
  32. aria_ai-0.1.0/src/aria/cli/tests/test_aria_cli.py +82 -0
  33. aria_ai-0.1.0/src/aria/cli/tests/test_check.py +151 -0
  34. aria_ai-0.1.0/src/aria/cli/tests/test_extras.py +125 -0
  35. aria_ai-0.1.0/src/aria/cli/tests/test_server_cli.py +143 -0
  36. aria_ai-0.1.0/src/aria/cli/tests/test_system_cmd.py +60 -0
  37. aria_ai-0.1.0/src/aria/cli/users.py +381 -0
  38. aria_ai-0.1.0/src/aria/cli/vllm.py +131 -0
  39. aria_ai-0.1.0/src/aria/cli/web.py +196 -0
  40. aria_ai-0.1.0/src/aria/cli/worker/__init__.py +271 -0
  41. aria_ai-0.1.0/src/aria/cli/worker/_runner.py +141 -0
  42. aria_ai-0.1.0/src/aria/cli/worker/tests/__init__.py +1 -0
  43. aria_ai-0.1.0/src/aria/cli/worker/tests/test_worker_helpers.py +70 -0
  44. aria_ai-0.1.0/src/aria/config/__init__.py +94 -0
  45. aria_ai-0.1.0/src/aria/config/api.py +165 -0
  46. aria_ai-0.1.0/src/aria/config/database.py +19 -0
  47. aria_ai-0.1.0/src/aria/config/folders.py +105 -0
  48. aria_ai-0.1.0/src/aria/config/huggingface.py +30 -0
  49. aria_ai-0.1.0/src/aria/config/models.py +119 -0
  50. aria_ai-0.1.0/src/aria/config/service.py +13 -0
  51. aria_ai-0.1.0/src/aria/db/__init__.py +45 -0
  52. aria_ai-0.1.0/src/aria/db/auth.py +72 -0
  53. aria_ai-0.1.0/src/aria/db/layer.py +438 -0
  54. aria_ai-0.1.0/src/aria/db/local_storage_client.py +199 -0
  55. aria_ai-0.1.0/src/aria/db/models.py +198 -0
  56. aria_ai-0.1.0/src/aria/db/tests/__init__.py +1 -0
  57. aria_ai-0.1.0/src/aria/db/tests/conftest.py +359 -0
  58. aria_ai-0.1.0/src/aria/db/tests/test_auth_integration.py +137 -0
  59. aria_ai-0.1.0/src/aria/db/tests/test_json_helpers.py +246 -0
  60. aria_ai-0.1.0/src/aria/db/tests/test_local_storage_client.py +364 -0
  61. aria_ai-0.1.0/src/aria/db/tests/test_models.py +438 -0
  62. aria_ai-0.1.0/src/aria/db/tests/test_sqlite_data_layer.py +592 -0
  63. aria_ai-0.1.0/src/aria/db/tests/test_storage_integration.py +256 -0
  64. aria_ai-0.1.0/src/aria/gui/__init__.py +78 -0
  65. aria_ai-0.1.0/src/aria/gui/dialogs/__init__.py +6 -0
  66. aria_ai-0.1.0/src/aria/gui/dialogs/about.py +24 -0
  67. aria_ai-0.1.0/src/aria/gui/dialogs/edit_user.py +62 -0
  68. aria_ai-0.1.0/src/aria/gui/stylesheet.py +677 -0
  69. aria_ai-0.1.0/src/aria/gui/tray.py +81 -0
  70. aria_ai-0.1.0/src/aria/gui/ui/__init__.py +0 -0
  71. aria_ai-0.1.0/src/aria/gui/ui/aboutwindow.py +117 -0
  72. aria_ai-0.1.0/src/aria/gui/ui/edituserdialog.py +126 -0
  73. aria_ai-0.1.0/src/aria/gui/ui/mainwindow.py +866 -0
  74. aria_ai-0.1.0/src/aria/gui/windows/__init__.py +5 -0
  75. aria_ai-0.1.0/src/aria/gui/windows/main_window.py +526 -0
  76. aria_ai-0.1.0/src/aria/gui/windows/server_handlers.py +476 -0
  77. aria_ai-0.1.0/src/aria/gui/windows/user_handlers.py +233 -0
  78. aria_ai-0.1.0/src/aria/gui/wizard.py +726 -0
  79. aria_ai-0.1.0/src/aria/helpers/__init__.py +0 -0
  80. aria_ai-0.1.0/src/aria/helpers/dotenv.py +69 -0
  81. aria_ai-0.1.0/src/aria/helpers/memory.py +107 -0
  82. aria_ai-0.1.0/src/aria/helpers/network.py +51 -0
  83. aria_ai-0.1.0/src/aria/helpers/nvidia.py +774 -0
  84. aria_ai-0.1.0/src/aria/helpers/tests/test_calculate_max_safe_context.py +412 -0
  85. aria_ai-0.1.0/src/aria/helpers/tests/test_dotenv.py +66 -0
  86. aria_ai-0.1.0/src/aria/helpers/tests/test_nvidia.py +1472 -0
  87. aria_ai-0.1.0/src/aria/helpers/tests/test_nvidia_integration.py +325 -0
  88. aria_ai-0.1.0/src/aria/helpers/ui.py +78 -0
  89. aria_ai-0.1.0/src/aria/initializer.py +154 -0
  90. aria_ai-0.1.0/src/aria/llm/__init__.py +41 -0
  91. aria_ai-0.1.0/src/aria/llm/_compress.py +319 -0
  92. aria_ai-0.1.0/src/aria/llm/_factory.py +185 -0
  93. aria_ai-0.1.0/src/aria/llm/_sanitize.py +391 -0
  94. aria_ai-0.1.0/src/aria/llm/_state.py +395 -0
  95. aria_ai-0.1.0/src/aria/llm/_utils.py +149 -0
  96. aria_ai-0.1.0/src/aria/llm/tests/__init__.py +0 -0
  97. aria_ai-0.1.0/src/aria/llm/tests/test_compress.py +377 -0
  98. aria_ai-0.1.0/src/aria/preflight.py +772 -0
  99. aria_ai-0.1.0/src/aria/scripts/__init__.py +9 -0
  100. aria_ai-0.1.0/src/aria/scripts/lightpanda.py +214 -0
  101. aria_ai-0.1.0/src/aria/scripts/tests/__init__.py +1 -0
  102. aria_ai-0.1.0/src/aria/scripts/tests/test_vllm_install.py +133 -0
  103. aria_ai-0.1.0/src/aria/scripts/vllm.py +211 -0
  104. aria_ai-0.1.0/src/aria/server/__init__.py +28 -0
  105. aria_ai-0.1.0/src/aria/server/manager.py +470 -0
  106. aria_ai-0.1.0/src/aria/server/process_utils.py +153 -0
  107. aria_ai-0.1.0/src/aria/server/tests/__init__.py +0 -0
  108. aria_ai-0.1.0/src/aria/server/tests/test_server_manager.py +49 -0
  109. aria_ai-0.1.0/src/aria/server/tests/test_vllm_health.py +110 -0
  110. aria_ai-0.1.0/src/aria/server/tests/test_vllm_server.py +313 -0
  111. aria_ai-0.1.0/src/aria/server/vllm.py +794 -0
  112. aria_ai-0.1.0/src/aria/tests/__init__.py +0 -0
  113. aria_ai-0.1.0/src/aria/tests/test_path_augmentation.py +120 -0
  114. aria_ai-0.1.0/src/aria/tests/test_preflight_extras.py +272 -0
  115. aria_ai-0.1.0/src/aria/tests/test_remote_mode.py +78 -0
  116. aria_ai-0.1.0/src/aria/tests/test_workflow_state.py +306 -0
  117. aria_ai-0.1.0/src/aria/tools/__init__.py +38 -0
  118. aria_ai-0.1.0/src/aria/tools/ax/__init__.py +9 -0
  119. aria_ai-0.1.0/src/aria/tools/ax/dispatcher.py +413 -0
  120. aria_ai-0.1.0/src/aria/tools/ax/exceptions.py +5 -0
  121. aria_ai-0.1.0/src/aria/tools/ax/tests/__init__.py +0 -0
  122. aria_ai-0.1.0/src/aria/tools/ax/tests/test_dispatcher.py +187 -0
  123. aria_ai-0.1.0/src/aria/tools/browser/__init__.py +30 -0
  124. aria_ai-0.1.0/src/aria/tools/browser/constants.py +24 -0
  125. aria_ai-0.1.0/src/aria/tools/browser/exceptions.py +45 -0
  126. aria_ai-0.1.0/src/aria/tools/browser/functions.py +156 -0
  127. aria_ai-0.1.0/src/aria/tools/browser/manager.py +691 -0
  128. aria_ai-0.1.0/src/aria/tools/browser/tests/conftest.py +17 -0
  129. aria_ai-0.1.0/src/aria/tools/browser/tests/test_lightpanda_live.py +196 -0
  130. aria_ai-0.1.0/src/aria/tools/browser/tests/test_manager.py +282 -0
  131. aria_ai-0.1.0/src/aria/tools/constants.py +62 -0
  132. aria_ai-0.1.0/src/aria/tools/database.py +73 -0
  133. aria_ai-0.1.0/src/aria/tools/decorators.py +155 -0
  134. aria_ai-0.1.0/src/aria/tools/development/__init__.py +5 -0
  135. aria_ai-0.1.0/src/aria/tools/development/_internals.py +416 -0
  136. aria_ai-0.1.0/src/aria/tools/development/constants.py +21 -0
  137. aria_ai-0.1.0/src/aria/tools/development/decorators.py +127 -0
  138. aria_ai-0.1.0/src/aria/tools/development/exceptions.py +48 -0
  139. aria_ai-0.1.0/src/aria/tools/development/python.py +271 -0
  140. aria_ai-0.1.0/src/aria/tools/development/tests/test_argv_handling.py +89 -0
  141. aria_ai-0.1.0/src/aria/tools/development/tests/test_development_decorators.py +434 -0
  142. aria_ai-0.1.0/src/aria/tools/development/tests/test_internals.py +609 -0
  143. aria_ai-0.1.0/src/aria/tools/development/tests/test_python_runner.py +277 -0
  144. aria_ai-0.1.0/src/aria/tools/errors.py +15 -0
  145. aria_ai-0.1.0/src/aria/tools/files/__init__.py +50 -0
  146. aria_ai-0.1.0/src/aria/tools/files/_internals.py +310 -0
  147. aria_ai-0.1.0/src/aria/tools/files/_responses.py +46 -0
  148. aria_ai-0.1.0/src/aria/tools/files/constants.py +84 -0
  149. aria_ai-0.1.0/src/aria/tools/files/decorators.py +140 -0
  150. aria_ai-0.1.0/src/aria/tools/files/exceptions.py +47 -0
  151. aria_ai-0.1.0/src/aria/tools/files/file_management.py +173 -0
  152. aria_ai-0.1.0/src/aria/tools/files/tests/test_behavioral_contract.py +189 -0
  153. aria_ai-0.1.0/src/aria/tools/files/tests/test_decorators.py +136 -0
  154. aria_ai-0.1.0/src/aria/tools/files/tests/test_file_internals.py +679 -0
  155. aria_ai-0.1.0/src/aria/tools/files/tests/test_file_management.py +64 -0
  156. aria_ai-0.1.0/src/aria/tools/files/tests/test_unified_read.py +246 -0
  157. aria_ai-0.1.0/src/aria/tools/files/tests/test_write_operations.py +258 -0
  158. aria_ai-0.1.0/src/aria/tools/files/unified_read.py +833 -0
  159. aria_ai-0.1.0/src/aria/tools/files/write_operations.py +368 -0
  160. aria_ai-0.1.0/src/aria/tools/http/__init__.py +5 -0
  161. aria_ai-0.1.0/src/aria/tools/http/functions.py +124 -0
  162. aria_ai-0.1.0/src/aria/tools/http/tests/__init__.py +0 -0
  163. aria_ai-0.1.0/src/aria/tools/http/tests/test_http.py +75 -0
  164. aria_ai-0.1.0/src/aria/tools/imdb/__init__.py +26 -0
  165. aria_ai-0.1.0/src/aria/tools/imdb/constants.py +44 -0
  166. aria_ai-0.1.0/src/aria/tools/imdb/exceptions.py +43 -0
  167. aria_ai-0.1.0/src/aria/tools/imdb/functions.py +521 -0
  168. aria_ai-0.1.0/src/aria/tools/imdb/tests/__init__.py +1 -0
  169. aria_ai-0.1.0/src/aria/tools/imdb/tests/test_imdb_functions.py +636 -0
  170. aria_ai-0.1.0/src/aria/tools/knowledge/__init__.py +5 -0
  171. aria_ai-0.1.0/src/aria/tools/knowledge/database.py +220 -0
  172. aria_ai-0.1.0/src/aria/tools/knowledge/functions.py +333 -0
  173. aria_ai-0.1.0/src/aria/tools/knowledge/models.py +43 -0
  174. aria_ai-0.1.0/src/aria/tools/knowledge/tests/__init__.py +0 -0
  175. aria_ai-0.1.0/src/aria/tools/knowledge/tests/test_knowledge.py +206 -0
  176. aria_ai-0.1.0/src/aria/tools/models.py +58 -0
  177. aria_ai-0.1.0/src/aria/tools/planner/__init__.py +5 -0
  178. aria_ai-0.1.0/src/aria/tools/planner/database.py +401 -0
  179. aria_ai-0.1.0/src/aria/tools/planner/functions.py +994 -0
  180. aria_ai-0.1.0/src/aria/tools/planner/models.py +79 -0
  181. aria_ai-0.1.0/src/aria/tools/planner/registry.py +39 -0
  182. aria_ai-0.1.0/src/aria/tools/planner/tests/__init__.py +1 -0
  183. aria_ai-0.1.0/src/aria/tools/planner/tests/conftest.py +22 -0
  184. aria_ai-0.1.0/src/aria/tools/planner/tests/test_planner_functions.py +389 -0
  185. aria_ai-0.1.0/src/aria/tools/process/__init__.py +5 -0
  186. aria_ai-0.1.0/src/aria/tools/process/functions.py +686 -0
  187. aria_ai-0.1.0/src/aria/tools/process/tests/__init__.py +0 -0
  188. aria_ai-0.1.0/src/aria/tools/process/tests/test_process.py +485 -0
  189. aria_ai-0.1.0/src/aria/tools/reasoning/__init__.py +13 -0
  190. aria_ai-0.1.0/src/aria/tools/reasoning/constants.py +57 -0
  191. aria_ai-0.1.0/src/aria/tools/reasoning/database.py +426 -0
  192. aria_ai-0.1.0/src/aria/tools/reasoning/functions.py +504 -0
  193. aria_ai-0.1.0/src/aria/tools/reasoning/models.py +248 -0
  194. aria_ai-0.1.0/src/aria/tools/reasoning/registry.py +85 -0
  195. aria_ai-0.1.0/src/aria/tools/reasoning/session.py +516 -0
  196. aria_ai-0.1.0/src/aria/tools/reasoning/tests/test_reasoning_functions.py +485 -0
  197. aria_ai-0.1.0/src/aria/tools/reasoning/tests/test_reasoning_session.py +300 -0
  198. aria_ai-0.1.0/src/aria/tools/registry.py +385 -0
  199. aria_ai-0.1.0/src/aria/tools/retry.py +76 -0
  200. aria_ai-0.1.0/src/aria/tools/schemas.py +337 -0
  201. aria_ai-0.1.0/src/aria/tools/scratchpad/__init__.py +5 -0
  202. aria_ai-0.1.0/src/aria/tools/scratchpad/database.py +180 -0
  203. aria_ai-0.1.0/src/aria/tools/scratchpad/functions.py +229 -0
  204. aria_ai-0.1.0/src/aria/tools/scratchpad/tests/__init__.py +0 -0
  205. aria_ai-0.1.0/src/aria/tools/scratchpad/tests/test_scratchpad.py +279 -0
  206. aria_ai-0.1.0/src/aria/tools/search/__init__.py +21 -0
  207. aria_ai-0.1.0/src/aria/tools/search/_download_internals.py +469 -0
  208. aria_ai-0.1.0/src/aria/tools/search/_url_classifier.py +124 -0
  209. aria_ai-0.1.0/src/aria/tools/search/constants.py +81 -0
  210. aria_ai-0.1.0/src/aria/tools/search/download.py +132 -0
  211. aria_ai-0.1.0/src/aria/tools/search/duckduckgo.py +132 -0
  212. aria_ai-0.1.0/src/aria/tools/search/exceptions.py +33 -0
  213. aria_ai-0.1.0/src/aria/tools/search/finance.py +494 -0
  214. aria_ai-0.1.0/src/aria/tools/search/searxng.py +291 -0
  215. aria_ai-0.1.0/src/aria/tools/search/tests/test_download.py +665 -0
  216. aria_ai-0.1.0/src/aria/tools/search/tests/test_duckduckgo.py +280 -0
  217. aria_ai-0.1.0/src/aria/tools/search/tests/test_finance.py +663 -0
  218. aria_ai-0.1.0/src/aria/tools/search/tests/test_url_classifier.py +261 -0
  219. aria_ai-0.1.0/src/aria/tools/search/tests/test_weather.py +70 -0
  220. aria_ai-0.1.0/src/aria/tools/search/weather.py +169 -0
  221. aria_ai-0.1.0/src/aria/tools/search/web_search.py +86 -0
  222. aria_ai-0.1.0/src/aria/tools/search/youtube.py +165 -0
  223. aria_ai-0.1.0/src/aria/tools/shell/__init__.py +7 -0
  224. aria_ai-0.1.0/src/aria/tools/shell/constants.py +66 -0
  225. aria_ai-0.1.0/src/aria/tools/shell/exceptions.py +38 -0
  226. aria_ai-0.1.0/src/aria/tools/shell/execution.py +172 -0
  227. aria_ai-0.1.0/src/aria/tools/shell/functions.py +260 -0
  228. aria_ai-0.1.0/src/aria/tools/shell/tests/__init__.py +1 -0
  229. aria_ai-0.1.0/src/aria/tools/shell/tests/test_platform_detection.py +72 -0
  230. aria_ai-0.1.0/src/aria/tools/shell/tests/test_shell_functions.py +406 -0
  231. aria_ai-0.1.0/src/aria/tools/shell/tests/test_validation.py +202 -0
  232. aria_ai-0.1.0/src/aria/tools/shell/validation.py +122 -0
  233. aria_ai-0.1.0/src/aria/tools/tests/test_contract_verification.py +128 -0
  234. aria_ai-0.1.0/src/aria/tools/tests/test_registry.py +50 -0
  235. aria_ai-0.1.0/src/aria/tools/tests/test_registry_slim.py +131 -0
  236. aria_ai-0.1.0/src/aria/tools/tests/test_tool_schemas.py +115 -0
  237. aria_ai-0.1.0/src/aria/tools/tests/test_utils.py +124 -0
  238. aria_ai-0.1.0/src/aria/tools/utils.py +248 -0
  239. aria_ai-0.1.0/src/aria/tools/worker/__init__.py +4 -0
  240. aria_ai-0.1.0/src/aria/tools/worker/functions.py +365 -0
  241. aria_ai-0.1.0/src/aria/web/__init__.py +12 -0
  242. aria_ai-0.1.0/src/aria/web/hooks.py +154 -0
  243. aria_ai-0.1.0/src/aria/web/lifecycle.py +489 -0
  244. aria_ai-0.1.0/src/aria/web/message_pipeline.py +308 -0
  245. aria_ai-0.1.0/src/aria/web/session.py +231 -0
  246. aria_ai-0.1.0/src/aria/web/state.py +102 -0
  247. aria_ai-0.1.0/src/aria/web/tests/test_lifecycle.py +45 -0
  248. aria_ai-0.1.0/src/aria/web/tests/test_message_pipeline.py +262 -0
  249. aria_ai-0.1.0/src/aria/web/tests/test_session.py +276 -0
  250. aria_ai-0.1.0/src/aria/web/tests/test_state.py +137 -0
  251. aria_ai-0.1.0/src/aria/web_ui.py +54 -0
  252. aria_ai-0.1.0/src/aria_ai.egg-info/PKG-INFO +423 -0
  253. aria_ai-0.1.0/src/aria_ai.egg-info/SOURCES.txt +255 -0
  254. aria_ai-0.1.0/src/aria_ai.egg-info/dependency_links.txt +1 -0
  255. aria_ai-0.1.0/src/aria_ai.egg-info/entry_points.txt +4 -0
  256. aria_ai-0.1.0/src/aria_ai.egg-info/requires.txt +32 -0
  257. aria_ai-0.1.0/src/aria_ai.egg-info/top_level.txt +1 -0
aria_ai-0.1.0/PKG-INFO ADDED
@@ -0,0 +1,423 @@
1
+ Metadata-Version: 2.4
2
+ Name: aria-ai
3
+ Version: 0.1.0
4
+ Summary: Aria - AI Assistant with web UI, CLI management, and local LLM support
5
+ Author-email: Malvavisc0 <207609879+malvavisc0@users.noreply.github.com>
6
+ Requires-Python: >=3.12
7
+ Description-Content-Type: text/markdown
8
+ Requires-Dist: chainlit
9
+ Requires-Dist: chromadb
10
+ Requires-Dist: ddgs
11
+ Requires-Dist: markdownify
12
+ Requires-Dist: httpx
13
+ Requires-Dist: huggingface-hub
14
+ Requires-Dist: imdbinfo
15
+ Requires-Dist: langfuse
16
+ Requires-Dist: llama-index
17
+ Requires-Dist: llama-index-embeddings-openai-like
18
+ Requires-Dist: llama-index-instrumentation
19
+ Requires-Dist: llama-index-llms-openrouter
20
+ Requires-Dist: llama-index-vector-stores-chroma
21
+ Requires-Dist: loguru
22
+ Requires-Dist: markitdown
23
+ Requires-Dist: openinference-instrumentation-llama-index
24
+ Requires-Dist: playwright
25
+ Requires-Dist: pydantic
26
+ Requires-Dist: pillow
27
+ Requires-Dist: pypdfium2
28
+ Requires-Dist: python-dotenv
29
+ Requires-Dist: sqlalchemy
30
+ Requires-Dist: typer
31
+ Requires-Dist: yfinance
32
+ Requires-Dist: youtube-transcript-api
33
+ Requires-Dist: llama-index-embeddings-huggingface
34
+ Provides-Extra: gui
35
+ Requires-Dist: pyside6; extra == "gui"
36
+ Provides-Extra: vllm
37
+ Requires-Dist: vllm>=0.20.0; extra == "vllm"
38
+
39
+ <div align="center">
40
+
41
+ # ๐Ÿง  Aria
42
+
43
+ **Your local AI assistant with a unified tool-driven architecture**
44
+
45
+ [![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.python.org/downloads/)
46
+ [![CI](https://github.com/malvavisc0/aria/actions/workflows/ci.yml/badge.svg)](https://github.com/malvavisc0/aria/actions/workflows/ci.yml)
47
+ [![PyPI](https://img.shields.io/pypi/v/aria-ai)](https://pypi.org/project/aria-ai/)
48
+ [![Docker](https://img.shields.io/badge/docker-ghcr.io%2Fmalvavisc0%2Faria-2496ED?logo=docker&logoColor=white)](https://github.com/malvavisc0/aria/pkgs/container/aria)
49
+ [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
50
+ [![Code style: ruff](https://img.shields.io/badge/code%20style-ruff-000000.svg)](https://github.com/astral-sh/ruff)
51
+
52
+ *Run a local AI assistant with a web UI, CLI, and desktop GUI*
53
+
54
+ </div>
55
+
56
+ <div align="center">
57
+ <img src="screenshot.png" alt="Aria Screenshot" width="80%">
58
+ </div>
59
+
60
+ ---
61
+
62
+ ## โœจ Features
63
+
64
+ | | Feature | Description |
65
+ |:--|:--------|:------------|
66
+ | ๐ŸŽฏ | **Unified Tool Architecture** | 7 categories, 33 tools managed by a centralized registry |
67
+ | ๐Ÿ–ฅ๏ธ | **Multiple Interfaces** | Web UI, CLI, and native PySide6 desktop GUI |
68
+ | ๐Ÿค– | **Local LLM Support** | Run models locally with vLLM (GPU-accelerated inference with GPTQ/AWQ quantization) |
69
+ | ๐ŸŒ | **Browser Automation** | Lightpanda headless browser with CDP/Playwright support |
70
+ | ๐Ÿ”’ | **Privacy First** | Your data stays on your machine |
71
+ | ๐ŸŒ | **Web Research** | Search, weather, finance, and more |
72
+ | ๐Ÿ’ป | **Code Execution** | Safe Python sandbox and shell commands |
73
+ | ๐Ÿ“Š | **Knowledge & Planning** | Persistent knowledge store, structured reasoning, task planning |
74
+ | ๐Ÿ‘ท | **Worker Agents** | Background workers for heavy tasks (research, code generation, analysis) |
75
+ | ๐Ÿ”ง | **CLI Tool Commands** | Domain-specific CLI commands for search, finance, IMDb, and more |
76
+ | ๐Ÿ”ฌ | **Model Fine-Tuning** | LoRA/QLoRA fine-tuning with CLI-driven workflows |
77
+
78
+ ---
79
+
80
+ ## ๐Ÿš€ Quick Start
81
+
82
+ ### Option A โ€” Run from source
83
+
84
+ ```bash
85
+ git clone git@github.com:malvavisc0/aria.git
86
+ cd aria
87
+ uv sync
88
+ aria server run
89
+ # โ†’ Open http://localhost:9876
90
+ ```
91
+
92
+ ### Option B โ€” Install from PyPI
93
+
94
+ ```bash
95
+ pip install aria-ai
96
+ aria server run
97
+ # โ†’ Open http://localhost:9876
98
+ ```
99
+
100
+ ### Option C โ€” Docker (GPU required)
101
+
102
+ ```bash
103
+ docker run -p 9876:9876 -v ./data:/app/data ghcr.io/malvavisc0/aria:latest
104
+ # โ†’ Open http://localhost:9876
105
+ ```
106
+
107
+ ### Option D โ€” Desktop GUI
108
+
109
+ ```bash
110
+ pip install aria-ai[gui]
111
+ aria-gui
112
+ ```
113
+
114
+ Or download the standalone binary for your platform from the [latest release](https://github.com/malvavisc0/aria/releases/latest):
115
+
116
+ | Platform | File |
117
+ |----------|------|
118
+ | ๐Ÿง Linux | `Aria-x86_64.AppImage` |
119
+ | ๐ŸชŸ Windows | `Aria-Windows-x86_64.zip` |
120
+ | ๐ŸŽ macOS (Apple Silicon) | `Aria-macOS-arm64.zip` |
121
+
122
+ ---
123
+
124
+ ## ๐Ÿค– Agent System
125
+
126
+ Aria uses a **tool-first architecture** centered around one primary agent with a centralized tool registry. Tools are organized into always-loaded core capabilities and on-demand domain tools that load when needed. Heavy tasks are delegated to background **worker agents**.
127
+
128
+ ### How It Works
129
+
130
+ ```
131
+ User Request โ†’ Aria โ†’ Registry-selected tools โ†’ Response
132
+ โ†“ (heavy tasks)
133
+ Worker Agent โ†’ Background execution โ†’ Result file
134
+ ```
135
+
136
+ Aria evaluates each request, keeps core capabilities available by default, and pulls in domain-specific tools only when the task requires them. Tasks requiring 5+ tool calls are automatically delegated to worker agents that run in the background.
137
+
138
+ ---
139
+
140
+ ## ๐Ÿ› ๏ธ Tools
141
+
142
+ Tools are organized into **7 categories** (33 tools) managed by a centralized registry. Core and file tools are always available; domain tools load on demand.
143
+
144
+ | Category | Loading | Tools |
145
+ |:---------|:--------|:------|
146
+ | ๐Ÿง  **Core** | Always | reasoning, plan, knowledge, scratchpad, web_search, download, weather, shell |
147
+ | ๐Ÿ“ **Files** | Always | read_file, write_file, edit_file, file_info, list_files, search_files, copy_file, delete_file, rename_file |
148
+ | ๐ŸŒ **Browser** | On-demand | open_url, browser_click |
149
+ | ๐Ÿ **Development** | On-demand | python |
150
+ | ๐Ÿ“Š **Finance** | On-demand | fetch_current_stock_price, fetch_company_information, fetch_ticker_news |
151
+ | ๐ŸŽฌ **Entertainment** | On-demand | search_imdb_titles, get_movie_details, get_person_details, get_person_filmography, get_all_series_episodes, get_movie_reviews, get_movie_trivia, get_youtube_video_transcription |
152
+ | ๐Ÿ–ฅ๏ธ **System** | On-demand | http_request, process |
153
+
154
+ Domain tools are also accessible via CLI commands through `ax` (e.g., `ax web search`, `ax knowledge store`, `ax dev run`).
155
+
156
+ For the full inventory with parameter reference, see [`docs/tools-inventory.md`](docs/tools-inventory.md).
157
+
158
+ ---
159
+
160
+ ## ๐Ÿ“ฆ Installation
161
+
162
+ ### Prerequisites
163
+
164
+ - **GPU with 8 GB+ VRAM** (minimum; 12 GB+ recommended)
165
+ - **16 GB+ system RAM**
166
+ - Python 3.12 or higher
167
+ - `uv` package manager (recommended)
168
+ - Git
169
+
170
+ > See [`docs/memory-requirements.md`](docs/memory-requirements.md) for detailed VRAM/RAM breakdown per model.
171
+
172
+ ### Install
173
+
174
+ ```bash
175
+ # Clone the repository
176
+ git clone git@github.com:malvavisc0/aria.git
177
+ cd aria
178
+
179
+ # Install dependencies
180
+ uv sync
181
+
182
+ # Or with GUI support
183
+ uv sync --extra gui
184
+ ```
185
+
186
+ ### First Run
187
+
188
+ On first launch, Aria automatically:
189
+ - Creates `.env` configuration with generated auth secrets
190
+ - Sets up the SQLite database
191
+ - Creates required directories
192
+
193
+ ```bash
194
+ ax check preflight # Verify installation
195
+ aria server run # Start the web server
196
+ ```
197
+
198
+ ---
199
+
200
+ ## ๐Ÿ’ป CLI Commands
201
+
202
+ Aria ships with two CLI entry points:
203
+
204
+ | CLI | Purpose | Commands |
205
+ |:----|:--------|:---------|
206
+ | `aria` | Management CLI | Server, users, models, vLLM, config, system, Lightpanda |
207
+ | `ax` | Agent Experience CLI | Web, knowledge, dev, worker, processes, check |
208
+
209
+ ### `aria` โ€” Management CLI
210
+
211
+ Human-facing commands for infrastructure and system management.
212
+
213
+ ```bash
214
+ # Server management
215
+ aria server run # Run in foreground
216
+ aria server start # Start in background
217
+ aria server stop # Stop the server
218
+ aria server status # Check status
219
+
220
+ # Inference engine
221
+ aria vllm install # Install vLLM with auto-detected hardware target
222
+ aria vllm status # Check vLLM installation status and version
223
+ aria vllm info # Show vLLM configuration details
224
+
225
+ # Browser
226
+ aria lightpanda download # Download Lightpanda headless browser
227
+ aria lightpanda status # Check Lightpanda installation
228
+
229
+ # Model management
230
+ aria models download # Download a model from Hugging Face
231
+ aria models list # List downloaded models
232
+ aria models memory # Show model memory requirements
233
+
234
+ # User management
235
+ aria users list # List users
236
+ aria users add # Add new user
237
+ aria users reset-password # Reset user password
238
+ aria users update # Update user details
239
+ aria users delete # Delete a user
240
+
241
+ # System info
242
+ aria system info # Full system overview
243
+ aria system gpu # GPU information
244
+ aria system vram # VRAM details
245
+ aria system context # Calculate max context size
246
+
247
+ # Configuration
248
+ aria config show # Show current config
249
+ aria config paths # Show configured paths
250
+ aria config database # Show database info
251
+ aria config api # Show API endpoints
252
+ ```
253
+
254
+ ### `ax` โ€” Agent Experience CLI
255
+
256
+ Agent-facing commands for research, knowledge, code execution, and workflow management.
257
+
258
+ ```bash
259
+ # Web & research
260
+ ax web search "query" # Web search
261
+ ax web fetch "url" # Fetch URL content
262
+ ax web weather "city" # Weather forecast
263
+
264
+ # Knowledge
265
+ ax knowledge store "key" "v" # Store a fact
266
+ ax knowledge recall "key" # Retrieve a fact
267
+ ax knowledge search "query" # Search stored facts
268
+
269
+ # Development
270
+ ax dev run "code" # Execute Python code
271
+
272
+ # Workers
273
+ ax worker spawn --prompt "..." # Launch background worker
274
+ ax worker list # List workers
275
+
276
+ # Processes & checks
277
+ ax processes list # List background processes
278
+ ax check preflight # Verify installation
279
+ ```
280
+
281
+ ---
282
+
283
+ ## ๐Ÿ–ฅ๏ธ GUI Application
284
+
285
+ ```bash
286
+ aria-gui # Launch desktop application (requires: uv sync --extra gui)
287
+ ```
288
+
289
+ The native PySide6 desktop GUI provides:
290
+
291
+ | Tab | Features |
292
+ |:----|:---------|
293
+ | **Overview** | System status, database info, API endpoints, debug log viewer |
294
+ | **Setup** | Install vLLM, download models from Hugging Face, and manage Lightpanda browser โ€” with real-time output and cancel support |
295
+ | **Users** | Create, edit, delete users with password strength validation |
296
+ | **Settings** | Configure model paths, API URLs, and service parameters |
297
+ | **Logs** | View application logs with search, level filtering, and auto-refresh |
298
+
299
+ Additional features:
300
+ - **System tray** โ€” minimizes to tray on close; force-quit via menu or Ctrl+Q
301
+ - **First-run wizard** โ€” guided setup on first launch
302
+ - **Responsive layout** โ€” adapts to window size
303
+ - **Preflight checks** โ€” validates configuration on tab switch
304
+
305
+ ---
306
+
307
+ ## ๐ŸŒ Web UI
308
+
309
+ After starting the server, access the web interface at `http://localhost:9876`
310
+
311
+ The web UI is powered by [Chainlit](https://github.com/Chainlit/chainlit) and provides a chat interface to interact with Aria.
312
+
313
+ ---
314
+
315
+ ## ๐Ÿณ Docker
316
+
317
+ ### Quick start
318
+
319
+ ```bash
320
+ # NVIDIA / CUDA
321
+ docker run -p 9876:9876 -v ./data:/app/data ghcr.io/malvavisc0/aria:latest
322
+
323
+ # AMD / ROCm
324
+ docker run -p 9876:9876 -v ./data:/app/data ghcr.io/malvavisc0/aria-rocm:latest
325
+ ```
326
+
327
+ ### Docker Compose
328
+
329
+ ```bash
330
+ # Copy and configure environment
331
+ cp .env.example .env
332
+
333
+ # NVIDIA / CUDA
334
+ docker compose up -d
335
+
336
+ # AMD / ROCm
337
+ docker compose --profile rocm up -d aria-rocm
338
+ ```
339
+
340
+ | Image | Base | GPU |
341
+ |-------|------|-----|
342
+ | `ghcr.io/malvavisc0/aria:latest` | vLLM (CUDA/CPU) | NVIDIA |
343
+ | `ghcr.io/malvavisc0/aria-rocm:latest` | vLLM (ROCm) | AMD |
344
+
345
+ ---
346
+
347
+ ## โš™๏ธ Configuration
348
+
349
+ Aria uses environment variables stored in `.env`:
350
+
351
+ ```bash
352
+ # Runtime data lives under ~/.aria (override with ARIA_HOME)
353
+ #ARIA_HOME=~/.aria
354
+ CHAINLIT_AUTH_SECRET=<auto-generated>
355
+
356
+ # Chat model (served by vLLM)
357
+ CHAT_MODEL = Granite-4.1-8B
358
+ CHAT_MODEL_PATH = ethanhunt3/Granite-4.1-8B-GPTQ-INT4
359
+ CHAT_CONTEXT_SIZE = 32768
360
+
361
+ # Embeddings model (loaded in-process via HuggingFace)
362
+ EMBEDDINGS_MODEL = granite-embedding-311m-multilingual-r2
363
+ EMBED_MODEL_PATH = ibm-granite/granite-embedding-311m-multilingual-r2
364
+
365
+ # vLLM engine
366
+ ARIA_VLLM_QUANT = gptq_marlin
367
+ ARIA_VLLM_GPU_MEMORY_UTILIZATION = 0.85
368
+ ```
369
+
370
+ <details>
371
+ <summary>๐Ÿ“ Directory Structure</summary>
372
+
373
+ ```
374
+ ~/.aria/ # Runtime data root (ARIA_HOME)
375
+ โ”œโ”€โ”€ workspace/ # Agent-facing workspace (file tools)
376
+ โ”œโ”€โ”€ bin/ # Downloaded binaries (lightpanda, etc.)
377
+ โ”œโ”€โ”€ db/ # SQLite (aria.db, tools.db) and ChromaDB
378
+ โ”œโ”€โ”€ models/ # Downloaded model files
379
+ โ”œโ”€โ”€ logs/ # Runtime logs
380
+ โ”œโ”€โ”€ storage/ # Chainlit file storage
381
+ โ”œโ”€โ”€ uploads/ # User-uploaded files
382
+ โ””โ”€โ”€ workers/ # Worker agent state
383
+
384
+ <project>/.env # Configuration
385
+ ```
386
+
387
+ </details>
388
+
389
+ ---
390
+
391
+ ## ๐Ÿค Contributing
392
+
393
+ Contributions are welcome! Please feel free to submit issues and pull requests.
394
+
395
+ ### Development Setup
396
+
397
+ ```bash
398
+ # Install dev dependencies
399
+ uv sync --group dev
400
+
401
+ # Run tests
402
+ uv run pytest
403
+
404
+ # Lint and format code
405
+ uv run ruff check src/
406
+ uv run ruff format src/
407
+ ```
408
+
409
+ ---
410
+
411
+ ## ๐Ÿ“„ License
412
+
413
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
414
+
415
+ ---
416
+
417
+ <div align="center">
418
+
419
+ **Made with โค๏ธ by malvavisc0**
420
+
421
+ [Report Bug](https://github.com/malvavisc0/aria/issues) ยท [Request Feature](https://github.com/malvavisc0/aria/issues)
422
+
423
+ </div>