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.
- autotools/autocaps/commands.py +3 -7
- autotools/autocaps/core.py +5 -4
- autotools/autoip/commands.py +8 -12
- autotools/autoip/core.py +151 -200
- autotools/autolower/commands.py +3 -7
- autotools/autolower/core.py +4 -3
- autotools/autopassword/commands.py +27 -33
- autotools/autopassword/core.py +32 -73
- autotools/autotest/__init__.py +2 -0
- autotools/autotest/commands.py +206 -0
- autotools/cli.py +123 -62
- autotools/utils/commands.py +13 -0
- autotools/utils/loading.py +14 -6
- autotools/utils/performance.py +424 -0
- autotools/utils/requirements.py +21 -0
- autotools/utils/text.py +16 -0
- autotools/utils/updates.py +30 -22
- autotools/utils/version.py +69 -63
- open_autotools-0.0.4.dist-info/METADATA +84 -0
- open_autotools-0.0.4.dist-info/RECORD +30 -0
- {Open_AutoTools-0.0.3rc4.dist-info → open_autotools-0.0.4.dist-info}/WHEEL +1 -1
- {Open_AutoTools-0.0.3rc4.dist-info → open_autotools-0.0.4.dist-info}/entry_points.txt +0 -3
- Open_AutoTools-0.0.3rc4.dist-info/METADATA +0 -308
- Open_AutoTools-0.0.3rc4.dist-info/RECORD +0 -44
- autotools/autocaps/tests/__init__.py +0 -1
- autotools/autocaps/tests/test_autocaps_core.py +0 -45
- autotools/autocaps/tests/test_autocaps_integration.py +0 -46
- autotools/autodownload/__init__.py +0 -0
- autotools/autodownload/commands.py +0 -38
- autotools/autodownload/core.py +0 -373
- autotools/autoip/tests/__init__.py +0 -1
- autotools/autoip/tests/test_autoip_core.py +0 -72
- autotools/autoip/tests/test_autoip_integration.py +0 -92
- autotools/autolower/tests/__init__.py +0 -1
- autotools/autolower/tests/test_autolower_core.py +0 -45
- autotools/autolower/tests/test_autolower_integration.py +0 -46
- autotools/autospell/__init__.py +0 -3
- autotools/autospell/commands.py +0 -123
- autotools/autospell/core.py +0 -222
- autotools/autotranslate/__init__.py +0 -3
- autotools/autotranslate/commands.py +0 -42
- autotools/autotranslate/core.py +0 -52
- autotools/test/__init__.py +0 -3
- autotools/test/commands.py +0 -120
- {Open_AutoTools-0.0.3rc4.dist-info → open_autotools-0.0.4.dist-info/licenses}/LICENSE +0 -0
- {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,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)
|