Spaces:
Running
Running
[build-system] | |
requires = ["setuptools"] | |
build-backend = "setuptools.build_meta" | |
[project] | |
name = "smolagents" | |
version = "1.10.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" }, { name="Thomas Wolf"}, | |
] | |
readme = "README.md" | |
requires-python = ">=3.10" | |
dependencies = [ | |
"huggingface-hub>=0.28.0", | |
"requests>=2.32.3", | |
"rich>=13.9.4", | |
"pandas>=2.2.3", | |
"jinja2>=3.1.4", | |
"pillow>=11.0.0", | |
"markdownify>=0.14.1", | |
"duckduckgo-search>=6.3.7", | |
"python-dotenv" | |
] | |
[project.optional-dependencies] | |
torch = [ | |
"torch", | |
"torchvision", | |
] | |
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.13.2", | |
] | |
litellm = [ | |
"litellm>=1.60.2", | |
] | |
mcp = [ | |
"mcpadapt>=0.0.6", | |
"mcp", | |
] | |
mlx-lm = [ | |
"mlx-lm" | |
] | |
openai = [ | |
"openai>=1.58.1" | |
] | |
telemetry = [ | |
"arize-phoenix", | |
"opentelemetry-sdk", | |
"opentelemetry-exporter-otlp", | |
"openinference-instrumentation-smolagents>=0.1.4" | |
] | |
transformers = [ | |
"accelerate", | |
"transformers>=4.0.0,<4.49.0", | |
"smolagents[torch]", | |
] | |
all = [ | |
"smolagents[audio,docker,e2b,gradio,litellm,mcp,openai,telemetry,transformers]", | |
] | |
quality = [ | |
"ruff>=0.9.0", | |
] | |
test = [ | |
"ipython>=8.31.0", # for interactive environment tests | |
"pytest>=8.1.0", | |
"python-dotenv>=1.0.1", # For test_all_docs | |
"smolagents[all]", | |
"rank-bm25", # For test_all_docs | |
] | |
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" |