lintro 0.6.3__py3-none-any.whl → 0.7.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of lintro might be problematic. Click here for more details.
- lintro/__init__.py +1 -1
- {lintro-0.6.3.dist-info → lintro-0.7.0.dist-info}/METADATA +46 -10
- {lintro-0.6.3.dist-info → lintro-0.7.0.dist-info}/RECORD +7 -7
- {lintro-0.6.3.dist-info → lintro-0.7.0.dist-info}/WHEEL +0 -0
- {lintro-0.6.3.dist-info → lintro-0.7.0.dist-info}/entry_points.txt +0 -0
- {lintro-0.6.3.dist-info → lintro-0.7.0.dist-info}/licenses/LICENSE +0 -0
- {lintro-0.6.3.dist-info → lintro-0.7.0.dist-info}/top_level.txt +0 -0
lintro/__init__.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: lintro
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.7.0
|
|
4
4
|
Summary: A unified CLI tool for code formatting, linting, and quality assurance
|
|
5
5
|
Author-email: TurboCoder13 <turbocoder13@gmail.com>
|
|
6
6
|
License: MIT License
|
|
@@ -50,21 +50,21 @@ Requires-Dist: toml==0.10.2
|
|
|
50
50
|
Requires-Dist: defusedxml==0.7.1
|
|
51
51
|
Provides-Extra: dev
|
|
52
52
|
Requires-Dist: pytest==8.4.2; extra == "dev"
|
|
53
|
-
Requires-Dist: pytest-cov==
|
|
54
|
-
Requires-Dist: pytest-mock==3.15.
|
|
53
|
+
Requires-Dist: pytest-cov==7.0.0; extra == "dev"
|
|
54
|
+
Requires-Dist: pytest-mock==3.15.1; extra == "dev"
|
|
55
55
|
Requires-Dist: pytest-xdist==3.8.0; extra == "dev"
|
|
56
|
-
Requires-Dist: tox==4.30.
|
|
56
|
+
Requires-Dist: tox==4.30.3; extra == "dev"
|
|
57
57
|
Requires-Dist: allure-pytest==2.15.0; extra == "dev"
|
|
58
58
|
Requires-Dist: ruff; extra == "dev"
|
|
59
59
|
Requires-Dist: mypy; extra == "dev"
|
|
60
60
|
Requires-Dist: coverage-badge==1.1.2; extra == "dev"
|
|
61
|
-
Requires-Dist: python-semantic-release==10.
|
|
61
|
+
Requires-Dist: python-semantic-release==10.4.1; extra == "dev"
|
|
62
62
|
Requires-Dist: assertpy==1.1; extra == "dev"
|
|
63
63
|
Requires-Dist: httpx==0.28.1; extra == "dev"
|
|
64
64
|
Provides-Extra: test
|
|
65
65
|
Requires-Dist: pytest==8.4.2; extra == "test"
|
|
66
|
-
Requires-Dist: pytest-cov==
|
|
67
|
-
Requires-Dist: pytest-mock==3.15.
|
|
66
|
+
Requires-Dist: pytest-cov==7.0.0; extra == "test"
|
|
67
|
+
Requires-Dist: pytest-mock==3.15.1; extra == "test"
|
|
68
68
|
Requires-Dist: pytest-xdist==3.8.0; extra == "test"
|
|
69
69
|
Requires-Dist: assertpy==1.1; extra == "test"
|
|
70
70
|
Provides-Extra: typing
|
|
@@ -88,12 +88,12 @@ Lintro is a unified command-line interface that brings together multiple code qu
|
|
|
88
88
|
[](https://github.com/TurboCoder13/py-lintro/actions/workflows/test-and-coverage.yml?query=branch%3Amain)
|
|
89
89
|
[](https://github.com/TurboCoder13/py-lintro/actions/workflows/ci-lintro-analysis.yml?query=branch%3Amain)
|
|
90
90
|
[](https://github.com/TurboCoder13/py-lintro/actions/workflows/docker-build-publish.yml?query=branch%3Amain)
|
|
91
|
+
[&branch=main>)](https://github.com/TurboCoder13/py-lintro/actions/workflows/sbom-on-main.yml?query=branch%3Amain)
|
|
92
|
+
[&event=push>)](https://github.com/TurboCoder13/py-lintro/actions/workflows/publish-pypi-on-tag.yml?query=event%3Apush)
|
|
91
93
|
[](https://pypi.org/project/lintro/)
|
|
92
94
|
|
|
93
95
|
[](https://github.com/TurboCoder13/py-lintro/actions/workflows/codeql.yml?query=branch%3Amain)
|
|
94
|
-
[](https://scorecard.dev/viewer/?uri=github.com/TurboCoder13/py-lintro)
|
|
95
|
-
|
|
96
|
-
[](https://www.bestpractices.dev/projects/11142)
|
|
96
|
+
[](https://scorecard.dev/viewer/?uri=github.com/TurboCoder13/py-lintro) [](docs/security/assurance.md) [](https://github.com/TurboCoder13/py-lintro/actions/workflows/sbom-on-main.yml) [](https://www.bestpractices.dev/projects/11142)
|
|
97
97
|
|
|
98
98
|
### Why Lintro?
|
|
99
99
|
|
|
@@ -114,6 +114,42 @@ Lintro is a unified command-line interface that brings together multiple code qu
|
|
|
114
114
|
- **Docker support** for containerized environments
|
|
115
115
|
- **CI/CD integration** with GitHub Actions
|
|
116
116
|
|
|
117
|
+
## Security & Compliance
|
|
118
|
+
|
|
119
|
+
Lintro follows modern security best practices and provides comprehensive supply chain transparency:
|
|
120
|
+
|
|
121
|
+
- **SBOM Generation**: Automated Software Bill of Materials on every push to main
|
|
122
|
+
- **Formats**: CycloneDX 1.6 and SPDX 2.3 (industry standards)
|
|
123
|
+
- **Compliance**: Meets Executive Order 14028 requirements for federal software
|
|
124
|
+
- **Download**: [Latest SBOM artifacts](https://github.com/TurboCoder13/py-lintro/actions/workflows/sbom-on-main.yml)
|
|
125
|
+
- **Documentation**: See [Security Assurance](docs/security/assurance.md) for details
|
|
126
|
+
|
|
127
|
+
### What's in the SBOM?
|
|
128
|
+
|
|
129
|
+
The SBOM provides a complete inventory of all dependencies:
|
|
130
|
+
|
|
131
|
+
- All Python packages with exact versions
|
|
132
|
+
- All npm packages (like Prettier)
|
|
133
|
+
- All GitHub Actions dependencies (pinned by SHA)
|
|
134
|
+
- Transitive dependencies
|
|
135
|
+
- License information
|
|
136
|
+
|
|
137
|
+
### For Enterprise Users
|
|
138
|
+
|
|
139
|
+
Download SBOMs for security auditing and compliance:
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
# Download latest SBOM artifacts
|
|
143
|
+
gh run download -R TurboCoder13/py-lintro \
|
|
144
|
+
--name sbom-artifacts \
|
|
145
|
+
$(gh run list -R TurboCoder13/py-lintro \
|
|
146
|
+
-w "Security - SBOM Generation" -L 1 \
|
|
147
|
+
--json databaseId -q '.[0].databaseId')
|
|
148
|
+
|
|
149
|
+
# Scan for vulnerabilities (requires grype)
|
|
150
|
+
grype sbom:main-*-py-lintro-sbom.spdx-2.3.json
|
|
151
|
+
```
|
|
152
|
+
|
|
117
153
|
## Supported Tools
|
|
118
154
|
|
|
119
155
|
| Tool | Language | Auto-fix |
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
lintro/__init__.py,sha256=
|
|
1
|
+
lintro/__init__.py,sha256=fEulqe3o_DokVWV3Slw2lQCAekhEoA_Rs6cTtfKhOF8,110
|
|
2
2
|
lintro/__main__.py,sha256=McxM6wEcEeCLBHZs0F8xzT1PxVqJYkjtaPq1_-Nug-0,106
|
|
3
3
|
lintro/cli.py,sha256=Fy5nqdSg4id0gjGbPy82wRTK3aZMWbRdRDnwAbIv-vs,2333
|
|
4
4
|
lintro/ascii-art/fail.txt,sha256=gshKngSrz5FvJdP6g7lPygpLsLsZZh4etBU_wR7PXOw,56396
|
|
@@ -88,9 +88,9 @@ lintro/utils/output_manager.py,sha256=oIE0g8LNVQcWSQOb1MbDVqGYPrOjBGuUZ4R80M1Rev
|
|
|
88
88
|
lintro/utils/path_utils.py,sha256=NJP3vjVDcRBgUHtYNrpL0tRa0Sc3oQhGX3_2WWzdZE4,1395
|
|
89
89
|
lintro/utils/tool_executor.py,sha256=8-m7nQKLRlKHBTvzT7iLmaHYZ3-2s0t4zUbC-py8-H8,26204
|
|
90
90
|
lintro/utils/tool_utils.py,sha256=zobweCIANBxXxHUERajFDshQyZGlEnJPQ52NleOrDdQ,15884
|
|
91
|
-
lintro-0.
|
|
92
|
-
lintro-0.
|
|
93
|
-
lintro-0.
|
|
94
|
-
lintro-0.
|
|
95
|
-
lintro-0.
|
|
96
|
-
lintro-0.
|
|
91
|
+
lintro-0.7.0.dist-info/licenses/LICENSE,sha256=CwaAnyD2psonDBBJjbqFUz00W8nQw-FGDlEGZReUV6A,1069
|
|
92
|
+
lintro-0.7.0.dist-info/METADATA,sha256=wkHfSzxSATr6CPOifCS2ScP0hpWL3lZYP6HXbCv6JVw,16029
|
|
93
|
+
lintro-0.7.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
94
|
+
lintro-0.7.0.dist-info/entry_points.txt,sha256=SYSk35jFyNLEHyrofSJsRv4qFN9NsT4VWSbvnTS9ov0,43
|
|
95
|
+
lintro-0.7.0.dist-info/top_level.txt,sha256=_D-7eyV6gNBOoIwHuf_h60wN_RWiw8GxB430Il9VKhU,7
|
|
96
|
+
lintro-0.7.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|