Open-AutoTools 0.0.3rc3__tar.gz → 0.0.3rc4__tar.gz

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 (49) hide show
  1. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4/Open_AutoTools.egg-info}/PKG-INFO +65 -55
  2. {open_autotools-0.0.3rc3/Open_AutoTools.egg-info → open_autotools-0.0.3rc4}/PKG-INFO +65 -55
  3. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/README.md +64 -54
  4. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/autodownload/core.py +61 -15
  5. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/setup.py +1 -1
  6. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/LICENSE +0 -0
  7. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/Open_AutoTools.egg-info/SOURCES.txt +0 -0
  8. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/Open_AutoTools.egg-info/dependency_links.txt +0 -0
  9. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/Open_AutoTools.egg-info/entry_points.txt +0 -0
  10. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/Open_AutoTools.egg-info/requires.txt +0 -0
  11. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/Open_AutoTools.egg-info/top_level.txt +0 -0
  12. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/__init__.py +0 -0
  13. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/autocaps/__init__.py +0 -0
  14. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/autocaps/commands.py +0 -0
  15. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/autocaps/core.py +0 -0
  16. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/autocaps/tests/__init__.py +0 -0
  17. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/autocaps/tests/test_autocaps_core.py +0 -0
  18. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/autocaps/tests/test_autocaps_integration.py +0 -0
  19. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/autodownload/__init__.py +0 -0
  20. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/autodownload/commands.py +0 -0
  21. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/autoip/__init__.py +0 -0
  22. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/autoip/commands.py +0 -0
  23. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/autoip/core.py +0 -0
  24. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/autoip/tests/__init__.py +0 -0
  25. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/autoip/tests/test_autoip_core.py +0 -0
  26. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/autoip/tests/test_autoip_integration.py +0 -0
  27. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/autolower/__init__.py +0 -0
  28. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/autolower/commands.py +0 -0
  29. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/autolower/core.py +0 -0
  30. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/autolower/tests/__init__.py +0 -0
  31. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/autolower/tests/test_autolower_core.py +0 -0
  32. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/autolower/tests/test_autolower_integration.py +0 -0
  33. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/autopassword/__init__.py +0 -0
  34. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/autopassword/commands.py +0 -0
  35. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/autopassword/core.py +0 -0
  36. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/autospell/__init__.py +0 -0
  37. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/autospell/commands.py +0 -0
  38. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/autospell/core.py +0 -0
  39. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/autotranslate/__init__.py +0 -0
  40. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/autotranslate/commands.py +0 -0
  41. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/autotranslate/core.py +0 -0
  42. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/cli.py +0 -0
  43. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/test/__init__.py +0 -0
  44. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/test/commands.py +0 -0
  45. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/utils/__init__.py +0 -0
  46. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/utils/loading.py +0 -0
  47. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/utils/updates.py +0 -0
  48. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/autotools/utils/version.py +0 -0
  49. {open_autotools-0.0.3rc3 → open_autotools-0.0.3rc4}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: Open-AutoTools
3
- Version: 0.0.3rc3
3
+ Version: 0.0.3rc4
4
4
  Summary: A suite of automated tools accessible via CLI with a simple `autotools` command
5
5
  Home-page: https://github.com/BabylooPro/Open-AutoTools
6
6
  Author: BabylooPro
@@ -76,8 +76,9 @@ Dynamic: summary
76
76
  [CHANGELOG_URL]: CHANGELOG.md
77
77
  [TODO_BADGE]: https://img.shields.io/badge/TODO-purple.svg
78
78
  [TODO_URL]: TODO.md
79
+ [TOTAL_STABILITY]: https://img.shields.io/badge/Total%20Stability-73%25-yellow
79
80
 
80
- [![PyPI][PYPI_BADGE]][PYPI_URL] [![Python][PYTHON_BADGE]][PYTHON_URL] [![CHANGELOG][CHANGELOG_BADGE]][CHANGELOG_URL] [![TODO][TODO_BADGE]][TODO_URL]
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]
81
82
 
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.
83
84
 
@@ -112,7 +113,7 @@ pip install -e .
112
113
 
113
114
  ## Key Features
114
115
 
115
- ### AutoCaps
116
+ ### AutoCaps ![Stability][AUTOCAPS_EFF]
116
117
 
117
118
  - **Description:** Converts any text entered by the user to uppercase.
118
119
  - **Usage:**
@@ -124,7 +125,7 @@ pip install -e .
124
125
  YOUR TEXT HERE.
125
126
  ```
126
127
 
127
- ### AutoLower
128
+ ### AutoLower ![Stability][AUTOLOWER_EFF]
128
129
 
129
130
  - **Description:** Converts any text entered by the user to lowercase.
130
131
  - **Usage:**
@@ -136,7 +137,7 @@ pip install -e .
136
137
  your text here.
137
138
  ```
138
139
 
139
- ### AutoPassword
140
+ ### AutoPassword ![Stability][AUTOPASSWORD_EFF]
140
141
 
141
142
  - **Description:** Generates secure random passwords and encryption keys with customizable options.
142
143
  - **Usage:**
@@ -147,6 +148,7 @@ pip install -e .
147
148
  ~ ❯ autopassword --password-key "your-password" --analyze
148
149
  ```
149
150
  - **Options:**
151
+
150
152
  - `--length, -l`: Set password length (default: 12)
151
153
  - `--no-uppercase, -u`: Exclude uppercase letters
152
154
  - `--no-numbers, -n`: Exclude numbers
@@ -157,54 +159,7 @@ pip install -e .
157
159
  - `--gen-key, -g`: Generate a random encryption key
158
160
  - `--password-key, -p`: Generate an encryption key from password
159
161
 
160
- ### AutoTranslate
161
-
162
- - **Description:** Translates text between languages with automatic source language detection.
163
- - **Usage:**
164
-
165
- ```
166
- ~ ❯ autotranslate "Bonjour le monde" --to en
167
- Hello world
168
-
169
- ~ ❯ autotranslate "Hello world" --to fr --copy
170
- Bonjour le monde
171
- // Result also copied to clipboard
172
-
173
- ~ ❯ autotranslate "こんにちは" --to en --detect
174
- [Detected: ja] Hello
175
-
176
- ~ ❯ autotranslate --list-languages
177
- // Shows all supported languages
178
- ```
179
-
180
- - **Options:**
181
- - `--to`: Target language code (default: en)
182
- - `--from`: Source language code (default: auto-detect)
183
- - `--copy`: Copy translation to clipboard
184
- - `--detect`: Show detected source language
185
- - `--list-languages`: Show all supported language codes and names
186
- - `--output, -o`: Save translation to file
187
-
188
- ### AutoSpell (unreleased)
189
-
190
- - **Description:** Checks and corrects spelling in text with multi-language support.
191
- - **Usage:**
192
- ```
193
- ~ ❯ autospell "Your text with misspellings"
194
- ~ ❯ autospell --lang fr "Votre texte avec des fautes"
195
- ~ ❯ autospell --fix "Text to autocorrect"
196
- ```
197
- - **Options:**
198
- - `--lang, -l`: Language code (default: auto)
199
- - `--fix, -f`: Auto-fix text and copy to clipboard
200
- - `--copy, -c`: Copy result to clipboard
201
- - `--list-languages`: Show supported languages
202
- - `--json, -j`: Output results as JSON
203
- - `--ignore, -i`: Error types to ignore (spelling/grammar/style/punctuation)
204
- - `--interactive, -n`: Interactive mode - confirm each correction
205
- - `--output, -o`: Save corrections to file
206
-
207
- ### AutoDownload
162
+ ### AutoDownload ![Stability][AUTODOWNLOAD_EFF]
208
163
 
209
164
  - **Description:** Downloads videos from YouTube and files from other sources.
210
165
  - **Usage:**
@@ -226,7 +181,7 @@ pip install -e .
226
181
  - **Features:**
227
182
 
228
183
  - Automatic bot detection bypass
229
- - Mobile API integration for better reliability
184
+ - Mobile API integration for better Stability
230
185
  - Progress tracking with detailed status
231
186
  - Multiple quality options
232
187
  - MP3 audio extraction
@@ -245,7 +200,7 @@ pip install -e .
245
200
 
246
201
  > **Note:** The tool uses YouTube's mobile API for better compatibility and reliability.
247
202
 
248
- ### AutoIP
203
+ ### AutoIP ![Stability][AUTOIP_EFF]
249
204
 
250
205
  - **Description:** Displays network information including IP addresses, connectivity tests, speed tests, and more.
251
206
  - **Usage:**
@@ -278,6 +233,53 @@ pip install -e .
278
233
  - DNS server information
279
234
  - IP geolocation
280
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
+
281
283
  ### Test Suite (DEVELOPMENT ONLY)
282
284
 
283
285
  - **Description:** Run the test suite for Open-AutoTools
@@ -296,3 +298,11 @@ pip install -e .
296
298
  ## License
297
299
 
298
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,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: Open-AutoTools
3
- Version: 0.0.3rc3
3
+ Version: 0.0.3rc4
4
4
  Summary: A suite of automated tools accessible via CLI with a simple `autotools` command
5
5
  Home-page: https://github.com/BabylooPro/Open-AutoTools
6
6
  Author: BabylooPro
@@ -76,8 +76,9 @@ Dynamic: summary
76
76
  [CHANGELOG_URL]: CHANGELOG.md
77
77
  [TODO_BADGE]: https://img.shields.io/badge/TODO-purple.svg
78
78
  [TODO_URL]: TODO.md
79
+ [TOTAL_STABILITY]: https://img.shields.io/badge/Total%20Stability-73%25-yellow
79
80
 
80
- [![PyPI][PYPI_BADGE]][PYPI_URL] [![Python][PYTHON_BADGE]][PYTHON_URL] [![CHANGELOG][CHANGELOG_BADGE]][CHANGELOG_URL] [![TODO][TODO_BADGE]][TODO_URL]
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]
81
82
 
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.
83
84
 
@@ -112,7 +113,7 @@ pip install -e .
112
113
 
113
114
  ## Key Features
114
115
 
115
- ### AutoCaps
116
+ ### AutoCaps ![Stability][AUTOCAPS_EFF]
116
117
 
117
118
  - **Description:** Converts any text entered by the user to uppercase.
118
119
  - **Usage:**
@@ -124,7 +125,7 @@ pip install -e .
124
125
  YOUR TEXT HERE.
125
126
  ```
126
127
 
127
- ### AutoLower
128
+ ### AutoLower ![Stability][AUTOLOWER_EFF]
128
129
 
129
130
  - **Description:** Converts any text entered by the user to lowercase.
130
131
  - **Usage:**
@@ -136,7 +137,7 @@ pip install -e .
136
137
  your text here.
137
138
  ```
138
139
 
139
- ### AutoPassword
140
+ ### AutoPassword ![Stability][AUTOPASSWORD_EFF]
140
141
 
141
142
  - **Description:** Generates secure random passwords and encryption keys with customizable options.
142
143
  - **Usage:**
@@ -147,6 +148,7 @@ pip install -e .
147
148
  ~ ❯ autopassword --password-key "your-password" --analyze
148
149
  ```
149
150
  - **Options:**
151
+
150
152
  - `--length, -l`: Set password length (default: 12)
151
153
  - `--no-uppercase, -u`: Exclude uppercase letters
152
154
  - `--no-numbers, -n`: Exclude numbers
@@ -157,54 +159,7 @@ pip install -e .
157
159
  - `--gen-key, -g`: Generate a random encryption key
158
160
  - `--password-key, -p`: Generate an encryption key from password
159
161
 
160
- ### AutoTranslate
161
-
162
- - **Description:** Translates text between languages with automatic source language detection.
163
- - **Usage:**
164
-
165
- ```
166
- ~ ❯ autotranslate "Bonjour le monde" --to en
167
- Hello world
168
-
169
- ~ ❯ autotranslate "Hello world" --to fr --copy
170
- Bonjour le monde
171
- // Result also copied to clipboard
172
-
173
- ~ ❯ autotranslate "こんにちは" --to en --detect
174
- [Detected: ja] Hello
175
-
176
- ~ ❯ autotranslate --list-languages
177
- // Shows all supported languages
178
- ```
179
-
180
- - **Options:**
181
- - `--to`: Target language code (default: en)
182
- - `--from`: Source language code (default: auto-detect)
183
- - `--copy`: Copy translation to clipboard
184
- - `--detect`: Show detected source language
185
- - `--list-languages`: Show all supported language codes and names
186
- - `--output, -o`: Save translation to file
187
-
188
- ### AutoSpell (unreleased)
189
-
190
- - **Description:** Checks and corrects spelling in text with multi-language support.
191
- - **Usage:**
192
- ```
193
- ~ ❯ autospell "Your text with misspellings"
194
- ~ ❯ autospell --lang fr "Votre texte avec des fautes"
195
- ~ ❯ autospell --fix "Text to autocorrect"
196
- ```
197
- - **Options:**
198
- - `--lang, -l`: Language code (default: auto)
199
- - `--fix, -f`: Auto-fix text and copy to clipboard
200
- - `--copy, -c`: Copy result to clipboard
201
- - `--list-languages`: Show supported languages
202
- - `--json, -j`: Output results as JSON
203
- - `--ignore, -i`: Error types to ignore (spelling/grammar/style/punctuation)
204
- - `--interactive, -n`: Interactive mode - confirm each correction
205
- - `--output, -o`: Save corrections to file
206
-
207
- ### AutoDownload
162
+ ### AutoDownload ![Stability][AUTODOWNLOAD_EFF]
208
163
 
209
164
  - **Description:** Downloads videos from YouTube and files from other sources.
210
165
  - **Usage:**
@@ -226,7 +181,7 @@ pip install -e .
226
181
  - **Features:**
227
182
 
228
183
  - Automatic bot detection bypass
229
- - Mobile API integration for better reliability
184
+ - Mobile API integration for better Stability
230
185
  - Progress tracking with detailed status
231
186
  - Multiple quality options
232
187
  - MP3 audio extraction
@@ -245,7 +200,7 @@ pip install -e .
245
200
 
246
201
  > **Note:** The tool uses YouTube's mobile API for better compatibility and reliability.
247
202
 
248
- ### AutoIP
203
+ ### AutoIP ![Stability][AUTOIP_EFF]
249
204
 
250
205
  - **Description:** Displays network information including IP addresses, connectivity tests, speed tests, and more.
251
206
  - **Usage:**
@@ -278,6 +233,53 @@ pip install -e .
278
233
  - DNS server information
279
234
  - IP geolocation
280
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
+
281
283
  ### Test Suite (DEVELOPMENT ONLY)
282
284
 
283
285
  - **Description:** Run the test suite for Open-AutoTools
@@ -296,3 +298,11 @@ pip install -e .
296
298
  ## License
297
299
 
298
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
@@ -8,8 +8,9 @@
8
8
  [CHANGELOG_URL]: CHANGELOG.md
9
9
  [TODO_BADGE]: https://img.shields.io/badge/TODO-purple.svg
10
10
  [TODO_URL]: TODO.md
11
+ [TOTAL_STABILITY]: https://img.shields.io/badge/Total%20Stability-73%25-yellow
11
12
 
12
- [![PyPI][PYPI_BADGE]][PYPI_URL] [![Python][PYTHON_BADGE]][PYTHON_URL] [![CHANGELOG][CHANGELOG_BADGE]][CHANGELOG_URL] [![TODO][TODO_BADGE]][TODO_URL]
13
+ [![PyPI][PYPI_BADGE]][PYPI_URL] [![Python][PYTHON_BADGE]][PYTHON_URL] [![CHANGELOG][CHANGELOG_BADGE]][CHANGELOG_URL] [![TODO][TODO_BADGE]][TODO_URL] ![Total Stability][TOTAL_STABILITY]
13
14
 
14
15
  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.
15
16
 
@@ -44,7 +45,7 @@ pip install -e .
44
45
 
45
46
  ## Key Features
46
47
 
47
- ### AutoCaps
48
+ ### AutoCaps ![Stability][AUTOCAPS_EFF]
48
49
 
49
50
  - **Description:** Converts any text entered by the user to uppercase.
50
51
  - **Usage:**
@@ -56,7 +57,7 @@ pip install -e .
56
57
  YOUR TEXT HERE.
57
58
  ```
58
59
 
59
- ### AutoLower
60
+ ### AutoLower ![Stability][AUTOLOWER_EFF]
60
61
 
61
62
  - **Description:** Converts any text entered by the user to lowercase.
62
63
  - **Usage:**
@@ -68,7 +69,7 @@ pip install -e .
68
69
  your text here.
69
70
  ```
70
71
 
71
- ### AutoPassword
72
+ ### AutoPassword ![Stability][AUTOPASSWORD_EFF]
72
73
 
73
74
  - **Description:** Generates secure random passwords and encryption keys with customizable options.
74
75
  - **Usage:**
@@ -79,6 +80,7 @@ pip install -e .
79
80
  ~ ❯ autopassword --password-key "your-password" --analyze
80
81
  ```
81
82
  - **Options:**
83
+
82
84
  - `--length, -l`: Set password length (default: 12)
83
85
  - `--no-uppercase, -u`: Exclude uppercase letters
84
86
  - `--no-numbers, -n`: Exclude numbers
@@ -89,54 +91,7 @@ pip install -e .
89
91
  - `--gen-key, -g`: Generate a random encryption key
90
92
  - `--password-key, -p`: Generate an encryption key from password
91
93
 
92
- ### AutoTranslate
93
-
94
- - **Description:** Translates text between languages with automatic source language detection.
95
- - **Usage:**
96
-
97
- ```
98
- ~ ❯ autotranslate "Bonjour le monde" --to en
99
- Hello world
100
-
101
- ~ ❯ autotranslate "Hello world" --to fr --copy
102
- Bonjour le monde
103
- // Result also copied to clipboard
104
-
105
- ~ ❯ autotranslate "こんにちは" --to en --detect
106
- [Detected: ja] Hello
107
-
108
- ~ ❯ autotranslate --list-languages
109
- // Shows all supported languages
110
- ```
111
-
112
- - **Options:**
113
- - `--to`: Target language code (default: en)
114
- - `--from`: Source language code (default: auto-detect)
115
- - `--copy`: Copy translation to clipboard
116
- - `--detect`: Show detected source language
117
- - `--list-languages`: Show all supported language codes and names
118
- - `--output, -o`: Save translation to file
119
-
120
- ### AutoSpell (unreleased)
121
-
122
- - **Description:** Checks and corrects spelling in text with multi-language support.
123
- - **Usage:**
124
- ```
125
- ~ ❯ autospell "Your text with misspellings"
126
- ~ ❯ autospell --lang fr "Votre texte avec des fautes"
127
- ~ ❯ autospell --fix "Text to autocorrect"
128
- ```
129
- - **Options:**
130
- - `--lang, -l`: Language code (default: auto)
131
- - `--fix, -f`: Auto-fix text and copy to clipboard
132
- - `--copy, -c`: Copy result to clipboard
133
- - `--list-languages`: Show supported languages
134
- - `--json, -j`: Output results as JSON
135
- - `--ignore, -i`: Error types to ignore (spelling/grammar/style/punctuation)
136
- - `--interactive, -n`: Interactive mode - confirm each correction
137
- - `--output, -o`: Save corrections to file
138
-
139
- ### AutoDownload
94
+ ### AutoDownload ![Stability][AUTODOWNLOAD_EFF]
140
95
 
141
96
  - **Description:** Downloads videos from YouTube and files from other sources.
142
97
  - **Usage:**
@@ -158,7 +113,7 @@ pip install -e .
158
113
  - **Features:**
159
114
 
160
115
  - Automatic bot detection bypass
161
- - Mobile API integration for better reliability
116
+ - Mobile API integration for better Stability
162
117
  - Progress tracking with detailed status
163
118
  - Multiple quality options
164
119
  - MP3 audio extraction
@@ -177,7 +132,7 @@ pip install -e .
177
132
 
178
133
  > **Note:** The tool uses YouTube's mobile API for better compatibility and reliability.
179
134
 
180
- ### AutoIP
135
+ ### AutoIP ![Stability][AUTOIP_EFF]
181
136
 
182
137
  - **Description:** Displays network information including IP addresses, connectivity tests, speed tests, and more.
183
138
  - **Usage:**
@@ -210,6 +165,53 @@ pip install -e .
210
165
  - DNS server information
211
166
  - IP geolocation
212
167
 
168
+ ### AutoTranslate ![Stability][AUTOTRANSLATE_EFF]
169
+
170
+ - **Description:** Translates text between languages with automatic source language detection.
171
+ - **Usage:**
172
+
173
+ ```
174
+ ~ ❯ autotranslate "Bonjour le monde" --to en
175
+ Hello world
176
+
177
+ ~ ❯ autotranslate "Hello world" --to fr --copy
178
+ Bonjour le monde
179
+ // Result also copied to clipboard
180
+
181
+ ~ ❯ autotranslate "こんにちは" --to en --detect
182
+ [Detected: ja] Hello
183
+
184
+ ~ ❯ autotranslate --list-languages
185
+ // Shows all supported languages
186
+ ```
187
+
188
+ - **Options:**
189
+ - `--to`: Target language code (default: en)
190
+ - `--from`: Source language code (default: auto-detect)
191
+ - `--copy`: Copy translation to clipboard
192
+ - `--detect`: Show detected source language
193
+ - `--list-languages`: Show all supported language codes and names
194
+ - `--output, -o`: Save translation to file
195
+
196
+ ### AutoSpell (unreleased) ![Stability][AUTOSPELL_EFF]
197
+
198
+ - **Description:** Checks and corrects spelling in text with multi-language support.
199
+ - **Usage:**
200
+ ```
201
+ ~ ❯ autospell "Your text with misspellings"
202
+ ~ ❯ autospell --lang fr "Votre texte avec des fautes"
203
+ ~ ❯ autospell --fix "Text to autocorrect"
204
+ ```
205
+ - **Options:**
206
+ - `--lang, -l`: Language code (default: auto)
207
+ - `--fix, -f`: Auto-fix text and copy to clipboard
208
+ - `--copy, -c`: Copy result to clipboard
209
+ - `--list-languages`: Show supported languages
210
+ - `--json, -j`: Output results as JSON
211
+ - `--ignore, -i`: Error types to ignore (spelling/grammar/style/punctuation)
212
+ - `--interactive, -n`: Interactive mode - confirm each correction
213
+ - `--output, -o`: Save corrections to file
214
+
213
215
  ### Test Suite (DEVELOPMENT ONLY)
214
216
 
215
217
  - **Description:** Run the test suite for Open-AutoTools
@@ -228,3 +230,11 @@ pip install -e .
228
230
  ## License
229
231
 
230
232
  This project is licensed under the MIT License. For more details, see the [LICENSE](LICENSE) file.
233
+
234
+ [AUTOCAPS_EFF]: https://img.shields.io/badge/Stability-99%25-success
235
+ [AUTOLOWER_EFF]: https://img.shields.io/badge/Stability-99%25-success
236
+ [AUTOPASSWORD_EFF]: https://img.shields.io/badge/Stability-90%25-success
237
+ [AUTOTRANSLATE_EFF]: https://img.shields.io/badge/Stability-25%25-red
238
+ [AUTOSPELL_EFF]: https://img.shields.io/badge/Stability-25%25-red
239
+ [AUTODOWNLOAD_EFF]: https://img.shields.io/badge/Stability-75%25-yellow
240
+ [AUTOIP_EFF]: https://img.shields.io/badge/Stability-95%25-success
@@ -192,7 +192,7 @@ def download_youtube_video(url, format='mp4', quality='best'):
192
192
  'quiet': True,
193
193
  'no_warnings': True,
194
194
  'extractor_args': {'youtube': {
195
- 'player_client': ['android'],
195
+ 'player_client': ['web', 'android'],
196
196
  'formats': ['missing_pot'] # ALLOW FORMATS WITHOUT PO TOKEN
197
197
  }}
198
198
  }) as ydl:
@@ -202,6 +202,39 @@ def download_youtube_video(url, format='mp4', quality='best'):
202
202
  print("\n❌ No formats available for this video")
203
203
  return False
204
204
 
205
+ # FIND BEST AVAILABLE QUALITY
206
+ best_height = 0
207
+ for f in formats:
208
+ height = f.get('height')
209
+ if height is not None and height > best_height:
210
+ best_height = height
211
+
212
+ # IF NO VALID HEIGHT FOUND, DEFAULT TO 1080P
213
+ if best_height == 0:
214
+ best_height = 1080
215
+
216
+ # IF QUALITY IS 'BEST', USE THE BEST AVAILABLE
217
+ if quality == 'best':
218
+ height = best_height
219
+ # ASK FOR CONFIRMATION IF 4K OR HIGHER (ONLY FOR MP4)
220
+ if format == 'mp4' and height >= 2160:
221
+ print(f"\n⚠️ This video is available in {height}p quality!")
222
+ while True:
223
+ response = input(f"Do you want to download in {height}p quality? (yes/no): ").lower()
224
+ if response in ['no', 'n']:
225
+ height = 1080
226
+ print("\nDowngrading to 1080p quality.")
227
+ break
228
+ elif response in ['yes', 'y']:
229
+ break
230
+ print("Please answer 'yes' or 'no'")
231
+ else:
232
+ # EXTRACT HEIGHT FROM QUALITY STRING
233
+ try:
234
+ height = int(quality.lower().replace('p', ''))
235
+ except ValueError:
236
+ height = 1080 # DEFAULT TO 1080P IF INVALID FORMAT
237
+
205
238
  # CHECK IF FILE EXISTS AND GET REPLACEMENT CONSENT
206
239
  force_download = check_existing_video(info, format)
207
240
  if not force_download:
@@ -224,26 +257,40 @@ def download_youtube_video(url, format='mp4', quality='best'):
224
257
  print("\n🔍 Starting download...")
225
258
 
226
259
  print(f"\n🎥 Downloading video from: {url}")
227
- print(f"📋 Format: {format}, Quality: {quality}\n")
260
+ if format == 'mp3':
261
+ print(f"📋 Format: {format}\n")
262
+ else:
263
+ print(f"📋 Format: {format}, Quality: {height}p\n")
228
264
 
229
265
  # YT-DLP PERMISSION OPTIONS FOR DOWNLOADING YOUTUBE VIDEOS
230
266
  ydl_opts = {
231
- 'format': 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best' if format == 'mp4' else 'bestaudio[ext=mp3]/best',
267
+ 'format': f'bestvideo[height={height}][ext=mp4]+bestaudio[ext=m4a]/bestvideo[height<={height}][ext=mp4]+bestaudio[ext=m4a]/best[height<={height}][ext=mp4]/best[ext=mp4]/best' if format == 'mp4' else 'bestaudio/best',
268
+ 'postprocessors': [{
269
+ 'key': 'FFmpegExtractAudio',
270
+ 'preferredcodec': 'mp3',
271
+ 'preferredquality': '192',
272
+ }] if format == 'mp3' else [],
232
273
  'quiet': True,
233
274
  'no_warnings': True,
234
275
  'progress': True,
235
- 'progress_hooks': [lambda d: print(f"⏳ {d['_percent_str']} of {d.get('_total_bytes_str', 'Unknown size')}") if d['status'] == 'downloading' else None],
276
+ 'progress_hooks': [lambda d: update_progress(d)],
236
277
  'extractor_args': {
237
278
  'youtube': {
238
- 'player_client': ['android'],
239
- 'formats': ['missing_pot'] # ALLOW FORMATS WITHOUT PO TOKEN
279
+ 'player_client': ['web', 'android'], # USE WEB CLIENT FIRST
280
+ 'formats': ['missing_pot'], # ALLOW FORMATS WITHOUT PO TOKEN
281
+ 'player_skip': ['configs', 'webpage'] # SKIP UNNECESSARY CONFIGS
240
282
  }
241
283
  },
242
284
  'http_headers': {
243
- 'User-Agent': 'Mozilla/5.0 (Linux; Android 12; SM-S906N Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/80.0.3987.119 Mobile Safari/537.36'
285
+ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
286
+ 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
287
+ 'Accept-Language': 'en-us,en;q=0.5',
288
+ 'Sec-Fetch-Mode': 'navigate'
244
289
  },
245
290
  'outtmpl': str(download_dir / '%(title)s.%(ext)s'), # SET OUTPUT TEMPLATE
246
- 'overwrites': True # FORCE OVERWRITE IF USER CONSENTED
291
+ 'overwrites': True, # FORCE OVERWRITE IF USER CONSENTED
292
+ 'no_check_certificates': True, # SKIP CERTIFICATE VALIDATION
293
+ 'cookiesfrombrowser': ('chrome',), # USE CHROME COOKIES IF AVAILABLE
247
294
  }
248
295
 
249
296
  try:
@@ -281,23 +328,22 @@ pbar = None # GLOBAL VARIABLE TO STORE PROGRESS BAR
281
328
 
282
329
 
283
330
  # FUNCTION TO UPDATE PROGRESS BAR
284
- def tqdm_progress_hook(d):
331
+ def update_progress(d):
285
332
  global pbar
286
-
287
333
  if d['status'] == 'downloading':
288
334
  total = d.get('total_bytes', 0)
289
335
  downloaded = d.get('downloaded_bytes', 0)
290
336
 
291
337
  if pbar is None:
292
- pbar = tqdm(total=total, unit='B', unit_scale=True, desc="YouTube Download", leave=True)
338
+ pbar = tqdm(total=total, unit='B', unit_scale=True, desc=" Downloading", leave=True, ncols=80, bar_format='{desc}: {percentage:3.0f}%|{bar}| {n_fmt}/{total_fmt} [{rate_fmt}]')
293
339
 
294
- pbar.n = downloaded
295
- pbar.refresh()
340
+ if total > 0:
341
+ pbar.n = downloaded
342
+ pbar.total = total
343
+ pbar.refresh()
296
344
 
297
345
  elif d['status'] == 'finished' and pbar:
298
- pbar.n = pbar.total
299
346
  pbar.close()
300
- print("Download completed")
301
347
  pbar = None
302
348
 
303
349
 
@@ -52,7 +52,7 @@ required = [
52
52
  # SETUP CONFIGURATION FOR PACKAGE DISTRIBUTION
53
53
  setup(
54
54
  name='Open-AutoTools',
55
- version='0.0.3-rc.3',
55
+ version='0.0.3-rc.4',
56
56
  packages=find_packages(),
57
57
  include_package_data=True,
58
58
  install_requires=required,