✨ Enhance your Python repository by adding cutting-edge development tools
Project description
Pimp My Repo
🧙🏼♂️ One command to modernize them all.
Strict linting, type checking, and CI for your legacy Python repo, with near-zero manual work. Run it once in your repo root — it creates its own local branch (nothing is pushed), so you can always walk away:
uvx pimp-my-repo
Why legacy repos stay legacy
Adopting strict linting and type checking sounds great — until you run Ruff or Mypy for the first time and see 17,000 violations. Fixing them all before you can enforce a single rule isn't practical, so the tools stay off or "loose," and the debt compounds.
The baseline approach
pimp-my-repo skips the manual fix step entirely:
- Configures tools in strict mode: Ruff with all rules enabled, Mypy with
--strict. - Suppresses all existing violations: automatically adds
# noqaand# type: ignoreto every current offender. - Commits the result: you get a clean, passing CI baseline immediately.
New code must comply from day one. Legacy violations are silenced but visible; fix them incrementally, at your own pace, without blocking anyone.
What gets added
- 🚀 uv — modern dependency management
- ✨ Ruff — linting and formatting, strict mode, all existing violations suppressed
- 🐍 Mypy — static type checking, strict mode, all existing errors suppressed
- 🏖️ pre-commit — hooks to enforce quality before every commit
- 🎢 just — task runner with
install,test, andlintrecipes out of the box - 🏗️ CI (coming soon) — GitHub Actions or GitLab Pipeline configuration
License
This project is licensed under the MIT License - see the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pimp_my_repo-0.4.13.tar.gz.
File metadata
- Download URL: pimp_my_repo-0.4.13.tar.gz
- Upload date:
- Size: 154.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9afe69739ddb9baedd5077873a19dddf596ce946ddc7c3fb256afa9507ebf434
|
|
| MD5 |
c79d074d1af40b8df529f394b1aace27
|
|
| BLAKE2b-256 |
3e03d1645697638a7fc9fbddb6f0e65b6623ae57383b92c487a00a4fdde0c6b3
|
Provenance
The following attestation bundles were made for pimp_my_repo-0.4.13.tar.gz:
Publisher:
ci.yml on asaf-kali/pimp-my-repo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pimp_my_repo-0.4.13.tar.gz -
Subject digest:
9afe69739ddb9baedd5077873a19dddf596ce946ddc7c3fb256afa9507ebf434 - Sigstore transparency entry: 1288342543
- Sigstore integration time:
-
Permalink:
asaf-kali/pimp-my-repo@43e42e3a508a5545e561c8112295b3a1215701fb -
Branch / Tag:
refs/heads/main - Owner: https://github.com/asaf-kali
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@43e42e3a508a5545e561c8112295b3a1215701fb -
Trigger Event:
push
-
Statement type:
File details
Details for the file pimp_my_repo-0.4.13-py3-none-any.whl.
File metadata
- Download URL: pimp_my_repo-0.4.13-py3-none-any.whl
- Upload date:
- Size: 53.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
deaa23c281f7870b489cdb7ae7e836983150153d960952dcb870ee3f3a18b803
|
|
| MD5 |
5676873f90582d636512e4ed25138de7
|
|
| BLAKE2b-256 |
440ea2faee1d0017ea67cb8e7557367f215e3947e077e81d4da31e48017e9cf0
|
Provenance
The following attestation bundles were made for pimp_my_repo-0.4.13-py3-none-any.whl:
Publisher:
ci.yml on asaf-kali/pimp-my-repo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pimp_my_repo-0.4.13-py3-none-any.whl -
Subject digest:
deaa23c281f7870b489cdb7ae7e836983150153d960952dcb870ee3f3a18b803 - Sigstore transparency entry: 1288342621
- Sigstore integration time:
-
Permalink:
asaf-kali/pimp-my-repo@43e42e3a508a5545e561c8112295b3a1215701fb -
Branch / Tag:
refs/heads/main - Owner: https://github.com/asaf-kali
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@43e42e3a508a5545e561c8112295b3a1215701fb -
Trigger Event:
push
-
Statement type: