lintro 0.3.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.

Potentially problematic release.


This version of lintro might be problematic. Click here for more details.

Files changed (85) hide show
  1. lintro/__init__.py +3 -0
  2. lintro/__main__.py +6 -0
  3. lintro/ascii-art/fail.txt +404 -0
  4. lintro/ascii-art/success.txt +484 -0
  5. lintro/cli.py +70 -0
  6. lintro/cli_utils/__init__.py +7 -0
  7. lintro/cli_utils/commands/__init__.py +7 -0
  8. lintro/cli_utils/commands/check.py +210 -0
  9. lintro/cli_utils/commands/format.py +167 -0
  10. lintro/cli_utils/commands/list_tools.py +114 -0
  11. lintro/enums/__init__.py +0 -0
  12. lintro/enums/action.py +29 -0
  13. lintro/enums/darglint_strictness.py +22 -0
  14. lintro/enums/group_by.py +31 -0
  15. lintro/enums/hadolint_enums.py +46 -0
  16. lintro/enums/output_format.py +40 -0
  17. lintro/enums/tool_name.py +36 -0
  18. lintro/enums/tool_type.py +27 -0
  19. lintro/enums/yamllint_format.py +22 -0
  20. lintro/exceptions/__init__.py +0 -0
  21. lintro/exceptions/errors.py +15 -0
  22. lintro/formatters/__init__.py +0 -0
  23. lintro/formatters/core/__init__.py +0 -0
  24. lintro/formatters/core/output_style.py +21 -0
  25. lintro/formatters/core/table_descriptor.py +24 -0
  26. lintro/formatters/styles/__init__.py +17 -0
  27. lintro/formatters/styles/csv.py +41 -0
  28. lintro/formatters/styles/grid.py +91 -0
  29. lintro/formatters/styles/html.py +48 -0
  30. lintro/formatters/styles/json.py +61 -0
  31. lintro/formatters/styles/markdown.py +41 -0
  32. lintro/formatters/styles/plain.py +39 -0
  33. lintro/formatters/tools/__init__.py +35 -0
  34. lintro/formatters/tools/darglint_formatter.py +72 -0
  35. lintro/formatters/tools/hadolint_formatter.py +84 -0
  36. lintro/formatters/tools/prettier_formatter.py +76 -0
  37. lintro/formatters/tools/ruff_formatter.py +116 -0
  38. lintro/formatters/tools/yamllint_formatter.py +87 -0
  39. lintro/models/__init__.py +0 -0
  40. lintro/models/core/__init__.py +0 -0
  41. lintro/models/core/tool.py +104 -0
  42. lintro/models/core/tool_config.py +23 -0
  43. lintro/models/core/tool_result.py +39 -0
  44. lintro/parsers/__init__.py +0 -0
  45. lintro/parsers/darglint/__init__.py +0 -0
  46. lintro/parsers/darglint/darglint_issue.py +9 -0
  47. lintro/parsers/darglint/darglint_parser.py +62 -0
  48. lintro/parsers/hadolint/__init__.py +1 -0
  49. lintro/parsers/hadolint/hadolint_issue.py +24 -0
  50. lintro/parsers/hadolint/hadolint_parser.py +65 -0
  51. lintro/parsers/prettier/__init__.py +0 -0
  52. lintro/parsers/prettier/prettier_issue.py +10 -0
  53. lintro/parsers/prettier/prettier_parser.py +60 -0
  54. lintro/parsers/ruff/__init__.py +1 -0
  55. lintro/parsers/ruff/ruff_issue.py +43 -0
  56. lintro/parsers/ruff/ruff_parser.py +89 -0
  57. lintro/parsers/yamllint/__init__.py +0 -0
  58. lintro/parsers/yamllint/yamllint_issue.py +24 -0
  59. lintro/parsers/yamllint/yamllint_parser.py +68 -0
  60. lintro/tools/__init__.py +40 -0
  61. lintro/tools/core/__init__.py +0 -0
  62. lintro/tools/core/tool_base.py +320 -0
  63. lintro/tools/core/tool_manager.py +167 -0
  64. lintro/tools/implementations/__init__.py +0 -0
  65. lintro/tools/implementations/tool_darglint.py +245 -0
  66. lintro/tools/implementations/tool_hadolint.py +302 -0
  67. lintro/tools/implementations/tool_prettier.py +270 -0
  68. lintro/tools/implementations/tool_ruff.py +618 -0
  69. lintro/tools/implementations/tool_yamllint.py +240 -0
  70. lintro/tools/tool_enum.py +17 -0
  71. lintro/utils/__init__.py +0 -0
  72. lintro/utils/ascii_normalize_cli.py +84 -0
  73. lintro/utils/config.py +39 -0
  74. lintro/utils/console_logger.py +783 -0
  75. lintro/utils/formatting.py +173 -0
  76. lintro/utils/output_manager.py +301 -0
  77. lintro/utils/path_utils.py +41 -0
  78. lintro/utils/tool_executor.py +443 -0
  79. lintro/utils/tool_utils.py +431 -0
  80. lintro-0.3.2.dist-info/METADATA +338 -0
  81. lintro-0.3.2.dist-info/RECORD +85 -0
  82. lintro-0.3.2.dist-info/WHEEL +5 -0
  83. lintro-0.3.2.dist-info/entry_points.txt +2 -0
  84. lintro-0.3.2.dist-info/licenses/LICENSE +21 -0
  85. lintro-0.3.2.dist-info/top_level.txt +1 -0
@@ -0,0 +1,338 @@
1
+ Metadata-Version: 2.4
2
+ Name: lintro
3
+ Version: 0.3.2
4
+ Summary: A unified CLI tool for code formatting, linting, and quality assurance
5
+ Author-email: TurboCoder13 <turbocoder13@gmail.com>
6
+ License: MIT License
7
+
8
+ Copyright (c) 2024 Eitel Dagnin
9
+
10
+ Permission is hereby granted, free of charge, to any person obtaining a copy
11
+ of this software and associated documentation files (the "Software"), to deal
12
+ in the Software without restriction, including without limitation the rights
13
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
+ copies of the Software, and to permit persons to whom the Software is
15
+ furnished to do so, subject to the following conditions:
16
+
17
+ The above copyright notice and this permission notice shall be included in all
18
+ copies or substantial portions of the Software.
19
+
20
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
+ SOFTWARE.
27
+ Project-URL: Homepage, https://github.com/TurboCoder13/py-lintro
28
+ Project-URL: Documentation, https://github.com/TurboCoder13/py-lintro/docs
29
+ Project-URL: Source, https://github.com/TurboCoder13/py-lintro
30
+ Keywords: linting,formatting,code-quality,cli,python,javascript,yaml,docker
31
+ Classifier: Development Status :: 4 - Beta
32
+ Classifier: Intended Audience :: Developers
33
+ Classifier: Operating System :: OS Independent
34
+ Classifier: Programming Language :: Python :: 3
35
+ Classifier: Programming Language :: Python :: 3.13
36
+ Classifier: Topic :: Software Development :: Quality Assurance
37
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
38
+ Classifier: Topic :: Utilities
39
+ Requires-Python: <3.14,>=3.13
40
+ Description-Content-Type: text/markdown
41
+ License-File: LICENSE
42
+ Requires-Dist: click==8.2.1
43
+ Requires-Dist: coverage-badge==1.1.2
44
+ Requires-Dist: darglint==1.8.1
45
+ Requires-Dist: loguru==0.7.3
46
+ Requires-Dist: tabulate==0.9.0
47
+ Requires-Dist: yamllint==1.37.1
48
+ Requires-Dist: httpx==0.28.1
49
+ Requires-Dist: toml==0.10.2
50
+ Requires-Dist: python-semantic-release>=9.12.0
51
+ Provides-Extra: dev
52
+ Requires-Dist: pytest==8.4.1; extra == "dev"
53
+ Requires-Dist: pytest-cov==6.2.1; extra == "dev"
54
+ Requires-Dist: pytest-mock==3.14.1; extra == "dev"
55
+ Requires-Dist: pytest-xdist==3.6.1; extra == "dev"
56
+ Requires-Dist: tox==4.28.4; extra == "dev"
57
+ Requires-Dist: allure-pytest==2.15.0; extra == "dev"
58
+ Requires-Dist: ruff; extra == "dev"
59
+ Requires-Dist: mypy; extra == "dev"
60
+ Requires-Dist: coverage-badge==1.1.2; extra == "dev"
61
+ Requires-Dist: python-semantic-release==9.12.0; extra == "dev"
62
+ Provides-Extra: test
63
+ Requires-Dist: pytest==8.4.1; extra == "test"
64
+ Requires-Dist: pytest-cov==6.2.1; extra == "test"
65
+ Requires-Dist: pytest-mock==3.14.1; extra == "test"
66
+ Requires-Dist: pytest-xdist==3.6.1; extra == "test"
67
+ Provides-Extra: typing
68
+ Requires-Dist: types-setuptools==80.9.0.20250809; extra == "typing"
69
+ Requires-Dist: types-tabulate==0.9.0.20241207; extra == "typing"
70
+ Dynamic: license-file
71
+
72
+ # Lintro
73
+
74
+ <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;">
75
+
76
+ A comprehensive CLI tool that unifies various code formatting, linting, and quality assurance tools under a single command-line interface.
77
+
78
+ ## What is Lintro?
79
+
80
+ Lintro is a unified command-line interface that brings together multiple code quality tools into a single, easy-to-use package. Instead of managing separate tools like Ruff, Prettier, Yamllint, and others individually, Lintro provides a consistent interface for all your code quality needs.
81
+
82
+ ### Why Lintro?
83
+
84
+ - **🚀 Unified Interface**: One command to run all your linting and formatting tools
85
+ - **🎯 Consistent Output**: Beautiful, standardized output formats across all tools
86
+ - **🔧 Auto-fixing**: Automatically fix issues where possible
87
+ - **🐳 Docker Ready**: Run in isolated containers for consistent environments
88
+ - **📊 Rich Reporting**: Multiple output formats (grid, JSON, HTML, CSV, Markdown)
89
+ - **⚡ Fast**: Optimized execution with efficient tool management
90
+ - **🔒 Reliable**: Comprehensive test suite with 84% coverage
91
+
92
+ [![Python](https://img.shields.io/badge/python-3.13-blue)](https://www.python.org/downloads/)
93
+ [![Coverage](assets/images/coverage-badge.svg)](docs/coverage-setup.md)
94
+ [![License](https://img.shields.io/badge/license-MIT-green)](LICENSE)
95
+ [![Tests](https://img.shields.io/github/actions/workflow/status/TurboCoder13/py-lintro/test-and-coverage.yml?label=tests)](https://github.com/TurboCoder13/py-lintro/actions/workflows/test-and-coverage.yml)
96
+ [![CI](https://img.shields.io/github/actions/workflow/status/TurboCoder13/py-lintro/ci-lintro-analysis.yml?label=ci)](https://github.com/TurboCoder13/py-lintro/actions/workflows/ci-lintro-analysis.yml)
97
+ [![Docker](https://img.shields.io/github/actions/workflow/status/TurboCoder13/py-lintro/docker-build-publish.yml?label=docker&logo=docker)](https://github.com/TurboCoder13/py-lintro/actions/workflows/docker-build-publish.yml)
98
+ [![Code Style](https://img.shields.io/badge/code%20style-ruff-black-blue)](https://github.com/astral-sh/ruff)
99
+ [![PyPI](https://img.shields.io/pypi/v/lintro?label=pypi)](https://pypi.org/project/lintro/)
100
+
101
+ ## Features
102
+
103
+ - **Unified CLI** for multiple code quality tools
104
+ - **Multi-language support** - Python, JavaScript, YAML, Docker, and more
105
+ - **Auto-fixing** capabilities where possible
106
+ - **Beautiful output formatting** with table views
107
+ - **Docker support** for containerized environments
108
+ - **CI/CD integration** with GitHub Actions
109
+
110
+ ## Supported Tools
111
+
112
+ | Tool | Language/Format | Purpose | Auto-fix |
113
+ | ------------ | --------------- | -------------------- | -------- |
114
+ | **Ruff** | Python | Linting & Formatting | ✅ |
115
+ | **Darglint** | Python | Docstring Validation | - |
116
+ | **Prettier** | JS/TS/JSON | Code Formatting | ✅ |
117
+ | **Yamllint** | YAML | Syntax & Style | - |
118
+ | **Hadolint** | Dockerfile | Best Practices | - |
119
+
120
+ ## Quick Start
121
+
122
+ ### Installation
123
+
124
+ #### From PyPI (Recommended)
125
+
126
+ ```bash
127
+ pip install lintro
128
+ ```
129
+
130
+ #### Development Installation
131
+
132
+ ```bash
133
+ # Clone and install in development mode
134
+ git clone https://github.com/TurboCoder13/py-lintro.git
135
+ cd py-lintro
136
+ pip install -e .
137
+ ```
138
+
139
+ ### Basic Usage
140
+
141
+ ```bash
142
+ # Check all files for issues
143
+ lintro check
144
+
145
+ # Auto-fix issues where possible
146
+ lintro format
147
+
148
+ # Use grid formatting for better readability
149
+ lintro check --output-format grid
150
+
151
+ # Run specific tools only
152
+ lintro check --tools ruff,prettier
153
+
154
+ # List all available tools
155
+ lintro list-tools
156
+ ```
157
+
158
+ ## Docker Usage
159
+
160
+ ### Quick Start with Published Image
161
+
162
+ ```bash
163
+ # Run Lintro directly from GitHub Container Registry
164
+ docker run --rm -v $(pwd):/code ghcr.io/turbocoder13/py-lintro:latest check
165
+
166
+ # With specific formatting
167
+ docker run --rm -v $(pwd):/code ghcr.io/turbocoder13/py-lintro:latest check --output-format grid
168
+
169
+ # Run specific tools only
170
+ docker run --rm -v $(pwd):/code ghcr.io/turbocoder13/py-lintro:latest check --tools ruff,prettier
171
+ ```
172
+
173
+ ### Development Setup
174
+
175
+ ```bash
176
+ # Clone and setup
177
+ git clone https://github.com/TurboCoder13/py-lintro.git
178
+ cd py-lintro
179
+ chmod +x scripts/**/*.sh
180
+
181
+ # Run with local Docker build
182
+ ./scripts/docker/docker-lintro.sh check --output-format grid
183
+ ```
184
+
185
+ See [Docker Documentation](docs/docker.md) for detailed usage.
186
+
187
+ ## Advanced Usage
188
+
189
+ ### Output Formatting
190
+
191
+ ```bash
192
+ # Grid format (recommended)
193
+ lintro check --output-format grid --group-by code
194
+
195
+ # Export to file
196
+ lintro check --output report.txt
197
+
198
+ # Different grouping options
199
+ lintro check --output-format grid --group-by file # Group by file
200
+ lintro check --output-format grid --group-by code # Group by error type
201
+ ```
202
+
203
+ ### Tool-Specific Options
204
+
205
+ ```bash
206
+ # Exclude patterns
207
+ lintro check --exclude "migrations,node_modules,dist"
208
+
209
+ # Tool-specific options
210
+ lintro check --tool-options "ruff:--line-length=88,prettier:--print-width=80"
211
+
212
+ # Ruff fix configuration (fmt):
213
+ # By default, fmt applies both lint fixes and formatting for Ruff.
214
+ # Disable either stage as needed:
215
+ lintro format --tool-options ruff:lint_fix=False # format only
216
+ lintro format --tool-options ruff:format=False # lint fixes only
217
+ ```
218
+
219
+ ### CI/CD Integration
220
+
221
+ Lintro includes pre-built GitHub Actions workflows:
222
+
223
+ - **Automated code quality checks** on pull requests
224
+ - **Coverage reporting** with badges
225
+ - **Multi-tool analysis** across your entire codebase
226
+
227
+ See [GitHub Integration Guide](docs/github-integration.md) for setup instructions.
228
+
229
+ ## Documentation
230
+
231
+ For comprehensive documentation, see our **[Documentation Hub](docs/README.md)** which includes:
232
+
233
+ - **[Getting Started](docs/getting-started.md)** - Installation and basic usage
234
+ - **[Docker Usage](docs/docker.md)** - Containerized development
235
+ - **[GitHub Integration](docs/github-integration.md)** - CI/CD setup
236
+ - **[Configuration](docs/configuration.md)** - Tool configuration options
237
+ - **[Contributing](docs/contributing.md)** - Developer guide
238
+ - **[Tool Analysis](docs/tool-analysis/)** - Detailed tool comparisons
239
+
240
+ ## Development
241
+
242
+ ```bash
243
+ # Run tests
244
+ ./scripts/local/run-tests.sh
245
+
246
+ # Run Lintro on itself
247
+ ./scripts/local/local-lintro.sh check --output-format grid
248
+
249
+ # Docker development
250
+ ./scripts/docker/docker-test.sh
251
+ ./scripts/docker/docker-lintro.sh check --output-format grid
252
+ ```
253
+
254
+ For detailed information about all available scripts, see [Scripts Documentation](scripts/README.md).
255
+
256
+ ## Dependencies
257
+
258
+ - **Renovate** for automated dependency updates
259
+ - **Python 3.13+** with UV package manager
260
+ - **Optional**: Docker for containerized usage
261
+
262
+ ## License
263
+
264
+ This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
265
+
266
+ ## Troubleshooting
267
+
268
+ ### Common Issues
269
+
270
+ #### "Command not found: lintro"
271
+
272
+ **Solution**: Ensure Lintro is installed correctly:
273
+
274
+ ```bash
275
+ pip install lintro
276
+ # or for development
277
+ pip install -e .
278
+ ```
279
+
280
+ #### "Tool not found" errors
281
+
282
+ **Solution**: Install the required tools or use Docker:
283
+
284
+ ```bash
285
+ # Install tools individually
286
+ pip install ruff darglint
287
+ npm install -g prettier
288
+ pip install yamllint
289
+ # or use Docker (recommended)
290
+ docker run --rm -v $(pwd):/code ghcr.io/turbocoder13/py-lintro:latest check
291
+ ```
292
+
293
+ #### Permission errors on Windows
294
+
295
+ **Solution**: Run as administrator or use WSL:
296
+
297
+ ```bash
298
+ # Use WSL for better compatibility
299
+ wsl
300
+ pip install lintro
301
+ ```
302
+
303
+ #### Docker permission issues
304
+
305
+ **Solution**: Add your user to the docker group:
306
+
307
+ ```bash
308
+ sudo usermod -aG docker $USER
309
+ # Log out and back in
310
+ ```
311
+
312
+ #### Slow performance
313
+
314
+ **Solution**: Use exclude patterns and specific tools:
315
+
316
+ ```bash
317
+ # Exclude large directories
318
+ lintro check --exclude "node_modules,venv,.git"
319
+
320
+ # Run specific tools only
321
+ lintro check --tools ruff,prettier
322
+ ```
323
+
324
+ ### Getting Help
325
+
326
+ - 📖 **Documentation**: Check the [docs/](docs/) directory
327
+ - 🐛 **Bug Reports**: Use the [bug report template](.github/ISSUE_TEMPLATE/bug_report.md)
328
+ - 💡 **Questions**: Use the [question template](.github/ISSUE_TEMPLATE/question.md)
329
+ - 🚀 **Feature Requests**: Use the [feature request template](.github/ISSUE_TEMPLATE/feature_request.md)
330
+
331
+ ## Contributing
332
+
333
+ We welcome contributions! See our [Contributing Guide](docs/contributing.md) for details on:
334
+
335
+ - Adding new tools
336
+ - Reporting bugs
337
+ - Submitting features
338
+ - Code style guidelines
@@ -0,0 +1,85 @@
1
+ lintro/__init__.py,sha256=PDz4oSptiLt_jQFP8SYJrdBvsF6rKHxz9c7sS92G3AA,109
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=Kdgi4iiqhzSzyEAOpcZ1kK2GKxZHZlPKcQQH-VDAtrM,935
34
+ lintro/formatters/tools/darglint_formatter.py,sha256=kik3kJM1eENOSEVWzUXBZYUeBOCB3FjZcFUns0HL0ck,2177
35
+ lintro/formatters/tools/hadolint_formatter.py,sha256=enugwgR571IFv-75HJ-RCrsK9GBZfH-Bwb-WjoJGd2Y,2608
36
+ lintro/formatters/tools/prettier_formatter.py,sha256=VtV3uSoNhUtatqQa18QtQgcBAmzMPyjS2xDIAzpI0IY,2470
37
+ lintro/formatters/tools/ruff_formatter.py,sha256=3R3ByBDN5YzR71cLOyNQMWLDkVU8qif_PweoTQXskkM,4011
38
+ lintro/formatters/tools/yamllint_formatter.py,sha256=8IkW5gHcsQPn--1yj7Q2AAHnrSVM9BynAevZWq2vmDo,2701
39
+ lintro/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
40
+ lintro/models/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
41
+ lintro/models/core/tool.py,sha256=TWkVV_KOYziqCdq_f3Goft3PKWKByitsQ2VFiX6MVHM,2594
42
+ lintro/models/core/tool_config.py,sha256=_VHxiUc0V3e9e2VIVJCpoEQ66cijuNMtsiz5hQmVIus,804
43
+ lintro/models/core/tool_result.py,sha256=z5fexuCBt1ir0hvzojxVX-Abt6MNIT7_JvH5oyW_FlI,1319
44
+ lintro/parsers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
+ lintro/parsers/darglint/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
+ lintro/parsers/darglint/darglint_issue.py,sha256=f43blLSM13r1VyyGwk-bjtC7raBCjRqwlnPw7Nmx9ic,127
47
+ lintro/parsers/darglint/darglint_parser.py,sha256=oh2Q-innmm_H5O-xTNMvObmLMFJSL51uqOtSgG39WsQ,2045
48
+ lintro/parsers/hadolint/__init__.py,sha256=vU33M_cj6fyg7aqZthz8MFUMfBIshX_Nx3DNuQmbHD4,30
49
+ lintro/parsers/hadolint/hadolint_issue.py,sha256=VlTzTPHcluFZihFL-Tkg7UuXp1fQcD03eDCH0sr1qHU,582
50
+ lintro/parsers/hadolint/hadolint_parser.py,sha256=KMWlHI6ulfseWCcPrvLHKa6ONkQj4zKHqPvy0Q7Nu9M,1808
51
+ lintro/parsers/prettier/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
52
+ lintro/parsers/prettier/prettier_issue.py,sha256=yeOUmkb79mhYmidcx-iZgxvsNl_jkjT3ZCqT_Vo27rw,164
53
+ lintro/parsers/prettier/prettier_parser.py,sha256=lH50rhFHbWWLH50CiTlyIvjgbx9vz1hiIdtxEXi7uJw,2043
54
+ lintro/parsers/ruff/__init__.py,sha256=1oT00c82qKfveRqa4FnSedAEQjQVrb9BspJEUQJn-Kk,26
55
+ lintro/parsers/ruff/ruff_issue.py,sha256=96ht6YWImOBiRTo0ATlM1PvVhgIwFiuN8810emm9nXo,1142
56
+ lintro/parsers/ruff/ruff_parser.py,sha256=dvufb9F2JLBfdHE2houF5M-5tDcKRsEhtC1CBNww0L8,2919
57
+ lintro/parsers/yamllint/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
58
+ lintro/parsers/yamllint/yamllint_issue.py,sha256=jWawdGUiTI1HADbhg8yEdZfC6yHcmk9FDzpr3PBUPBg,608
59
+ lintro/parsers/yamllint/yamllint_parser.py,sha256=UaZ0sjVPUw3kWJ7QYHY0wX9ybifoy1NbicGjBDMijGE,1945
60
+ lintro/tools/__init__.py,sha256=L69IkHRQVlvDYcJugP4z9NCaKc_kceuboQgKjo__BqE,1240
61
+ lintro/tools/tool_enum.py,sha256=Bs_LvgupRJJUcvA7ZnxW84OJdD7QZnCtOHvs6wjlUEk,575
62
+ lintro/tools/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
+ lintro/tools/core/tool_base.py,sha256=lraij6gUgB6euc7JdE0KLONdpCK56zsuQbYGLBqAEJI,10869
64
+ lintro/tools/core/tool_manager.py,sha256=yKQONy17t7-fq1k9dkrMk6lZaAvaSwp7-JcvJFZMoYc,5103
65
+ lintro/tools/implementations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
66
+ lintro/tools/implementations/tool_darglint.py,sha256=lgHqVVFUFNyVHUmzDMOktjeUeP3CpIQywPAtiGDJE9I,9340
67
+ lintro/tools/implementations/tool_hadolint.py,sha256=ylUPDKJ_FxM3N4FCtbgKa0RxrL47pcRLSU4GH0ZlYvc,11431
68
+ lintro/tools/implementations/tool_prettier.py,sha256=QTboRboHLRzhgGdpGnRbaFf2D2DaG981iRWFYvTUfJE,9446
69
+ lintro/tools/implementations/tool_ruff.py,sha256=l8QVQES8mvY7pceP0aLS2ivzOsTWmyika6D6eXGnvqs,24424
70
+ lintro/tools/implementations/tool_yamllint.py,sha256=kunF5PYYOumd0G62hSvh8fOnhczwioHtpfVcLk3fCYI,8783
71
+ lintro/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
72
+ lintro/utils/ascii_normalize_cli.py,sha256=ztuHEvmMgl2gLy3vAo8RTwvxCTWyXgL1C7jPMX7IaKM,2391
73
+ lintro/utils/config.py,sha256=Mi_3dqPjmNF7pcgA3b-Dx0CKQe_qrYCh_uYF9u6g0TQ,1036
74
+ lintro/utils/console_logger.py,sha256=ZujOP1UVx88K35ttPd3yB1_zqZ5xkrlqQNqRYUJYFwA,30645
75
+ lintro/utils/formatting.py,sha256=TuQH4jhAstz-hqrdN1SIibRjWqKGJxg1CREHJKCq4sM,5187
76
+ lintro/utils/output_manager.py,sha256=kqTlWcR2HXyo-uiiWypHm8XaG8DQnngWgEqf1H9X5DU,10211
77
+ lintro/utils/path_utils.py,sha256=NJP3vjVDcRBgUHtYNrpL0tRa0Sc3oQhGX3_2WWzdZE4,1395
78
+ lintro/utils/tool_executor.py,sha256=fS9ed524Jr5wiB92YEVYlEjpk1NSbfgc0u7LP-Udha4,16146
79
+ lintro/utils/tool_utils.py,sha256=qqhVH-TzCB4yONzoEyUsAz_i72Th1lBGnFpjWAeeWdg,14674
80
+ lintro-0.3.2.dist-info/licenses/LICENSE,sha256=uI_MuPnZqNvr8afiZQO9DPfKQFOIVE3QMg7ZwbTjX-k,1069
81
+ lintro-0.3.2.dist-info/METADATA,sha256=4WUpn95xSAt6SHOoy7SpGWXo4nIuLpsmdrRmEbjpEI4,11744
82
+ lintro-0.3.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
83
+ lintro-0.3.2.dist-info/entry_points.txt,sha256=SYSk35jFyNLEHyrofSJsRv4qFN9NsT4VWSbvnTS9ov0,43
84
+ lintro-0.3.2.dist-info/top_level.txt,sha256=_D-7eyV6gNBOoIwHuf_h60wN_RWiw8GxB430Il9VKhU,7
85
+ lintro-0.3.2.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.9.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ lintro = lintro.cli:main
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Eitel Dagnin
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1 @@
1
+ lintro