user-scanner 1.0.0.3__tar.gz → 1.0.0.5__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.
- user_scanner-1.0.0.5/PKG-INFO +90 -0
- user_scanner-1.0.0.5/README.md +76 -0
- {user_scanner-1.0.0.3 → user_scanner-1.0.0.5}/pyproject.toml +1 -1
- user_scanner-1.0.0.5/user_scanner/community/coderlegion.py +39 -0
- {user_scanner-1.0.0.3 → user_scanner-1.0.0.5}/user_scanner/creator/kaggle.py +0 -4
- {user_scanner-1.0.0.3 → user_scanner-1.0.0.5}/user_scanner/social/instagram.py +0 -6
- {user_scanner-1.0.0.3 → user_scanner-1.0.0.5}/user_scanner/social/pinterest.py +0 -6
- {user_scanner-1.0.0.3 → user_scanner-1.0.0.5}/user_scanner/social/reddit.py +0 -6
- {user_scanner-1.0.0.3 → user_scanner-1.0.0.5}/user_scanner/social/snapchat.py +0 -6
- {user_scanner-1.0.0.3 → user_scanner-1.0.0.5}/user_scanner/social/threads.py +0 -6
- {user_scanner-1.0.0.3 → user_scanner-1.0.0.5}/user_scanner/social/x.py +0 -6
- {user_scanner-1.0.0.3 → user_scanner-1.0.0.5}/user_scanner/social/youtube.py +0 -6
- user_scanner-1.0.0.3/PKG-INFO +0 -14
- user_scanner-1.0.0.3/README.md +0 -1
- {user_scanner-1.0.0.3 → user_scanner-1.0.0.5}/LICENSE +0 -0
- {user_scanner-1.0.0.3 → user_scanner-1.0.0.5}/user_scanner/__init__.py +0 -0
- {user_scanner-1.0.0.3 → user_scanner-1.0.0.5}/user_scanner/__main__.py +0 -0
- {user_scanner-1.0.0.3 → user_scanner-1.0.0.5}/user_scanner/community/__init__.py +0 -0
- {user_scanner-1.0.0.3 → user_scanner-1.0.0.5}/user_scanner/core/__init__.py +0 -0
- {user_scanner-1.0.0.3 → user_scanner-1.0.0.5}/user_scanner/core/orchestrator.py +0 -0
- {user_scanner-1.0.0.3 → user_scanner-1.0.0.5}/user_scanner/creator/__init__.py +0 -0
- {user_scanner-1.0.0.3 → user_scanner-1.0.0.5}/user_scanner/creator/devto.py +0 -0
- {user_scanner-1.0.0.3 → user_scanner-1.0.0.5}/user_scanner/creator/hashnode.py +0 -0
- {user_scanner-1.0.0.3 → user_scanner-1.0.0.5}/user_scanner/creator/medium.py +0 -0
- {user_scanner-1.0.0.3 → user_scanner-1.0.0.5}/user_scanner/dev/__init__.py +0 -0
- {user_scanner-1.0.0.3 → user_scanner-1.0.0.5}/user_scanner/dev/codeberg.py +0 -0
- {user_scanner-1.0.0.3 → user_scanner-1.0.0.5}/user_scanner/dev/cratesio.py +0 -0
- {user_scanner-1.0.0.3 → user_scanner-1.0.0.5}/user_scanner/dev/dockerhub.py +0 -0
- {user_scanner-1.0.0.3 → user_scanner-1.0.0.5}/user_scanner/dev/github.py +0 -0
- {user_scanner-1.0.0.3 → user_scanner-1.0.0.5}/user_scanner/dev/gitlab.py +0 -0
- {user_scanner-1.0.0.3 → user_scanner-1.0.0.5}/user_scanner/dev/launchpad.py +0 -0
- {user_scanner-1.0.0.3 → user_scanner-1.0.0.5}/user_scanner/dev/npmjs.py +0 -0
- {user_scanner-1.0.0.3 → user_scanner-1.0.0.5}/user_scanner/dev/replit.py +0 -0
- {user_scanner-1.0.0.3 → user_scanner-1.0.0.5}/user_scanner/social/__init__.py +0 -0
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: user-scanner
|
|
3
|
+
Version: 1.0.0.5
|
|
4
|
+
Summary: Check username availability across multiple popular platforms
|
|
5
|
+
Keywords: username,checker,availability,social,tech,python,user-scanner
|
|
6
|
+
Author-email: Kaif <kafcodec@gmail.com>
|
|
7
|
+
Requires-Python: >=3.7
|
|
8
|
+
Description-Content-Type: text/markdown
|
|
9
|
+
License-File: LICENSE
|
|
10
|
+
Requires-Dist: httpx
|
|
11
|
+
Requires-Dist: colorama
|
|
12
|
+
Project-URL: Homepage, https://github.com/kaifcodec/user-scanner
|
|
13
|
+
|
|
14
|
+
# User Scanner
|
|
15
|
+
|
|
16
|
+
Scan a username across multiple social, developer, and creator platforms to see if it’s available.
|
|
17
|
+
Perfect for finding a **unique username** across GitHub, Twitter, Reddit, Instagram, and more, all in one command.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Features
|
|
22
|
+
|
|
23
|
+
- ✅ Check usernames across **social networks**, **developer platforms**, and **creator communities**.
|
|
24
|
+
- ✅ Clear **Available / Taken / Error** output for each platform.
|
|
25
|
+
- ✅ Fully modular: add new platform modules easily.
|
|
26
|
+
- ✅ Command-line interface ready: works directly after `pip install`.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Installation
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
pip install user-scanner
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Usage
|
|
39
|
+
|
|
40
|
+
Scan a username across all platforms:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
user-scanner -u <username>
|
|
44
|
+
```
|
|
45
|
+
Optionally, scan a specific category or single module:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
user-scanner -u <username> -c dev
|
|
49
|
+
user-scanner -l # Lists all available modules
|
|
50
|
+
user-scanner -u <username> -m github
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Contributing
|
|
56
|
+
|
|
57
|
+
Modules are organized by category:
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
user_scanner/
|
|
61
|
+
├── dev/ # Developer platforms (GitHub, GitLab, etc.)
|
|
62
|
+
├── social/ # Social platforms (Twitter/X, Reddit, Instagram, etc.)
|
|
63
|
+
├── creator/ # Creator platforms (Hashnode, Dev.to, Medium, etc.)
|
|
64
|
+
├── community/ # Community platforms (forums, niche sites)
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**Module guidelines:**
|
|
68
|
+
- Each module must define a `validate_<site>()` function that takes a `username` and returns:
|
|
69
|
+
- `1` → Available
|
|
70
|
+
- `0` → Taken
|
|
71
|
+
- `2` → Error / Could not check
|
|
72
|
+
- Use `httpx` for requests, `colorama` for colored output.
|
|
73
|
+
- Optional: modules can define a CLI parser if they support custom arguments.
|
|
74
|
+
|
|
75
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for examples.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Dependencies
|
|
80
|
+
- [httpx](https://pypi.org/project/httpx/)
|
|
81
|
+
- [colorama](https://pypi.org/project/colorama/)
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## License
|
|
86
|
+
|
|
87
|
+
This project is licensed under the **MIT License**. See [LICENSE](LICENSE) for details.
|
|
88
|
+
|
|
89
|
+
## ⚠️ `community/` is small looking for contributions
|
|
90
|
+
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# User Scanner
|
|
2
|
+
|
|
3
|
+
Scan a username across multiple social, developer, and creator platforms to see if it’s available.
|
|
4
|
+
Perfect for finding a **unique username** across GitHub, Twitter, Reddit, Instagram, and more, all in one command.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Features
|
|
9
|
+
|
|
10
|
+
- ✅ Check usernames across **social networks**, **developer platforms**, and **creator communities**.
|
|
11
|
+
- ✅ Clear **Available / Taken / Error** output for each platform.
|
|
12
|
+
- ✅ Fully modular: add new platform modules easily.
|
|
13
|
+
- ✅ Command-line interface ready: works directly after `pip install`.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Installation
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
pip install user-scanner
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Usage
|
|
26
|
+
|
|
27
|
+
Scan a username across all platforms:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
user-scanner -u <username>
|
|
31
|
+
```
|
|
32
|
+
Optionally, scan a specific category or single module:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
user-scanner -u <username> -c dev
|
|
36
|
+
user-scanner -l # Lists all available modules
|
|
37
|
+
user-scanner -u <username> -m github
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Contributing
|
|
43
|
+
|
|
44
|
+
Modules are organized by category:
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
user_scanner/
|
|
48
|
+
├── dev/ # Developer platforms (GitHub, GitLab, etc.)
|
|
49
|
+
├── social/ # Social platforms (Twitter/X, Reddit, Instagram, etc.)
|
|
50
|
+
├── creator/ # Creator platforms (Hashnode, Dev.to, Medium, etc.)
|
|
51
|
+
├── community/ # Community platforms (forums, niche sites)
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
**Module guidelines:**
|
|
55
|
+
- Each module must define a `validate_<site>()` function that takes a `username` and returns:
|
|
56
|
+
- `1` → Available
|
|
57
|
+
- `0` → Taken
|
|
58
|
+
- `2` → Error / Could not check
|
|
59
|
+
- Use `httpx` for requests, `colorama` for colored output.
|
|
60
|
+
- Optional: modules can define a CLI parser if they support custom arguments.
|
|
61
|
+
|
|
62
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for examples.
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Dependencies
|
|
67
|
+
- [httpx](https://pypi.org/project/httpx/)
|
|
68
|
+
- [colorama](https://pypi.org/project/colorama/)
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## License
|
|
73
|
+
|
|
74
|
+
This project is licensed under the **MIT License**. See [LICENSE](LICENSE) for details.
|
|
75
|
+
|
|
76
|
+
## ⚠️ `community/` is small looking for contributions
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import httpx
|
|
2
|
+
from httpx import ConnectError, TimeoutException
|
|
3
|
+
|
|
4
|
+
def validate_coderlegion(user):
|
|
5
|
+
url = f"https://coderlegion.com/user/{user}"
|
|
6
|
+
|
|
7
|
+
headers = {
|
|
8
|
+
'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36",
|
|
9
|
+
'Accept': "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
|
|
10
|
+
'Accept-Encoding': "gzip, deflate, br",
|
|
11
|
+
'Accept-Language': "en-US,en;q=0.9",
|
|
12
|
+
}
|
|
13
|
+
try:
|
|
14
|
+
response = httpx.get(url, headers=headers, timeout = 15.0)
|
|
15
|
+
status = response.status_code
|
|
16
|
+
|
|
17
|
+
if status == 200:
|
|
18
|
+
return 0
|
|
19
|
+
elif status == 404:
|
|
20
|
+
return 1
|
|
21
|
+
else:
|
|
22
|
+
return 2
|
|
23
|
+
|
|
24
|
+
except (ConnectError, TimeoutException):
|
|
25
|
+
return 2
|
|
26
|
+
except Exception:
|
|
27
|
+
return 2
|
|
28
|
+
|
|
29
|
+
if __name__ == "__main__":
|
|
30
|
+
user = input ("Username?: ").strip()
|
|
31
|
+
result = validate_coderlegion(user)
|
|
32
|
+
|
|
33
|
+
if result == 1:
|
|
34
|
+
print("Available!")
|
|
35
|
+
elif result == 0:
|
|
36
|
+
print("Unavailable!")
|
|
37
|
+
else:
|
|
38
|
+
print("Error occured!")
|
|
39
|
+
|
|
@@ -10,17 +10,13 @@ def validate_kaggle(user):
|
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
try:
|
|
13
|
-
# Use GET request for maximum fidelity, though we only check status code
|
|
14
13
|
response = httpx.get(url, headers=headers, timeout=3.0, follow_redirects=True)
|
|
15
14
|
status = response.status_code
|
|
16
15
|
|
|
17
|
-
# If a profile exists (Taken) -> 200 OK
|
|
18
16
|
if status == 200:
|
|
19
17
|
return 0
|
|
20
|
-
# If no profile exists (Available) -> 404 Not Found
|
|
21
18
|
elif status == 404:
|
|
22
19
|
return 1
|
|
23
|
-
# Other status codes are errors
|
|
24
20
|
else:
|
|
25
21
|
return 2
|
|
26
22
|
|
|
@@ -31,12 +31,6 @@ def validate_instagram(user):
|
|
|
31
31
|
return 2
|
|
32
32
|
|
|
33
33
|
if __name__ == "__main__":
|
|
34
|
-
try:
|
|
35
|
-
import httpx
|
|
36
|
-
except ImportError:
|
|
37
|
-
print("Error: 'httpx' library is not installed.")
|
|
38
|
-
exit()
|
|
39
|
-
|
|
40
34
|
user = input ("Username?: ").strip()
|
|
41
35
|
result = validate_instagram(user)
|
|
42
36
|
|
|
@@ -31,12 +31,6 @@ def validate_pinterest(user):
|
|
|
31
31
|
return 2
|
|
32
32
|
|
|
33
33
|
if __name__ == "__main__":
|
|
34
|
-
try:
|
|
35
|
-
import httpx
|
|
36
|
-
except ImportError:
|
|
37
|
-
print("Error: 'httpx' library is not installed.")
|
|
38
|
-
exit()
|
|
39
|
-
|
|
40
34
|
user = input ("Username?: ").strip()
|
|
41
35
|
result = validate_pinterest(user)
|
|
42
36
|
|
|
@@ -31,12 +31,6 @@ def validate_reddit(user):
|
|
|
31
31
|
return 2
|
|
32
32
|
|
|
33
33
|
if __name__ == "__main__":
|
|
34
|
-
try:
|
|
35
|
-
import httpx
|
|
36
|
-
except ImportError:
|
|
37
|
-
print("Error: 'httpx' library is not installed.")
|
|
38
|
-
exit()
|
|
39
|
-
|
|
40
34
|
user = input ("Username?: ").strip()
|
|
41
35
|
result = validate_reddit(user)
|
|
42
36
|
|
|
@@ -37,12 +37,6 @@ def validate_snapchat(user):
|
|
|
37
37
|
return 2
|
|
38
38
|
|
|
39
39
|
if __name__ == "__main__":
|
|
40
|
-
try:
|
|
41
|
-
import httpx
|
|
42
|
-
except ImportError:
|
|
43
|
-
print("Error: 'httpx' library is not installed.")
|
|
44
|
-
exit()
|
|
45
|
-
|
|
46
40
|
user = input ("Username?: ").strip()
|
|
47
41
|
result = validate_snapchat(user)
|
|
48
42
|
|
|
@@ -31,12 +31,6 @@ def validate_instagram(user):
|
|
|
31
31
|
return 2
|
|
32
32
|
|
|
33
33
|
if __name__ == "__main__":
|
|
34
|
-
try:
|
|
35
|
-
import httpx
|
|
36
|
-
except ImportError:
|
|
37
|
-
print("Error: 'httpx' library is not installed.")
|
|
38
|
-
exit()
|
|
39
|
-
|
|
40
34
|
user = input ("Username?: ").strip()
|
|
41
35
|
result = validate_instagram(user)
|
|
42
36
|
|
|
@@ -41,12 +41,6 @@ def validate_x(user):
|
|
|
41
41
|
return 2
|
|
42
42
|
|
|
43
43
|
if __name__ == "__main__":
|
|
44
|
-
try:
|
|
45
|
-
import httpx
|
|
46
|
-
except ImportError:
|
|
47
|
-
print("Error: 'httpx' library is not installed.")
|
|
48
|
-
exit()
|
|
49
|
-
|
|
50
44
|
user = input ("Username?: ").strip()
|
|
51
45
|
result = validate_x(user)
|
|
52
46
|
|
|
@@ -45,12 +45,6 @@ def validate_youtube(user):
|
|
|
45
45
|
return 2
|
|
46
46
|
|
|
47
47
|
if __name__ == "__main__":
|
|
48
|
-
try:
|
|
49
|
-
import httpx
|
|
50
|
-
except ImportError:
|
|
51
|
-
print("Error: 'httpx' library is not installed.")
|
|
52
|
-
exit()
|
|
53
|
-
|
|
54
48
|
user = input ("Username?: ").strip()
|
|
55
49
|
result = validate_youtube(user)
|
|
56
50
|
|
user_scanner-1.0.0.3/PKG-INFO
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: user-scanner
|
|
3
|
-
Version: 1.0.0.3
|
|
4
|
-
Summary: Check username availability across multiple popular platforms
|
|
5
|
-
Keywords: username,checker,availability,social,tech,python,user-scanner
|
|
6
|
-
Author-email: Kaif <kafcodec@gmail.com>
|
|
7
|
-
Requires-Python: >=3.7
|
|
8
|
-
Description-Content-Type: text/markdown
|
|
9
|
-
License-File: LICENSE
|
|
10
|
-
Requires-Dist: httpx
|
|
11
|
-
Requires-Dist: colorama
|
|
12
|
-
Project-URL: Homepage, https://github.com/kaifcodec/user-scanner
|
|
13
|
-
|
|
14
|
-
# user-scanner
|
user_scanner-1.0.0.3/README.md
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
# user-scanner
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|