baseline-py
Structural linter and config scaffolder for Python: atomic files, placement,
size caps, no inline SQL. Brings the same discipline as
@busirocket/eslint-config and cargo-baseline to Python projects.
Install
uv add --dev busirocket-baseline-py
Usage
baseline-py init [--check|--apply|--force] # scaffold ruff, mypy, deptry,
# pytest, coverage and CI config
baseline-py check [PATH...] # run the structural rules
baseline-py gate # run the whole quality chain
baseline-py baseline create|update|check # track migration debt
init never overwrites: it merges into existing configuration, or reports a
conflict. check never writes. gate fails when a required tool is absent
rather than skipping it.
Rules
| Code | Rule | Enforces |
|---|---|---|
BPY000 |
parse-error |
A file that fails to parse is a finding, never a silent skip. |
BPY001 |
one-primary-unit |
Exactly one primary declaration per ordinary module. |
BPY002 |
file-matches-unit |
File name is the snake_case of its primary declaration. |
BPY003 |
no-grab-bag-names |
No utils, helpers, misc or common in any path segment. |
BPY004 |
max-file-lines |
Code-line cap per file; tests get their own, looser cap. |
BPY005 |
barrel-only-init |
__init__.py holds imports, __all__ and nothing else. |
BPY006 |
no-inline-sql |
SQL lives in resource files, not in string literals. |
Exit codes
| Code | Meaning |
|---|---|
| 0 | All blocking checks passed. |
| 1 | Policy findings. |
| 2 | Invalid usage or invalid configuration. |
| 3 | Infrastructure failure: a required tool is missing or unusable. |
License
MIT
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 busirocket_baseline_py-0.1.6.tar.gz.
File metadata
- Download URL: busirocket_baseline_py-0.1.6.tar.gz
- Upload date:
- Size: 163.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
89ec8a538b36a8f0cd3dc4c7a224ff906a8c757ee8debf953d8c2e6020902a67
|
|
| MD5 |
4abb18596ad8949b8ca645320fa0fe92
|
|
| BLAKE2b-256 |
7f93c12a71eb781b43270705070bc1cc461c948aca9487a8ea686322e600ae56
|
Provenance
The following attestation bundles were made for busirocket_baseline_py-0.1.6.tar.gz:
Publisher:
publish-python.yml on BusiRocket/baseline
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
busirocket_baseline_py-0.1.6.tar.gz -
Subject digest:
89ec8a538b36a8f0cd3dc4c7a224ff906a8c757ee8debf953d8c2e6020902a67 - Sigstore transparency entry: 2669814406
- Sigstore integration time:
-
Permalink:
BusiRocket/baseline@2acfe890110a2e7c117724b5f04dbcde96bc3385 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/BusiRocket
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-python.yml@2acfe890110a2e7c117724b5f04dbcde96bc3385 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file busirocket_baseline_py-0.1.6-py3-none-any.whl.
File metadata
- Download URL: busirocket_baseline_py-0.1.6-py3-none-any.whl
- Upload date:
- Size: 87.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
067a1c0908035f9d6c8605d31dc87a17e7f3afec3af41f1bc3746c0522e1af5b
|
|
| MD5 |
4b7d99fcc269d207825ca12bcba59bbc
|
|
| BLAKE2b-256 |
5f5acefa7fa60f219896b1d0d188275ac332d52006ae6d18358f4579df880cd8
|
Provenance
The following attestation bundles were made for busirocket_baseline_py-0.1.6-py3-none-any.whl:
Publisher:
publish-python.yml on BusiRocket/baseline
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
busirocket_baseline_py-0.1.6-py3-none-any.whl -
Subject digest:
067a1c0908035f9d6c8605d31dc87a17e7f3afec3af41f1bc3746c0522e1af5b - Sigstore transparency entry: 2669814418
- Sigstore integration time:
-
Permalink:
BusiRocket/baseline@2acfe890110a2e7c117724b5f04dbcde96bc3385 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/BusiRocket
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-python.yml@2acfe890110a2e7c117724b5f04dbcde96bc3385 -
Trigger Event:
workflow_dispatch
-
Statement type: