[project] name = "ace-music-studio" version = "0.1.0" description = "Open-source full-song generation studio wrapping ACE-Step 1.5 XL" authors = [{ name = "Mayank Gupta" }] license = { text = "MIT" } readme = "README.md" requires-python = ">=3.11,<3.12" [tool.ruff] line-length = 110 target-version = "py311" # checkpoints/ holds downloaded model code shipped by upstream HF repos — # linting third-party drop-ins isn't our concern. output/ and research/ # are runtime artefacts / scratch. extend-exclude = ["checkpoints", "output", "research", ".venv", "vendor"] [tool.ruff.lint] select = ["E", "F", "I", "B", "UP", "RUF"] ignore = ["E501"] [tool.ruff.lint.per-file-ignores] # app.py needs sys.path injection (vendored ace-step submodule) BEFORE the # remaining imports — E402 (module-level-import-not-at-top) is intentional. "app.py" = ["E402"] [tool.pytest.ini_options] addopts = "-m 'not gpu' --tb=short" markers = ["gpu: requires a real GPU/MPS device; opt in with -m gpu"] testpaths = ["tests"]