feat(calculator): support generate PerformanceAttributes & DifficultyAttributes from JSON Schema (#59)

Prepare for custom rulesets.

Schema Genetator: https://github.com/GooGuTeam/custom-rulesets/tree/main/CustomRulesetMetadataGenerator

```bash
dotnet -- schemas path/to/rulesets -o schema.json
```

```bash
python scripts/generate_ruleset_attributes.py schema.json 
```
This commit is contained in:
MingxuanGame
2025-10-25 19:10:53 +08:00
committed by GitHub
parent f792d146b5
commit 2c81e22749
12 changed files with 370 additions and 85 deletions

View File

@@ -85,7 +85,7 @@ ignore = [
[tool.ruff.lint.extend-per-file-ignores]
"tools/*.py" = ["PTH", "INP001"]
"migrations/**/*.py" = ["INP001"]
".github/**/*.py" = ["INP001"]
"scripts/**/*.py" = ["INP001"]
"app/achievements/*.py" = ["INP001", "ARG"]
"app/router/**/*.py" = ["ARG001"]
@@ -125,6 +125,7 @@ osupyparser = { git = "https://github.com/MingxuanGame/osupyparser.git" }
[dependency-groups]
dev = [
"datamodel-code-generator>=0.35.0",
"pre-commit>=4.2.0",
"pyright>=1.1.404",
"ruff>=0.12.4",