-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
75 lines (67 loc) · 2.29 KB
/
pyproject.toml
File metadata and controls
75 lines (67 loc) · 2.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
[build-system]
requires = ["setuptools>=68", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "auris-vive"
version = "0.1.0"
description = "Real-time music intelligence and visualisation platform"
requires-python = ">=3.10"
dependencies = [
# Audio I/O + DSP — needed for ingest stage (Python 3.13 compatible)
"librosa>=0.10",
"soundfile>=0.12",
"numpy>=1.26",
"resampy>=0.4",
"scipy>=1.10",
# PyTorch — needed for separate stage device selection and tensor ops.
# torch supports Python 3.13; kept in base deps so test_separate.py
# runs in both .venv and .venv-ml without the full ML stack.
"torch>=2.0",
# API
"fastapi>=0.110",
"uvicorn[standard]>=0.29",
"python-multipart>=0.0.9",
]
[project.optional-dependencies]
# Heavy ML stack. basic-pitch depends on tensorflow-macos which caps at
# Python 3.11. Install this group when implementing SDD-003 and SDD-004,
# using a Python 3.11 environment (pyenv or conda recommended).
# pip install -e ".[ml]"
ml = [
"demucs>=4.0",
"basic-pitch>=0.3",
"pretty_midi>=0.2",
"music21>=9.0",
]
dev = [
"pytest>=8.0",
"pytest-asyncio>=0.23",
"httpx>=0.27",
]
[tool.setuptools.packages.find]
where = ["."]
include = ["src*"]
[tool.pytest.ini_options]
pythonpath = ["."]
testpaths = ["tests"]
addopts = ["--tb=short", "--strict-markers"]
asyncio_mode = "auto"
filterwarnings = [
# audioread uses aifc and sunau which were removed in Python 3.13;
# third-party library noise, not fixable in our code.
"ignore::DeprecationWarning:audioread",
# librosa's audioread fallback path is deprecated; fires on corrupt
# file tests where soundfile correctly bails and audioread takes over.
# Will resolve when librosa 1.0 drops audioread entirely.
"ignore::FutureWarning:librosa",
# librosa emits this UserWarning via warnings.warn() which pytest
# attributes to our call site in ingest.py rather than to librosa.
# Scoping by message text instead of module path.
"ignore:PySoundFile failed:UserWarning",
# resampy uses pkg_resources internally which is deprecated in newer
# setuptools. Third-party issue, tracked upstream.
"ignore:pkg_resources is deprecated:UserWarning",
]
[tool.ruff]
line-length = 100
target-version = "py310"