Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 0bcdfbd

Browse files
cclausspre-commit-ci[bot]
andauthored
Use Astral uv (#12402)
* Use Astral uv * uvx vs uv run * uv sync --group=euler-validate,test * uv sync --group=euler-validate --group=test * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * --group=test --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent b22fab0 commit 0bcdfbd

File tree

7 files changed

+1301
-40
lines changed

7 files changed

+1301
-40
lines changed

‎.github/workflows/build.yml

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,18 @@ jobs:
1010
runs-on: ubuntu-latest
1111
steps:
1212
- uses: actions/checkout@v4
13+
- uses: astral-sh/setup-uv@v4
14+
with:
15+
enable-cache: true
16+
cache-dependency-glob: uv.lock
1317
- uses: actions/setup-python@v5
1418
with:
1519
python-version: 3.13
1620
allow-prereleases: true
17-
- uses: actions/cache@v4
18-
with:
19-
path: ~/.cache/pip
20-
key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }}
21-
- name: Install dependencies
22-
run: |
23-
python -m pip install --upgrade pip setuptools wheel
24-
python -m pip install pytest-cov -r requirements.txt
21+
- run: uv sync --group=test
2522
- name: Run tests
2623
# TODO: #8818 Re-enable quantum tests
27-
run: pytest
24+
run: uv run pytest
2825
--ignore=computer_vision/cnn_classification.py
2926
--ignore=docs/conf.py
3027
--ignore=dynamic_programming/k_means_clustering_tensorflow.py

‎.github/workflows/project_euler.yml

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,25 +15,21 @@ jobs:
1515
runs-on: ubuntu-latest
1616
steps:
1717
- uses: actions/checkout@v4
18+
- uses: astral-sh/setup-uv@v4
1819
- uses: actions/setup-python@v5
1920
with:
2021
python-version: 3.x
21-
- name: Install pytest and pytest-cov
22-
run: |
23-
python -m pip install --upgrade pip
24-
python -m pip install --upgrade numpy pytest pytest-cov
25-
- run: pytest --doctest-modules --cov-report=term-missing:skip-covered --cov=project_euler/ project_euler/
22+
- run: uv sync --group=euler-validate --group=test
23+
- run: uv run pytest --doctest-modules --cov-report=term-missing:skip-covered --cov=project_euler/ project_euler/
2624
validate-solutions:
2725
runs-on: ubuntu-latest
2826
steps:
2927
- uses: actions/checkout@v4
28+
- uses: astral-sh/setup-uv@v4
3029
- uses: actions/setup-python@v5
3130
with:
3231
python-version: 3.x
33-
- name: Install pytest and requests
34-
run: |
35-
python -m pip install --upgrade pip
36-
python -m pip install --upgrade numpy pytest requests
37-
- run: pytest scripts/validate_solutions.py
32+
- run: uv sync --group=euler-validate --group=test
33+
- run: uv run pytest scripts/validate_solutions.py
3834
env:
3935
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

‎.github/workflows/ruff.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,5 @@ jobs:
1212
runs-on: ubuntu-latest
1313
steps:
1414
- uses: actions/checkout@v4
15-
- run: pip install --user ruff
16-
- run: ruff check --output-format=github .
15+
- uses: astral-sh/setup-uv@v4
16+
- run: uvx ruff check --output-format=github .

‎.github/workflows/sphinx.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,14 @@ jobs:
2626
runs-on: ubuntu-latest
2727
steps:
2828
- uses: actions/checkout@v4
29+
- uses: astral-sh/setup-uv@v4
2930
- uses: actions/setup-python@v5
3031
with:
3132
python-version: 3.13
3233
allow-prereleases: true
33-
- run: pip install --upgrade pip
34-
- run: pip install myst-parser sphinx-autoapi sphinx-pyproject
34+
- run: uv sync --group=docs
3535
- uses: actions/configure-pages@v5
36-
- run: sphinx-build -c docs . docs/_build/html
36+
- run: uv run sphinx-build -c docs . docs/_build/html
3737
- uses: actions/upload-pages-artifact@v3
3838
with:
3939
path: docs/_build/html

‎pyproject.toml

Lines changed: 38 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,43 @@ requires-python = ">=3.13"
77
classifiers = [
88
"Programming Language :: Python :: 3 :: Only",
99
"Programming Language :: Python :: 3.13",
10+
]
11+
dependencies = [
12+
"beautifulsoup4>=4.12.3",
13+
"fake-useragent>=1.5.1",
14+
"imageio>=2.36.1",
15+
"keras>=3.7",
16+
"lxml>=5.3",
17+
"matplotlib>=3.9.3",
18+
"numpy>=2.1.3",
19+
"opencv-python>=4.10.0.84",
20+
"pandas>=2.2.3",
21+
"pillow>=11",
22+
"requests>=2.32.3",
23+
"rich>=13.9.4",
24+
"scikit-learn>=1.5.2",
25+
"sphinx-pyproject>=0.3",
26+
"statsmodels>=0.14.4",
27+
"sympy>=1.13.3",
28+
"tweepy>=4.14",
29+
"typing-extensions>=4.12.2",
30+
"xgboost>=2.1.3",
31+
]
1032

33+
[dependency-groups]
34+
test = [
35+
"pytest>=8.3.4",
36+
"pytest-cov>=6",
1137
]
12-
optional-dependencies.docs = [
13-
"myst-parser",
14-
"sphinx-autoapi",
15-
"sphinx-pyproject",
38+
39+
docs = [
40+
"myst-parser>=4",
41+
"sphinx-autoapi>=3.4",
42+
"sphinx-pyproject>=0.3",
43+
]
44+
euler-validate = [
45+
"numpy>=2.1.3",
46+
"requests>=2.32.3",
1647
]
1748

1849
[tool.ruff]
@@ -61,8 +92,8 @@ lint.select = [
6192
"UP", # pyupgrade
6293
"W", # pycodestyle
6394
"YTT", # flake8-2020
64-
# "ANN", # flake8-annotations # FIX ME?
65-
# "COM", # flake8-commas
95+
# "ANN", # flake8-annotations -- FIX ME?
96+
# "COM", # flake8-commas -- DO NOT FIX
6697
# "D", # pydocstyle -- FIX ME?
6798
# "ERA", # eradicate -- DO NOT FIX
6899
# "FBT", # flake8-boolean-trap # FIX ME
@@ -129,10 +160,7 @@ lint.pylint.max-statements = 88 # default: 50
129160

130161
[tool.codespell]
131162
ignore-words-list = "3rt,ans,bitap,crate,damon,fo,followings,hist,iff,kwanza,manuel,mater,secant,som,sur,tim,toi,zar"
132-
skip = "./.*,*.json,ciphers/prehistoric_men.txt,project_euler/problem_022/p022_names.txt,pyproject.toml,strings/dictionary.txt,strings/words.txt"
133-
134-
[tool.pyproject-fmt]
135-
max_supported_python = "3.13"
163+
skip = "./.*,*.json,*.lock,ciphers/prehistoric_men.txt,project_euler/problem_022/p022_names.txt,pyproject.toml,strings/dictionary.txt,strings/words.txt"
136164

137165
[tool.pytest.ini_options]
138166
markers = [

‎requirements.txt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,12 @@ numpy
88
opencv-python
99
pandas
1010
pillow
11-
# projectq # uncomment once quantum/quantum_random.py is fixed
12-
qiskit ; python_version < '3.12'
13-
qiskit-aer ; python_version < '3.12'
1411
requests
1512
rich
16-
# scikit-fuzzy # uncomment once fuzzy_logic/fuzzy_operations.py is fixed
1713
scikit-learn
1814
sphinx_pyproject
1915
statsmodels
2016
sympy
21-
tensorflow ; python_version < '3.13'
2217
tweepy
23-
# yulewalker # uncomment once audio_filters/equal_loudness_filter.py is fixed
2418
typing_extensions
2519
xgboost

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /