pre-commit-hooks
pipx
pre-commit-hooks | pipx | |
---|---|---|
3 | 38 | |
112 | 8,999 | |
0.0% | 4.7% | |
0.0 | 9.3 | |
6 months ago | 5 days ago | |
Shell | Python | |
MIT License | MIT License |
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
-
Implementing Quality Checks In Your Git Workflow With Hooks and pre-commit
$ vim README.md #changes here $ git add .pre-commit-config.yaml README.md $ git commit [INFO] Initializing environment for https://github.com/jumanjihouse/pre-commit-hooks. [INFO] Installing environment for https://github.com/jumanjihouse/pre-commit-hooks. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... Trim Trailing Whitespace.................................................Passed Fix End of Files.........................................................Passed Check Yaml...............................................................Passed Check Toml...........................................(no files to check)Skipped Check for added large files..............................................Passed tox-validation.......................................(no files to check)Skipped tox-docs.............................................(no files to check)Skipped pdm-lock-check.......................................(no files to check)Skipped Check markdown files.....................................................Passed
-
Modern Python setup for quality development
repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.0.1 hooks: - id: check-added-large-files - id: check-ast - id: check-builtin-literals - id: check-case-conflict - id: check-docstring-first - id: check-executables-have-shebangs - id: check-json - id: check-merge-conflict - id: check-symlinks - id: check-toml - id: check-vcs-permalinks - id: check-xml - id: check-yaml args: [--allow-multiple-documents] - id: debug-statements - id: detect-aws-credentials args: [--allow-missing-credentials] - id: destroyed-symlinks - id: end-of-file-fixer - id: fix-byte-order-marker - id: fix-encoding-pragma args: [--remove] - id: forbid-new-submodules - id: mixed-line-ending args: [--fix=auto] - id: name-tests-test args: [--django] - id: requirements-txt-fixer - id: trailing-whitespace - repo: local hooks: - id: black name: black entry: poetry run black language: system types: [python] - id: flake8 name: flake8 entry: poetry run flake8 language: system types: [python] - repo: https://github.com/pycqa/isort rev: "5.9.1" hooks: - id: isort args: - --profile - black - --filter-files - repo: https://github.com/adrienverge/yamllint.git rev: v1.26.1 hooks: - id: yamllint args: [-c=.yamllint.yaml] - repo: https://gitlab.com/devopshq/gitlab-ci-linter rev: v1.0.2 hooks: - id: gitlab-ci-linter args: - "--server" - "https://your.gitlab.server" # Need env var GITLAB_PRIVATE_TOKEN with gitlab api read token - repo: https://github.com/commitizen-tools/commitizen rev: v2.17.11 hooks: - id: commitizen stages: [commit-msg] - repo: https://github.com/jumanjihouse/pre-commit-hooks rev: 2.1.5 # or specific git tag hooks: - id: forbid-binary - id: shellcheck - id: shfmt
-
TIL: Use pre-commit hook - the framework
shellcheck (jumanjihouse/pre-commit-hooks)
pipx
-
Keep your AWS CLI config fresh with Cog
Use pipx to install Cog and my aws-sso-config-builder tool in the same environment:
- pipx
-
Implementing Quality Checks In Your Git Workflow With Hooks and pre-commit
Given how useful pre-commit is across projects I generally recommend installing via pip install --user, making it part of a tooling virtual environment, or using pipx:
-
pipx VS instld - a user suggested alternative
2 projects | 9 Dec 2023
- Pipx – Install and Run Python Applications in Isolated Environments
-
Packaging a self contained CLI application for any environment?
I would recommend going with PipX. You toss in a setup.py file, put your project on github, and then anyone on any OS can pipx install your project. It's a glorious thing. The only thing they need is 1) some supported version of Python installed, 2) pipx installed. They can even get updates by calling pipx upgrade.
-
Some confusion with system version and pyenv
See https://github.com/pypa/pipx/issues/278
-
List of software package management systems
Good overview. There are quite a few on there I was not aware of. That said, I am not sure the organizational schema makes a tone of sense. I would assume most users that come across this would be looking for a package manager for a specific platform and then weighing the options of binary/source/etc., instead of the other way around.
Also, pipx (https://github.com/pypa/pipx) would be a good addition to the list. I'd add it but I'm not sure where it would go. Maybe every section? It's cross platform and handles both binary and source based app distributions.
-
After using Python for over 2 years I am still really confused about all of the installation stuff and virtual environments
Pip is pretty simple and useful for me - you have your own environment for every script/program, requirements.txt is simple to understand too... It's kinda good solution for regular users... For more complex projects we have Poetry, PipX, that was inspired by NPM(x), I think...
-
Apple Unveils MacBook Pro Featuring M2 Pro and M2 Max
What benefit would joining your cult bestow upon me that brew does not already?
My brew list is intentionally very short and my faffing about desire is limited.
Generally I use brew to pull in asdf (https://github.com/asdf-vm/asdf) to install programming languages/tooling, it works flawlessly.
I use Pipx (https://github.com/pypa/pipx) to install python thingies (such as yt-dlp) as a cli. Go and Rust handle binaries in their languages beautifully and without issues.
What are some alternatives?
markdownlint-cli - MarkdownLint Command Line Interface
Poetry - Python packaging and dependency management made easy
commitizen - Create committing rules for projects :rocket: auto bump versions :arrow_up: and auto changelog generation :open_file_folder:
opstrat - Option visualization python package
bandit - Bandit is a tool designed to find common security issues in Python code.
Lean and Mean Docker containers - Slim(toolkit): Don't change anything in your container image and minify it by up to 30x (and for compiled languages even more) making it secure too! (free and open source)
safety - Safety checks Python dependencies for known security vulnerabilities and suggests the proper remediations for vulnerabilities detected.
dust - A more intuitive version of du in rust
gitleaks - Protect and discover secrets using Gitleaks 🔑
private-pypi - private pypi server
gitlab-ci-linter
Pyjion