pyproject.toml•2.52 kB
[project]
name = "browser-use-mcp-server"
dynamic = ["version"]
description = "MCP browser-use server library"
readme = "README.md"
requires-python = ">=3.11,<4.0"
license = {text = "MIT"}
authors = [
{name = "Cobrowser Team"}
]
classifiers = [
"Programming Language :: Python :: 3",
"Operating System :: OS Independent",
]
dependencies = [
"asyncio>=3.4.3",
"browser-use>=0.1.40",
"click>=8.1.8",
"httpx>=0.28.1",
"langchain-openai>=0.3.1",
"mcp>=1.3.0",
"pydantic>=2.10.6",
"anyio",
"python-dotenv",
"python-json-logger>=2.0.7",
"starlette",
"uvicorn",
"playwright>=1.50.0",
]
[project.optional-dependencies]
# Dependencies for running tests
test = [
"pytest>=7.0.0",
"pytest-asyncio>=0.21.0",
"pytest-cov>=4.1.0",
]
# Dependencies for development (includes test dependencies)
dev = [
"browser-use-mcp-server[test]",
"black>=23.0.0",
"isort>=5.12.0",
"mypy>=1.0.0",
"ruff>=0.5.5",
]
[project.urls]
"Homepage" = "https://github.com/cobrowser/browser-use-mcp-server"
"Bug Tracker" = "https://github.com/cobrowser/browser-use-mcp-server/issues"
[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = "test_*.py"
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "function"
[tool.black]
line-length = 88
target-version = ["py311"]
[tool.isort]
profile = "black"
line_length = 88
[tool.mypy]
python_version = "3.11"
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = true
disallow_incomplete_defs = true
[project.scripts]
browser-use-mcp-server = "browser_use_mcp_server.cli:cli"
[build-system]
requires = ["hatchling", "uv-dynamic-versioning"]
build-backend = "hatchling.build"
[tool.hatch.build]
include = ["src/browser_use_mcp_server", "server"]
[tool.hatch.build.targets.wheel]
packages = ["src/browser_use_mcp_server", "server"]
[tool.hatch.version]
source = "uv-dynamic-versioning"
[tool.uv-dynamic-versioning]
vcs = "git"
style = "pep440"
bump = true
[tool.ruff]
line-length = 88
target-version = "py311"
[tool.ruff.lint]
# Enable common Pyflakes, pycodestyle, and isort rules
select = ["E", "F", "W", "I"]
# Ignore line length violations in comments, docstrings, and string literals
extend-ignore = ["E501"]
# Exclude string literals and comments from line length checks
[tool.ruff.lint.per-file-ignores]
"server/server.py" = ["E501"]
"src/browser_use_mcp_server/cli.py" = ["E501"]
[tool.ruff.format]
# Use black-compatible formatting
quote-style = "double"