jupyter python uv tox pyscaffold rich ini2toml pls pre-commit tox tox-uv
- Installing uv
- How To Use tox-uv
-
pre-commit-uv
$URL = 'https://astral.sh/uv/install.ps1' powershell -ExecutionPolicy ByPass -c ` "Invoke-RestMethod "$URL" | Invoke-Expression" uv tool install tox --with tox-uv # use uv to install tox --version # validate you are using the installed tox uv tool install 'ini2toml[full]' uv tool install 'pyscaffold[all]' uv tool install jupyter-book uv tool install pls uv tool install pre-commit --with pre-commit-uv uv tool install rich-cli
putup --dsproject --markdown --pre-commit --interactive <project>
defaults to autoflake, isort, black, blacken-docs, and flake8.
Update .pre-commit-config.yaml to add ruff and
enable pyupgrade and codespell.
exclude: |
(?x)(
^docs/conf.py|
^docs/.*.md$|
^.*/out/.*$
)
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
- id: check-added-large-files
- id: check-ast
- id: check-json
- id: check-merge-conflict
- id: check-symlinks
- id: check-xml
- id: check-yaml
- id: debug-statements
- id: end-of-file-fixer
- id: mixed-line-ending
args: ['--fix=lf'] # replace 'auto' with 'lf' to enforce Linux/Mac line endings or 'crlf' for Windows
- id: name-tests-test
args: ["--pytest-test-first"]
- id: requirements-txt-fixer
- id: trailing-whitespace
# ruff-pre-commit
- repo: https://github.com/astral-sh/ruff-pre-commit
# Ruff version.
rev: v0.6.9
hooks:
# Run the linter.
- id: ruff
types_or: [ python, pyi ]
args: [ --fix ]
# Run the formatter.
- id: ruff-format
types_or: [ python, pyi ]
## If you want to automatically "modernize" your Python code:
- repo: https://github.com/asottile/pyupgrade
rev: v3.17.0
hooks:
- id: pyupgrade
args: ['--py38-plus']
## Check for misspells in documentation files:
- repo: https://github.com/codespell-project/codespell
rev: v2.3.0
hooks:
- id: codespell
## Markdown Lint
- repo: https://github.com/igorshubovych/markdownlint-cli
rev: v0.42.0
hooks:
- id: markdownlint-fix
args:
- "--ignore"
- "tests/**/*.md"