[build-system] requires = ["setuptools"] build-backend = "setuptools.build_meta" [project] name = "smolagents" version = "1.4.0.dev" 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 = [ "transformers>=4.0.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", "gradio>=5.8.0", "duckduckgo-search>=6.3.7", "python-dotenv>=1.0.1", "e2b-code-interpreter>=1.0.3", "openai>=1.58.1", ] [project.optional-dependencies] audio = [ "soundfile", ] torch = [ "torch", "accelerate", ] litellm = [ "litellm>=1.55.10", ] quality = [ "ruff>=0.9.0", ] test = [ "pytest>=8.1.0", "smolagents[audio,litellm,torch]", ] 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] lint.ignore = ["F403"] [tool.ruff.lint.per-file-ignores] "examples/*" = [ "E402", # module-import-not-at-top-of-file ]