Skip to content

Commit c911eb1

Browse files
authored
v4.3.0 (#2418)
2 parents 3fe4828 + a40d57b commit c911eb1

20 files changed

Lines changed: 2734 additions & 3165 deletions

.github/PULL_REQUEST_TEMPLATE.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,5 @@
3333
- [ ] My change requires a change to the documentation
3434
- [ ] I have updated the documentation accordingly
3535
- [ ] I have read the [CONTRIBUTING](/docs/CONTRIBUTING.md) document
36-
- [ ] I have read the [CORE VALUES](/docs/CORE_VALUES.md) document
3736
- [ ] I have added tests to cover my changes
3837
- [ ] All new and existing tests passed

.github/workflows/build-docs.yml

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,20 +17,22 @@ jobs:
1717
fetch-depth: 0
1818
submodules: recursive
1919

20-
- name: Install poetry
21-
run: pipx install poetry
22-
2320
- name: Set up Python 3.10
2421
uses: actions/setup-python@v4
2522
with:
2623
python-version: "3.10"
27-
cache: 'poetry'
24+
25+
- name: Install uv
26+
uses: astral-sh/setup-uv@v5
27+
with:
28+
version: "latest"
29+
enable-cache: true
2830

2931
- name: Install dependencies
3032
run: |
31-
poetry env use "3.10"
32-
poetry install
33+
uv venv --python 3.10
34+
uv sync
3335
3436
- name: Build and deploy
3537
run: |
36-
poetry run mkdocs gh-deploy --force
38+
uv run mkdocs gh-deploy --force

.github/workflows/python-publish.yml

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -21,26 +21,28 @@ jobs:
2121
fetch-depth: 0
2222
submodules: recursive
2323

24-
- name: Install poetry
25-
run: pipx install poetry
26-
2724
- name: Set up Python 3.10
2825
uses: actions/setup-python@v4
2926
with:
3027
python-version: "3.10"
31-
cache: 'poetry'
28+
29+
- name: Install uv
30+
uses: astral-sh/setup-uv@v5
31+
with:
32+
version: "latest"
33+
enable-cache: true
3234

3335
- name: Install dependencies
3436
run: |
35-
poetry env use "3.10"
36-
poetry install
37+
uv venv --python 3.10
38+
uv sync
3739
3840
- name: Install twine
3941
run: pip install twine
4042

4143
- name: Build
4244
run: |
43-
poetry build
45+
uv build
4446
4547
- name: Publish package distributions to PyPI
4648
uses: pypa/gh-action-pypi-publish@release/v1
@@ -53,22 +55,24 @@ jobs:
5355
steps:
5456
- uses: actions/checkout@v3
5557

56-
- name: Install poetry
57-
run: pipx install poetry
58-
5958
- name: Set up Python 3.10
6059
uses: actions/setup-python@v4
6160
with:
6261
python-version: "3.10"
63-
cache: 'poetry'
62+
63+
- name: Install uv
64+
uses: astral-sh/setup-uv@v5
65+
with:
66+
version: "latest"
67+
enable-cache: true
6468

6569
- name: Install dependencies
6670
run: |
67-
poetry env use "3.10"
68-
poetry install
71+
uv venv --python 3.10
72+
uv sync
6973
7074
- name: Build executable
71-
run: poetry run python ./scripts/build.py
75+
run: uv run python ./scripts/build.py
7276

7377
- name: Build cross-platform binary
7478
run: |
@@ -106,11 +110,11 @@ jobs:
106110
apt update
107111
apt install python3-full python3-pip pipx -y
108112
pipx ensurepath
109-
pipx install poetry
110-
poetry install
113+
pipx install uv
114+
uv sync
111115
rm -rf dist/
112116
mkdir dist/
113-
poetry run python ./scripts/build.py
117+
uv run python ./scripts/build.py
114118
for file in dist/spotdl*; do cp "$file" "${file}-aarch64"; done
115119
116120
- name: Release

.github/workflows/standard-checks.yml

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,32 +10,35 @@ jobs:
1010
steps:
1111
- uses: actions/checkout@v3
1212

13-
- name: Install poetry
14-
run: pipx install poetry
15-
1613
- name: Set up Python 3.11
1714
uses: actions/setup-python@v4
1815
with:
1916
python-version: "3.11"
20-
cache: 'poetry'
17+
18+
- name: Install uv
19+
uses: astral-sh/setup-uv@v5
20+
with:
21+
version: "latest"
22+
enable-cache: true
2123

2224
- name: Install dependencies
2325
run: |
24-
poetry env use "3.11"
25-
poetry install
26+
uv venv --python 3.11
27+
uv sync
28+
uv pip install pip
2629
2730
- name: Run Pylint check
2831
run: |
29-
poetry run pylint --fail-under 10 --limit-inference-results 0 --disable=R0917 ./spotdl
32+
uv run pylint --fail-under 10 --limit-inference-results 0 --disable=R0917 ./spotdl
3033
3134
- name: Run MyPy check
3235
run: |
33-
poetry run mypy --ignore-missing-imports --follow-imports silent --install-types --non-interactive ./spotdl
36+
uv run mypy --ignore-missing-imports --follow-imports silent --install-types --non-interactive ./spotdl
3437
3538
- name: Run Black check
3639
run: |
37-
poetry run black --check ./spotdl
40+
uv run black --check ./spotdl
3841
3942
- name: Run isort check
4043
run: |
41-
poetry run isort --check --diff ./spotdl
44+
uv run isort --check --diff ./spotdl

.github/workflows/tests.yml

Lines changed: 33 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -7,26 +7,28 @@ jobs:
77
if: "!contains(github.event.commits[0].message, '[skip ci]')"
88
runs-on: ${{ matrix.platform }}
99
strategy:
10-
max-parallel: 1
10+
# max-parallel: 1
1111
matrix:
12-
platform: [ ubuntu-latest, macos-13, windows-latest ]
12+
platform: [ubuntu-latest, macos-13, windows-latest]
1313

1414
steps:
1515
- uses: actions/checkout@v3
1616

17-
- name: Install poetry
18-
run: pipx install poetry
19-
2017
- name: Set up Python "3.11"
2118
uses: actions/setup-python@v4
2219
with:
2320
python-version: "3.11"
24-
cache: 'poetry'
21+
22+
- name: Install uv
23+
uses: astral-sh/setup-uv@v5
24+
with:
25+
version: "latest"
26+
enable-cache: true
2527

2628
- name: Install dependencies
2729
run: |
28-
poetry env use "3.11"
29-
poetry install
30+
uv venv --python 3.11
31+
uv sync
3032
3133
- uses: FedericoCarboni/setup-ffmpeg@v1
3234
id: setup-ffmpeg
@@ -35,36 +37,38 @@ jobs:
3537

3638
- name: Run tests
3739
run: |
38-
poetry run pytest -vvv --record-mode=new_episodes --ignore tests/test_matching.py --ignore tests/utils/test_ffmpeg.py --ignore tests/utils/test_metadata.py --ignore tests/providers/lyrics/test_azlyrics.py --ignore tests/providers/lyrics/test_musixmatch.py --ignore tests/providers/audio/test_youtube.py --ignore tests/console/test_entry_point.py --ignore tests/test_init.py
40+
uv run pytest -vvv --record-mode=new_episodes --ignore tests/test_matching.py --ignore tests/utils/test_ffmpeg.py --ignore tests/utils/test_metadata.py --ignore tests/providers/lyrics/test_azlyrics.py --ignore tests/providers/lyrics/test_musixmatch.py --ignore tests/providers/audio/test_youtube.py --ignore tests/console/test_entry_point.py --ignore tests/test_init.py
3941
env:
4042
PLATFORM: ${{ matrix.platform }}
4143

4244
test:
4345
if: "!contains(github.event.commits[0].message, '[skip ci]')"
4446
runs-on: ${{ matrix.platform }}
4547
strategy:
46-
max-parallel: 3
48+
# max-parallel: 3
4749
matrix:
48-
platform: [ ubuntu-latest, macos-13, windows-latest ]
49-
python-version: [ "3.9", "3.11" ]
50+
platform: [ubuntu-latest, macos-13, windows-latest]
51+
python-version: ["3.11"]
5052

5153
steps:
5254
- uses: actions/checkout@v3
5355

54-
- name: Install poetry
55-
run: pipx install poetry
56-
5756
- name: Set up Python ${{ matrix.python-version }}
5857
uses: actions/setup-python@v4
5958
with:
6059
python-version: ${{ matrix.python-version }}
61-
cache: 'poetry'
60+
61+
- name: Install uv
62+
uses: astral-sh/setup-uv@v5
63+
with:
64+
version: "latest"
65+
enable-cache: true
6266

6367
- name: Install dependencies
6468
run: |
65-
poetry env use ${{ matrix.python-version }}
66-
pip install -U pip setuptools
67-
poetry install
69+
uv venv --python ${{ matrix.python-version }}
70+
uv pip install pip setuptools
71+
uv sync
6872
6973
- uses: FedericoCarboni/setup-ffmpeg@v2
7074
id: setup-ffmpeg
@@ -73,7 +77,7 @@ jobs:
7377

7478
- name: Run tests
7579
run: |
76-
poetry run pytest -vvv --record-mode=none --disable-recording --ignore tests/providers/lyrics --ignore tests/utils/test_github.py --ignore tests/utils/test_ffmpeg.py --ignore tests/utils/test_metadata.py --ignore tests/test_matching.py --ignore tests/providers/audio/test_youtube.py --ignore tests/console/test_entry_point.py --ignore tests/test_init.py
80+
uv run pytest -vvv --record-mode=none --disable-recording --ignore tests/providers/lyrics --ignore tests/utils/test_github.py --ignore tests/utils/test_ffmpeg.py --ignore tests/utils/test_metadata.py --ignore tests/test_matching.py --ignore tests/providers/audio/test_youtube.py --ignore tests/console/test_entry_point.py --ignore tests/test_init.py
7781
env:
7882
PLATFORM: ${{ matrix.platform }}
7983

@@ -84,19 +88,21 @@ jobs:
8488
steps:
8589
- uses: actions/checkout@v3
8690

87-
- name: Install poetry
88-
run: pipx install poetry
89-
9091
- name: Set up Python "3.11"
9192
uses: actions/setup-python@v4
9293
with:
9394
python-version: "3.11"
94-
cache: 'poetry'
95+
96+
- name: Install uv
97+
uses: astral-sh/setup-uv@v5
98+
with:
99+
version: "latest"
100+
enable-cache: true
95101

96102
- name: Install dependencies
97103
run: |
98-
poetry env use "3.11"
99-
poetry install
104+
uv venv --python 3.11
105+
uv sync
100106
101107
- uses: FedericoCarboni/setup-ffmpeg@v1
102108
id: setup-ffmpeg
@@ -105,4 +111,4 @@ jobs:
105111

106112
- name: Run tests
107113
run: |
108-
poetry run pytest -vvv --record-mode=none --disable-recording tests/test_matching.py
114+
uv run pytest -vvv --record-mode=none --disable-recording tests/test_matching.py

Dockerfile

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,20 +14,20 @@ RUN apk add --no-cache \
1414
libffi-dev \
1515
zlib-dev
1616

17-
# Install poetry and update pip/wheel
18-
RUN pip install --upgrade pip poetry wheel spotipy
17+
# Install uv and update pip/wheel
18+
RUN pip install --upgrade pip uv wheel spotipy
1919

2020
# Copy requirements files
21-
COPY poetry.lock pyproject.toml /
21+
COPY uv.lock pyproject.toml /
2222

2323
# Install spotdl requirements
24-
RUN poetry install
24+
RUN uv sync
2525

2626
# Add source code files to WORKDIR
2727
ADD . .
2828

2929
# Install spotdl itself
30-
RUN poetry install
30+
RUN uv sync
3131

3232
# Create music directory
3333
RUN mkdir /music
@@ -39,4 +39,4 @@ VOLUME /music
3939
WORKDIR /music
4040

4141
# Entrypoint command
42-
ENTRYPOINT ["poetry", "run", "spotdl"]
42+
ENTRYPOINT ["uv", "run", "spotdl"]

0 commit comments

Comments
 (0)