Open-AutoTools 0.0.3rc4__py3-none-any.whl → 0.0.4__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.
Files changed (46) hide show
  1. autotools/autocaps/commands.py +3 -7
  2. autotools/autocaps/core.py +5 -4
  3. autotools/autoip/commands.py +8 -12
  4. autotools/autoip/core.py +151 -200
  5. autotools/autolower/commands.py +3 -7
  6. autotools/autolower/core.py +4 -3
  7. autotools/autopassword/commands.py +27 -33
  8. autotools/autopassword/core.py +32 -73
  9. autotools/autotest/__init__.py +2 -0
  10. autotools/autotest/commands.py +206 -0
  11. autotools/cli.py +123 -62
  12. autotools/utils/commands.py +13 -0
  13. autotools/utils/loading.py +14 -6
  14. autotools/utils/performance.py +424 -0
  15. autotools/utils/requirements.py +21 -0
  16. autotools/utils/text.py +16 -0
  17. autotools/utils/updates.py +30 -22
  18. autotools/utils/version.py +69 -63
  19. open_autotools-0.0.4.dist-info/METADATA +84 -0
  20. open_autotools-0.0.4.dist-info/RECORD +30 -0
  21. {Open_AutoTools-0.0.3rc4.dist-info → open_autotools-0.0.4.dist-info}/WHEEL +1 -1
  22. {Open_AutoTools-0.0.3rc4.dist-info → open_autotools-0.0.4.dist-info}/entry_points.txt +0 -3
  23. Open_AutoTools-0.0.3rc4.dist-info/METADATA +0 -308
  24. Open_AutoTools-0.0.3rc4.dist-info/RECORD +0 -44
  25. autotools/autocaps/tests/__init__.py +0 -1
  26. autotools/autocaps/tests/test_autocaps_core.py +0 -45
  27. autotools/autocaps/tests/test_autocaps_integration.py +0 -46
  28. autotools/autodownload/__init__.py +0 -0
  29. autotools/autodownload/commands.py +0 -38
  30. autotools/autodownload/core.py +0 -373
  31. autotools/autoip/tests/__init__.py +0 -1
  32. autotools/autoip/tests/test_autoip_core.py +0 -72
  33. autotools/autoip/tests/test_autoip_integration.py +0 -92
  34. autotools/autolower/tests/__init__.py +0 -1
  35. autotools/autolower/tests/test_autolower_core.py +0 -45
  36. autotools/autolower/tests/test_autolower_integration.py +0 -46
  37. autotools/autospell/__init__.py +0 -3
  38. autotools/autospell/commands.py +0 -123
  39. autotools/autospell/core.py +0 -222
  40. autotools/autotranslate/__init__.py +0 -3
  41. autotools/autotranslate/commands.py +0 -42
  42. autotools/autotranslate/core.py +0 -52
  43. autotools/test/__init__.py +0 -3
  44. autotools/test/commands.py +0 -120
  45. {Open_AutoTools-0.0.3rc4.dist-info → open_autotools-0.0.4.dist-info/licenses}/LICENSE +0 -0
  46. {Open_AutoTools-0.0.3rc4.dist-info → open_autotools-0.0.4.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,84 @@
1
+ Metadata-Version: 2.4
2
+ Name: Open-AutoTools
3
+ Version: 0.0.4
4
+ Summary: A suite of automated tools accessible via CLI with a simple `autotools` command
5
+ Home-page: https://github.com/BabylooPro/Open-AutoTools
6
+ Author: BabylooPro
7
+ Author-email: maxremy.dev@gmail.com
8
+ License: MIT
9
+ Project-URL: Bug Tracker, https://github.com/BabylooPro/Open-AutoTools/issues
10
+ Classifier: Programming Language :: Python :: 3.10
11
+ Classifier: Programming Language :: Python :: 3.11
12
+ Classifier: Programming Language :: Python :: 3.12
13
+ Classifier: Operating System :: OS Independent
14
+ Requires-Python: >=3.10
15
+ Description-Content-Type: text/markdown
16
+ License-File: LICENSE
17
+ Requires-Dist: click>=8.1.3
18
+ Requires-Dist: requests>=2.31.0
19
+ Requires-Dist: python-dotenv>=1.0.0
20
+ Requires-Dist: packaging>=23.0
21
+ Requires-Dist: halo>=0.0.31
22
+ Requires-Dist: pyperclip>=1.8.2
23
+ Requires-Dist: netifaces>=0.11.0
24
+ Requires-Dist: speedtest-cli>=2.1.3
25
+ Requires-Dist: psutil>=5.9.0
26
+ Requires-Dist: cryptography>=42.0.2
27
+ Provides-Extra: dev
28
+ Dynamic: author
29
+ Dynamic: author-email
30
+ Dynamic: classifier
31
+ Dynamic: description
32
+ Dynamic: description-content-type
33
+ Dynamic: home-page
34
+ Dynamic: license
35
+ Dynamic: license-file
36
+ Dynamic: project-url
37
+ Dynamic: provides-extra
38
+ Dynamic: requires-dist
39
+ Dynamic: requires-python
40
+ Dynamic: summary
41
+
42
+ # Open-AutoTools
43
+
44
+ [PYPI_BADGE]: https://badge.fury.io/py/Open-AutoTools.svg
45
+ [PYPI_URL]: https://pypi.org/project/Open-AutoTools/
46
+ [PYTHON_BADGE]: https://img.shields.io/badge/Python-3.11-blue.svg
47
+ [PYTHON_URL]: https://www.python.org/downloads/
48
+ [CHANGELOG_BADGE]: https://img.shields.io/badge/CHANGELOG-red.svg
49
+ [CHANGELOG_URL]: CHANGELOG.md
50
+ [TODO_BADGE]: https://img.shields.io/badge/TODO-purple.svg
51
+ [TODO_URL]: TODO.md
52
+
53
+ [![PyPI][PYPI_BADGE]][PYPI_URL] [![Python][PYTHON_BADGE]][PYTHON_URL] [![CHANGELOG][CHANGELOG_BADGE]][CHANGELOG_URL] [![TODO][TODO_BADGE]][TODO_URL]
54
+
55
+ Python CLI toolkit for everyday developer tasks. Boost productivity directly from your terminal.
56
+
57
+ https://github.com/BabylooPro/Open-AutoTools/assets/35376790/d57f2b9d-55f8-4368-bb40-c0010eb9d49a
58
+
59
+ ## Quick Install
60
+
61
+ ```bash
62
+ pip install open-autotools
63
+ ```
64
+
65
+ See [Installation Guide](docs/installation.md) for more details.
66
+
67
+ ## Tools
68
+
69
+ - **[AutoCaps](docs/tools/autocaps.md)** - Convert text to uppercase
70
+ - **[AutoLower](docs/tools/autolower.md)** - Convert text to lowercase
71
+ - **[AutoPassword](docs/tools/autopassword.md)** - Generate secure passwords and encryption keys
72
+ - **[AutoIP](docs/tools/autoip.md)** - Display network information and diagnostics
73
+ - **[Test Suite](docs/tools/autotest.md)** - Run the test suite (development only)
74
+
75
+ ## Documentation
76
+
77
+ - [Installation](docs/installation.md)
78
+ - [Development](docs/development.md)
79
+ - [Performance](docs/performance.md)
80
+ - [Docker Support](docs/docker.md)
81
+
82
+ ## License
83
+
84
+ MIT - see [LICENSE](LICENSE).
@@ -0,0 +1,30 @@
1
+ autotools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ autotools/cli.py,sha256=CeUrfizRtA-G-HbDGP-HHtyUmKmr2Fj4TR-XM1ZdxeM,6122
3
+ autotools/autocaps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
+ autotools/autocaps/commands.py,sha256=dSsLCmAYtDyk3EudtGw_iLOUbJGMAVDA_kw88sk5v4Y,434
5
+ autotools/autocaps/core.py,sha256=v0VGndr_6LAN7j5eQiUe1dGnP8GMRNsZmOoL-Z5hJbM,259
6
+ autotools/autoip/__init__.py,sha256=T_5hz9G4reFPXDucdzRoMFPYlAKwTPt9TejOpkRPgn0,23
7
+ autotools/autoip/commands.py,sha256=5jIgko1bu7qYoDP_eDkBvNe0mAvT2SKni1WX_8wIOWI,1240
8
+ autotools/autoip/core.py,sha256=Nv67E2ZNpzx0Sy8_v8H5FxSJ4lXTpcYu8cnEjDWS_KE,9197
9
+ autotools/autolower/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
+ autotools/autolower/commands.py,sha256=9bW56LqjMbX2k_ZLHMw1JiM-FuhmLo81558N-WSsN2w,437
11
+ autotools/autolower/core.py,sha256=PLxP9eKoC_NY-ZGPgTxRLxNufv0VGrmOJjjSC_n1zog,259
12
+ autotools/autopassword/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
13
+ autotools/autopassword/commands.py,sha256=c2ciHxoG7hEUhlRV5z-7A8GooBx8njtVcQvIPa74U58,3050
14
+ autotools/autopassword/core.py,sha256=xSD4--oqEgnWQD4mlymUfL_qbH_7J8caqfenGCYBXcA,2481
15
+ autotools/autotest/__init__.py,sha256=G4bK86_araxN2j10W8wEX-ol9zXKNhXq8FtPcOj4_p4,55
16
+ autotools/autotest/commands.py,sha256=JENOzikauyjsqC5K_Dbsa1XwZhGPXm8cXnoAUomR36I,7693
17
+ autotools/utils/__init__.py,sha256=2uAirI6ZbOwSFPSg5wuEjA0gMWf1XBJ4yP_WcGeND7M,183
18
+ autotools/utils/commands.py,sha256=VEkmaHM7taRfKaU_DJngt9F6aD1zyGJW7t42ojQFpLQ,308
19
+ autotools/utils/loading.py,sha256=yvXQI6FdIJBjRb40R2LTIgDxxNyiv_23p5ixYkQcGtg,752
20
+ autotools/utils/performance.py,sha256=wa9dL9NM8XzLz5yEkQvV9jjKXj8qAVWf6QrIzMyFqA0,17945
21
+ autotools/utils/requirements.py,sha256=hngCUozh_r9lGXk0CmL7H9JOpvk1whEZp9uaa-oXCrI,822
22
+ autotools/utils/text.py,sha256=Ay_mD8cz1M5Z5prYGkVdkr1zBHrVfObpLRzH8wSFa7M,572
23
+ autotools/utils/updates.py,sha256=FrwGGMI9rv-bUrsIpttRnBNXUAOlPpBb85GcYXa_o6A,1447
24
+ autotools/utils/version.py,sha256=ruKZcuLN77yO2x0AwjfyaHlncaHE-8GDzzSIBr-agTc,3082
25
+ open_autotools-0.0.4.dist-info/licenses/LICENSE,sha256=SpbSRxNWos2l0-geleCa6d0L9G_bOsZRkY4rB9OduJ0,1069
26
+ open_autotools-0.0.4.dist-info/METADATA,sha256=89GkIuE3Y1ZbPscTbu8Bde171yF3mecRyTrmO_9OiNY,2789
27
+ open_autotools-0.0.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
28
+ open_autotools-0.0.4.dist-info/entry_points.txt,sha256=wmO-wROjqX5-Dr69PWxOD3m5HUueprQp-7jDsU3RMTU,190
29
+ open_autotools-0.0.4.dist-info/top_level.txt,sha256=x5ZRvdQw7DQnVmR0YDqVSAuuS94KTHDmk6uIeW7YOPw,10
30
+ open_autotools-0.0.4.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.0)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,9 +1,6 @@
1
1
  [console_scripts]
2
2
  autocaps = autotools.cli:autocaps
3
- autodownload = autotools.cli:autodownload
4
3
  autoip = autotools.cli:autoip
5
4
  autolower = autotools.cli:autolower
6
5
  autopassword = autotools.cli:autopassword
7
- autospell = autotools.cli:autospell
8
6
  autotools = autotools.cli:cli
9
- autotranslate = autotools.cli:autotranslate
@@ -1,308 +0,0 @@
1
- Metadata-Version: 2.2
2
- Name: Open-AutoTools
3
- Version: 0.0.3rc4
4
- Summary: A suite of automated tools accessible via CLI with a simple `autotools` command
5
- Home-page: https://github.com/BabylooPro/Open-AutoTools
6
- Author: BabylooPro
7
- Author-email: maxremy.dev@gmail.com
8
- Project-URL: Bug Tracker, https://github.com/BabylooPro/Open-AutoTools/issues
9
- Classifier: Programming Language :: Python :: 3
10
- Classifier: License :: OSI Approved :: MIT License
11
- Classifier: Operating System :: OS Independent
12
- Requires-Python: >=3.6
13
- Description-Content-Type: text/markdown
14
- License-File: LICENSE
15
- Requires-Dist: Brotli==1.1.0
16
- Requires-Dist: certifi==2024.2.2
17
- Requires-Dist: charset-normalizer==3.3.2
18
- Requires-Dist: click==8.1.3
19
- Requires-Dist: cryptography==42.0.2
20
- Requires-Dist: idna==3.6
21
- Requires-Dist: importlib-metadata>=7.0.1
22
- Requires-Dist: joblib==1.3.2
23
- Requires-Dist: Levenshtein==0.25.0
24
- Requires-Dist: mutagen==1.47.0
25
- Requires-Dist: packaging>=23.0
26
- Requires-Dist: platformdirs==4.2.0
27
- Requires-Dist: pycryptodomex==3.20.0
28
- Requires-Dist: pyperclip==1.8.2
29
- Requires-Dist: python-Levenshtein==0.25.0
30
- Requires-Dist: python-dotenv>=1.0.0
31
- Requires-Dist: rapidfuzz==3.6.1
32
- Requires-Dist: regex==2023.12.25
33
- Requires-Dist: requests>=2.32.2
34
- Requires-Dist: textblob==0.18.0.post0
35
- Requires-Dist: tomli==2.0.1
36
- Requires-Dist: tqdm==4.66.2
37
- Requires-Dist: urllib3==2.2.1
38
- Requires-Dist: websockets==13.0.1
39
- Requires-Dist: yapf==0.40.2
40
- Requires-Dist: yt-dlp>=2024.3.10
41
- Requires-Dist: zipp==3.17.0
42
- Requires-Dist: translate==3.6.1
43
- Requires-Dist: langdetect==1.0.9
44
- Requires-Dist: deep-translator==1.11.4
45
- Requires-Dist: netifaces>=0.11.0
46
- Requires-Dist: speedtest-cli>=2.1.3
47
- Requires-Dist: psutil>=5.9.0
48
- Requires-Dist: setuptools>=40.8.0
49
- Requires-Dist: language-tool-python>=2.7.1
50
- Requires-Dist: spacy>=3.7.2
51
- Requires-Dist: beautifulsoup4>=4.12.0
52
- Requires-Dist: halo>=0.0.31
53
- Requires-Dist: ffmpeg-python>=0.2.0
54
- Provides-Extra: test
55
- Requires-Dist: pytest>=7.4.0; extra == "test"
56
- Requires-Dist: pytest-cov>=4.1.0; extra == "test"
57
- Dynamic: author
58
- Dynamic: author-email
59
- Dynamic: classifier
60
- Dynamic: description
61
- Dynamic: description-content-type
62
- Dynamic: home-page
63
- Dynamic: project-url
64
- Dynamic: provides-extra
65
- Dynamic: requires-dist
66
- Dynamic: requires-python
67
- Dynamic: summary
68
-
69
- # Open-AutoTools
70
-
71
- [PYPI_BADGE]: https://badge.fury.io/py/Open-AutoTools.svg
72
- [PYPI_URL]: https://pypi.org/project/Open-AutoTools/
73
- [PYTHON_BADGE]: https://img.shields.io/badge/Python-3.11-blue.svg
74
- [PYTHON_URL]: https://www.python.org/downloads/
75
- [CHANGELOG_BADGE]: https://img.shields.io/badge/CHANGELOG-red.svg
76
- [CHANGELOG_URL]: CHANGELOG.md
77
- [TODO_BADGE]: https://img.shields.io/badge/TODO-purple.svg
78
- [TODO_URL]: TODO.md
79
- [TOTAL_STABILITY]: https://img.shields.io/badge/Total%20Stability-73%25-yellow
80
-
81
- [![PyPI][PYPI_BADGE]][PYPI_URL] [![Python][PYTHON_BADGE]][PYTHON_URL] [![CHANGELOG][CHANGELOG_BADGE]][CHANGELOG_URL] [![TODO][TODO_BADGE]][TODO_URL] ![Total Stability][TOTAL_STABILITY]
82
-
83
- Open-AutoTools is a comprehensive Python CLI toolkit that streamlines everyday developer tasks through a collection of powerful command-line utilities. Each tool is designed to enhance productivity directly from your terminal.
84
-
85
- https://github.com/BabylooPro/Open-AutoTools/assets/35376790/d57f2b9d-55f8-4368-bb40-c0010eb9d49a
86
-
87
- ## How to install to use directly
88
-
89
- To install Open-AutoTools, use the following command in your terminal: `pip install open-autotools`
90
-
91
- This command installs all the necessary tools to integrate Open-AutoTools into your workflow.
92
-
93
- You can also find the package on PyPI at: https://pypi.org/project/Open-AutoTools/
94
-
95
- ## How to develop more features
96
-
97
- Open-AutoTools is developed using Python 3.11.
98
-
99
- ```bash
100
- # Create a virtual environment
101
- python -m venv venv
102
-
103
- # Activate virtual environment
104
- source venv/bin/activate # On macOS/Linux
105
- venv\Scripts\activate # On Windows
106
-
107
- # Install project dependencies
108
- pip install -r requirements.txt
109
-
110
- # For development, install in editable mode
111
- pip install -e .
112
- ```
113
-
114
- ## Key Features
115
-
116
- ### AutoCaps ![Stability][AUTOCAPS_EFF]
117
-
118
- - **Description:** Converts any text entered by the user to uppercase.
119
- - **Usage:**
120
- ```
121
- ~ ❯ autocaps "Your text here."
122
- ```
123
- - **Output:**
124
- ```
125
- YOUR TEXT HERE.
126
- ```
127
-
128
- ### AutoLower ![Stability][AUTOLOWER_EFF]
129
-
130
- - **Description:** Converts any text entered by the user to lowercase.
131
- - **Usage:**
132
- ```
133
- ~ ❯ autolower "Your text here."
134
- ```
135
- - **Output:**
136
- ```
137
- your text here.
138
- ```
139
-
140
- ### AutoPassword ![Stability][AUTOPASSWORD_EFF]
141
-
142
- - **Description:** Generates secure random passwords and encryption keys with customizable options.
143
- - **Usage:**
144
- ```
145
- ~ ❯ autopassword --length 16
146
- ~ ❯ autopassword --no-special --length 8
147
- ~ ❯ autopassword --gen-key
148
- ~ ❯ autopassword --password-key "your-password" --analyze
149
- ```
150
- - **Options:**
151
-
152
- - `--length, -l`: Set password length (default: 12)
153
- - `--no-uppercase, -u`: Exclude uppercase letters
154
- - `--no-numbers, -n`: Exclude numbers
155
- - `--no-special, -s`: Exclude special characters
156
- - `--min-special, -m`: Minimum number of special characters (default: 1)
157
- - `--min-numbers, -d`: Minimum number of numbers (default: 1)
158
- - `--analyze, -a`: Show password strength analysis
159
- - `--gen-key, -g`: Generate a random encryption key
160
- - `--password-key, -p`: Generate an encryption key from password
161
-
162
- ### AutoDownload ![Stability][AUTODOWNLOAD_EFF]
163
-
164
- - **Description:** Downloads videos from YouTube and files from other sources.
165
- - **Usage:**
166
-
167
- ```bash
168
- # Download YouTube video in MP4 format
169
- ~ ❯ autodownload https://youtube.com/watch?v=example
170
-
171
- # Download with specific format and quality
172
- ~ ❯ autodownload https://youtube.com/watch?v=example --format mp3
173
- ~ ❯ autodownload https://youtube.com/watch?v=example --quality 1080p
174
- ```
175
-
176
- - **Options:**
177
-
178
- - `--format, -f`: Choose output format (mp4 or mp3)
179
- - `--quality, -q`: Select video quality (best, 1440p, 1080p, 720p, 480p, 360p, 240p)
180
-
181
- - **Features:**
182
-
183
- - Automatic bot detection bypass
184
- - Mobile API integration for better Stability
185
- - Progress tracking with detailed status
186
- - Multiple quality options
187
- - MP3 audio extraction
188
- - Downloads to user's Downloads folder
189
- - Supports both YouTube and general file downloads
190
- - File existence checks with user prompts
191
-
192
- - **Setup Requirements:**
193
-
194
- - No special setup required
195
- - **Technical Requirements:**
196
- - Internet connection
197
- - Sufficient storage space
198
- - yt-dlp library (automatically installed)
199
- - FFmpeg (required for format conversion)
200
-
201
- > **Note:** The tool uses YouTube's mobile API for better compatibility and reliability.
202
-
203
- ### AutoIP ![Stability][AUTOIP_EFF]
204
-
205
- - **Description:** Displays network information including IP addresses, connectivity tests, speed tests, and more.
206
- - **Usage:**
207
-
208
- ```bash
209
- ~ ❯ autoip
210
- ~ ❯ autoip --speed
211
- ~ ❯ autoip --location
212
- ~ ❯ autoip --no-ip --test --speed
213
- ```
214
-
215
- - **Options:**
216
-
217
- - `--test, -t`: Run connectivity tests to popular services
218
- - `--speed, -s`: Run internet speed test
219
- - `--monitor, -m`: Monitor real-time network traffic
220
- - `--interval, -i`: Monitoring interval in seconds
221
- - `--ports, -p`: Check status of common ports
222
- - `--dns, -d`: Show DNS server configuration
223
- - `--location, -l`: Show IP geolocation information
224
- - `--no-ip, -n`: Hide IP addresses display
225
-
226
- - **Features:**
227
- - Local and public IP detection (IPv4 & IPv6)
228
- - Internet speed testing
229
- - Network connectivity checks
230
- - Monitoring interval (10 seconds)
231
- - Real-time traffic monitoring
232
- - Port scanning
233
- - DNS server information
234
- - IP geolocation
235
-
236
- ### AutoTranslate ![Stability][AUTOTRANSLATE_EFF]
237
-
238
- - **Description:** Translates text between languages with automatic source language detection.
239
- - **Usage:**
240
-
241
- ```
242
- ~ ❯ autotranslate "Bonjour le monde" --to en
243
- Hello world
244
-
245
- ~ ❯ autotranslate "Hello world" --to fr --copy
246
- Bonjour le monde
247
- // Result also copied to clipboard
248
-
249
- ~ ❯ autotranslate "こんにちは" --to en --detect
250
- [Detected: ja] Hello
251
-
252
- ~ ❯ autotranslate --list-languages
253
- // Shows all supported languages
254
- ```
255
-
256
- - **Options:**
257
- - `--to`: Target language code (default: en)
258
- - `--from`: Source language code (default: auto-detect)
259
- - `--copy`: Copy translation to clipboard
260
- - `--detect`: Show detected source language
261
- - `--list-languages`: Show all supported language codes and names
262
- - `--output, -o`: Save translation to file
263
-
264
- ### AutoSpell (unreleased) ![Stability][AUTOSPELL_EFF]
265
-
266
- - **Description:** Checks and corrects spelling in text with multi-language support.
267
- - **Usage:**
268
- ```
269
- ~ ❯ autospell "Your text with misspellings"
270
- ~ ❯ autospell --lang fr "Votre texte avec des fautes"
271
- ~ ❯ autospell --fix "Text to autocorrect"
272
- ```
273
- - **Options:**
274
- - `--lang, -l`: Language code (default: auto)
275
- - `--fix, -f`: Auto-fix text and copy to clipboard
276
- - `--copy, -c`: Copy result to clipboard
277
- - `--list-languages`: Show supported languages
278
- - `--json, -j`: Output results as JSON
279
- - `--ignore, -i`: Error types to ignore (spelling/grammar/style/punctuation)
280
- - `--interactive, -n`: Interactive mode - confirm each correction
281
- - `--output, -o`: Save corrections to file
282
-
283
- ### Test Suite (DEVELOPMENT ONLY)
284
-
285
- - **Description:** Run the test suite for Open-AutoTools
286
- - **Usage:**
287
- ```bash
288
- ~ ❯ autotools test
289
- ```
290
- - **Options:**
291
-
292
- - `--unit, -u`: Run only unit tests
293
- - `--integration, -i`: Run only integration tests
294
- - `--no-cov`: Disable coverage report
295
- - `--html`: Generate HTML coverage report
296
- - `--module, -m`: Test specific module (e.g., autocaps, autolower)
297
-
298
- ## License
299
-
300
- This project is licensed under the MIT License. For more details, see the [LICENSE](LICENSE) file.
301
-
302
- [AUTOCAPS_EFF]: https://img.shields.io/badge/Stability-99%25-success
303
- [AUTOLOWER_EFF]: https://img.shields.io/badge/Stability-99%25-success
304
- [AUTOPASSWORD_EFF]: https://img.shields.io/badge/Stability-90%25-success
305
- [AUTOTRANSLATE_EFF]: https://img.shields.io/badge/Stability-25%25-red
306
- [AUTOSPELL_EFF]: https://img.shields.io/badge/Stability-25%25-red
307
- [AUTODOWNLOAD_EFF]: https://img.shields.io/badge/Stability-75%25-yellow
308
- [AUTOIP_EFF]: https://img.shields.io/badge/Stability-95%25-success
@@ -1,44 +0,0 @@
1
- autotools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- autotools/cli.py,sha256=WBFH0NZwUW3QpoB_dOW-Ukpul_klc8PJSptfALewU04,3538
3
- autotools/autocaps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
- autotools/autocaps/commands.py,sha256=YIoSRTjfwpupbUl5r4P6LH6PXrTBcehf9gZwOOKxv9I,477
5
- autotools/autocaps/core.py,sha256=NnOacVp0kMoq__KHWi5UMcApSuq6Iyo5bFxN40dRw7U,253
6
- autotools/autocaps/tests/__init__.py,sha256=CckydfM7SZdXtW3pLgAeRdrC60sovNx_v59nyFvslFo,23
7
- autotools/autocaps/tests/test_autocaps_core.py,sha256=fzpci_sK7L1fSf_IJ1paJ__bmnHwC9OUOD7ftd3w07c,1672
8
- autotools/autocaps/tests/test_autocaps_integration.py,sha256=Qe2hzVEvzf0-INp14oTTrHi0RiRDCE2fxo9abVNcd_E,1435
9
- autotools/autodownload/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
- autotools/autodownload/commands.py,sha256=WBG4o5716zQ63t23k-qJLNv41L58RnL2XTvNl_TsK-w,1442
11
- autotools/autodownload/core.py,sha256=hM7RzNhUlhWFjVhMI3e3PSnpzQN21wYUZmgM9mmLsyg,14429
12
- autotools/autoip/__init__.py,sha256=T_5hz9G4reFPXDucdzRoMFPYlAKwTPt9TejOpkRPgn0,23
13
- autotools/autoip/commands.py,sha256=c4s22yb7aharRAwOmD37Kgbj6rm05XNBtCVyxU7rc7M,1425
14
- autotools/autoip/core.py,sha256=Q3dzLstZQruwYkSbCSlKQNmKVGCyNpo1DGst5VFtHLU,10123
15
- autotools/autoip/tests/__init__.py,sha256=CckydfM7SZdXtW3pLgAeRdrC60sovNx_v59nyFvslFo,23
16
- autotools/autoip/tests/test_autoip_core.py,sha256=Q8865qqhopcGBzS4mIlDlEzxu-mTIbZxpgJyzIyuQXc,2153
17
- autotools/autoip/tests/test_autoip_integration.py,sha256=-vS2gnY8ZfT-tfY2FRbUtTzY0lcIBtVZHbPbWsKyueo,2746
18
- autotools/autolower/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
- autotools/autolower/commands.py,sha256=Od_5hWGjFr8CLApmtMnoM5QhNRe1ttWy2qLi7S9hTts,480
20
- autotools/autolower/core.py,sha256=vjM2ognA3tDCbv10a9vta9WPuAiqTPjOXZ1JHL_b-nk,260
21
- autotools/autolower/tests/__init__.py,sha256=CckydfM7SZdXtW3pLgAeRdrC60sovNx_v59nyFvslFo,23
22
- autotools/autolower/tests/test_autolower_core.py,sha256=ChkS3qZgXz75iLfC9EXVH_kMd-sjaxpRKFjaxKoBnxo,1694
23
- autotools/autolower/tests/test_autolower_integration.py,sha256=M2yN1Ym7kGulys62-IwKq-uWn7CFvI3sCnoo-e3CTaA,1446
24
- autotools/autopassword/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
25
- autotools/autopassword/commands.py,sha256=lyNM833UXCcafqnBa0ojxpdgPPEUadO-t2HrAP4UIaM,3137
26
- autotools/autopassword/core.py,sha256=3aeXJaF7yYvHAH0VkVxGxaKawxgZDlSoI5lUcDCu264,3193
27
- autotools/autospell/__init__.py,sha256=jkpkiE7pksBgllXKfkNpYYvqtlm8vN0h4kXnQOqcb_U,60
28
- autotools/autospell/commands.py,sha256=SG_kP9xAOj7H2jnXXq7auwRALt5ml6r0oz8dKnE5z04,5956
29
- autotools/autospell/core.py,sha256=WPvi9Xs6uF3dte_g2I9oHfTjCV1-NasrJElLP9bbC8U,8103
30
- autotools/autotranslate/__init__.py,sha256=6BxuZqhyQhfsZ5x7DkB1BAEpC08GT_5l5bl0AY_eLpU,64
31
- autotools/autotranslate/commands.py,sha256=6M1D27mrk41uWTLgwGeO-HTUtq0iiHFrptIb1BM7A-s,1794
32
- autotools/autotranslate/core.py,sha256=H2f90IWr_jNGiJD3XAv-20i5sRGM-VDYWrYt65EDEkI,1836
33
- autotools/test/__init__.py,sha256=_xWAfk2kKSboEOW9fVUlmNfVHAx-qGYWFb8dxCz8g1w,48
34
- autotools/test/commands.py,sha256=ZDSl-BCCeH1CsGjpQr_b6x3cMEGK8dSgNdPDqXgSxpw,4846
35
- autotools/utils/__init__.py,sha256=2uAirI6ZbOwSFPSg5wuEjA0gMWf1XBJ4yP_WcGeND7M,183
36
- autotools/utils/loading.py,sha256=cRh8rvNLT4B2aVgWq7flg8bNpnp1XlNBV3_cvxjfm8E,439
37
- autotools/utils/updates.py,sha256=ZGS8pAVxvy5ORuey_zrBWdA0_hKNmEcwzJ-6c22x4Yo,1140
38
- autotools/utils/version.py,sha256=sHwkZ8MNTKQdTntV1B-8QInbMnMtR7Xr3DAY5-wf5-0,3027
39
- Open_AutoTools-0.0.3rc4.dist-info/LICENSE,sha256=SpbSRxNWos2l0-geleCa6d0L9G_bOsZRkY4rB9OduJ0,1069
40
- Open_AutoTools-0.0.3rc4.dist-info/METADATA,sha256=QspEAu8ipTWu606dWGmKdy1FYRxBTOp5nNH7JRZEemA,10086
41
- Open_AutoTools-0.0.3rc4.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
42
- Open_AutoTools-0.0.3rc4.dist-info/entry_points.txt,sha256=QLIsUk6vHo0wAYDk1K74kIuYunJMwWe2xbwQhJXLoKo,312
43
- Open_AutoTools-0.0.3rc4.dist-info/top_level.txt,sha256=x5ZRvdQw7DQnVmR0YDqVSAuuS94KTHDmk6uIeW7YOPw,10
44
- Open_AutoTools-0.0.3rc4.dist-info/RECORD,,
@@ -1 +0,0 @@
1
- # INIT FILE FOR TESTS
@@ -1,45 +0,0 @@
1
- import pytest
2
- from autotools.autocaps.core import autocaps_transform
3
-
4
- # UNIT TESTS
5
-
6
- # TEST FOR BASIC STRING TRANSFORMATION
7
- def test_autocaps_transform_basic():
8
- """TEST BASIC STRING TRANSFORMATION"""
9
- assert autocaps_transform("hello") == "HELLO"
10
- assert autocaps_transform("Hello World") == "HELLO WORLD"
11
- assert autocaps_transform("123") == "123"
12
-
13
- # TEST FOR EMPTY STRING
14
- def test_autocaps_transform_empty():
15
- """TEST EMPTY STRING"""
16
- assert autocaps_transform("") == ""
17
-
18
- # TEST FOR SPECIAL CHARACTERS
19
- def test_autocaps_transform_special_chars():
20
- """TEST STRING WITH SPECIAL CHARACTERS"""
21
- assert autocaps_transform("hello@world.com") == "HELLO@WORLD.COM"
22
- assert autocaps_transform("hello-world!") == "HELLO-WORLD!"
23
-
24
- # TEST FOR MIXED CASE STRING
25
- def test_autocaps_transform_mixed_case():
26
- """TEST MIXED CASE STRING"""
27
- assert autocaps_transform("HeLLo WoRLD") == "HELLO WORLD"
28
-
29
- # TEST FOR WHITESPACE
30
- def test_autocaps_transform_whitespace():
31
- """TEST STRING WITH WHITESPACE"""
32
- assert autocaps_transform(" hello world ") == " HELLO WORLD "
33
- assert autocaps_transform("\thello\nworld") == "\tHELLO\nWORLD"
34
-
35
- # TEST FOR NUMBERS
36
- def test_autocaps_transform_numbers():
37
- """TEST STRING WITH NUMBERS"""
38
- assert autocaps_transform("hello123world") == "HELLO123WORLD"
39
- assert autocaps_transform("123hello456world789") == "123HELLO456WORLD789"
40
-
41
- # TEST FOR UNICODE CHARACTERS
42
- def test_autocaps_transform_unicode():
43
- """TEST UNICODE CHARACTERS"""
44
- assert autocaps_transform("héllo wörld") == "HÉLLO WÖRLD"
45
- assert autocaps_transform("こんにちは") == "こんにちは" # JAPANESE SHOULD REMAIN UNCHANGED
@@ -1,46 +0,0 @@
1
- import pytest
2
- from click.testing import CliRunner
3
- from autotools.cli import autocaps
4
-
5
- # INTEGRATION TESTS
6
-
7
- # TEST FOR BASIC CLI FUNCTIONALITY
8
- def test_autocaps_cli_basic():
9
- """TEST BASIC CLI FUNCTIONALITY"""
10
- runner = CliRunner()
11
- result = runner.invoke(autocaps, ["hello world"])
12
- assert result.exit_code == 0
13
- assert "HELLO WORLD" in result.output
14
-
15
- # TEST FOR EMPTY INPUT
16
- def test_autocaps_cli_empty():
17
- """TEST CLI WITH EMPTY INPUT"""
18
- runner = CliRunner()
19
- result = runner.invoke(autocaps, [""])
20
- assert result.exit_code == 0
21
- assert "" in result.output
22
-
23
- # TEST FOR SPECIAL CHARACTERS
24
- def test_autocaps_cli_special_chars():
25
- """TEST CLI WITH SPECIAL CHARACTERS"""
26
- runner = CliRunner()
27
- result = runner.invoke(autocaps, ["hello@world.com"])
28
- assert result.exit_code == 0
29
- assert "HELLO@WORLD.COM" in result.output
30
-
31
- # TEST FOR UNICODE CHARACTERS
32
- def test_autocaps_cli_unicode():
33
- """TEST CLI WITH UNICODE CHARACTERS"""
34
- runner = CliRunner()
35
- result = runner.invoke(autocaps, ["héllo wörld"])
36
- assert result.exit_code == 0
37
- assert "HÉLLO WÖRLD" in result.output
38
-
39
- # TEST FOR MULTIPLE ARGUMENTS
40
- def test_autocaps_cli_multiple_args():
41
- """TEST CLI WITH MULTIPLE ARGUMENTS"""
42
- runner = CliRunner()
43
- result = runner.invoke(autocaps, ["hello", "world"])
44
- assert result.exit_code == 0
45
- # SHOULD ONLY PROCESS FIRST ARGUMENT
46
- assert "HELLO" in result.output
File without changes
@@ -1,38 +0,0 @@
1
- import click
2
- import sys
3
- from .core import download_youtube_video, download_file, validate_youtube_url
4
- from ..utils.loading import LoadingAnimation
5
- from ..utils.updates import check_for_updates
6
-
7
- @click.command()
8
- @click.argument('url')
9
- @click.option('--format', '-f', type=click.Choice(['mp4', 'mp3'], case_sensitive=False),
10
- default='mp4', help='Output file format (mp4 for video, mp3 for audio)')
11
- @click.option('--quality', '-q', type=click.Choice(['best', '2160p', '1440p', '1080p', '720p', '480p', '360p', '240p'],
12
- case_sensitive=False), default='best', help='Video quality (mp4 only)')
13
- def autodownload(url, format, quality):
14
- """Download videos from YouTube or files from any URL.
15
-
16
- Supports YouTube video download with quality selection and format conversion (mp4/mp3).
17
-
18
- For non-YouTube URLs, downloads the file directly."""
19
-
20
- loading = LoadingAnimation()
21
-
22
- if "youtube.com" in url or "youtu.be" in url:
23
- with loading:
24
- if not validate_youtube_url(url):
25
- click.echo("Invalid YouTube URL", err=True)
26
- sys.exit(1)
27
-
28
- if not download_youtube_video(url, format, quality):
29
- sys.exit(1)
30
- else:
31
- with loading:
32
- if not download_file(url):
33
- sys.exit(1)
34
-
35
- # UPDATE CHECK AT THE END
36
- update_msg = check_for_updates()
37
- if update_msg:
38
- click.echo(update_msg)