Skip to main content

✨ 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.

PyPI CI codecov Ruff Type checked: mypy

Run it once in your repo root — it creates its own branch, so you can always walk away. No strings attached:

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:

  1. Configures tools in strict mode — Ruff with all rules enabled, Mypy with --strict.
  2. Suppresses all existing violations — automatically adds # noqa and # type: ignore to every current offender.
  3. 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, and lint recipes 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pimp_my_repo-0.4.11.tar.gz (153.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pimp_my_repo-0.4.11-py3-none-any.whl (53.9 kB view details)

Uploaded Python 3

File details

Details for the file pimp_my_repo-0.4.11.tar.gz.

File metadata

  • Download URL: pimp_my_repo-0.4.11.tar.gz
  • Upload date:
  • Size: 153.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pimp_my_repo-0.4.11.tar.gz
Algorithm Hash digest
SHA256 b5797b8f3720f36547a1847f4ccd3403dae13082287337c791933ea04cfbb8cd
MD5 b96c1e86c9de8a5f00ab1142291fde3b
BLAKE2b-256 e39fe0ad927430e71306f0f6d51918ba14ed924f17bfdbc0f7b64bfdb3696711

See more details on using hashes here.

Provenance

The following attestation bundles were made for pimp_my_repo-0.4.11.tar.gz:

Publisher: ci.yml on asaf-kali/pimp-my-repo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pimp_my_repo-0.4.11-py3-none-any.whl.

File metadata

  • Download URL: pimp_my_repo-0.4.11-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

Hashes for pimp_my_repo-0.4.11-py3-none-any.whl
Algorithm Hash digest
SHA256 ec89de193299399325dc3dcd60b6bdca8fea97d8ceba2174963e01774242c326
MD5 1f4ee97c434cd3a789c562cb2e846789
BLAKE2b-256 5be7fa8aa19df2eccb64db24efd4443d36a2b875de70ed7ba07920aaf58f61a1

See more details on using hashes here.

Provenance

The following attestation bundles were made for pimp_my_repo-0.4.11-py3-none-any.whl:

Publisher: ci.yml on asaf-kali/pimp-my-repo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page