Skip to content

Commit 40d1da5

Browse files
author
Daniel Collier
committed
feat: expand python support
1 parent 2dd812a commit 40d1da5

File tree

8 files changed

+36
-21
lines changed

8 files changed

+36
-21
lines changed

.github/workflows/ci.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,11 @@ jobs:
1414
name: Check and Test
1515
runs-on: ubuntu-latest
1616

17+
strategy:
18+
matrix:
19+
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
20+
fail-fast: false
21+
1722
env:
1823
UV_CACHE_DIR: /tmp/.uv-cache
1924

@@ -27,8 +32,8 @@ jobs:
2732
enable-cache: true
2833
cache-dependency-glob: "uv.lock"
2934

30-
- name: Set up Python
31-
run: uv python install 3.12
35+
- name: Set up Python ${{ matrix.python-version }}
36+
run: uv python install ${{ matrix.python-version }}
3237

3338
- name: Install System Dependencies
3439
run: |

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ Stop fighting with `pyaudio` threads and buffer overflows. This project exposes
4040

4141
### Prerequisites
4242

43-
* **Python 3.12+**
43+
* **Python 3.9+**
4444
* **PiP**
4545

4646
#### 📦 System Requirements (Audio Libraries)

pyproject.toml

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,23 +6,23 @@ authors = [
66
{name = "Daniel Collier", email = "danielfcollier@gmail.com"}
77
]
88
readme = "README.md"
9-
requires-python = ">=3.12, <3.14"
9+
requires-python = ">=3.9, <3.14"
1010

1111
# Production Dependencies
1212
dependencies = [
13-
"numpy~=2.3.3",
14-
"scipy~=1.16.2",
15-
"pydantic~=2.12.3",
16-
"sounddevice~=0.5.3",
17-
"librosa~=0.11.0",
18-
"pyloudnorm~=0.1.1",
19-
"pydantic-settings>=2.12.0",
13+
"numpy>=1.26.0",
14+
"scipy>=1.12.0",
15+
"pydantic>=2.5.0",
16+
"sounddevice>=0.4.6",
17+
"librosa>=0.10.0",
18+
"pyloudnorm>=0.1.1",
19+
"pydantic-settings>=2.1.0",
2020
"pydub>=0.25.1",
21-
"noisereduce>=3.0.3",
22-
"matplotlib>=3.10.8",
23-
"pandas>=2.3.3",
21+
"noisereduce>=3.0.0",
22+
"matplotlib>=3.9.0",
23+
"pandas>=2.2.0",
2424
"python-dotenv>=1.2.1",
25-
"zmq>=0.0.0",
25+
"pyzmq>=24.0.0",
2626
]
2727

2828
[build-system]
@@ -36,11 +36,11 @@ local_scheme = "no-local-version"
3636
# Development Dependencies (used for linting/testing)
3737
[project.optional-dependencies]
3838
dev = [
39-
"ruff~=0.14.1",
40-
"mypy~=1.18.2",
41-
"pytest>=9.0.2",
42-
"pytest-cov",
43-
"pytest-timeout>=2.4.0",
39+
"ruff>=0.1.0",
40+
"mypy>=1.4.0",
41+
"pytest>=7.4.0",
42+
"pytest-cov>=4.0.0",
43+
"pytest-timeout>=2.1.0",
4444
]
4545

4646
[project.urls]
@@ -68,7 +68,7 @@ markers = [
6868

6969
[tool.ruff]
7070
line-length = 120
71-
target-version = "py313"
71+
target-version = "py39"
7272
exclude = [
7373
".venv",
7474
".git",

src/umik_base_app/apps/metrics_plotter.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
Year: 2025
1212
"""
1313

14+
from __future__ import annotations
15+
1416
import argparse
1517
import logging
1618
import sys

src/umik_base_app/apps/real_time_meter.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
Year: 2025
1212
"""
1313

14+
from __future__ import annotations
15+
1416
import logging
1517
import sys
1618
from datetime import datetime

src/umik_base_app/audio_pipeline.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
Year: 2025
1111
"""
1212

13+
from __future__ import annotations
14+
1315
from datetime import datetime
1416

1517
import numpy as np

src/umik_base_app/base_thread_app.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
Year: 2025
1111
"""
1212

13+
from __future__ import annotations
14+
1315
import logging
1416
import queue
1517
import signal

src/umik_base_app/hardwares/selector.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
Year: 2025
99
"""
1010

11+
from __future__ import annotations
12+
1113
import logging
1214

1315
import sounddevice as sd

0 commit comments

Comments
 (0)