Files

60 lines
1.6 KiB
TOML
Raw Permalink Normal View History

2026-05-28 14:05:34 +09:00
[build-system]
requires = ["setuptools>=68"]
build-backend = "setuptools.build_meta"
[project]
name = "uj-mastering-master"
version = "0.1.0"
requires-python = ">=3.10"
2026-09-14 01:57:00 +09:00
2026-09-14 10:16:52 +09:00
# What the *analysis* needs. The GUI stack lives in the `desktop` extra below.
# The web UI (web/) is a static site that analyses audio in the browser and needs
# none of these; `tests/parity` uses them to check the browser port against
# `metrics.py`.
2026-05-28 14:05:34 +09:00
dependencies = [
"librosa",
"numpy",
2026-09-14 01:57:00 +09:00
"matplotlib", # librosa dependency, and colormaps for the colormap helper
2026-05-28 14:05:34 +09:00
"mutagen",
"pyloudnorm",
2026-09-14 01:57:00 +09:00
]
license = {text = "Apache-2.0"}
[project.optional-dependencies]
# Desktop GUI. Installed with:
# uv sync --extra desktop (or `uv sync --all-extras`)
desktop = [
2026-05-28 14:05:34 +09:00
"PyQt5>=5.15.10",
# 5.15.2 is the only pyqt5-qt5 release with a Windows wheel; later
# versions are Linux/macOS only.
"PyQt5-Qt5==5.15.2 ; sys_platform == 'win32'",
"pyqtgraph>=0.14.0",
2026-05-28 14:05:34 +09:00
]
2026-09-14 01:57:00 +09:00
[tool.uv]
# Note: `default-groups` cannot name an entry from `[project.optional-dependencies]`
# — it only accepts `[dependency-groups]` names, and errors with "Default group
# `desktop` ... is not defined in the project's `dependency-groups` table".
2026-09-14 10:16:52 +09:00
# Extras must be requested explicitly:
# uv sync # analysis only
2026-09-14 01:57:00 +09:00
# uv sync --extra desktop # + Qt/pyqtgraph (the GUI; `uv run ujm`)
2026-05-28 14:05:34 +09:00
[project.scripts]
ujm = "main:main"
[tool.setuptools]
py-modules = [
"main",
"analysis_results_manager",
"audio_visualization_widget",
"master_core",
"metrics",
"plotspec",
2026-05-28 14:05:34 +09:00
"font_manager",
"plot_control_widget",
"ref_line_widget",
2026-05-28 14:05:34 +09:00
"logger_setup",
"setup_fonts",
]