woolly 0.2.0__py3-none-any.whl → 0.4.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.
@@ -0,0 +1,324 @@
1
+ Metadata-Version: 2.4
2
+ Name: woolly
3
+ Version: 0.4.0
4
+ Summary: Check if package dependencies are available in Fedora. Supports Rust, Python, and more.
5
+ Author-email: Rodolfo Olivieri <rodolfo.olivieri3@gmail.com>
6
+ License-File: LICENSE
7
+ Classifier: Development Status :: 2 - Pre-Alpha
8
+ Classifier: Environment :: Console
9
+ Classifier: Intended Audience :: Developers
10
+ Classifier: Intended Audience :: Information Technology
11
+ Classifier: Intended Audience :: System Administrators
12
+ Classifier: License :: OSI Approved :: MIT License
13
+ Classifier: Natural Language :: English
14
+ Classifier: Operating System :: POSIX :: Linux
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3 :: Only
17
+ Classifier: Programming Language :: Python :: 3.10
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Programming Language :: Python :: 3.13
21
+ Classifier: Programming Language :: Python :: 3.14
22
+ Classifier: Topic :: System :: Systems Administration
23
+ Classifier: Topic :: Utilities
24
+ Requires-Python: >=3.10
25
+ Requires-Dist: cyclopts>=4.3.0
26
+ Requires-Dist: httpx>=0.28.0
27
+ Requires-Dist: pydantic>=2.10.0
28
+ Requires-Dist: rich>=14.2.0
29
+ Provides-Extra: template
30
+ Requires-Dist: jinja2>=3.1.0; extra == 'template'
31
+ Description-Content-Type: text/markdown
32
+
33
+ # 🐑 Woolly
34
+
35
+ **Check if package dependencies are available in Fedora.**
36
+
37
+ Woolly analyzes package dependencies from various language ecosystems and checks their availability in Fedora repositories, helping packagers estimate the effort needed to bring a package to Fedora.
38
+
39
+ > ⚠️ **Experimental Software**
40
+ >
41
+ > This project is still experimental and may not get things right all the time.
42
+ > Results should be verified manually, especially for complex dependency trees.
43
+ > Platform-specific dependencies (like `windows-*` crates) may be flagged as missing
44
+ > even though they're not needed on Linux.
45
+
46
+ ## What does "woolly" mean?
47
+
48
+ Nothing. I just liked the name. 🐑
49
+
50
+ ## Features
51
+
52
+ - **Multi-language support** — Analyze dependencies from Rust (crates.io) and Python (PyPI)
53
+ - **Multiple output formats** — Console output, JSON, and Markdown reports
54
+ - **Optional dependency tracking** — Optionally include and separately track optional dependencies
55
+ - **Smart caching** — Caches API responses and dnf queries to speed up repeated analyses
56
+ - **Progress tracking** — Real-time progress bar showing analysis status
57
+ - **Debug logging** — Verbose logging mode for troubleshooting
58
+ - **Extensible architecture** — Easy to add new languages and report formats
59
+
60
+ ## Supported Languages
61
+
62
+ | Language | Registry | CLI Flag | Aliases |
63
+ |----------|-----------|-----------------------|-------------------------|
64
+ | Rust | crates.io | `--lang rust` | `-l rs`, `-l crate` |
65
+ | Python | PyPI | `--lang python` | `-l py`, `-l pypi` |
66
+
67
+ ## Output Formats
68
+
69
+ | Format | Description | CLI Flag | Aliases |
70
+ |----------|----------------------------------|----------------------|----------------------|
71
+ | stdout | Rich console output (default) | `--report stdout` | `-r console` |
72
+ | json | JSON file for programmatic use | `--report json` | |
73
+ | markdown | Markdown file for documentation | `--report markdown` | `-r md` |
74
+
75
+ ## Installation
76
+
77
+ ```bash
78
+ # Using uv (recommended)
79
+ uv pip install .
80
+
81
+ # Or run directly without installing
82
+ uv run woolly --help
83
+
84
+ # Using pip
85
+ pip install .
86
+ ```
87
+
88
+ ### Requirements
89
+
90
+ - Python 3.10+
91
+ - `dnf` available on the system (for Fedora package queries)
92
+
93
+ ## Usage
94
+
95
+ ### Basic Usage
96
+
97
+ ```bash
98
+ # Check a Rust crate (default language)
99
+ woolly check ripgrep
100
+
101
+ # Check a Python package
102
+ woolly check --lang python requests
103
+
104
+ # Use language aliases
105
+ woolly check -l py flask
106
+ woolly check -l rs tokio
107
+ ```
108
+
109
+ ### Options
110
+
111
+ ```bash
112
+ # Check a specific version
113
+ woolly check serde --version 1.0.200
114
+
115
+ # Include optional dependencies in the analysis
116
+ woolly check --optional requests -l python
117
+
118
+ # Limit recursion depth
119
+ woolly check --max-depth 10 tokio
120
+
121
+ # Disable progress bar
122
+ woolly check --no-progress serde
123
+
124
+ # Enable debug logging
125
+ woolly check --debug flask -l py
126
+
127
+ # Output as JSON
128
+ woolly check --report json serde
129
+
130
+ # Output as Markdown
131
+ woolly check -r md requests -l py
132
+ ```
133
+
134
+ ### Other Commands
135
+
136
+ ```bash
137
+ # List available languages
138
+ woolly list-languages
139
+
140
+ # List available output formats
141
+ woolly list-formats
142
+
143
+ # Clear the cache
144
+ woolly clear-cache
145
+ ```
146
+
147
+ ## Example Output
148
+
149
+ ### Rust
150
+
151
+ ```bash
152
+ $ woolly check cliclack
153
+
154
+ Analyzing Rust package: cliclack
155
+ Registry: crates.io
156
+ Cache directory: /home/user/.cache/woolly
157
+
158
+ Analyzing Rust dependencies ━━━━━━━━━━━━━━━━━ 100% • 0:00:15 complete!
159
+
160
+ Dependency Summary for 'cliclack' (Rust)
161
+ ╭────────────────────────────┬───────╮
162
+ │ Metric │ Value │
163
+ ├────────────────────────────┼───────┤
164
+ │ Total dependencies checked │ 7 │
165
+ │ Packaged in Fedora │ 0 │
166
+ │ Missing from Fedora │ 1 │
167
+ ╰────────────────────────────┴───────╯
168
+
169
+ Missing packages that need packaging:
170
+ • cliclack
171
+
172
+ Dependency Tree:
173
+ cliclack v0.3.6 • ✗ not packaged
174
+ ├── console v0.16.1 • ✓ packaged (0.16.1)
175
+ │ ├── encode_unicode v1.0.0 • ✓ packaged (1.0.0)
176
+ │ └── windows-sys v0.61.2 • ✗ not packaged
177
+ ...
178
+ ```
179
+
180
+ ### Python
181
+
182
+ ```bash
183
+ $ woolly check --lang python requests
184
+
185
+ Analyzing Python package: requests
186
+ Registry: PyPI
187
+ Cache directory: /home/user/.cache/woolly
188
+
189
+ Analyzing Python dependencies ━━━━━━━━━━━━━━ 100% • 0:00:05 complete!
190
+
191
+ Dependency Summary for 'requests' (Python)
192
+ ╭────────────────────────────┬───────╮
193
+ │ Metric │ Value │
194
+ ├────────────────────────────┼───────┤
195
+ │ Total dependencies checked │ 5 │
196
+ │ Packaged in Fedora │ 5 │
197
+ │ Missing from Fedora │ 0 │
198
+ ╰────────────────────────────┴───────╯
199
+
200
+ Dependency Tree:
201
+ requests v2.32.3 • ✓ packaged (2.32.3) [python3-requests]
202
+ ├── charset-normalizer v3.4.0 • ✓ packaged (3.4.0) [python3-charset-normalizer]
203
+ ├── idna v3.10 • ✓ packaged (3.10) [python3-idna]
204
+ ├── urllib3 v2.2.3 • ✓ packaged (2.2.3) [python3-urllib3]
205
+ └── certifi v2024.8.30 • ✓ packaged (2024.8.30) [python3-certifi]
206
+ ```
207
+
208
+ ### With Optional Dependencies
209
+
210
+ ```bash
211
+ $ woolly check --lang python --optional flask
212
+
213
+ Dependency Summary for 'flask' (Python)
214
+ ╭────────────────────────────┬───────╮
215
+ │ Metric │ Value │
216
+ ├────────────────────────────┼───────┤
217
+ │ Total dependencies checked │ 15 │
218
+ │ Packaged in Fedora │ 12 │
219
+ │ Missing from Fedora │ 3 │
220
+ │ │ │
221
+ │ Optional dependencies │ 4 │
222
+ │ ├─ Packaged │ 2 │
223
+ │ └─ Missing │ 2 │
224
+ ╰────────────────────────────┴───────╯
225
+ ```
226
+
227
+ ## Adding a New Language
228
+
229
+ To add support for a new language, create a new provider in `woolly/languages/`:
230
+
231
+ ```python
232
+ # woolly/languages/go.py
233
+ from typing import Optional
234
+
235
+ from woolly.languages.base import Dependency, LanguageProvider, PackageInfo
236
+
237
+
238
+ class GoProvider(LanguageProvider):
239
+ """Provider for Go modules."""
240
+
241
+ # Required class attributes
242
+ name = "go"
243
+ display_name = "Go"
244
+ registry_name = "Go Modules"
245
+ fedora_provides_prefix = "golang"
246
+ cache_namespace = "go"
247
+
248
+ # Required methods to implement:
249
+
250
+ def fetch_package_info(self, package_name: str) -> Optional[PackageInfo]:
251
+ """Fetch package info from proxy.golang.org."""
252
+ ...
253
+
254
+ def fetch_dependencies(self, package_name: str, version: str) -> list[Dependency]:
255
+ """Fetch dependencies from go.mod."""
256
+ ...
257
+
258
+ # Optional: Override these if your language has special naming conventions
259
+
260
+ def normalize_package_name(self, package_name: str) -> str:
261
+ """Normalize package name for Fedora lookup."""
262
+ return package_name
263
+
264
+ def get_alternative_names(self, package_name: str) -> list[str]:
265
+ """Alternative names to try if package not found."""
266
+ return []
267
+ ```
268
+
269
+ Then register it in `woolly/languages/__init__.py`:
270
+
271
+ ```python
272
+ from woolly.languages.go import GoProvider
273
+
274
+ PROVIDERS: dict[str, type[LanguageProvider]] = {
275
+ "rust": RustProvider,
276
+ "python": PythonProvider,
277
+ "go": GoProvider, # Add new provider
278
+ }
279
+
280
+ ALIASES: dict[str, str] = {
281
+ # ... existing aliases
282
+ "golang": "go",
283
+ }
284
+ ```
285
+
286
+ ## Adding a New Output Format
287
+
288
+ To add a new output format, create a reporter in `woolly/reporters/`:
289
+
290
+ ```python
291
+ # woolly/reporters/html.py
292
+ from woolly.reporters.base import Reporter, ReportData
293
+
294
+
295
+ class HtmlReporter(Reporter):
296
+ """HTML report with interactive tree."""
297
+
298
+ name = "html"
299
+ description = "HTML report with interactive dependency tree"
300
+ file_extension = "html"
301
+ writes_to_file = True
302
+
303
+ def generate(self, data: ReportData) -> str:
304
+ """Generate HTML content."""
305
+ ...
306
+ ```
307
+
308
+ Then register it in `woolly/reporters/__init__.py`.
309
+
310
+ ## Notes
311
+
312
+ - Results should be verified manually — some packages may have different names in Fedora
313
+ - Platform-specific dependencies (like `windows-*` crates) are shown as missing but aren't needed on Linux
314
+ - The tool uses `dnf repoquery` to check Fedora packages, so it must run on a Fedora system or have access to Fedora repos
315
+ - Cache is stored in `~/.cache/woolly` and can be cleared with `woolly clear-cache`
316
+
317
+ ## License
318
+
319
+ MIT License — see [LICENSE](LICENSE) for details.
320
+
321
+ ## Credits
322
+
323
+ - **[Rodolfo Olivieri (@r0x0d)](https://github.com/r0x0d)** — Creator and maintainer
324
+ - **[Claude](https://claude.ai)** — AI pair programmer by [Anthropic](https://anthropic.com)
@@ -0,0 +1,26 @@
1
+ woolly/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ woolly/__main__.py,sha256=em9-CiwyaP3N5FKr_Srv6Eh8Vm6TOC3VWSwXR1BjzV8,304
3
+ woolly/cache.py,sha256=tzZE0FrymWQZSpJ5ZFgv2G17CVYq7SzsxpVWsF7ByXI,2405
4
+ woolly/debug.py,sha256=85_0_lsqccT8TAkyWFinOIqkPVPpcmrKuNfIYQOEqZ4,5294
5
+ woolly/http.py,sha256=xPFbHPWEWTN4mjEONyJ9hERmb62mMWun0jRjTAaaNE8,872
6
+ woolly/progress.py,sha256=Ij-K3-6-qeVLFKD_WdSfuclZh6uiso9XSSVRlpbB4jA,2040
7
+ woolly/commands/__init__.py,sha256=3xzeIPYD0dmVWwRXHkdPmsF2IIRU6KyvDwgemKdyghI,840
8
+ woolly/commands/check.py,sha256=6E61LJnVzkMbJDdk90eH9mFD34qemve4h15SButcthU,15975
9
+ woolly/commands/clear_cache.py,sha256=nCS52v_hNvKTwj62CKrQRfjX53fGpZnWpfB0GMmi8e4,1039
10
+ woolly/commands/list_formats.py,sha256=f4UAWjoBbDu8YhobQyccErwpmOqElrCxBg0xcnJVDUQ,695
11
+ woolly/commands/list_languages.py,sha256=VFjvMgXnvaW3O-MBEpzf5nd89yQ9TqLqcULPDCDUthg,857
12
+ woolly/languages/__init__.py,sha256=CwcPDIMvFpCK1tFbx5rew_5mLrrMy6s4HT6C-ZZz_7M,2527
13
+ woolly/languages/base.py,sha256=Sjm9wXWeM36w6eYx_YyHm0jM6TqAUshlCiSPczW1_IA,12365
14
+ woolly/languages/python.py,sha256=aA1fmHO0VWV_sHjZF92G30frv916Veh6cqjIj354UgM,6723
15
+ woolly/languages/rust.py,sha256=DdhflO0PDvpgGy41lst9vUW9vF1Xrf94RJIMAsWSRDc,4508
16
+ woolly/reporters/__init__.py,sha256=-85BHuDAQwyrgWtJqME76FT4jyrvS4cuas7CxaWDODU,3301
17
+ woolly/reporters/base.py,sha256=3j_tHH-epyYg-KGNW_ApsOCp_p_hJwAG_Azx1jUoDjs,6318
18
+ woolly/reporters/json.py,sha256=Zh0OpOIEKlJiUHTr_FZF_Ys-hJN0drLi1mZg5zZL6LM,5915
19
+ woolly/reporters/markdown.py,sha256=_lXzoFDkQXzBgpg7EX0Fl4U_Oj3NUtAMUOw8u6GuPec,4520
20
+ woolly/reporters/stdout.py,sha256=IOE8gk3U85gpDsZXRWCHBxxCYRieR6PqUhVhZplYGcM,2869
21
+ woolly/reporters/template.py,sha256=U48rP9DMwk4p-fk26jldfU_uXllHBT5N1LHTVomFTFI,7702
22
+ woolly-0.4.0.dist-info/METADATA,sha256=nVgVJAKQA1fsWXmfmyYUzDMY3f1zrVGs-3081Lo85a8,10477
23
+ woolly-0.4.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
24
+ woolly-0.4.0.dist-info/entry_points.txt,sha256=tMSCR0PXsaIWiiY5fwQ5eowwNqPSrH0j9QriPDoE75k,48
25
+ woolly-0.4.0.dist-info/licenses/LICENSE,sha256=TnfrdmTYydTTenujKk2LdAuDuLSMwjpXhW7EU2VR0e8,1064
26
+ woolly-0.4.0.dist-info/RECORD,,
@@ -1,213 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: woolly
3
- Version: 0.2.0
4
- Summary: Check if package dependencies are available in Fedora. Supports Rust, Python, and more.
5
- Author-email: Rodolfo Olivieri <rodolfo.olivieri3@gmail.com>
6
- License-File: LICENSE
7
- Classifier: Development Status :: 2 - Pre-Alpha
8
- Classifier: Environment :: Console
9
- Classifier: Intended Audience :: Developers
10
- Classifier: Intended Audience :: Information Technology
11
- Classifier: Intended Audience :: System Administrators
12
- Classifier: License :: OSI Approved :: MIT License
13
- Classifier: Natural Language :: English
14
- Classifier: Operating System :: POSIX :: Linux
15
- Classifier: Programming Language :: Python :: 3
16
- Classifier: Programming Language :: Python :: 3 :: Only
17
- Classifier: Programming Language :: Python :: 3.10
18
- Classifier: Programming Language :: Python :: 3.11
19
- Classifier: Programming Language :: Python :: 3.12
20
- Classifier: Programming Language :: Python :: 3.13
21
- Classifier: Programming Language :: Python :: 3.14
22
- Classifier: Topic :: System :: Systems Administration
23
- Classifier: Topic :: Utilities
24
- Requires-Python: >=3.10
25
- Requires-Dist: cyclopts>=4.3.0
26
- Requires-Dist: httpx>=0.28.0
27
- Requires-Dist: pydantic>=2.10.0
28
- Requires-Dist: rich>=14.2.0
29
- Description-Content-Type: text/markdown
30
-
31
- # Woolly
32
-
33
- Check if package dependencies are available in Fedora. Supports multiple languages including Rust and Python.
34
-
35
- > This tool is merely a starting point for figuring out how much packaging
36
- > effort you will need to bring a package over to Fedora.
37
-
38
- ## What does "woolly" means?
39
-
40
- Nothing. I just liked the name.
41
-
42
- ## Supported Languages
43
-
44
- | Language | Registry | CLI Flag |
45
- |----------|----------|----------|
46
- | Rust | crates.io | `--lang rust` (default) |
47
- | Python | PyPI | `--lang python` |
48
-
49
- More languages can be easily added by implementing the `LanguageProvider` interface.
50
-
51
- ## Installation
52
-
53
- ```bash
54
- # Using uv
55
- uv pip install .
56
-
57
- # Or run directly
58
- uv run woolly --help
59
- ```
60
-
61
- ## Usage
62
-
63
- ```bash
64
- # Check a Rust crate (default)
65
- woolly ripgrep
66
-
67
- # Check a Rust crate explicitly
68
- woolly --lang rust serde
69
-
70
- # Check a Python package
71
- woolly --lang python requests
72
-
73
- # Use language aliases
74
- woolly -l py flask
75
- woolly -l rs tokio
76
-
77
- # List available languages
78
- woolly --list-languages
79
-
80
- # Clear cache
81
- woolly --clear-cache
82
- ```
83
-
84
- ## Example Output
85
-
86
- ### Rust
87
-
88
- ```bash
89
- $ woolly cliclack
90
-
91
- Analyzing Rust package: cliclack
92
- Registry: crates.io
93
- Cache directory: /home/user/.cache/woolly
94
-
95
- Analyzing Rust dependencies ━━━━━━━━━━━━━━━━━ 100% • 0:00:15 complete!
96
-
97
- Dependency Summary for 'cliclack' (Rust)
98
- ╭────────────────────────────┬───────╮
99
- │ Metric │ Value │
100
- ├────────────────────────────┼───────┤
101
- │ Total dependencies checked │ 7 │
102
- │ Packaged in Fedora │ 0 │
103
- │ Missing from Fedora │ 1 │
104
- ╰────────────────────────────┴───────╯
105
-
106
- Missing packages that need packaging:
107
- • cliclack
108
-
109
- Dependency Tree:
110
- cliclack v0.3.6 • ✗ not packaged
111
- ├── console v0.16.1 • ✓ packaged (0.16.1)
112
- │ ├── encode_unicode v1.0.0 • ✓ packaged (1.0.0)
113
- │ └── windows-sys v0.61.2 • ✗ not packaged
114
- ...
115
- ```
116
-
117
- ### Python
118
-
119
- ```bash
120
- $ woolly --lang python requests
121
-
122
- Analyzing Python package: requests
123
- Registry: PyPI
124
- Cache directory: /home/user/.cache/woolly
125
-
126
- Analyzing Python dependencies ━━━━━━━━━━━━━━ 100% • 0:00:05 complete!
127
-
128
- Dependency Summary for 'requests' (Python)
129
- ╭────────────────────────────┬───────╮
130
- │ Metric │ Value │
131
- ├────────────────────────────┼───────┤
132
- │ Total dependencies checked │ 5 │
133
- │ Packaged in Fedora │ 5 │
134
- │ Missing from Fedora │ 0 │
135
- ╰────────────────────────────┴───────╯
136
-
137
- Dependency Tree:
138
- requests v2.32.3 • ✓ packaged (2.32.3) [python3-requests]
139
- ├── charset-normalizer v3.4.0 • ✓ packaged (3.4.0) [python3-charset-normalizer]
140
- ├── idna v3.10 • ✓ packaged (3.10) [python3-idna]
141
- ├── urllib3 v2.2.3 • ✓ packaged (2.2.3) [python3-urllib3]
142
- └── certifi v2024.8.30 • ✓ packaged (2024.8.30) [python3-certifi]
143
- ```
144
-
145
- ## Adding a New Language
146
-
147
- To add support for a new language, create a new provider in `woolly/languages/`:
148
-
149
- ```python
150
- # woolly/languages/go.py
151
- from typing import Optional
152
-
153
- import requests
154
-
155
- from woolly.cache import DEFAULT_CACHE_TTL, read_cache, write_cache
156
- from woolly.languages.base import Dependency, LanguageProvider, PackageInfo
157
-
158
-
159
- class GoProvider(LanguageProvider):
160
- """Provider for Go modules."""
161
-
162
- # Required class attributes
163
- name = "go"
164
- display_name = "Go"
165
- registry_name = "Go Modules"
166
- fedora_provides_prefix = "golang"
167
- cache_namespace = "go"
168
-
169
- # Only these two methods are required to implement:
170
-
171
- def fetch_package_info(self, package_name: str) -> Optional[PackageInfo]:
172
- """Fetch package info from proxy.golang.org."""
173
- # Your implementation here
174
- ...
175
-
176
- def fetch_dependencies(self, package_name: str, version: str) -> list[Dependency]:
177
- """Fetch dependencies from go.mod."""
178
- # Your implementation here
179
- ...
180
-
181
- # Optional: Override these if your language has special naming conventions
182
-
183
- def normalize_package_name(self, package_name: str) -> str:
184
- """Normalize package name for Fedora lookup."""
185
- return package_name
186
-
187
- def get_alternative_names(self, package_name: str) -> list[str]:
188
- """Alternative names to try if package not found."""
189
- return []
190
- ```
191
-
192
- Then register it in `woolly/languages/__init__.py`:
193
-
194
- ```python
195
- from woolly.languages.go import GoProvider
196
-
197
- PROVIDERS: dict[str, type[LanguageProvider]] = {
198
- "rust": RustProvider,
199
- "python": PythonProvider,
200
- "go": GoProvider, # Add new provider
201
- }
202
-
203
- ALIASES: dict[str, str] = {
204
- # ... existing aliases
205
- "golang": "go",
206
- }
207
- ```
208
-
209
- ## Notes
210
-
211
- Keep in mind that you may not need all of the packages to be present in Fedora.
212
- For example, Rust crates may have platform-specific dependencies (like `windows*` crates)
213
- that aren't used on Linux.
@@ -1,24 +0,0 @@
1
- woolly/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- woolly/__main__.py,sha256=em9-CiwyaP3N5FKr_Srv6Eh8Vm6TOC3VWSwXR1BjzV8,304
3
- woolly/cache.py,sha256=n8zYDs4k4WTgbeGKb-1hZ-raleCFyZijK8kwpoY8-ZU,2166
4
- woolly/debug.py,sha256=85_0_lsqccT8TAkyWFinOIqkPVPpcmrKuNfIYQOEqZ4,5294
5
- woolly/progress.py,sha256=Ij-K3-6-qeVLFKD_WdSfuclZh6uiso9XSSVRlpbB4jA,2040
6
- woolly/commands/__init__.py,sha256=3xzeIPYD0dmVWwRXHkdPmsF2IIRU6KyvDwgemKdyghI,840
7
- woolly/commands/check.py,sha256=sPy9ROqRLKEvqh2ALOZn8btg3Q_xyjThV-e1qAt-uu0,10645
8
- woolly/commands/clear_cache.py,sha256=nCS52v_hNvKTwj62CKrQRfjX53fGpZnWpfB0GMmi8e4,1039
9
- woolly/commands/list_formats.py,sha256=RINiD7o1AWdOHEFmqS5zAdU2AiK3rh0Wy9RULceFx0s,702
10
- woolly/commands/list_languages.py,sha256=xigFQfdPv_y-Fm2ewom0k6SSkkQTHUFxg_Ac1we4Xtc,850
11
- woolly/languages/__init__.py,sha256=O_9WBiG50yXWs_-2jScmqzjFVwyhTexq0WN7h_3IIUk,1975
12
- woolly/languages/base.py,sha256=gNqWDiwYlZ0t7Lxa4VNNpgd-zYQ0ZmF_zSJNWscWB5g,12173
13
- woolly/languages/python.py,sha256=UZLf2PgnfdLgO2FIViUNSas89bNmbIDRa7bVsrjNQJc,6765
14
- woolly/languages/rust.py,sha256=cbUrh3ZXTzQwSSuKGbEYIan2HA11wpcA18zsQLa9Y6Q,4609
15
- woolly/reporters/__init__.py,sha256=_8_sEl7OhKwjlUN2B3mFIVVkO816zbbyO0o_PhoAOSw,2444
16
- woolly/reporters/base.py,sha256=TC0T01-zL2kNcHmps_VyKHm0M822TaqoCaGAlGJB4Ug,3719
17
- woolly/reporters/json.py,sha256=sZYQCwFyECYiwI1RyS3_-tCHNWkZZWjzZQiD6dByUQY,5225
18
- woolly/reporters/markdown.py,sha256=LWqttjtCCiwq78kQ2IGfiJ8i1rLXtYIT0utU7RYGjbU,4852
19
- woolly/reporters/stdout.py,sha256=iXEJMhjDbxGHwsh3iA0_YvFxiFKcpyKNrFoqeMLF0BY,1802
20
- woolly-0.2.0.dist-info/METADATA,sha256=4qfu-ke1Ax859OQDtIhdEFOq0AH-YCISNqm1Pdlmdkg,6528
21
- woolly-0.2.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
22
- woolly-0.2.0.dist-info/entry_points.txt,sha256=tMSCR0PXsaIWiiY5fwQ5eowwNqPSrH0j9QriPDoE75k,48
23
- woolly-0.2.0.dist-info/licenses/LICENSE,sha256=TnfrdmTYydTTenujKk2LdAuDuLSMwjpXhW7EU2VR0e8,1064
24
- woolly-0.2.0.dist-info/RECORD,,
File without changes