pre-commit-hooks VS pyupgrade

Compare pre-commit-hooks vs pyupgrade and see what are their differences.

pre-commit-hooks

Some out-of-the-box hooks for pre-commit (by pre-commit)

pyupgrade

A tool (and pre-commit hook) to automatically upgrade syntax for newer versions of the language. (by asottile)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
pre-commit-hooks pyupgrade
22 23
4,874 3,326
3.3% -
7.2 7.9
6 days ago 16 days ago
Python Python
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

pre-commit-hooks

Posts with mentions or reviews of pre-commit-hooks. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-13.
  • Implementing Quality Checks In Your Git Workflow With Hooks and pre-commit
    6 projects | dev.to | 13 Dec 2023
    # See https://pre-commit.com for more information # See https://pre-commit.com/hooks.html for more hooks repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v3.2.0 hooks: - id: trailing-whitespace - id: end-of-file-fixer - id: check-yaml - id: check-toml - id: check-added-large-files - repo: local hooks: - id: tox lint name: tox-validation entry: pdm run tox -e test,lint language: system files: ^src\/.+py$|pyproject.toml|^tests\/.+py$ types_or: [python, toml] pass_filenames: false - id: tox docs name: tox-docs language: system entry: pdm run tox -e docs types_or: [python, rst, toml] files: ^src\/.+py$|pyproject.toml|^docs\/ pass_filenames: false - repo: https://github.com/pdm-project/pdm rev: 2.10.4 # a PDM release exposing the hook hooks: - id: pdm-lock-check - repo: https://github.com/jumanjihouse/pre-commit-hooks rev: 3.0.0 hooks: - id: markdownlint
  • How to Write Impeccably Clean Code That Will Save Your Sanity
    7 projects | dev.to | 27 Jul 2023
    repos: - repo: https://github.com/ambv/black rev: 23.3.0 hooks: - id: black args: [--config=./pyproject.toml] language_version: python3.11 - repo: https://github.com/pycqa/flake8 rev: 6.0.0 hooks: - id: flake8 args: [--config=./tox.ini] language_version: python3.11 - repo: https://github.com/pycqa/isort rev: 5.12.0 hooks: - id: isort args: ["--profile", "black", "--filter-files"] language_version: python3.11 - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.4.0 hooks: - id: requirements-txt-fixer language_version: python3.11 - id: debug-statements - id: detect-aws-credentials - id: detect-private-key
  • Setting Up Pre-Commit Hooks in GitHub: Ensuring Code Quality and Consistency
    4 projects | dev.to | 11 Jul 2023
    repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: hooks: - id: check-json
  • Level up your development in Git
    3 projects | dev.to | 3 Jun 2023
    $ pre-commit run --all-files [INFO] Initializing environment for https://github.com/pre-commit/pre-commit-hooks. [INFO] Initializing environment for https://github.com/psf/black. [INFO] Installing environment for https://github.com/pre-commit/pre-commit-hooks. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... [INFO] Installing environment for https://github.com/psf/black. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... Check Yaml...............................................................Passed Fix End of Files.........................................................Passed Trim Trailing Whitespace.................................................Failed - hook id: trailing-whitespace - exit code: 1 Files were modified by this hook. Additional output: Fixing sample.py black....................................................................Passed
  • What happens when you leak AWS credentials and how AWS minimizes the damage
    3 projects | news.ycombinator.com | 6 Apr 2023
    The excellent pre-commit framework (https://pre-commit.com/) has a hook for that in its official hook collection: https://github.com/pre-commit/pre-commit-hooks#detect-aws-cr...
  • Improve your Django Code with pre-commit
    13 projects | dev.to | 5 Apr 2023
    exclude: .*migrations\/.* repos: - repo: https://github.com/pre-commit/pre-commit-hooks ... - repo: https://github.com/psf/black rev: 22.12.0 hooks: - id: black language_version: python3.9
  • ChatGPT based PR Reviewer and Summarizer (GH Action)
    2 projects | /r/sre | 12 Mar 2023
    This is what we use — https://github.com/pre-commit/pre-commit-hooks/blob/main/pre_commit_hooks/detect_private_key.py
  • How I use pre-commit for Terraform
    1 project | /r/Terraform | 19 Oct 2022
    Personally I do also add "end-of-file-fixer" and "trailing-whitespace" from the "https://github.com/pre-commit/pre-commit-hooks" repo. That cleans up and normalizes some files as well.
  • Gitlab CI with docker compose
    2 projects | dev.to | 6 Aug 2022
    repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v3.3.0 hooks: - id: check-yaml args: ["--allow-multiple-documents"] - repo: local hooks: - id: forbidden-files name: forbidden files entry: found copier update rejection files; review them and remove them language: fail files: "\\.rej$" - id: black name: black entry: poetry run black language: system types: [python] - id: flake8 name: flake8 entry: poetry run flake8 language: system types: [python] - id: isort name: isort entry: poetry run isort --settings-path=. language: system types: [python] - id: pyupgrade name: pyupgrade entry: poetry run pyupgrade language: system types: [python] args: [--py310-plus] - id: mypy name: mypy description: Check python types. entry: poetry run mypy language: system types: [python]
  • Disable a direct push to GitHub main branch
    1 project | dev.to | 3 Aug 2022
    repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.1.0 hooks: - id: no-commit-to-branch

pyupgrade

Posts with mentions or reviews of pyupgrade. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-12.

What are some alternatives?

When comparing pre-commit-hooks and pyupgrade you can also consider the following projects:

bandit - Bandit is a tool designed to find common security issues in Python code.

flynt - A tool to automatically convert old string literal formatting to f-strings

tfsec - Security scanner for your Terraform code [Moved to: https://github.com/aquasecurity/tfsec]

black - The uncompromising Python code formatter

tflint - A Pluggable Terraform Linter

pep585-upgrade - Pre-commit hook for upgrading type hints

codespell - check code for common misspellings

autoflake - Removes unused imports and unused variables as reported by pyflakes

terraform-docs - Generate documentation from Terraform modules in various output formats

black - The uncompromising Python code formatter [Moved to: https://github.com/psf/black]

black - The uncompromising Python code formatter [Moved to: https://github.com/psf/black]

pre-commit - A framework for managing and maintaining multi-language pre-commit hooks.