Files
g0v0-server/pyproject.toml
2025-08-17 06:04:10 +00:00

117 lines
2.9 KiB
TOML

[project]
name = "g0v0-server"
version = "0.1.0"
description = "3rd-party osu!lazer server which supports the latest osu!lazer."
readme = "README.md"
requires-python = ">=3.12"
dependencies = [
"aioboto3>=15.0.0",
"aiofiles>=24.1.0",
"aiomysql>=0.2.0",
"alembic>=1.12.1",
"apscheduler>=3.11.0",
"bcrypt>=4.1.2",
"cryptography>=41.0.7",
"fastapi>=0.104.1",
"httpx>=0.28.1",
"loguru>=0.7.3",
"msgpack-lazer-api",
"osupyparser>=1.0.7",
"passlib[bcrypt]>=1.7.4",
"pillow>=11.3.0",
"pydantic-settings>=2.10.1",
"pydantic[email]>=2.5.0",
"python-dotenv>=1.0.0",
"python-jose[cryptography]>=3.3.0",
"python-multipart>=0.0.6",
"redis>=5.0.1",
"sentry-sdk[fastapi,httpx,loguru,sqlalchemy]>=2.34.1",
"sqlalchemy>=2.0.23",
"sqlmodel>=0.0.24",
"uvicorn[standard]>=0.24.0",
]
authors = ["GooGuTeam"]
[tool.ruff]
line-length = 88
target-version = "py312"
[tool.ruff.format]
line-ending = "lf"
[tool.ruff.lint]
select = [
"F", # Pyflakes
"W", # pycodestyle warnings
"E", # pycodestyle errors
"I", # isort
"UP", # pyupgrade
"ASYNC", # flake8-async
"C4", # flake8-comprehensions
"T10", # flake8-debugger
# "T20", # flake8-print
"PYI", # flake8-pyi
"PT", # flake8-pytest-style
"Q", # flake8-quotes
"TID", # flake8-tidy-imports
"RUF", # Ruff-specific rules
]
ignore = [
"E402", # module-import-not-at-top-of-file
"UP037", # quoted-annotation
"RUF001", # ambiguous-unicode-character-string
"RUF002", # ambiguous-unicode-character-docstring
"RUF003", # ambiguous-unicode-character-comment
]
[tool.ruff.lint.extend-per-file-ignores]
"app/database/**/*.py" = ["I002"]
[tool.ruff.lint.isort]
force-sort-within-sections = true
force-wrap-aliases = true
combine-as-imports = true
order-by-type = true
relative-imports-order = "closest-to-furthest"
required-imports = ["from __future__ import annotations"]
extra-standard-library = ["typing_extensions"]
section-order = ["future", "standard-library", "first-party", "local-folder", "third-party"]
[tool.ruff.lint.flake8-pytest-style]
fixture-parentheses = false
mark-parentheses = false
[tool.ruff.lint.pyupgrade]
keep-runtime-typing = true
[tool.pyright]
pythonVersion = "3.12"
pythonPlatform = "All"
typeCheckingMode = "standard"
reportShadowedImports = false
disableBytesTypePromotions = true
reportIncompatibleMethodOverride = false
reportIncompatibleVariableOverride = false
[tool.uv.workspace]
members = [
"packages/msgpack_lazer_api",
"packages/osupyparser",
]
[tool.uv.sources]
msgpack-lazer-api = { workspace = true }
osupyparser = { git = "https://github.com/MingxuanGame/osupyparser.git" }
[tool.uv]
cache-keys = [{file = "pyproject.toml"}, {file = "packages/msgpack_lazer_api/Cargo.toml"}, {file = "**/*.rs"}]
[dependency-groups]
dev = [
"maturin>=1.9.2",
"pre-commit>=4.2.0",
"ruff>=0.12.4",
"types-aioboto3[aioboto3,essential]>=15.0.0",
]