[tool.poetry]
name = "e2b"
version = "2.21.0"
description = "E2B SDK that give agents cloud environments"
authors = ["e2b <hello@e2b.dev>"]
license = "MIT"
readme = "README.md"
homepage = "https://e2b.dev/"
repository = "https://github.com/e2b-dev/e2b/tree/main/packages/python-sdk"
packages = [{ include = "e2b" }, { include = "e2b_connect" }]

[tool.poetry.dependencies]
python = "^3.10"
python-dateutil = ">=2.8.2"
wcmatch = "^10.1"
protobuf = ">=4.21.0"
httpcore = "^1.0.5"
httpx = ">=0.27.0, <1.0.0"
h2 = ">=4,<5"
attrs = ">=23.2.0"
packaging = ">=24.1"
typing-extensions = ">=4.1.0"
dockerfile-parse = "^2.0.1"
rich = ">=14.0.0"

[tool.poetry.group.dev.dependencies]
pytest = "^9.0.3"
pytest-xdist = "^3.3.1"
python-dotenv = "^1.0.0"
pytest-dotenv = "^0.5.2"
pytest-asyncio = "^1.3.0"
pydoc-markdown = "^4.8.2"
datamodel-code-generator = "^0.34.0"
ruff = "^0.11.12"
pytest-timeout = "^2.4.0"
ty = "^0.0.15"

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

[tool.poetry.urls]
"Bug Tracker" = "https://github.com/e2b-dev/e2b/issues"

[tool.basedpyright]
reportInconsistentOverload = false

[tool.ty.rules]
invalid-overload = "ignore"
no-matching-overload = "ignore"

[[tool.ty.overrides]]
include = ["e2b/api/client/models/**"]
rules = { invalid-argument-type = "ignore" }

[[tool.ty.overrides]]
include = ["e2b/envd/**/*.pyi"]
rules = { conflicting-metaclass = "ignore", unresolved-attribute = "ignore" }

[[tool.ty.overrides]]
include = ["e2b/volume/**"]
rules = { unresolved-attribute = "ignore" }

[tool.ruff]
exclude = [
    "e2b/envd/filesystem/filesystem_pb2.py"
]
