[tool.poetry] name = "aistudioproxyapi" version = "0.1.0" description = "" authors = ["Your Name "] readme = "README.md" package-mode = false [tool.poetry.dependencies] python = ">=3.9,<4.0" fastapi = "==0.115.12" pydantic = ">=2.7.1,<3.0.0" uvicorn = "==0.29.0" python-dotenv = "==1.0.1" websockets = "==12.0" uvloop = {version = "*", markers = "sys_platform != 'win32'"} playwright = "*" camoufox = {version = "0.4.11", extras = ["geoip"]} cryptography = "==42.0.5" aiohttp = "~=3.9.5" requests = "==2.31.0" pyjwt = "==2.8.0" Flask = "==3.0.3" aiosocks = "~=0.2.6" python-socks = "~=2.7.1" tzdata = "^2025.2" colorama = "^0.4.6" customtkinter = "^5.2.0" pillow = "^10.0.0" [tool.poetry.group.dev.dependencies] pytest = "^7.0.0" pytest-cov = "^7.0.0" pytest-mock = "^3.15.1" httpx = "^0.28.1" pytest-asyncio = "0.23.7" pytest-env = "0.8.2" pytest-timeout = "^2.4.0" pyright = "^1.1.407" ruff = "^0.14.6" pytest-testmon = "^2.1.4" monkeytype = "^23.3.0" pytest-xdist = "^3.8.0" [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" [tool.pytest.ini_options] asyncio_mode = "auto" testpaths = ["tests"] python_files = "test_*.py" addopts = "-v --cov=api_utils --cov=browser_utils --cov=stream --cov=config --cov=models --cov=launcher --cov=logging_utils --cov=server.py --cov-report=term-missing --ignore=tests/browser_utils/test_operations_old.py --tb=short" timeout = 120 timeout_method = "thread" markers = [ "integration: Integration tests that use real components (locks, queues, state) instead of mocks" ] env = [ "LAUNCH_MODE=test", "STREAM_PORT=0", ] [tool.coverage.run] omit = [ "tests/*", "**/__init__.py", "launch_camoufox.py", "monkeytype_config.py", "deprecated/*", ] [tool.coverage.report] exclude_lines = [ "if __name__ == .__main__.:", "pragma: no cover", ] [tool.ruff] line-length = 88 target-version = "py311" [tool.ruff.lint] select = ["E", "F", "I", "W"] ignore = [ "E501", # line-too-long (686 instances, too risky to fix) "E402", # module-import-not-at-top (intentional - load_dotenv first) "F405", # undefined-local-with-import-star-usage (config imports) "F403", # undefined-local-with-import-star (config imports) ]