🧑‍💻 使用 uv 管理项目 (#502)

* 🧑‍💻 使用 uv 管理项目

* 📝 更新 CONTRIBUTING.md

* 🔥 移除 Dependabot

*  修改默认安装的依赖组

* 💚 使用 uv 运行 CI

*  将特殊适配的适配器移动到 dev 依赖组

* 🚨 make mypy happy
This commit is contained in:
呵呵です
2024-10-27 18:46:46 +08:00
committed by GitHub
parent b2d5a1e729
commit 1d33872c9b
10 changed files with 3222 additions and 4520 deletions

View File

@@ -1,4 +1,3 @@
from functools import partial
from typing import Literal
from nonebot.compat import PYDANTIC_V2
@@ -9,13 +8,9 @@ from ..base import SuccessModel
if PYDANTIC_V2:
from pydantic import field_validator
custom_validator = partial(field_validator, mode='before')
else:
from pydantic import validator
custom_validator = partial(validator, pre=True, always=True) # type: ignore[assignment, arg-type]
class PastInner(BaseModel):
season: str
@@ -86,12 +81,23 @@ class NeverRatedData(BaseData):
percentile: Literal[-1]
percentile_rank: Literal['z']
@custom_validator('apm', 'pps', 'vs')
@classmethod
def _(cls, value: float | None) -> float:
if value is None:
return 0
return value
if PYDANTIC_V2:
@field_validator('apm', 'pps', 'vs', mode='before')
@classmethod
def _(cls, value: float | None) -> float:
if value is None:
return 0
return value
else:
@validator('apm', 'pps', 'vs', pre=True, always=True)
@classmethod
def _(cls, value: float | None) -> float:
if value is None:
return 0
return value
class RatedData(BaseData):