[build-system] requires = ["setuptools"] build-backend = "setuptools.build_meta" [project] name = "smolagents" version = "1.7.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]", ] transformers = [ "accelerate", "transformers>=4.0.0", "smolagents[torch]", ] e2b = [ "e2b-code-interpreter>=1.0.3", "python-dotenv>=1.0.1", ] gradio = [ "gradio>=5.13.2", ] litellm = [ "litellm>=1.55.10", ] mcp = [ "mcpadapt>=0.0.6", "mcp", ] openai = [ "openai>=1.58.1" ] telemetry = [ "arize-phoenix", "opentelemetry-sdk", "opentelemetry-exporter-otlp", "openinference-instrumentation-smolagents>=0.1.1" ] quality = [ "ruff>=0.9.0", ] all = [ "smolagents[accelerate,audio,e2b,gradio,litellm,mcp,openai,transformers,telemetry]", ] 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 [project.scripts] smolagent = "smolagents.cli:main" webagent = "smolagents.vlm_web_browser:main"