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 CHANGED
@@ -1,3 +1,3 @@
1
1
  """Lintro - A unified CLI core for code formatting, linting, and quality assurance."""
2
2
 
3
- __version__ = "0.6.3"
3
+ __version__ = "0.7.0"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lintro
3
- Version: 0.6.3
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==6.3.0; extra == "dev"
54
- Requires-Dist: pytest-mock==3.15.0; extra == "dev"
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.1; extra == "dev"
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.3.2; extra == "dev"
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==6.3.0; extra == "test"
67
- Requires-Dist: pytest-mock==3.15.0; extra == "test"
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
  [![Tests](https://img.shields.io/github/actions/workflow/status/TurboCoder13/py-lintro/test-and-coverage.yml?label=tests&branch=main&logo=githubactions&logoColor=white)](https://github.com/TurboCoder13/py-lintro/actions/workflows/test-and-coverage.yml?query=branch%3Amain)
89
89
  [![CI](https://img.shields.io/github/actions/workflow/status/TurboCoder13/py-lintro/ci-lintro-analysis.yml?label=ci&branch=main&logo=githubactions&logoColor=white)](https://github.com/TurboCoder13/py-lintro/actions/workflows/ci-lintro-analysis.yml?query=branch%3Amain)
90
90
  [![Docker](https://img.shields.io/github/actions/workflow/status/TurboCoder13/py-lintro/docker-build-publish.yml?label=docker&logo=docker&branch=main)](https://github.com/TurboCoder13/py-lintro/actions/workflows/docker-build-publish.yml?query=branch%3Amain)
91
+ [![SBOM (main)](<https://img.shields.io/github/actions/workflow/status/TurboCoder13/py-lintro/sbom-on-main.yml?label=sbom%20(main)&branch=main>)](https://github.com/TurboCoder13/py-lintro/actions/workflows/sbom-on-main.yml?query=branch%3Amain)
92
+ [![Release pipeline (tags)](<https://img.shields.io/github/actions/workflow/status/TurboCoder13/py-lintro/publish-pypi-on-tag.yml?label=release%20pipeline%20(tags)&event=push>)](https://github.com/TurboCoder13/py-lintro/actions/workflows/publish-pypi-on-tag.yml?query=event%3Apush)
91
93
  [![PyPI](https://img.shields.io/pypi/v/lintro?label=pypi)](https://pypi.org/project/lintro/)
92
94
 
93
95
  [![CodeQL](https://github.com/TurboCoder13/py-lintro/actions/workflows/codeql.yml/badge.svg?branch=main)](https://github.com/TurboCoder13/py-lintro/actions/workflows/codeql.yml?query=branch%3Amain)
94
- [![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/TurboCoder13/py-lintro/badge)](https://scorecard.dev/viewer/?uri=github.com/TurboCoder13/py-lintro)
95
-
96
- [![OpenSSF Best Practices](https://www.bestpractices.dev/projects/11142/badge)](https://www.bestpractices.dev/projects/11142)
96
+ [![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/TurboCoder13/py-lintro/badge)](https://scorecard.dev/viewer/?uri=github.com/TurboCoder13/py-lintro) [![SBOM](https://img.shields.io/badge/SBOM-enabled-brightgreen)](docs/security/assurance.md) [![Download SBOM](https://img.shields.io/badge/SBOM-download_latest-blue?logo=github)](https://github.com/TurboCoder13/py-lintro/actions/workflows/sbom-on-main.yml) [![OpenSSF Best Practices](https://www.bestpractices.dev/projects/11142/badge)](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=cQjQ_-sMmmGeDrbNA4LWj8fB771MYMaEGDUivJVugXA,110
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.6.3.dist-info/licenses/LICENSE,sha256=CwaAnyD2psonDBBJjbqFUz00W8nQw-FGDlEGZReUV6A,1069
92
- lintro-0.6.3.dist-info/METADATA,sha256=uuKE-xJ6IVqWBd-tlDjSa-63KDUOln47p-eCmGAxBLk,14008
93
- lintro-0.6.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
94
- lintro-0.6.3.dist-info/entry_points.txt,sha256=SYSk35jFyNLEHyrofSJsRv4qFN9NsT4VWSbvnTS9ov0,43
95
- lintro-0.6.3.dist-info/top_level.txt,sha256=_D-7eyV6gNBOoIwHuf_h60wN_RWiw8GxB430Il9VKhU,7
96
- lintro-0.6.3.dist-info/RECORD,,
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