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"