lintro 0.6.2__py3-none-any.whl → 0.17.2__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.
- lintro/__init__.py +1 -1
- lintro/cli.py +230 -14
- lintro/cli_utils/commands/__init__.py +8 -1
- lintro/cli_utils/commands/check.py +1 -0
- lintro/cli_utils/commands/config.py +325 -0
- lintro/cli_utils/commands/format.py +2 -2
- lintro/cli_utils/commands/init.py +361 -0
- lintro/cli_utils/commands/list_tools.py +180 -42
- lintro/cli_utils/commands/test.py +316 -0
- lintro/cli_utils/commands/versions.py +81 -0
- lintro/config/__init__.py +62 -0
- lintro/config/config_loader.py +420 -0
- lintro/config/lintro_config.py +189 -0
- lintro/config/tool_config_generator.py +403 -0
- lintro/enums/__init__.py +1 -0
- lintro/enums/darglint_strictness.py +10 -0
- lintro/enums/hadolint_enums.py +22 -0
- lintro/enums/tool_name.py +2 -0
- lintro/enums/tool_type.py +2 -0
- lintro/enums/yamllint_format.py +11 -0
- lintro/exceptions/__init__.py +1 -0
- lintro/formatters/__init__.py +1 -0
- lintro/formatters/core/__init__.py +1 -0
- lintro/formatters/core/output_style.py +11 -0
- lintro/formatters/core/table_descriptor.py +8 -0
- lintro/formatters/styles/csv.py +2 -0
- lintro/formatters/styles/grid.py +2 -0
- lintro/formatters/styles/html.py +2 -0
- lintro/formatters/styles/json.py +2 -0
- lintro/formatters/styles/markdown.py +2 -0
- lintro/formatters/styles/plain.py +2 -0
- lintro/formatters/tools/__init__.py +12 -0
- lintro/formatters/tools/black_formatter.py +27 -5
- lintro/formatters/tools/darglint_formatter.py +16 -1
- lintro/formatters/tools/eslint_formatter.py +108 -0
- lintro/formatters/tools/hadolint_formatter.py +13 -0
- lintro/formatters/tools/markdownlint_formatter.py +88 -0
- lintro/formatters/tools/prettier_formatter.py +15 -0
- lintro/formatters/tools/pytest_formatter.py +201 -0
- lintro/formatters/tools/ruff_formatter.py +26 -5
- lintro/formatters/tools/yamllint_formatter.py +14 -1
- lintro/models/__init__.py +1 -0
- lintro/models/core/__init__.py +1 -0
- lintro/models/core/tool_config.py +11 -7
- lintro/parsers/__init__.py +69 -9
- lintro/parsers/actionlint/actionlint_parser.py +1 -1
- lintro/parsers/bandit/__init__.py +6 -0
- lintro/parsers/bandit/bandit_issue.py +49 -0
- lintro/parsers/bandit/bandit_parser.py +99 -0
- lintro/parsers/black/black_issue.py +4 -0
- lintro/parsers/darglint/__init__.py +1 -0
- lintro/parsers/darglint/darglint_issue.py +11 -0
- lintro/parsers/eslint/__init__.py +6 -0
- lintro/parsers/eslint/eslint_issue.py +26 -0
- lintro/parsers/eslint/eslint_parser.py +63 -0
- lintro/parsers/markdownlint/__init__.py +6 -0
- lintro/parsers/markdownlint/markdownlint_issue.py +22 -0
- lintro/parsers/markdownlint/markdownlint_parser.py +113 -0
- lintro/parsers/prettier/__init__.py +1 -0
- lintro/parsers/prettier/prettier_issue.py +12 -0
- lintro/parsers/prettier/prettier_parser.py +1 -1
- lintro/parsers/pytest/__init__.py +21 -0
- lintro/parsers/pytest/pytest_issue.py +28 -0
- lintro/parsers/pytest/pytest_parser.py +483 -0
- lintro/parsers/ruff/ruff_parser.py +6 -2
- lintro/parsers/yamllint/__init__.py +1 -0
- lintro/tools/__init__.py +3 -1
- lintro/tools/core/__init__.py +1 -0
- lintro/tools/core/timeout_utils.py +112 -0
- lintro/tools/core/tool_base.py +286 -50
- lintro/tools/core/tool_manager.py +77 -24
- lintro/tools/core/version_requirements.py +482 -0
- lintro/tools/implementations/__init__.py +1 -0
- lintro/tools/implementations/pytest/pytest_command_builder.py +311 -0
- lintro/tools/implementations/pytest/pytest_config.py +200 -0
- lintro/tools/implementations/pytest/pytest_error_handler.py +128 -0
- lintro/tools/implementations/pytest/pytest_executor.py +122 -0
- lintro/tools/implementations/pytest/pytest_handlers.py +375 -0
- lintro/tools/implementations/pytest/pytest_option_validators.py +212 -0
- lintro/tools/implementations/pytest/pytest_output_processor.py +408 -0
- lintro/tools/implementations/pytest/pytest_result_processor.py +113 -0
- lintro/tools/implementations/pytest/pytest_utils.py +697 -0
- lintro/tools/implementations/tool_actionlint.py +106 -16
- lintro/tools/implementations/tool_bandit.py +34 -29
- lintro/tools/implementations/tool_black.py +236 -29
- lintro/tools/implementations/tool_darglint.py +183 -22
- lintro/tools/implementations/tool_eslint.py +374 -0
- lintro/tools/implementations/tool_hadolint.py +94 -25
- lintro/tools/implementations/tool_markdownlint.py +354 -0
- lintro/tools/implementations/tool_prettier.py +317 -24
- lintro/tools/implementations/tool_pytest.py +327 -0
- lintro/tools/implementations/tool_ruff.py +278 -84
- lintro/tools/implementations/tool_yamllint.py +448 -34
- lintro/tools/tool_enum.py +8 -0
- lintro/utils/__init__.py +1 -0
- lintro/utils/ascii_normalize_cli.py +5 -0
- lintro/utils/config.py +41 -18
- lintro/utils/console_logger.py +211 -25
- lintro/utils/path_utils.py +42 -0
- lintro/utils/tool_executor.py +339 -45
- lintro/utils/tool_utils.py +51 -24
- lintro/utils/unified_config.py +926 -0
- {lintro-0.6.2.dist-info → lintro-0.17.2.dist-info}/METADATA +172 -30
- lintro-0.17.2.dist-info/RECORD +134 -0
- lintro-0.6.2.dist-info/RECORD +0 -96
- {lintro-0.6.2.dist-info → lintro-0.17.2.dist-info}/WHEEL +0 -0
- {lintro-0.6.2.dist-info → lintro-0.17.2.dist-info}/entry_points.txt +0 -0
- {lintro-0.6.2.dist-info → lintro-0.17.2.dist-info}/licenses/LICENSE +0 -0
- {lintro-0.6.2.dist-info → lintro-0.17.2.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: lintro
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.17.2
|
|
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
|
|
@@ -36,7 +36,7 @@ Classifier: Programming Language :: Python :: 3.13
|
|
|
36
36
|
Classifier: Topic :: Software Development :: Quality Assurance
|
|
37
37
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
38
38
|
Classifier: Topic :: Utilities
|
|
39
|
-
Requires-Python:
|
|
39
|
+
Requires-Python: >=3.13
|
|
40
40
|
Description-Content-Type: text/markdown
|
|
41
41
|
License-File: LICENSE
|
|
42
42
|
Requires-Dist: click==8.1.8
|
|
@@ -48,23 +48,27 @@ Requires-Dist: yamllint==1.37.1
|
|
|
48
48
|
Requires-Dist: httpx==0.28.1
|
|
49
49
|
Requires-Dist: toml==0.10.2
|
|
50
50
|
Requires-Dist: defusedxml==0.7.1
|
|
51
|
+
Requires-Dist: ruff>=0.14.0
|
|
52
|
+
Requires-Dist: black>=25.0.0
|
|
53
|
+
Requires-Dist: bandit>=1.8.0
|
|
51
54
|
Provides-Extra: dev
|
|
52
|
-
Requires-Dist: pytest==
|
|
53
|
-
Requires-Dist: pytest-cov==
|
|
54
|
-
Requires-Dist: pytest-mock==3.15.
|
|
55
|
+
Requires-Dist: pytest==9.0.1; extra == "dev"
|
|
56
|
+
Requires-Dist: pytest-cov==7.0.0; extra == "dev"
|
|
57
|
+
Requires-Dist: pytest-mock==3.15.1; extra == "dev"
|
|
55
58
|
Requires-Dist: pytest-xdist==3.8.0; extra == "dev"
|
|
56
|
-
Requires-Dist:
|
|
57
|
-
Requires-Dist:
|
|
59
|
+
Requires-Dist: pytest-sugar==1.1.1; extra == "dev"
|
|
60
|
+
Requires-Dist: tox==4.32.0; extra == "dev"
|
|
61
|
+
Requires-Dist: allure-pytest==2.15.2; extra == "dev"
|
|
58
62
|
Requires-Dist: ruff; extra == "dev"
|
|
59
63
|
Requires-Dist: mypy; extra == "dev"
|
|
60
64
|
Requires-Dist: coverage-badge==1.1.2; extra == "dev"
|
|
61
|
-
Requires-Dist: python-semantic-release==10.
|
|
65
|
+
Requires-Dist: python-semantic-release==10.5.2; extra == "dev"
|
|
62
66
|
Requires-Dist: assertpy==1.1; extra == "dev"
|
|
63
67
|
Requires-Dist: httpx==0.28.1; extra == "dev"
|
|
64
68
|
Provides-Extra: test
|
|
65
|
-
Requires-Dist: pytest==
|
|
66
|
-
Requires-Dist: pytest-cov==
|
|
67
|
-
Requires-Dist: pytest-mock==3.15.
|
|
69
|
+
Requires-Dist: pytest==9.0.1; extra == "test"
|
|
70
|
+
Requires-Dist: pytest-cov==7.0.0; extra == "test"
|
|
71
|
+
Requires-Dist: pytest-mock==3.15.1; extra == "test"
|
|
68
72
|
Requires-Dist: pytest-xdist==3.8.0; extra == "test"
|
|
69
73
|
Requires-Dist: assertpy==1.1; extra == "test"
|
|
70
74
|
Provides-Extra: typing
|
|
@@ -74,13 +78,19 @@ Dynamic: license-file
|
|
|
74
78
|
|
|
75
79
|
# Lintro
|
|
76
80
|
|
|
81
|
+
<!-- markdownlint-disable MD033 MD013 -->
|
|
77
82
|
<img src="https://raw.githubusercontent.com/TurboCoder13/py-lintro/main/assets/images/lintro.png" alt="Lintro Logo" style="width:100%;max-width:800px;height:auto;display:block;margin:0 auto 24px auto;">
|
|
83
|
+
<!-- markdownlint-enable MD033 MD013 -->
|
|
78
84
|
|
|
79
|
-
A comprehensive CLI tool that unifies various code formatting, linting, and quality
|
|
85
|
+
A comprehensive CLI tool that unifies various code formatting, linting, and quality
|
|
86
|
+
assurance tools under a single command-line interface.
|
|
80
87
|
|
|
81
88
|
## What is Lintro?
|
|
82
89
|
|
|
83
|
-
Lintro is a unified command-line interface that brings together multiple code quality
|
|
90
|
+
Lintro is a unified command-line interface that brings together multiple code quality
|
|
91
|
+
tools into a single, easy-to-use package. Instead of managing separate tools like Ruff,
|
|
92
|
+
Prettier, Yamllint, and others individually, Lintro provides a consistent interface for
|
|
93
|
+
all your code quality needs.
|
|
84
94
|
|
|
85
95
|
[](https://www.python.org/downloads/)
|
|
86
96
|
[](https://codecov.io/gh/TurboCoder13/py-lintro)
|
|
@@ -88,10 +98,18 @@ Lintro is a unified command-line interface that brings together multiple code qu
|
|
|
88
98
|
[](https://github.com/TurboCoder13/py-lintro/actions/workflows/test-and-coverage.yml?query=branch%3Amain)
|
|
89
99
|
[](https://github.com/TurboCoder13/py-lintro/actions/workflows/ci-lintro-analysis.yml?query=branch%3Amain)
|
|
90
100
|
[](https://github.com/TurboCoder13/py-lintro/actions/workflows/docker-build-publish.yml?query=branch%3Amain)
|
|
101
|
+
[&branch=main>)](https://github.com/TurboCoder13/py-lintro/actions/workflows/sbom-on-main.yml?query=branch%3Amain)
|
|
102
|
+
[](https://github.com/TurboCoder13/py-lintro/actions/workflows/publish-pypi-on-tag.yml)
|
|
91
103
|
[](https://pypi.org/project/lintro/)
|
|
92
104
|
|
|
93
105
|
[](https://github.com/TurboCoder13/py-lintro/actions/workflows/codeql.yml?query=branch%3Amain)
|
|
106
|
+
|
|
107
|
+
<!-- markdownlint-disable-next-line MD013 -->
|
|
108
|
+
|
|
94
109
|
[](https://scorecard.dev/viewer/?uri=github.com/TurboCoder13/py-lintro)
|
|
110
|
+
[](docs/security/assurance.md)
|
|
111
|
+
[](https://github.com/TurboCoder13/py-lintro/actions/workflows/sbom-on-main.yml)
|
|
112
|
+
[](https://www.bestpractices.dev/projects/11142)
|
|
95
113
|
|
|
96
114
|
### Why Lintro?
|
|
97
115
|
|
|
@@ -112,18 +130,103 @@ Lintro is a unified command-line interface that brings together multiple code qu
|
|
|
112
130
|
- **Docker support** for containerized environments
|
|
113
131
|
- **CI/CD integration** with GitHub Actions
|
|
114
132
|
|
|
133
|
+
## Security & Compliance
|
|
134
|
+
|
|
135
|
+
Lintro follows modern security best practices and provides comprehensive supply chain
|
|
136
|
+
transparency:
|
|
137
|
+
|
|
138
|
+
- **SBOM Generation**: Automated Software Bill of Materials on every push to main
|
|
139
|
+
- **Formats**: CycloneDX 1.6 and SPDX 2.3 (industry standards)
|
|
140
|
+
- **Compliance**: Meets Executive Order 14028 requirements for federal software
|
|
141
|
+
- **Download**:
|
|
142
|
+
[Latest SBOM artifacts](https://github.com/TurboCoder13/py-lintro/actions/workflows/sbom-on-main.yml)
|
|
143
|
+
- **Documentation**: See [Security Assurance](docs/security/assurance.md) for details
|
|
144
|
+
|
|
145
|
+
### What's in the SBOM?
|
|
146
|
+
|
|
147
|
+
The SBOM provides a complete inventory of all dependencies:
|
|
148
|
+
|
|
149
|
+
- All Python packages with exact versions
|
|
150
|
+
- All npm packages (like Prettier)
|
|
151
|
+
- All GitHub Actions dependencies (pinned by SHA)
|
|
152
|
+
- Transitive dependencies
|
|
153
|
+
- License information
|
|
154
|
+
|
|
155
|
+
### For Enterprise Users
|
|
156
|
+
|
|
157
|
+
Download SBOMs for security auditing and compliance:
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
# Download latest SBOM artifacts
|
|
161
|
+
gh run download -R TurboCoder13/py-lintro \
|
|
162
|
+
--name sbom-artifacts \
|
|
163
|
+
$(gh run list -R TurboCoder13/py-lintro \
|
|
164
|
+
-w "Security - SBOM Generation" -L 1 \
|
|
165
|
+
--json databaseId -q '.[0].databaseId')
|
|
166
|
+
|
|
167
|
+
# Scan for vulnerabilities (requires grype)
|
|
168
|
+
grype sbom:main-*-py-lintro-sbom.spdx-2.3.json
|
|
169
|
+
```
|
|
170
|
+
|
|
115
171
|
## Supported Tools
|
|
116
172
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
|
120
|
-
|
|
|
121
|
-
| [](https://github.com/rhysd/actionlint) | ⚙️ GitHub Workflows | - |
|
|
178
|
+
| [](https://github.com/PyCQA/bandit) | 🐍 Python | - |
|
|
179
|
+
| [](https://github.com/terrencepreilly/darglint) | 🐍 Python | - |
|
|
180
|
+
| [](https://github.com/hadolint/hadolint) | 🐳 Dockerfile | - |
|
|
181
|
+
| [](https://github.com/DavidAnson/markdownlint-cli2) | 📝 Markdown | - |
|
|
182
|
+
| [](https://prettier.io/) | 🟨 JS/TS · 🧾 JSON | ✅ |
|
|
183
|
+
| [](https://github.com/psf/black) | 🐍 Python | ✅ |
|
|
184
|
+
| [](https://github.com/astral-sh/ruff) | 🐍 Python | ✅ |
|
|
185
|
+
| [](https://github.com/adrienverge/yamllint) | 🧾 YAML | - |
|
|
186
|
+
|
|
187
|
+
<!-- markdownlint-enable MD013 MD060 -->
|
|
188
|
+
|
|
189
|
+
## Requirements
|
|
190
|
+
|
|
191
|
+
### Python Version
|
|
192
|
+
|
|
193
|
+
**Python 3.13+** is required. Lintro uses modern Python features and syntax that are not
|
|
194
|
+
available in older versions.
|
|
195
|
+
|
|
196
|
+
### Tool Dependencies
|
|
197
|
+
|
|
198
|
+
Lintro automatically installs and manages several Python tools to ensure consistent
|
|
199
|
+
behavior. These tools are bundled as dependencies with versions centrally managed in
|
|
200
|
+
`pyproject.toml`:
|
|
201
|
+
|
|
202
|
+
- **Ruff** - Fast Python linter and formatter
|
|
203
|
+
- **Black** - Python code formatter
|
|
204
|
+
- **Bandit** - Python security linter
|
|
205
|
+
- **Yamllint** - YAML linter
|
|
206
|
+
- **Darglint** - Python docstring linter
|
|
207
|
+
|
|
208
|
+
### Optional External Tools
|
|
209
|
+
|
|
210
|
+
For full functionality, you may want to install additional tools with versions managed
|
|
211
|
+
in `pyproject.toml`:
|
|
212
|
+
|
|
213
|
+
- **Prettier** - JavaScript/TypeScript formatter (`npm install --save-dev prettier`)
|
|
214
|
+
- **Markdownlint-cli2** - Markdown linter (`npm install --save-dev markdownlint-cli2`)
|
|
215
|
+
- **Hadolint** - Dockerfile linter
|
|
216
|
+
([GitHub Releases](https://github.com/hadolint/hadolint/releases))
|
|
217
|
+
- **Actionlint** - GitHub Actions linter
|
|
218
|
+
([GitHub Releases](https://github.com/rhysd/actionlint/releases))
|
|
219
|
+
|
|
220
|
+
### Version Verification
|
|
221
|
+
|
|
222
|
+
Check all tool versions with:
|
|
223
|
+
|
|
224
|
+
```bash
|
|
225
|
+
lintro list-tools
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
This command reads version requirements directly from `pyproject.toml` and verifies your
|
|
229
|
+
installed tools.
|
|
127
230
|
|
|
128
231
|
## Quick Start
|
|
129
232
|
|
|
@@ -131,8 +234,11 @@ Lintro is a unified command-line interface that brings together multiple code qu
|
|
|
131
234
|
|
|
132
235
|
#### From PyPI (Recommended)
|
|
133
236
|
|
|
237
|
+
⚠️ **Important**: Versions prior to 0.13.2 contain a circular import bug that prevents
|
|
238
|
+
installation as a dependency. Please use version 0.13.2 or later.
|
|
239
|
+
|
|
134
240
|
```bash
|
|
135
|
-
pip install lintro
|
|
241
|
+
pip install lintro>=0.13.2
|
|
136
242
|
```
|
|
137
243
|
|
|
138
244
|
#### Development Installation
|
|
@@ -223,8 +329,36 @@ lintro check --tool-options "ruff:line_length=88,prettier:print_width=80"
|
|
|
223
329
|
# default to avoid double-formatting. Override if needed:
|
|
224
330
|
lintro format --tool-options ruff:format=True # force Ruff to format
|
|
225
331
|
lintro check --tool-options ruff:format_check=True # force Ruff format check
|
|
332
|
+
|
|
333
|
+
# Pytest examples:
|
|
334
|
+
lintro test --tool-options "pytest:verbose=True,tb=short,maxfail=5" # Basic options
|
|
335
|
+
lintro test --tool-options "pytest:workers=4" # Parallel execution
|
|
336
|
+
lintro test --tool-options "pytest:parallel_preset=medium" # Preset workers
|
|
337
|
+
lintro test --tool-options "pytest:coverage_threshold=85" # Coverage threshold
|
|
338
|
+
lintro test --tool-options "pytest:html_report=report.html" # HTML report
|
|
339
|
+
lintro test --tool-options "pytest:timeout=300" # Test timeout
|
|
340
|
+
lintro test --tool-options "pytest:reruns=2,reruns_delay=1" # Retry failed tests
|
|
226
341
|
```
|
|
227
342
|
|
|
343
|
+
#### Parallel Execution Presets
|
|
344
|
+
|
|
345
|
+
Lintro provides convenient presets for parallel test execution that automatically scale
|
|
346
|
+
based on your system's CPU count:
|
|
347
|
+
|
|
348
|
+
| Preset | Workers | Best For | Example |
|
|
349
|
+
| -------- | --------------- | ------------------------------------ | ---------------------------------------------- |
|
|
350
|
+
| `auto` | All CPU cores | Large CI environments | `--tool-options pytest:parallel_preset=auto` |
|
|
351
|
+
| `small` | 2 workers | Small test suites, local development | `--tool-options pytest:parallel_preset=small` |
|
|
352
|
+
| `medium` | 4 workers | Medium test suites | `--tool-options pytest:parallel_preset=medium` |
|
|
353
|
+
| `large` | Up to 8 workers | Large test suites | `--tool-options pytest:parallel_preset=large` |
|
|
354
|
+
|
|
355
|
+
**Best Practices:**
|
|
356
|
+
|
|
357
|
+
- Use `small` for local development to avoid overwhelming your machine
|
|
358
|
+
- Use `medium` for typical project test suites
|
|
359
|
+
- Use `large` or `auto` in CI environments with plenty of resources
|
|
360
|
+
- Requires `pytest-xdist` plugin to be installed
|
|
361
|
+
|
|
228
362
|
### CI/CD Integration
|
|
229
363
|
|
|
230
364
|
Lintro includes pre-built GitHub Actions workflows:
|
|
@@ -237,13 +371,16 @@ See [GitHub Integration Guide](docs/github-integration.md) for setup instruction
|
|
|
237
371
|
|
|
238
372
|
## Documentation
|
|
239
373
|
|
|
240
|
-
For comprehensive documentation, see our **[Documentation Hub](docs/README.md)** which
|
|
374
|
+
For comprehensive documentation, see our **[Documentation Hub](docs/README.md)** which
|
|
375
|
+
includes:
|
|
241
376
|
|
|
242
377
|
- **[Getting Started](docs/getting-started.md)** - Installation and basic usage
|
|
243
378
|
- **[Docker Usage](docs/docker.md)** - Containerized development
|
|
244
379
|
- **[GitHub Integration](docs/github-integration.md)** - CI/CD setup
|
|
245
380
|
- **[Configuration](docs/configuration.md)** - Tool configuration options
|
|
246
381
|
- **[Contributing](docs/contributing.md)** - Developer guide
|
|
382
|
+
- **[Pytest Integration Guide](docs/tool-analysis/pytest-analysis.md)** - Complete
|
|
383
|
+
pytest usage and troubleshooting
|
|
247
384
|
- **[Tool Analysis](docs/tool-analysis/)** - Detailed tool comparisons
|
|
248
385
|
|
|
249
386
|
## Development
|
|
@@ -260,7 +397,8 @@ For comprehensive documentation, see our **[Documentation Hub](docs/README.md)**
|
|
|
260
397
|
./scripts/docker/docker-lintro.sh check --output-format grid
|
|
261
398
|
```
|
|
262
399
|
|
|
263
|
-
For detailed information about all available scripts, see
|
|
400
|
+
For detailed information about all available scripts, see
|
|
401
|
+
[Scripts Documentation](scripts/README.md).
|
|
264
402
|
|
|
265
403
|
## Dependencies
|
|
266
404
|
|
|
@@ -270,7 +408,8 @@ For detailed information about all available scripts, see [Scripts Documentation
|
|
|
270
408
|
|
|
271
409
|
## License
|
|
272
410
|
|
|
273
|
-
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for
|
|
411
|
+
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for
|
|
412
|
+
details.
|
|
274
413
|
|
|
275
414
|
## Troubleshooting
|
|
276
415
|
|
|
@@ -333,13 +472,16 @@ lintro check --tools ruff,prettier
|
|
|
333
472
|
### Getting Help
|
|
334
473
|
|
|
335
474
|
- 📖 **Documentation**: Check the [docs/](docs/) directory
|
|
336
|
-
- 🐛 **Bug Reports**: Use the
|
|
475
|
+
- 🐛 **Bug Reports**: Use the
|
|
476
|
+
[bug report template](.github/ISSUE_TEMPLATE/bug_report.md)
|
|
337
477
|
- 💡 **Questions**: Use the [question template](.github/ISSUE_TEMPLATE/question.md)
|
|
338
|
-
- 🚀 **Feature Requests**: Use the
|
|
478
|
+
- 🚀 **Feature Requests**: Use the
|
|
479
|
+
[feature request template](.github/ISSUE_TEMPLATE/feature_request.md)
|
|
339
480
|
|
|
340
481
|
## Contributing
|
|
341
482
|
|
|
342
|
-
We welcome contributions! See our [Contributing Guide](docs/contributing.md) for details
|
|
483
|
+
We welcome contributions! See our [Contributing Guide](docs/contributing.md) for details
|
|
484
|
+
on:
|
|
343
485
|
|
|
344
486
|
- Adding new tools
|
|
345
487
|
- Reporting bugs
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
lintro/__init__.py,sha256=6feupquOVvt6EUb4QMFSlotuA4RsldyiKmQsz--NTUo,111
|
|
2
|
+
lintro/__main__.py,sha256=McxM6wEcEeCLBHZs0F8xzT1PxVqJYkjtaPq1_-Nug-0,106
|
|
3
|
+
lintro/cli.py,sha256=0Xi60clzJ5Uu-LNYL_hjdpzlNu3jp0pmJTbI7UIvpCc,11151
|
|
4
|
+
lintro/ascii-art/fail.txt,sha256=gshKngSrz5FvJdP6g7lPygpLsLsZZh4etBU_wR7PXOw,56396
|
|
5
|
+
lintro/ascii-art/success.txt,sha256=xhteIXcBvl_1QcFKMIS9CkjjCY8czdf9znP9AiB8oPU,90151
|
|
6
|
+
lintro/cli_utils/__init__.py,sha256=F5P_fY_s-gwNZrnV1bzUOgHGb73QeZG1i-K_kfyJ8Yg,250
|
|
7
|
+
lintro/cli_utils/commands/__init__.py,sha256=RMzLMZzNEwh2CwuQcaFEb_ac-BDfXwzv83H-qWWG9yE,309
|
|
8
|
+
lintro/cli_utils/commands/check.py,sha256=ylsici9B03Ky40x61PbzgW94xQzc24kvhwwUaohbjvw,6257
|
|
9
|
+
lintro/cli_utils/commands/config.py,sha256=nBBk_f-F5gThd-Ivf32T5uukX_V45mP2bBb-x0YK05w,9714
|
|
10
|
+
lintro/cli_utils/commands/format.py,sha256=scRuwm2xUzz0AA6QECJRrX8GX1L7fZfX8FGq-7cycTo,5181
|
|
11
|
+
lintro/cli_utils/commands/init.py,sha256=-ZmxZ3-oVMXw8A9aUbHzt5G7arrHYR7pplFp3xi1GxU,9376
|
|
12
|
+
lintro/cli_utils/commands/list_tools.py,sha256=U3J7HFnF9LUI-dd1RVSUkfYeYxQVg_fwzquiixQd_10,7955
|
|
13
|
+
lintro/cli_utils/commands/test.py,sha256=m2GGJgyQiSaiimPrr6xlc5S16_9nSi_kMIxAGzPcZJI,9455
|
|
14
|
+
lintro/cli_utils/commands/versions.py,sha256=3Tn9V4md5VcGk5p0g9S3H_EJCtEBHm39ymyp9UMWh-Q,2537
|
|
15
|
+
lintro/config/__init__.py,sha256=21zlmaDFEZy-LCaNEtkrt5tiD-mDjbP_N8lXTc-OFKo,1676
|
|
16
|
+
lintro/config/config_loader.py,sha256=0DakWcw9bA2RC0LO2TDtiSf-VX8KiIQvz6N9wnq_xLE,12526
|
|
17
|
+
lintro/config/lintro_config.py,sha256=bssXQMREXg72SIhNtVSZCFdk6bnFHFkeliH39fHSFzw,6252
|
|
18
|
+
lintro/config/tool_config_generator.py,sha256=N4bRl8UNK2HlBlapvMs2W7U-tUY7RWezrnH5-zXoqYg,11167
|
|
19
|
+
lintro/enums/__init__.py,sha256=ZwCDematwfGNPdZJN9j-yoGE5SkkoddRhoHz3F9pLMY,61
|
|
20
|
+
lintro/enums/action.py,sha256=3gln8HUNpZzAyAAjQH-cOyW1nKCx9MT6S4rFDAVirdc,597
|
|
21
|
+
lintro/enums/darglint_strictness.py,sha256=uzAznuAsEbOAJR4bY4v4pDQOyBVRkLGr6t-B7I-zvcs,762
|
|
22
|
+
lintro/enums/group_by.py,sha256=Eb2rJpeTsPhCK-1xnsyogXrcH_pmNvDZ0dHRK1h4kzM,647
|
|
23
|
+
lintro/enums/hadolint_enums.py,sha256=L7Srle5_wEhL5yooawkwbg-u-koBGkECcZiqx2gy24Q,1705
|
|
24
|
+
lintro/enums/output_format.py,sha256=lw3omfjUJUdnrqFjUWVBRSBmWdrxIveS2z2JxFxYPlU,954
|
|
25
|
+
lintro/enums/tool_name.py,sha256=jff47QXW4GZvClP0Aw5qT4hoAi5-LKbzQbj_p3bA3jg,842
|
|
26
|
+
lintro/enums/tool_type.py,sha256=EW5nT42VMQIeL1IMgmI6uu9m5Gb5kfAX9sl5CnqVUsQ,897
|
|
27
|
+
lintro/enums/yamllint_format.py,sha256=XzN9S2lHfVz2OKJgcamlXhR6wK9dW3tSCG-s8iiyjoI,802
|
|
28
|
+
lintro/exceptions/__init__.py,sha256=IZclngSiIhDcihyx_-QhTZ__ISIGI1enJu7ytprcLPc,60
|
|
29
|
+
lintro/exceptions/errors.py,sha256=QnELwMd6yTZVMN7nKRElhxLmxo4JeKtb-HDmVNcZ72M,374
|
|
30
|
+
lintro/formatters/__init__.py,sha256=-G0RkbV5aTkHqGufasVYDwye8DH0t3iB_6p0Lh_05Ik,73
|
|
31
|
+
lintro/formatters/core/__init__.py,sha256=Rgvun_rjCoP8mKpF6x6kaneai8un_81ViDiKLAW94EQ,70
|
|
32
|
+
lintro/formatters/core/output_style.py,sha256=CuUp3BgL4YhVofKaXWuFtTn0QPHuQJQy1sd-7tbcBNg,795
|
|
33
|
+
lintro/formatters/core/table_descriptor.py,sha256=MJvFU3xDVsl7v0_HCCAtxGKom1dw1faZW_86fOk5aEQ,849
|
|
34
|
+
lintro/formatters/styles/__init__.py,sha256=rRGvbHhZpu09PJs0IbraFn3-yAYBxGVFv81hsnKkjiU,337
|
|
35
|
+
lintro/formatters/styles/csv.py,sha256=toQ-XmT-A9T2uwELQAdMPY_lzJbh_WQsmmHQXbEQ2kI,1066
|
|
36
|
+
lintro/formatters/styles/grid.py,sha256=54ZtwHsjitkyEjA6aoHCf3GWkMmBXp4fE3c39bjJITw,2908
|
|
37
|
+
lintro/formatters/styles/html.py,sha256=FVjucFJJ3tSoh9nI1NvjJYThv_oWgiBLk6iM7Z-kyoA,1556
|
|
38
|
+
lintro/formatters/styles/json.py,sha256=bVLyHnoUwEcCD-X8GPdIlg_J2FDhOdJRtMr6XcZC0B8,1964
|
|
39
|
+
lintro/formatters/styles/markdown.py,sha256=OsOjq7bNl0P4j0Pf8eu4PiCLPCoD80rK7vZE27r-LQY,1354
|
|
40
|
+
lintro/formatters/styles/plain.py,sha256=lRBnAFpww9Jscw1_cEehAE1W8wTXU-dSCI0auuhvAbU,1172
|
|
41
|
+
lintro/formatters/tools/__init__.py,sha256=pfM-hCwPuX6H3BYSEQhU8LPDMWoxd4vmmtVgeXx68jI,1653
|
|
42
|
+
lintro/formatters/tools/actionlint_formatter.py,sha256=GiUlD7DSW375seiPNLwdX3mOjtcn56T7z7ho4nQzEz8,2812
|
|
43
|
+
lintro/formatters/tools/bandit_formatter.py,sha256=WP7haIWGjIPuGZf1FQ5Ixi5DKIySHGdX-L7hZcKnFuw,3093
|
|
44
|
+
lintro/formatters/tools/black_formatter.py,sha256=YTe0Zc82p8cWwlq03bRaSJKOT8iHqXuGe2pR7aFhuB4,2092
|
|
45
|
+
lintro/formatters/tools/darglint_formatter.py,sha256=owYIP3QxtTantBwfd4w1GVfaRiaHFXSynxAntSKw7IU,2649
|
|
46
|
+
lintro/formatters/tools/eslint_formatter.py,sha256=0-lKkbUAftfCJyctywziYSART7ixD_zFbLL0HYsJ1cQ,3492
|
|
47
|
+
lintro/formatters/tools/hadolint_formatter.py,sha256=OWc2BYae31U2TdNcxXkGl0W6fTjVWkkaJV57X4l4jRw,2995
|
|
48
|
+
lintro/formatters/tools/markdownlint_formatter.py,sha256=CTddZRz6DUILQ7EtJpgDo9Ik8jaPMCqFek9j_qPMbDg,2931
|
|
49
|
+
lintro/formatters/tools/prettier_formatter.py,sha256=GYAyHppot5aG_pWF8QHz5GmWqmqgZwE6UmcUQZFesWE,2915
|
|
50
|
+
lintro/formatters/tools/pytest_formatter.py,sha256=D2DHzV_vo6eULx64JnBZZ0M8zWxEC1w-pgywFU5DrZM,5963
|
|
51
|
+
lintro/formatters/tools/ruff_formatter.py,sha256=i3jDrEQ_8bP_AhRAgaXYSp4eVCQnjapURugWFNZCmzg,4488
|
|
52
|
+
lintro/formatters/tools/yamllint_formatter.py,sha256=oEwkU-I4Upfc8--KAgfVAPSyYbeqkdsDXucxj3OwjIA,3093
|
|
53
|
+
lintro/models/__init__.py,sha256=E6tU5BnnaRWyMEf2cdiN_C3nvbRlWDfblKHrK0is7IU,73
|
|
54
|
+
lintro/models/core/__init__.py,sha256=mevoEG547VTotUsgyocEB72OknnGhExNWcfel7ZPLnI,54
|
|
55
|
+
lintro/models/core/tool.py,sha256=TWkVV_KOYziqCdq_f3Goft3PKWKByitsQ2VFiX6MVHM,2594
|
|
56
|
+
lintro/models/core/tool_config.py,sha256=FCfKQ_bz2yBg_FJ5xEud7TdF0PZ3fPp1Yjty02rbHR8,1004
|
|
57
|
+
lintro/models/core/tool_result.py,sha256=z5fexuCBt1ir0hvzojxVX-Abt6MNIT7_JvH5oyW_FlI,1319
|
|
58
|
+
lintro/parsers/__init__.py,sha256=WPpTaXIJYKdHJcSdAQD_ZMGLfQey9GSl3ygLbIq35Qw,1813
|
|
59
|
+
lintro/parsers/actionlint/__init__.py,sha256=N953d0kbJEOZE9cG4eq9BjiSErdk10GMrngV_tKjLvo,33
|
|
60
|
+
lintro/parsers/actionlint/actionlint_issue.py,sha256=H_BQr04KAGHpVp1qKqETcWLi3i-u6atl7ccDae-jqX8,636
|
|
61
|
+
lintro/parsers/actionlint/actionlint_parser.py,sha256=tvpPOi1dQrnpf7V2-3LMANH_UfDdecI4_AwDQpZOyU0,1898
|
|
62
|
+
lintro/parsers/bandit/__init__.py,sha256=LMXIVOoW1wnS0mXbiVY-htdkUvb1clRSfSn7X3L2SSw,206
|
|
63
|
+
lintro/parsers/bandit/bandit_issue.py,sha256=zdC6dLFmks_w9JjDWQ00BPSpCUUkilElby-Ut0PVLtE,1607
|
|
64
|
+
lintro/parsers/bandit/bandit_parser.py,sha256=d4KRH_U_4Exv-Fxq63yyx7F484yorKr2p8caDPCyKHs,3591
|
|
65
|
+
lintro/parsers/black/black_issue.py,sha256=V7aWAaOEN8uJQ0weuyGIkli-MRBAMH67Aa5vTXF0Igg,740
|
|
66
|
+
lintro/parsers/black/black_parser.py,sha256=mCbEy4aTRtxC_SKKPNK6hThGEu8C0m9EnliFW__Sa3Y,2958
|
|
67
|
+
lintro/parsers/darglint/__init__.py,sha256=r2ilRjf8WdHOvXIGsg4SmtYkRUR76DowWLA_n9sIOV0,55
|
|
68
|
+
lintro/parsers/darglint/darglint_issue.py,sha256=Gc07-PGvv4Kn4X85tnACLYB5FygNPthEe3fYodOaFoA,444
|
|
69
|
+
lintro/parsers/darglint/darglint_parser.py,sha256=pbIGnmHVKjf8OaxvhQbDWWXAFZEictb3FfuhoGv_I00,2046
|
|
70
|
+
lintro/parsers/eslint/__init__.py,sha256=pxSv4it5nCgO62BdRKfCTPA_M3sdAshON96Zq3U4eHA,231
|
|
71
|
+
lintro/parsers/eslint/eslint_issue.py,sha256=SD1LoxFHBfx9IIJEjHvvl8fGbuiV5rUhceev9aBA6JM,714
|
|
72
|
+
lintro/parsers/eslint/eslint_parser.py,sha256=_If2RNyMjY69YkEaZNICUQVgz4tcS-oMrYQ6dP6yEpE,1946
|
|
73
|
+
lintro/parsers/hadolint/__init__.py,sha256=vU33M_cj6fyg7aqZthz8MFUMfBIshX_Nx3DNuQmbHD4,30
|
|
74
|
+
lintro/parsers/hadolint/hadolint_issue.py,sha256=VlTzTPHcluFZihFL-Tkg7UuXp1fQcD03eDCH0sr1qHU,582
|
|
75
|
+
lintro/parsers/hadolint/hadolint_parser.py,sha256=Q7Hf6sL45s38O3C9dbBYzOpDlb0KGFj0U3Yry_ixdK8,1810
|
|
76
|
+
lintro/parsers/markdownlint/__init__.py,sha256=764w8V53peZqenGHvzKK3ICkpLvXc66cm53zdcbcVVY,269
|
|
77
|
+
lintro/parsers/markdownlint/markdownlint_issue.py,sha256=_uHpwgln7WRGK03360Lr9jCNM9th8Wh5gQWpWNzlcBA,547
|
|
78
|
+
lintro/parsers/markdownlint/markdownlint_parser.py,sha256=nVIX2mmHPm4dITT4bQfq7Agzgu3KUsW6YG_krDyVhHA,3867
|
|
79
|
+
lintro/parsers/prettier/__init__.py,sha256=jH8yEsh_X6TpwJs1V1cN1AmbDuQwQ9qWA-_dk0R9jOA,55
|
|
80
|
+
lintro/parsers/prettier/prettier_issue.py,sha256=DKxV9LXxAB-CxvOsbWVEAmfpXQJvd4ikHKGyMrg1Y60,569
|
|
81
|
+
lintro/parsers/prettier/prettier_parser.py,sha256=TDD0KRF3NMUL24Qjo4TwSOklkwZT-KmwRbTWKTJt434,2044
|
|
82
|
+
lintro/parsers/pytest/__init__.py,sha256=hWHHzwBDUXoJNDBieGv4hbG6KwPRbNP3a2IkPchMs-M,506
|
|
83
|
+
lintro/parsers/pytest/pytest_issue.py,sha256=kFk0HePh8k_Lu1RyA5cvgosRtjCiiw8CqAId-y9g3NU,756
|
|
84
|
+
lintro/parsers/pytest/pytest_parser.py,sha256=gr1vLloFLjL-b1ZMpBTCXJftF7e_OlVwBF2ccm01DEo,15905
|
|
85
|
+
lintro/parsers/ruff/__init__.py,sha256=1oT00c82qKfveRqa4FnSedAEQjQVrb9BspJEUQJn-Kk,26
|
|
86
|
+
lintro/parsers/ruff/ruff_issue.py,sha256=96ht6YWImOBiRTo0ATlM1PvVhgIwFiuN8810emm9nXo,1142
|
|
87
|
+
lintro/parsers/ruff/ruff_parser.py,sha256=DRGzpf55OnNJCTO01RSFK4GXr6Lav-_JzACdqDesuj0,4722
|
|
88
|
+
lintro/parsers/yamllint/__init__.py,sha256=ZZtw7Ref1EAbY-IwSz2UxJauGak6sKO10pfYsdE_sV8,55
|
|
89
|
+
lintro/parsers/yamllint/yamllint_issue.py,sha256=jWawdGUiTI1HADbhg8yEdZfC6yHcmk9FDzpr3PBUPBg,608
|
|
90
|
+
lintro/parsers/yamllint/yamllint_parser.py,sha256=ol44xhJcspnGIsEta8vVv1xi-sIbpB12CovmT94QFmQ,1947
|
|
91
|
+
lintro/tools/__init__.py,sha256=i3KdM02_T3Jxj-rJasNNzMwanDWz_vOgsVkwhS7n4dg,1493
|
|
92
|
+
lintro/tools/tool_enum.py,sha256=U0J6fK31E-dHLlDnDxKK5TB860uxlK1KRyy6y9-JO78,1214
|
|
93
|
+
lintro/tools/core/__init__.py,sha256=eUbc-DlpOcFaG_gKzy-veaOQAOkC5-OuItxI--p6I9c,59
|
|
94
|
+
lintro/tools/core/timeout_utils.py,sha256=DQcTGH0f-XPFALpVMI84BEoC6WnPihmz9cs3UapC2O8,3746
|
|
95
|
+
lintro/tools/core/tool_base.py,sha256=ND_oQYkPHsjO8dRKQ9OmimHEwwhluUXmQx4SpEGsws0,20604
|
|
96
|
+
lintro/tools/core/tool_manager.py,sha256=nVmHcvaj8xPOYuh7EmM_mhrsGLyOTtlQuPuU0MlV5Mk,7956
|
|
97
|
+
lintro/tools/core/version_requirements.py,sha256=veTuv-zOZoqLyNqvkQyfTHxnQr5oZb8UDOAXmbI0Sso,15478
|
|
98
|
+
lintro/tools/implementations/__init__.py,sha256=7DX7vWmRUVGYgrB2Rx1IbKpLWfXfVDLiOfz-UX2Crzs,64
|
|
99
|
+
lintro/tools/implementations/tool_actionlint.py,sha256=rEedh-T8HBN-2lG1Od-QEMWUNaWJXzVQs0NMQygpI9A,8849
|
|
100
|
+
lintro/tools/implementations/tool_bandit.py,sha256=h2IaRjYbJWTsNSJUdljzifTC12JLlpIbmfc00NMtNdA,16218
|
|
101
|
+
lintro/tools/implementations/tool_black.py,sha256=EDEBSsbf68diEfWp1OR9ujPvsAvIlIqWdyyy4c9fWXk,17954
|
|
102
|
+
lintro/tools/implementations/tool_darglint.py,sha256=QqdYf8XoQjO25JxIfcu9nbXNuoi5aFSEi3ssimgkfJ0,15980
|
|
103
|
+
lintro/tools/implementations/tool_eslint.py,sha256=hVguyDZ6KdqOdLq8d89SWZ-q8CElTDStUthKZcBLqlE,13048
|
|
104
|
+
lintro/tools/implementations/tool_hadolint.py,sha256=hRAzqtCBWwpx013fsGBHI7K9m-VxnHD_qMfHLv2WdFs,14769
|
|
105
|
+
lintro/tools/implementations/tool_markdownlint.py,sha256=mKpXhj1ynIZOkAqEMK8V06Zwkv8bAnIang3S_xQvpFw,12079
|
|
106
|
+
lintro/tools/implementations/tool_prettier.py,sha256=aAoACZortp0YKOfYAQasVopluCP-oPhVS6R8wMziqLw,21497
|
|
107
|
+
lintro/tools/implementations/tool_pytest.py,sha256=c1FpUKdJ7TYUt0zozjJivr9jkgXNHPgfgy8oFYIeuK8,12087
|
|
108
|
+
lintro/tools/implementations/tool_ruff.py,sha256=VgHJaUGlKdW3anUBjFfljLa6Zox4Q7J8oILgTN1P3Rs,34788
|
|
109
|
+
lintro/tools/implementations/tool_yamllint.py,sha256=FM5iTisipwoeKHqWWXCruqyJ8DAPurLneAVD4KrGgUk,25744
|
|
110
|
+
lintro/tools/implementations/pytest/pytest_command_builder.py,sha256=zcaEyIuC39WG_Gx__Vu6_Upd_fWZBpTyTSiFsRPcAvg,10577
|
|
111
|
+
lintro/tools/implementations/pytest/pytest_config.py,sha256=YZ66UpxKvuAZNr99B0-R2JjhxYCI1qPzJYdiMycVwOM,7715
|
|
112
|
+
lintro/tools/implementations/pytest/pytest_error_handler.py,sha256=C27UQl3Doas40C1xHD6d8nB7T0i4ksaCURP8NGp2tlE,4769
|
|
113
|
+
lintro/tools/implementations/pytest/pytest_executor.py,sha256=Tvf22RoCqMnpo4L18vV-u2zjdp1UV_2TtfCC0XTBwZc,4413
|
|
114
|
+
lintro/tools/implementations/pytest/pytest_handlers.py,sha256=wiIk8YxzMNvdCLcvEHYjm7B_m3h6CgzZMk2jkvHMjoc,10894
|
|
115
|
+
lintro/tools/implementations/pytest/pytest_option_validators.py,sha256=s703nXJ_oTiPu7qSPGyMKfZkp6xpwMpZc6ou7tMhMxo,9452
|
|
116
|
+
lintro/tools/implementations/pytest/pytest_output_processor.py,sha256=GjjuWhBvriiua-XichBl2HhbvEyeRPHBAQxEI9X6NBU,14599
|
|
117
|
+
lintro/tools/implementations/pytest/pytest_result_processor.py,sha256=gqEw5HIiEyNoQksNaYy8XNFnDJ61A4JYcP7t7dWK8pI,3658
|
|
118
|
+
lintro/tools/implementations/pytest/pytest_utils.py,sha256=_74hjQWLriPhrCDF5j2mz8lPGlZeJoQwkt31S_QLqjg,22529
|
|
119
|
+
lintro/utils/__init__.py,sha256=mUAkJXnTb91theOR_ue6FfGHtuSm3C466T_SH_KoWRE,70
|
|
120
|
+
lintro/utils/ascii_normalize_cli.py,sha256=Rlasrsy9FShCKGJ_9ti4VxJGP-I05vAtTmNMENbo_a4,2575
|
|
121
|
+
lintro/utils/config.py,sha256=8Kr7gcXAHK06gONu5-UQfr1HiuVg0eVC0unA-qlIMxk,2148
|
|
122
|
+
lintro/utils/console_logger.py,sha256=jfBbSw1AUiQQucRQwMiQWYW6gsDdHkIoglU1phtjsTY,41067
|
|
123
|
+
lintro/utils/formatting.py,sha256=khC9hYBva5xqBV1IqNcivRH9gRdvWw6u6mh2TZLTy7E,5346
|
|
124
|
+
lintro/utils/output_manager.py,sha256=oIE0g8LNVQcWSQOb1MbDVqGYPrOjBGuUZ4R80M1RevQ,10213
|
|
125
|
+
lintro/utils/path_utils.py,sha256=L-qYHcacXaQXSAkhcoZuKrSD99WaCsJcJgg8s-rEaS0,2861
|
|
126
|
+
lintro/utils/tool_executor.py,sha256=tLUukSJ8Qv9_wsm7bWd7Fp9JEtQUpUppOrqR5wmC_UE,38022
|
|
127
|
+
lintro/utils/tool_utils.py,sha256=OdNnrdJ_WesMXpsO8oICwYYmzaTDFNqMRleVH3xdivw,17105
|
|
128
|
+
lintro/utils/unified_config.py,sha256=JalLYnbzi0YxT8I5Syc-MIHtHQ0EwRaC4ANUcOvWbKg,30860
|
|
129
|
+
lintro-0.17.2.dist-info/licenses/LICENSE,sha256=CwaAnyD2psonDBBJjbqFUz00W8nQw-FGDlEGZReUV6A,1069
|
|
130
|
+
lintro-0.17.2.dist-info/METADATA,sha256=GikbCAcYPSm-A4lcHkomnG9wKZV9ZBvs5fXJTn0AW50,19985
|
|
131
|
+
lintro-0.17.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
132
|
+
lintro-0.17.2.dist-info/entry_points.txt,sha256=SYSk35jFyNLEHyrofSJsRv4qFN9NsT4VWSbvnTS9ov0,43
|
|
133
|
+
lintro-0.17.2.dist-info/top_level.txt,sha256=_D-7eyV6gNBOoIwHuf_h60wN_RWiw8GxB430Il9VKhU,7
|
|
134
|
+
lintro-0.17.2.dist-info/RECORD,,
|
lintro-0.6.2.dist-info/RECORD
DELETED
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
lintro/__init__.py,sha256=4s18wFPNEntp53m_f4flfH6imXY47HDEobqCvIW07Zg,110
|
|
2
|
-
lintro/__main__.py,sha256=McxM6wEcEeCLBHZs0F8xzT1PxVqJYkjtaPq1_-Nug-0,106
|
|
3
|
-
lintro/cli.py,sha256=Fy5nqdSg4id0gjGbPy82wRTK3aZMWbRdRDnwAbIv-vs,2333
|
|
4
|
-
lintro/ascii-art/fail.txt,sha256=gshKngSrz5FvJdP6g7lPygpLsLsZZh4etBU_wR7PXOw,56396
|
|
5
|
-
lintro/ascii-art/success.txt,sha256=xhteIXcBvl_1QcFKMIS9CkjjCY8czdf9znP9AiB8oPU,90151
|
|
6
|
-
lintro/cli_utils/__init__.py,sha256=F5P_fY_s-gwNZrnV1bzUOgHGb73QeZG1i-K_kfyJ8Yg,250
|
|
7
|
-
lintro/cli_utils/commands/__init__.py,sha256=GGT-uG0gQLlHAqkrwfwqfCkD6DUMP4Tq1rgDgaYe5Ng,239
|
|
8
|
-
lintro/cli_utils/commands/check.py,sha256=YnpuiX8-kTADnwxS_mZUPf_SkmqdyqTZFJLTDf7QSQ8,6229
|
|
9
|
-
lintro/cli_utils/commands/format.py,sha256=nEU0Hv28O0RCIp6l-pFcKSzzyLE6fajQCiUYpRyHfzU,5175
|
|
10
|
-
lintro/cli_utils/commands/list_tools.py,sha256=Q-ZXwkkDDZ5pdLFLyxYcKMmWAPNF_vv7N4r8yRCEn3M,3495
|
|
11
|
-
lintro/enums/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
|
-
lintro/enums/action.py,sha256=3gln8HUNpZzAyAAjQH-cOyW1nKCx9MT6S4rFDAVirdc,597
|
|
13
|
-
lintro/enums/darglint_strictness.py,sha256=_mKMbGtqzQd8dtRkzP_QHI_3OgIPiW9LvHIUbK7WtvE,479
|
|
14
|
-
lintro/enums/group_by.py,sha256=Eb2rJpeTsPhCK-1xnsyogXrcH_pmNvDZ0dHRK1h4kzM,647
|
|
15
|
-
lintro/enums/hadolint_enums.py,sha256=CY4ucR3CSQkHKGEFptZ6j3RU_saWmimPM9921Q4HgtI,1078
|
|
16
|
-
lintro/enums/output_format.py,sha256=lw3omfjUJUdnrqFjUWVBRSBmWdrxIveS2z2JxFxYPlU,954
|
|
17
|
-
lintro/enums/tool_name.py,sha256=LV09Wpuh2hkEo7Ei5BaIzSwqH8hLGZQ8NmmQOzwqqtI,796
|
|
18
|
-
lintro/enums/tool_type.py,sha256=aa01LmewNr1DRuiHSJ0t5ZH3k933ZLbNYUC9gZXJDfI,829
|
|
19
|
-
lintro/enums/yamllint_format.py,sha256=yKOeM10SBWKKAqsU0OohOpmZXp8M1lkbdUM0Pk20SPw,490
|
|
20
|
-
lintro/exceptions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
21
|
-
lintro/exceptions/errors.py,sha256=QnELwMd6yTZVMN7nKRElhxLmxo4JeKtb-HDmVNcZ72M,374
|
|
22
|
-
lintro/formatters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
23
|
-
lintro/formatters/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
24
|
-
lintro/formatters/core/output_style.py,sha256=kr5kAWULozdj2dmHjbyferXuHMF4fx5hCTLIPWu3XRU,480
|
|
25
|
-
lintro/formatters/core/table_descriptor.py,sha256=gLEhoGO0QQoPXM6ye3VxQ3oYG746j1EBbliCGmvpAos,586
|
|
26
|
-
lintro/formatters/styles/__init__.py,sha256=rRGvbHhZpu09PJs0IbraFn3-yAYBxGVFv81hsnKkjiU,337
|
|
27
|
-
lintro/formatters/styles/csv.py,sha256=Ghm-GElUeLwZFCRqZJvC2KxqQZqiD8jtIlY8Mz-PL5c,1026
|
|
28
|
-
lintro/formatters/styles/grid.py,sha256=t1T1e4UzOxd9Rh3M58AJjud-DdmiugC_R0HvNpytQmk,2867
|
|
29
|
-
lintro/formatters/styles/html.py,sha256=M1YVlzCKsV8_zaOearYwkPOHEVLcbV-tueXMJJcJbN8,1515
|
|
30
|
-
lintro/formatters/styles/json.py,sha256=aZobZxntAiyo92_elI1VznrOd8jzEPrU7MUQBQHdM8Q,1923
|
|
31
|
-
lintro/formatters/styles/markdown.py,sha256=proUn2UEhNceTw6mVv_KSBYinLekgATx58ZWiu_PT1U,1309
|
|
32
|
-
lintro/formatters/styles/plain.py,sha256=_-4ziK6vBtvxI1wk-qLJHqKTUMs0SGWaBJPz1zV4Ngc,1125
|
|
33
|
-
lintro/formatters/tools/__init__.py,sha256=5HxvLscHFl-dYv0h_X6_-rEaszdVU-XPNtL-ZkliGvU,1289
|
|
34
|
-
lintro/formatters/tools/actionlint_formatter.py,sha256=GiUlD7DSW375seiPNLwdX3mOjtcn56T7z7ho4nQzEz8,2812
|
|
35
|
-
lintro/formatters/tools/bandit_formatter.py,sha256=WP7haIWGjIPuGZf1FQ5Ixi5DKIySHGdX-L7hZcKnFuw,3093
|
|
36
|
-
lintro/formatters/tools/black_formatter.py,sha256=xFmcmdfgQributNqQRBtp7MwPfR6QKFCsBo6urk0tDY,1623
|
|
37
|
-
lintro/formatters/tools/darglint_formatter.py,sha256=NG5V32PX7PnxOccisyXYy02TVUp15r1dzwZzC9KQRsw,2202
|
|
38
|
-
lintro/formatters/tools/hadolint_formatter.py,sha256=enugwgR571IFv-75HJ-RCrsK9GBZfH-Bwb-WjoJGd2Y,2608
|
|
39
|
-
lintro/formatters/tools/prettier_formatter.py,sha256=VtV3uSoNhUtatqQa18QtQgcBAmzMPyjS2xDIAzpI0IY,2470
|
|
40
|
-
lintro/formatters/tools/ruff_formatter.py,sha256=3R3ByBDN5YzR71cLOyNQMWLDkVU8qif_PweoTQXskkM,4011
|
|
41
|
-
lintro/formatters/tools/yamllint_formatter.py,sha256=8IkW5gHcsQPn--1yj7Q2AAHnrSVM9BynAevZWq2vmDo,2701
|
|
42
|
-
lintro/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
43
|
-
lintro/models/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
44
|
-
lintro/models/core/tool.py,sha256=TWkVV_KOYziqCdq_f3Goft3PKWKByitsQ2VFiX6MVHM,2594
|
|
45
|
-
lintro/models/core/tool_config.py,sha256=_VHxiUc0V3e9e2VIVJCpoEQ66cijuNMtsiz5hQmVIus,804
|
|
46
|
-
lintro/models/core/tool_result.py,sha256=z5fexuCBt1ir0hvzojxVX-Abt6MNIT7_JvH5oyW_FlI,1319
|
|
47
|
-
lintro/parsers/__init__.py,sha256=53UA1LuS21BL4xj8i81Qb59dKXe3jCFLBrDVqvvNHVQ,288
|
|
48
|
-
lintro/parsers/actionlint/__init__.py,sha256=N953d0kbJEOZE9cG4eq9BjiSErdk10GMrngV_tKjLvo,33
|
|
49
|
-
lintro/parsers/actionlint/actionlint_issue.py,sha256=H_BQr04KAGHpVp1qKqETcWLi3i-u6atl7ccDae-jqX8,636
|
|
50
|
-
lintro/parsers/actionlint/actionlint_parser.py,sha256=FAovzY877UeaDj7ZHb0zy6Y_hsidWS6UR1O8KCYVISU,1889
|
|
51
|
-
lintro/parsers/black/black_issue.py,sha256=RwrT7n8aw4Nybakv83eXoeUxZlDtHwicWKNfrHYIYOg,507
|
|
52
|
-
lintro/parsers/black/black_parser.py,sha256=mCbEy4aTRtxC_SKKPNK6hThGEu8C0m9EnliFW__Sa3Y,2958
|
|
53
|
-
lintro/parsers/darglint/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
54
|
-
lintro/parsers/darglint/darglint_issue.py,sha256=f43blLSM13r1VyyGwk-bjtC7raBCjRqwlnPw7Nmx9ic,127
|
|
55
|
-
lintro/parsers/darglint/darglint_parser.py,sha256=pbIGnmHVKjf8OaxvhQbDWWXAFZEictb3FfuhoGv_I00,2046
|
|
56
|
-
lintro/parsers/hadolint/__init__.py,sha256=vU33M_cj6fyg7aqZthz8MFUMfBIshX_Nx3DNuQmbHD4,30
|
|
57
|
-
lintro/parsers/hadolint/hadolint_issue.py,sha256=VlTzTPHcluFZihFL-Tkg7UuXp1fQcD03eDCH0sr1qHU,582
|
|
58
|
-
lintro/parsers/hadolint/hadolint_parser.py,sha256=Q7Hf6sL45s38O3C9dbBYzOpDlb0KGFj0U3Yry_ixdK8,1810
|
|
59
|
-
lintro/parsers/prettier/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
60
|
-
lintro/parsers/prettier/prettier_issue.py,sha256=yeOUmkb79mhYmidcx-iZgxvsNl_jkjT3ZCqT_Vo27rw,164
|
|
61
|
-
lintro/parsers/prettier/prettier_parser.py,sha256=lH50rhFHbWWLH50CiTlyIvjgbx9vz1hiIdtxEXi7uJw,2043
|
|
62
|
-
lintro/parsers/ruff/__init__.py,sha256=1oT00c82qKfveRqa4FnSedAEQjQVrb9BspJEUQJn-Kk,26
|
|
63
|
-
lintro/parsers/ruff/ruff_issue.py,sha256=96ht6YWImOBiRTo0ATlM1PvVhgIwFiuN8810emm9nXo,1142
|
|
64
|
-
lintro/parsers/ruff/ruff_parser.py,sha256=dwNaDgb-96DPuIiAgtHa0E1lTtzr2FLeWdZD_LVZhxE,4576
|
|
65
|
-
lintro/parsers/yamllint/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
66
|
-
lintro/parsers/yamllint/yamllint_issue.py,sha256=jWawdGUiTI1HADbhg8yEdZfC6yHcmk9FDzpr3PBUPBg,608
|
|
67
|
-
lintro/parsers/yamllint/yamllint_parser.py,sha256=ol44xhJcspnGIsEta8vVv1xi-sIbpB12CovmT94QFmQ,1947
|
|
68
|
-
lintro/tools/__init__.py,sha256=S-L_x7Hzp-Ja-QezupEUwF6-uhRl4ZXSIpRx59jvsaA,1410
|
|
69
|
-
lintro/tools/tool_enum.py,sha256=ECok554KLqeLuU2xyLl1fcqzh77x9ojc-6Z7CRBRQUU,851
|
|
70
|
-
lintro/tools/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
71
|
-
lintro/tools/core/tool_base.py,sha256=pnu1sMwPuICCOy_CZRip6HhvHVSYfs7q5Sfpi9zUX9E,12360
|
|
72
|
-
lintro/tools/core/tool_manager.py,sha256=yKQONy17t7-fq1k9dkrMk6lZaAvaSwp7-JcvJFZMoYc,5103
|
|
73
|
-
lintro/tools/implementations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
74
|
-
lintro/tools/implementations/tool_actionlint.py,sha256=7b1pUxs9Ln6KmoLiRQBmyDeq9SmgZ08e0DxleM9NEt8,5466
|
|
75
|
-
lintro/tools/implementations/tool_bandit.py,sha256=Ck1fT8I9CSRTJ8zYqXYsVMQ_-HSp_VzUcB6GWuTahvI,15939
|
|
76
|
-
lintro/tools/implementations/tool_black.py,sha256=x1U6NhdRxxYE5Tmvh-LoxcWtIkwHceeJWMUROa9tAJ4,9680
|
|
77
|
-
lintro/tools/implementations/tool_darglint.py,sha256=zj8hQ8bVW3fwO8dsK9tdXzyL1yzZvqiEetVGvxhGe4g,9396
|
|
78
|
-
lintro/tools/implementations/tool_hadolint.py,sha256=NfHLoThp23V-n5chSfrBZetleXsRR4oYxkLxOkJxU0g,11479
|
|
79
|
-
lintro/tools/implementations/tool_prettier.py,sha256=ecpeG0sqbTRIQ5KziiwN8gmlPzoKHebdC2AkEKHUWrk,9447
|
|
80
|
-
lintro/tools/implementations/tool_ruff.py,sha256=8WIpOKSc6HmuvEFCWgTqBX9X4T3MSD-RKesv4bs2lpQ,25361
|
|
81
|
-
lintro/tools/implementations/tool_yamllint.py,sha256=0powR9F3FkIq-b7PI0-XWdh7nx7rR3HVMtvEaz_NWeA,8831
|
|
82
|
-
lintro/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
83
|
-
lintro/utils/ascii_normalize_cli.py,sha256=8Pi9XHIIIYCyPCq-JOAPnj5tYbz6XLmFLO7KypCv3EA,2408
|
|
84
|
-
lintro/utils/config.py,sha256=3AVwNAteT-enN6Ica8jJbPwEFO94i4F7uWiEA1HSpJY,1427
|
|
85
|
-
lintro/utils/console_logger.py,sha256=N0n5LomG6MDqu4tSPbmhBsIB6lzpRl5M53tZx6EoF4k,33104
|
|
86
|
-
lintro/utils/formatting.py,sha256=khC9hYBva5xqBV1IqNcivRH9gRdvWw6u6mh2TZLTy7E,5346
|
|
87
|
-
lintro/utils/output_manager.py,sha256=oIE0g8LNVQcWSQOb1MbDVqGYPrOjBGuUZ4R80M1RevQ,10213
|
|
88
|
-
lintro/utils/path_utils.py,sha256=NJP3vjVDcRBgUHtYNrpL0tRa0Sc3oQhGX3_2WWzdZE4,1395
|
|
89
|
-
lintro/utils/tool_executor.py,sha256=8-m7nQKLRlKHBTvzT7iLmaHYZ3-2s0t4zUbC-py8-H8,26204
|
|
90
|
-
lintro/utils/tool_utils.py,sha256=zobweCIANBxXxHUERajFDshQyZGlEnJPQ52NleOrDdQ,15884
|
|
91
|
-
lintro-0.6.2.dist-info/licenses/LICENSE,sha256=CwaAnyD2psonDBBJjbqFUz00W8nQw-FGDlEGZReUV6A,1069
|
|
92
|
-
lintro-0.6.2.dist-info/METADATA,sha256=7ZshSHCtBvY2jyAfxEqQNUfsI4CLwCAbIJiMrAsHJb8,13881
|
|
93
|
-
lintro-0.6.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
94
|
-
lintro-0.6.2.dist-info/entry_points.txt,sha256=SYSk35jFyNLEHyrofSJsRv4qFN9NsT4VWSbvnTS9ov0,43
|
|
95
|
-
lintro-0.6.2.dist-info/top_level.txt,sha256=_D-7eyV6gNBOoIwHuf_h60wN_RWiw8GxB430Il9VKhU,7
|
|
96
|
-
lintro-0.6.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|