Files
Dorod-Sky/pyproject.toml

222 lines
6.5 KiB
TOML

[project]
name = "skyvern"
version = "1.0.13"
description = ""
authors = [{ name = "Skyvern AI", email = "info@skyvern.com" }]
requires-python = ">=3.11,<3.14"
readme = "README.md"
dependencies = [
"azure-storage-blob>=12.26.0",
"python-dotenv>=1.0.0,<2",
"openai>=1.68.2",
"sqlalchemy[mypy]>=2.0.29,<3",
"aiohttp>=3.8.5,<4",
"python-multipart>=0.0.22,<1",
"toml>=0.10.2,<0.11",
"jinja2>=3.1.2,<4",
"uvicorn[standard]>=0.35.0",
"litellm>=1.80.10",
"playwright>1.46.0 ; python_version >= '3.12' and python_version < '3.14'",
"playwright==1.46.0 ; python_version >= '3.11' and python_version < '3.12'",
"greenlet>3.0.3 ; python_version >= '3.12' and python_version < '3.14'",
"greenlet==3.0.3 ; python_version >= '3.11' and python_version < '3.12'",
"pillow>=10.2.0",
"starlette-context>=0.3.6,<0.4",
"pydantic>=2.5.2,<3",
"pydantic-settings>=2.1.0,<3",
"fastapi>=0.121.0,<0.129",
"psycopg[binary, pool]==3.1.18 ; python_version >= '3.11' and python_version < '3.13'",
"psycopg[binary, pool]>=3.2.2,<3.3.0 ; python_version >= '3.13' and python_version < '3.14'",
"alembic>=1.12.1,<2",
"python-jose[cryptography]>=3.4.0,<4",
"cachetools>=5.3.2,<6",
"aioboto3>=14.3.0,<15",
"asyncache>=0.3.1,<0.4",
"orjson>=3.9.10,<4",
"structlog>=23.2.0,<24",
"typer>=0.16.0",
"types-toml>=0.10.8.7,<0.11",
"httpx[socks]>=0.27.0",
"filetype>=1.2.0,<2",
"aioredlock>=0.7.3,<0.8",
"tldextract>=5.1.2,<6",
"websockets>=12.0,<15.1",
"email-validator>=2.2.0,<3",
"requests-toolbelt>=1.0.0,<2",
"rich[jupyter]>=13.7.0,<14",
"posthog>=3.7.0,<4",
"aiofiles>=24.1.0,<25",
"pyotp>=2.9.0,<3",
"asyncpg>=0.30.0,<0.31",
"json-repair>=0.34.0,<0.35",
"pypdf>=5.1.0,<7",
"pdfplumber>=0.11.0,<0.12",
"fastmcp>=2.10.1,<3",
"psutil>=7.0.0",
"tiktoken>=0.9.0",
"anthropic>=0.50.0,<0.51",
"google-cloud-aiplatform>=1.90.0,<2",
"onepassword-sdk==0.3.0",
"types-boto3[full]>=1.38.31,<2",
"lark>=1.2.2,<2",
"libcst>=1.8.2,<2",
"curlparser>=0.1.0,<0.2",
"pandas>=2.3.1,<3",
"azure-identity>=1.24.0,<2",
"azure-keyvault-secrets>=4.2.0,<5",
"jsonschema>=4.25.1",
"python-calamine>=0.6.1",
"python-docx>=1.1.0",
"urllib3>=2.6.0",
"zstandard>=0.25.0",
"sse-starlette>=3.0.3,<4",
"opentelemetry-api>=1.39.0,<2",
]
[dependency-groups]
cloud = [
"stripe>=9.7.0,<10",
"temporalio[opentelemetry]>=1.6.0,<2",
"temporalio>=1.6.0,<2",
"redis>=5.0.3,<6",
"pyrate-limiter>=3.7.0,<4",
"opentelemetry-exporter-otlp-proto-grpc>=1.39.1,<2",
"kr8s>=0.20.14,<1",
# OpenTelemetry instrumentation
"opentelemetry-sdk>=1.39.0,<2",
"opentelemetry-instrumentation-fastapi>=0.60b1,<1",
"opentelemetry-instrumentation-asyncpg>=0.60b1,<1",
"opentelemetry-instrumentation-sqlalchemy>=0.60b1,<1",
"opentelemetry-instrumentation-redis>=0.60b1,<1",
"opentelemetry-instrumentation-httpx>=0.60b1,<1",
"opentelemetry-instrumentation-aiohttp-client>=0.60b1,<1",
"opentelemetry-instrumentation-logging>=0.60b1,<1",
"opentelemetry-instrumentation-asyncio>=0.60b1,<1",
"opentelemetry-instrumentation-botocore>=0.60b1,<1",
"opentelemetry-instrumentation-grpc>=0.60b1,<1",
"opentelemetry-instrumentation-requests>=0.60b1,<1",
"opentelemetry-instrumentation-urllib3>=0.60b1,<1",
]
dev = [
"isort>=5.13.2",
"mypy>=1.18.2,<2",
"types-requests>=2.31.0.2,<3",
"pytest>=7.4.0,<8",
"pytest-asyncio>=0.21.1,<0.22",
"autoflake>=2.2.0,<3",
"pydevd-pycharm>=233.6745.319,<234",
"ipython>=8.17.2,<9",
"ipykernel>=6.26.0,<7",
"notebook>=7.0.6,<8",
"freezegun>=1.2.2,<2",
"fpdf>=1.7.2,<2",
"twine>=6.1.0,<7",
"build>=1.2.2.post1,<2",
"pre-commit>=4.2.0,<5",
"ruff>=0.14.1,<0.15",
"aiosqlite>=0.21.0,<0.22",
"moto[s3, server]>=5.1.5,<6",
"curlify>=3.0.0",
"openpyxl>=3.1.0",
"gspread>=6",
]
[tool.hatch.build]
packages = ["skyvern", "alembic"]
[tool.hatch.build.targets.sdist]
include = [
"skyvern",
"alembic",
]
exclude = [
"skyvern-frontend/node_modules",
"skyvern-frontend/dist",
]
[tool.hatch.build.targets.sdist.force-include]
"skyvern-frontend" = "skyvern-frontend"
[tool.hatch.build.targets.wheel]
include = [
"skyvern",
"alembic",
]
[tool.hatch.build.targets.wheel.force-include]
"skyvern-frontend/src" = "skyvern-frontend/src"
"skyvern-frontend/public" = "skyvern-frontend/public"
"skyvern-frontend/package.json" = "skyvern-frontend/package.json"
"skyvern-frontend/package-lock.json" = "skyvern-frontend/package-lock.json"
"skyvern-frontend/postcss.config.js" = "skyvern-frontend/postcss.config.js"
"skyvern-frontend/tailwind.config.js" = "skyvern-frontend/tailwind.config.js"
"skyvern-frontend/vite.config.ts" = "skyvern-frontend/vite.config.ts"
"skyvern-frontend/index.html" = "skyvern-frontend/index.html"
"skyvern-frontend/README.md" = "skyvern-frontend/README.md"
"skyvern-frontend/.env.example" = "skyvern-frontend/.env.example"
"skyvern-frontend/artifactServer.js" = "skyvern-frontend/artifactServer.js"
"skyvern-frontend/localServer.js" = "skyvern-frontend/localServer.js"
"skyvern-frontend/tsconfig.json" = "skyvern-frontend/tsconfig.json"
"skyvern-frontend/tsconfig.node.json" = "skyvern-frontend/tsconfig.node.json"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.ruff]
exclude = [
".bzr",
".direnv",
".eggs",
".git",
".git-rewrite",
".hg",
".ipynb_checkpoints",
".mypy_cache",
".nox",
".pants.d",
".pyenv",
".pytest_cache",
".pytype",
".ruff_cache",
".svn",
".tox",
".venv",
".vscode",
"__pypackages__",
"_build",
"buck-out",
"build",
"dist",
"node_modules",
"site-packages",
"venv",
"alembic/env.py",
"cloud/extensions",
"skyvern-frontend",
]
line-length = 120
target-version = "py311"
[tool.ruff.lint]
[tool.isort]
profile = "black"
multi_line_output = 3
include_trailing_comma = true
force_grid_wrap = 0
use_parentheses = true
ensure_newline_before_comments = true
line_length = 120
sections = ["FUTURE", "STDLIB", "THIRDPARTY", "FIRSTPARTY", "LOCALFOLDER"]
skip_glob = [".tox", "__pycache__", "*.pyc", "venv*/*", "reports", "venv", "env", "node_modules", ".env", ".venv", "dist"]
skip = ["webeye/actions/__init__.py", "forge/sdk/__init__.py"]
[tool.mypy]
plugins = "sqlalchemy.ext.mypy.plugin"
[project.scripts]
skyvern = "skyvern.cli.commands:cli_app"
[tool.pytest.ini_options]
norecursedirs = ["eval", "tests/sdk"]