One policy, one catalog, three commands — plus refactor.
Linters, formatters, scanners, metric gates, and structural Python rules —
without hand-rolled CI glue.
Documentation · Usage guide · Changelog · Contributing
You start a Python project and quickly realize you need a pile of tools — linters, formatters, type checkers, secret scanners — each with its own config, install story, and CI glue. Before you write much code, you are maintaining a toolchain.
ShipGate replaces that sprawl with one project policy file and a metadata-driven catalog. Pick a suite once; run the same three commands locally, in CI, and in pre-commit. The wheel also ships refactor — AST rules for structural cleanup alongside catalog gates.
Quick start
Requires Python 3.11–3.14 (prefer 3.13 for the full suite).
pip install shipgate # or: uv add --dev shipgate
shipgate init # scaffold .shipgate/ policy + configs
shipgate install # install tools for your suite
shipgate format --target . # apply formatters
shipgate check --target . # report-only quality gates
shipgate refactor check . # structural Python rules (JSON hits)
Optional: pip install 'shipgate[server]' then shipgate serve --open for
the report UI. See Refactor
for fix, list, explain, and optional rule packs.
Documentation
This README is the shortest path to a working project. For suites, policy, error formats, CI, gates, and the full tool catalog, use the documentation site.
| Guide | Contents |
|---|---|
| Usage | Commands, suites, error formats, CI, pre-commit |
| Refactor | Structural Python rules (check, fix, list, explain) |
| Configuration | Policy files, scopes, Radon metric gates |
| Tools | Bundled catalog and project extensions |
| Architecture | Layers and design decisions |
| Check flow | Tool YAML → shipgate check |
Contributing
See CONTRIBUTING.md. Maintainer notes live locally in
AGENTS.md (not committed).
License
MIT — see LICENSE.
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 shipgate-0.1.6.tar.gz.
File metadata
- Download URL: shipgate-0.1.6.tar.gz
- Upload date:
- Size: 231.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d0c02099567a1a36d190a7142a979b8e7be1677de8f5e51b086bb65f360cedae
|
|
| MD5 |
c9b8cec6b78958bbe1896cb4af61eeb3
|
|
| BLAKE2b-256 |
50a18ab0489c65af22c23096cdd393a57b7368e0d2d2267b6e0b2f7dcf426915
|
File details
Details for the file shipgate-0.1.6-py3-none-any.whl.
File metadata
- Download URL: shipgate-0.1.6-py3-none-any.whl
- Upload date:
- Size: 429.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
920ad7bb988eecc37736c15e8815d0ec8db66ef9ace2d3f7fa37de7262c3317b
|
|
| MD5 |
11594a1427a968a9189eb47a913ef4b9
|
|
| BLAKE2b-256 |
bfeaa571ba60617faaf89765532535ea96a2269212983c990021a5ac4668e42b
|