mirror of
https://github.com/moraroy/NonSteamLaunchers-On-Steam-Deck.git
synced 2026-06-13 04:04:59 +03:00
ci: Switch from poetry to uv
- Convert pyproject.toml to work with uv - Remove poetry references/lock file - Decouple ruff config - Freeze current deps - Manually bump version to match github release
This commit is contained in:
@@ -1,3 +1,3 @@
|
||||
{
|
||||
".": "3.8.2"
|
||||
".": "4.2.3"
|
||||
}
|
||||
|
||||
@@ -431,17 +431,13 @@ cz-cli@4.3.0, cz-conventional-changelog@3.3.0
|
||||
|
||||
### Additional tooling
|
||||
|
||||
#### TODO
|
||||
|
||||
* Add [devbox](https://www.jetpack.io/devbox/) 👌
|
||||
|
||||
<!-- TODO: swap with mise -->
|
||||
#### asdf
|
||||
|
||||
* Install [asdf](https://asdf-vm.com/guide/getting-started.html#_2-download-asdf)
|
||||
* Add plugins
|
||||
```bash
|
||||
asdf plugin-add python
|
||||
asdf plugin-add poetry https://github.com/asdf-community/asdf-poetry.git
|
||||
asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git
|
||||
```
|
||||
* Usage
|
||||
@@ -458,6 +454,53 @@ cz-cli@4.3.0, cz-conventional-changelog@3.3.0
|
||||
asdf global python latest
|
||||
```
|
||||
|
||||
#### uv
|
||||
|
||||
[uv](https://docs.astral.sh/uv/) is a faster drop-in replacement for `poetry` among other dependency and virtual environment managers written in rust.
|
||||
|
||||
Common operations after [installing](https://docs.astral.sh/uv/getting-started/installation/):
|
||||
|
||||
```bash
|
||||
# create venv w/pinned python version
|
||||
uv venv --python ">=3.11,<3.13"
|
||||
|
||||
# activate venv
|
||||
source .venv/bin/activate
|
||||
|
||||
# add deps
|
||||
uv add redis
|
||||
uv add --optional dev ruff
|
||||
|
||||
# install optional (extra) deps
|
||||
uv pip install -r pyproject.toml --all-extras
|
||||
|
||||
# pip freeze
|
||||
uv pip freeze > requirements.txt
|
||||
```
|
||||
|
||||
#### Ruff
|
||||
|
||||
[Ruff](https://docs.astral.sh/ruff/) is a linter and formatter compatible with various other tools like black, flake8, isort, etc. Like [uv](#uv), it's by Astral and written in rust.
|
||||
|
||||
Install is handled by `uv`. These are a few of my favorite things 🎵:
|
||||
|
||||
```bash
|
||||
# run linter
|
||||
ruff check .
|
||||
|
||||
# formatter
|
||||
ruff format .
|
||||
|
||||
# run tests
|
||||
ruff
|
||||
|
||||
# run tests with coverage
|
||||
ruff --coverage
|
||||
|
||||
# run tests with coverage and open in browser
|
||||
ruff --coverage --open
|
||||
```
|
||||
|
||||
#### shellcheck
|
||||
|
||||
`.shellcheckrc` excludes various [bash language rules](https://github.com/koalaman/shellcheck/wiki/Ignore#ignoring-one-or-more-types-of-errors-forever). Useful to control noise vs. legitimate warnings/errors when using the shellcheck extension.
|
||||
|
||||
Generated
-1974
File diff suppressed because it is too large
Load Diff
+28
-76
@@ -1,86 +1,38 @@
|
||||
[tool.poetry]
|
||||
[project]
|
||||
name = "non-steam-launchers"
|
||||
version = "3.8.2"
|
||||
version = "4.2.3"
|
||||
description = ""
|
||||
authors = [
|
||||
"moraroy <88516395+moraroy@users.noreply.github.com>",
|
||||
"pythoninthegrass <4097471+pythoninthegrass@users.noreply.github.com>"
|
||||
{ name = "moraroy", email = "88516395+moraroy@users.noreply.github.com" },
|
||||
{ name = "pythoninthegrass", email = "4097471+pythoninthegrass@users.noreply.github.com" },
|
||||
]
|
||||
license = "MIT"
|
||||
requires-python = ">=3.11,<3.13"
|
||||
readme = "README.md"
|
||||
license = "MIT"
|
||||
|
||||
[tool.poetry.dependencies]
|
||||
python = ">=3.11,<3.13"
|
||||
python-decouple = "^3.8"
|
||||
python-steamgriddb = "^1.0.5"
|
||||
requests = "^2.31.0"
|
||||
vdf = "^3.4"
|
||||
|
||||
[tool.poetry.group.dev.dependencies]
|
||||
coverage = "^7.3.2"
|
||||
hypothesis = {extras = ["cli"], version = "^6.88.4"}
|
||||
icecream = "^2.1.3"
|
||||
ipython = "^9.0.2"
|
||||
poetry-plugin-export = "^1.6.0"
|
||||
pytest = "^8.0.2"
|
||||
pytest-asyncio = "^1.0.0"
|
||||
pytest-cov = "^6.0.0"
|
||||
pytest-datafiles = "^3.0.0"
|
||||
pytest-xdist = "^3.4.0"
|
||||
rich = "^14.0.0"
|
||||
ruff = "^0.12.1"
|
||||
|
||||
[tool.ruff]
|
||||
# Enable pycodestyle (`E`) and Pyflakes (`F`) codes by default.
|
||||
select = ["E", "F"]
|
||||
ignore = []
|
||||
# Skip unused variable rules
|
||||
extend-ignore = ["D203", "E203", "E251", "E266", "E401", "E402", "E501", "F401", "F403"]
|
||||
|
||||
# Allow autofix for all enabled rules (when `--fix`) is provided.
|
||||
fixable = ["A", "B", "C", "D", "E", "F", "G", "I", "N", "Q", "S", "T", "W", "ANN", "ARG", "BLE", "COM", "DJ", "DTZ", "EM", "ERA", "EXE", "FBT", "ICN", "INP", "ISC", "NPY", "PD", "PGH", "PIE", "PL", "PT", "PTH", "PYI", "RET", "RSE", "RUF", "SIM", "SLF", "TCH", "TID", "TRY", "UP", "YTT"]
|
||||
unfixable = []
|
||||
|
||||
# Exclude a variety of commonly ignored directories.
|
||||
exclude = [
|
||||
".bzr",
|
||||
".direnv",
|
||||
"dist",
|
||||
".eggs",
|
||||
".git",
|
||||
".git-rewrite",
|
||||
".hg",
|
||||
".mypy_cache",
|
||||
".nox",
|
||||
".pants.d",
|
||||
"__pycache__",
|
||||
".pytype",
|
||||
".ruff_cache",
|
||||
".svn",
|
||||
".tox",
|
||||
".venv",
|
||||
"__pypackages__",
|
||||
"_build",
|
||||
"buck-out",
|
||||
"build",
|
||||
"dist",
|
||||
"node_modules",
|
||||
"venv",
|
||||
dependencies = [
|
||||
"python-decouple~=3.8",
|
||||
"python-steamgriddb>=1.0.5,<2",
|
||||
"requests>=2.31.0,<3",
|
||||
"vdf~=3.4",
|
||||
]
|
||||
|
||||
# Black (default: 88)
|
||||
line-length = 130
|
||||
|
||||
# Allow unused variables when underscore-prefixed.
|
||||
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
|
||||
|
||||
# Assume Python 3.11.
|
||||
target-version = "py311"
|
||||
|
||||
[tool.ruff.mccabe]
|
||||
# Unlike Flake8, default to a complexity level of 10.
|
||||
max-complexity = 10
|
||||
[dependency-groups]
|
||||
dev = [
|
||||
"coverage>=7.3.2,<8",
|
||||
"hypothesis[cli]>=6.88.4,<7",
|
||||
"icecream>=2.1.3,<3",
|
||||
"ipython>=9.0.2,<10",
|
||||
"poetry-plugin-export>=1.6.0,<2",
|
||||
"pytest>=8.0.2,<9",
|
||||
"pytest-asyncio>=1.0.0,<2",
|
||||
"pytest-cov>=6.0.0,<7",
|
||||
"pytest-datafiles>=3.0.0,<4",
|
||||
"pytest-xdist>=3.4.0,<4",
|
||||
"rich>=14.0.0,<15",
|
||||
"ruff>=0.12.1,<0.13",
|
||||
]
|
||||
|
||||
[build-system]
|
||||
requires = ["poetry-core"]
|
||||
build-backend = "poetry.core.masonry.api"
|
||||
requires = ["hatchling"]
|
||||
build-backend = "hatchling.build"
|
||||
|
||||
+8
-8
@@ -1,8 +1,8 @@
|
||||
certifi==2025.8.3 ; python_version >= "3.11" and python_version < "3.13"
|
||||
charset-normalizer==3.4.3 ; python_version >= "3.11" and python_version < "3.13"
|
||||
idna==3.10 ; python_version >= "3.11" and python_version < "3.13"
|
||||
python-decouple==3.8 ; python_version >= "3.11" and python_version < "3.13"
|
||||
python-steamgriddb==1.0.5 ; python_version >= "3.11" and python_version < "3.13"
|
||||
requests==2.32.4 ; python_version >= "3.11" and python_version < "3.13"
|
||||
urllib3==2.5.0 ; python_version >= "3.11" and python_version < "3.13"
|
||||
vdf==3.4 ; python_version >= "3.11" and python_version < "3.13"
|
||||
certifi==2025.8.3
|
||||
charset-normalizer==3.4.3
|
||||
idna==3.10
|
||||
python-decouple==3.8
|
||||
python-steamgriddb==1.0.5
|
||||
requests==2.32.5
|
||||
urllib3==2.5.0
|
||||
vdf==3.4
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
# Fix without reporting on leftover violations
|
||||
fix-only = true
|
||||
|
||||
# Enumerate all fixed violations
|
||||
show-fixes = true
|
||||
|
||||
# Indent width (default: 4)
|
||||
indent-width = 4
|
||||
|
||||
# Black (default: 88)
|
||||
line-length = 130
|
||||
|
||||
# Exclude a variety of commonly ignored directories.
|
||||
exclude = [
|
||||
".bzr",
|
||||
".direnv",
|
||||
"dist",
|
||||
".eggs",
|
||||
".git",
|
||||
".git-rewrite",
|
||||
".hg",
|
||||
".mypy_cache",
|
||||
".nox",
|
||||
".pants.d",
|
||||
"__pycache__",
|
||||
".pytype",
|
||||
".ruff_cache",
|
||||
".svn",
|
||||
".tox",
|
||||
".venv",
|
||||
"__pypackages__",
|
||||
"_build",
|
||||
"buck-out",
|
||||
"build",
|
||||
"dist",
|
||||
"node_modules",
|
||||
"venv",
|
||||
]
|
||||
|
||||
# Assume Python 3.13
|
||||
target-version = "py313"
|
||||
|
||||
[format]
|
||||
# Use spaces instead of tabs
|
||||
indent-style = "space"
|
||||
|
||||
# Use `\n` line endings for all files
|
||||
line-ending = "lf"
|
||||
|
||||
# Set quote style for strings
|
||||
quote-style = "preserve"
|
||||
|
||||
[lint]
|
||||
select = [
|
||||
# pycodestyle
|
||||
"E",
|
||||
# Pyflakes
|
||||
"F",
|
||||
# pyupgrade
|
||||
"UP",
|
||||
# flake8-bugbear
|
||||
"B",
|
||||
# flake8-simplify
|
||||
"SIM",
|
||||
# isort
|
||||
"I",
|
||||
]
|
||||
ignore = ["D203", "E203", "E251", "E266", "E401", "E402", "E501", "F401", "F403", "F841"]
|
||||
|
||||
# Allow unused variables when underscore-prefixed.
|
||||
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
|
||||
|
||||
# Allow autofix for all enabled rules (when `--fix`) is provided.
|
||||
fixable = ["A", "B", "C", "D", "E", "F", "G", "I", "N", "Q", "S", "T", "W", "ANN", "ARG", "BLE", "COM", "DJ", "DTZ", "EM", "ERA", "EXE", "FBT", "ICN", "INP", "ISC", "NPY", "PD", "PGH", "PIE", "PL", "PT", "PTH", "PYI", "RET", "RSE", "RUF", "SIM", "SLF", "TID", "TRY", "UP", "YTT"]
|
||||
|
||||
[lint.isort]
|
||||
combine-as-imports = true
|
||||
from-first = false
|
||||
no-sections = true
|
||||
order-by-type = true
|
||||
|
||||
[lint.flake8-quotes]
|
||||
docstring-quotes = "double"
|
||||
|
||||
[lint.mccabe]
|
||||
# Unlike Flake8, default to a complexity level of 10.
|
||||
max-complexity = 10
|
||||
Reference in New Issue
Block a user