Spaces:
No application file
No application file
| [build-system] | |
| requires = ["setuptools"] | |
| build-backend = "setuptools.build_meta" | |
| [project] | |
| name = "smolagents" | |
| version = "1.25.0.dev0" | |
| description = "🤗 smolagents: a barebones library for agents. Agents write python code to call tools or orchestrate other agents." | |
| authors = [ | |
| { name="Aymeric Roucher", email="aymeric@hf.co" }, | |
| ] | |
| readme = "README.md" | |
| requires-python = ">=3.10" | |
| dependencies = [ | |
| "huggingface-hub>=0.31.2,<1.0.0", | |
| "requests>=2.32.3", | |
| "rich>=13.9.4", | |
| "jinja2>=3.1.4", | |
| "pillow>=10.0.1", | |
| # Security fix for CVE-2023-4863: https://pillow.readthedocs.io/en/stable/releasenotes/10.0.1.html | |
| "python-dotenv", | |
| ] | |
| [project.optional-dependencies] | |
| bedrock = [ | |
| "boto3>=1.36.18" | |
| ] | |
| blaxel = [ | |
| "blaxel>=0.2.19", | |
| "websocket-client", | |
| ] | |
| torch = [ | |
| "torch", | |
| "torchvision", | |
| "numpy>=1.21.2", | |
| ] | |
| audio = [ | |
| "soundfile", | |
| "smolagents[torch]", | |
| ] | |
| docker = [ | |
| "docker>=7.1.0", | |
| "websocket-client", | |
| ] | |
| e2b = [ | |
| "e2b-code-interpreter>=1.0.3", | |
| "python-dotenv>=1.0.1", | |
| ] | |
| gradio = [ | |
| "gradio>=5.14.0", # Sidebar component GH-797 | |
| ] | |
| litellm = [ | |
| "litellm>=1.60.2", | |
| ] | |
| mcp = [ | |
| "mcpadapt>=0.1.13", # Support structured output | |
| "mcp", | |
| ] | |
| mlx-lm = [ | |
| "mlx-lm", | |
| ] | |
| modal = [ | |
| "modal>=1.1.3", | |
| "websocket-client", | |
| ] | |
| openai = [ | |
| "openai>=1.58.1" | |
| ] | |
| telemetry = [ | |
| "arize-phoenix", | |
| "opentelemetry-sdk", | |
| "opentelemetry-exporter-otlp", | |
| "openinference-instrumentation-smolagents>=0.1.15" # Use new TokenUsage structure | |
| ] | |
| toolkit = [ | |
| "ddgs>=9.0.0", # DuckDuckGoSearchTool | |
| "markdownify>=0.14.1", # VisitWebpageTool | |
| ] | |
| transformers = [ | |
| "accelerate", | |
| "transformers>=4.0.0", | |
| "smolagents[torch]", | |
| ] | |
| vision = [ | |
| "helium", | |
| "selenium", | |
| ] | |
| vllm = [ | |
| "vllm>=0.10.2", | |
| "torch" | |
| ] | |
| all = [ | |
| "smolagents[audio,blaxel,docker,e2b,gradio,litellm,mcp,mlx-lm,modal,openai,telemetry,toolkit,transformers,vision,bedrock]", | |
| ] | |
| quality = [ | |
| "ruff>=0.9.0", | |
| ] | |
| test = [ | |
| "ipython>=8.31.0", # for interactive environment tests | |
| "pandas>=2.2.3", | |
| "pytest>=8.1.0", | |
| "pytest-datadir", | |
| "pytest-timeout", # For test_all_docs: @pytest.mark.timeout | |
| "python-dotenv>=1.0.1", # For test_all_docs | |
| "smolagents[all]", | |
| "rank-bm25", # For test_all_docs | |
| "Wikipedia-API>=0.8.1", | |
| "mlx[cpu]", # GH-1588 | |
| ] | |
| dev = [ | |
| "smolagents[quality,test]", | |
| "sqlalchemy", # for ./examples | |
| ] | |
| [tool.pytest.ini_options] | |
| # Add the specified `OPTS` to the set of command line arguments as if they had been specified by the user. | |
| addopts = "-sv --durations=0" | |
| [tool.ruff] | |
| line-length = 119 | |
| lint.ignore = [ | |
| "F403", # undefined-local-with-import-star | |
| "E501", # line-too-long | |
| ] | |
| lint.select = ["E", "F", "I", "W"] | |
| [tool.ruff.lint.per-file-ignores] | |
| "examples/*" = [ | |
| "E402", # module-import-not-at-top-of-file | |
| ] | |
| [tool.ruff.lint.isort] | |
| known-first-party = ["smolagents"] | |
| lines-after-imports = 2 | |
| [tool.setuptools.package-data] | |
| "smolagents.prompts" = ["*.yaml"] | |
| [project.scripts] | |
| smolagent = "smolagents.cli:main" | |
| webagent = "smolagents.vision_web_browser:main" | |