aliens-eye 2.0.0__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 (34) hide show
  1. aliens_eye-2.0.0/.gitignore +12 -0
  2. aliens_eye-2.0.0/LICENSE +21 -0
  3. aliens_eye-2.0.0/PKG-INFO +220 -0
  4. aliens_eye-2.0.0/README.md +179 -0
  5. aliens_eye-2.0.0/pyproject.toml +71 -0
  6. aliens_eye-2.0.0/src/aliens_eye/__init__.py +3 -0
  7. aliens_eye-2.0.0/src/aliens_eye/__main__.py +4 -0
  8. aliens_eye-2.0.0/src/aliens_eye/cli.py +563 -0
  9. aliens_eye-2.0.0/src/aliens_eye/core/__init__.py +1 -0
  10. aliens_eye-2.0.0/src/aliens_eye/core/analyzer.py +162 -0
  11. aliens_eye-2.0.0/src/aliens_eye/core/browser.py +43 -0
  12. aliens_eye-2.0.0/src/aliens_eye/core/config.py +141 -0
  13. aliens_eye-2.0.0/src/aliens_eye/core/detector.py +126 -0
  14. aliens_eye-2.0.0/src/aliens_eye/core/exporter.py +345 -0
  15. aliens_eye-2.0.0/src/aliens_eye/core/features.py +33 -0
  16. aliens_eye-2.0.0/src/aliens_eye/core/fingerprints.py +113 -0
  17. aliens_eye-2.0.0/src/aliens_eye/core/http.py +127 -0
  18. aliens_eye-2.0.0/src/aliens_eye/core/rate_limit.py +29 -0
  19. aliens_eye-2.0.0/src/aliens_eye/core/scanner.py +362 -0
  20. aliens_eye-2.0.0/src/aliens_eye/core/variations.py +79 -0
  21. aliens_eye-2.0.0/src/aliens_eye/data/model.json +118 -0
  22. aliens_eye-2.0.0/src/aliens_eye/data/nsfw_sites.json +22 -0
  23. aliens_eye-2.0.0/src/aliens_eye/data/seed_dataset.csv +144 -0
  24. aliens_eye-2.0.0/src/aliens_eye/data/selfcheck.json +28 -0
  25. aliens_eye-2.0.0/src/aliens_eye/data/sites.json +842 -0
  26. aliens_eye-2.0.0/src/aliens_eye/ml/__init__.py +1 -0
  27. aliens_eye-2.0.0/src/aliens_eye/ml/collect.py +132 -0
  28. aliens_eye-2.0.0/src/aliens_eye/ml/inference.py +84 -0
  29. aliens_eye-2.0.0/src/aliens_eye/ml/train.py +91 -0
  30. aliens_eye-2.0.0/src/aliens_eye/selfcheck.py +123 -0
  31. aliens_eye-2.0.0/src/aliens_eye/utils/__init__.py +1 -0
  32. aliens_eye-2.0.0/src/aliens_eye/utils/colors.py +15 -0
  33. aliens_eye-2.0.0/src/aliens_eye/utils/console.py +135 -0
  34. aliens_eye-2.0.0/src/aliens_eye/utils/logger.py +16 -0
@@ -0,0 +1,12 @@
1
+ __pycache__/
2
+ *.py[cod]
3
+ *.egg-info/
4
+ dist/
5
+ build/
6
+ .venv/
7
+ venv/
8
+ .pytest_cache/
9
+ .ruff_cache/
10
+ results/
11
+ cache/
12
+ config.json
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2021 Aaron Thomas
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,220 @@
1
+ Metadata-Version: 2.4
2
+ Name: aliens-eye
3
+ Version: 2.0.0
4
+ Summary: AI-powered OSINT username scanner across 800+ social media and web platforms
5
+ Project-URL: Homepage, https://github.com/arxhr007/Aliens_eye
6
+ Project-URL: Repository, https://github.com/arxhr007/Aliens_eye
7
+ Project-URL: Issues, https://github.com/arxhr007/Aliens_eye/issues
8
+ Author: Aaron Thomas (arxhr007)
9
+ License: MIT
10
+ License-File: LICENSE
11
+ Keywords: osint,recon,scanner,security,social-media,username
12
+ Classifier: Development Status :: 5 - Production/Stable
13
+ Classifier: Environment :: Console
14
+ Classifier: Intended Audience :: Information Technology
15
+ Classifier: License :: OSI Approved :: MIT License
16
+ Classifier: Operating System :: OS Independent
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Programming Language :: Python :: 3.13
22
+ Classifier: Topic :: Security
23
+ Requires-Python: >=3.10
24
+ Requires-Dist: aiohttp-socks<1.0,>=0.8
25
+ Requires-Dist: aiohttp>=3.8
26
+ Requires-Dist: platformdirs>=4.0
27
+ Requires-Dist: rich>=13.7
28
+ Requires-Dist: selectolax>=0.3.21
29
+ Provides-Extra: browser
30
+ Requires-Dist: playwright>=1.42; extra == 'browser'
31
+ Provides-Extra: dev
32
+ Requires-Dist: build; extra == 'dev'
33
+ Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
34
+ Requires-Dist: pytest>=8; extra == 'dev'
35
+ Requires-Dist: ruff>=0.4; extra == 'dev'
36
+ Requires-Dist: twine; extra == 'dev'
37
+ Provides-Extra: train
38
+ Requires-Dist: numpy>=1.24; extra == 'train'
39
+ Requires-Dist: scikit-learn>=1.3; extra == 'train'
40
+ Description-Content-Type: text/markdown
41
+
42
+ <h1 align="center">ALIENS EYE</h1>
43
+
44
+ <div align="center">
45
+ <img src="https://raw.githubusercontent.com/arxhr007/Aliens_eye/main/photos/logo.png"
46
+ alt="Aliens Eye Logo"
47
+ width="400"
48
+ height="300">
49
+ </div>
50
+
51
+ <h1 align="center">AI-OSINT Username Scanner</h1>
52
+
53
+ <h3 align="center">Advanced AI-Powered Social Media Username Finder</h3>
54
+ <h4 align="center">Scan 840+ platforms with ML-blended detection</h4>
55
+
56
+ <p align="center">
57
+ <a href="https://pypi.org/project/aliens-eye/"><img alt="PyPI" src="https://img.shields.io/pypi/v/aliens-eye?style=for-the-badge&color=blue"></a>
58
+ <a href="https://github.com/arxhr007/Aliens_eye/actions/workflows/ci.yml"><img alt="CI" src="https://img.shields.io/github/actions/workflow/status/arxhr007/Aliens_eye/ci.yml?style=for-the-badge"></a>
59
+ <a href="#"><img alt="Python" src="https://img.shields.io/pypi/pyversions/aliens-eye?style=for-the-badge"></a>
60
+ <a href="#"><img alt="Stars" src="https://img.shields.io/github/stars/arxhr007/Aliens_eye?style=for-the-badge&color=red"></a>
61
+ <a href="#"><img alt="License" src="https://img.shields.io/github/license/arxhr007/Aliens_eye?color=orange&style=for-the-badge"></a>
62
+ </p>
63
+
64
+ <!-- TODO: record a demo GIF (e.g. with vhs or asciinema) and drop it at docs/demo.gif -->
65
+ <!-- <p align="center"><img src="docs/demo.gif" width="700"></p> -->
66
+
67
+ ## Highlights
68
+
69
+ - **840+ platforms** scanned asynchronously in seconds
70
+ - **ML + heuristic detection** — a trained model blended with 25 structural signals (HTTP status, DOM shape, keywords, fingerprints) instead of naive status-code checks
71
+ - **Modern terminal UI** — live progress, sorted result tables, summary panels (powered by [rich](https://github.com/Textualize/rich))
72
+ - **Proxy & Tor support** — `--proxy socks5://...` or just `--tor`
73
+ - **Site filtering** — `--site github,reddit`, `--exclude-site`, `--no-nsfw`
74
+ - **Self-check** — `aliens_eye selfcheck` validates detection accuracy against accounts known to exist
75
+ - **Retrainable** — collect your own labeled dataset and retrain the model with `aliens_eye train`
76
+ - **Reports** in JSON, CSV, HTML, and Markdown
77
+ - **Playwright fallback** for JavaScript-heavy pages (optional extra)
78
+
79
+ ## Install
80
+
81
+ ```bash
82
+ pip install aliens-eye
83
+ ```
84
+
85
+ Optional extras:
86
+
87
+ ```bash
88
+ pip install "aliens-eye[browser]" # Playwright fallback for hard pages
89
+ python -m playwright install chromium
90
+
91
+ pip install "aliens-eye[train]" # scikit-learn, for retraining the ML model
92
+ ```
93
+
94
+ Or with Docker:
95
+
96
+ ```bash
97
+ docker build -t aliens-eye .
98
+ docker run --rm -it aliens-eye username
99
+ ```
100
+
101
+ From source:
102
+
103
+ ```bash
104
+ git clone https://github.com/arxhr007/Aliens_eye.git
105
+ cd Aliens_eye
106
+ pip install -e .
107
+ ```
108
+
109
+ ## Usage
110
+
111
+ ```bash
112
+ # Interactive prompts
113
+ aliens_eye
114
+
115
+ # Single username
116
+ aliens_eye username
117
+
118
+ # Multiple usernames
119
+ aliens_eye username1 username2
120
+
121
+ # Advanced scan level (prefix/suffix variations)
122
+ aliens_eye username -l advanced
123
+
124
+ # Only scan specific sites
125
+ aliens_eye username --site github,reddit,gitlab
126
+
127
+ # Skip NSFW sites
128
+ aliens_eye username --no-nsfw
129
+
130
+ # Route through Tor (needs a local Tor daemon)
131
+ aliens_eye username --tor
132
+
133
+ # Any HTTP or SOCKS proxy
134
+ aliens_eye username --proxy socks5://127.0.0.1:1080
135
+
136
+ # Export everything
137
+ aliens_eye username --format all --output results
138
+
139
+ # Heuristics only, no ML
140
+ aliens_eye username --no-ml
141
+
142
+ # Non-interactive preset: quick / full / aggressive
143
+ aliens_eye username --profile quick
144
+
145
+ # Plain output for scripts and CI (no colors/progress)
146
+ aliens_eye username --plain
147
+
148
+ # View results from a previous scan
149
+ aliens_eye -r results/username_advanced_20260611_120000.json
150
+
151
+ # Validate detection accuracy against known accounts
152
+ aliens_eye selfcheck
153
+ ```
154
+
155
+ ## How detection works
156
+
157
+ Every response is converted into a 25-dimensional feature vector: HTTP status buckets, username placement (path/title/meta), error and profile keywords, DOM structure (images, forms, profile/error CSS classes), response timing, redirect counts, and per-site fingerprint matches learned from previous scans.
158
+
159
+ Two judges then vote:
160
+
161
+ 1. **Heuristic engine** — weighted scoring over the features
162
+ 2. **ML model** — logistic regression trained on labeled scans of real (and deliberately fake) accounts, shipped with the package and running in pure Python (no sklearn needed at runtime)
163
+
164
+ The blended probability maps to **Found / Maybe / Not Found** with a confidence percentage. If a model file is missing or invalid, the scanner silently falls back to heuristics.
165
+
166
+ ### Retraining the model
167
+
168
+ ```bash
169
+ pip install "aliens-eye[train]"
170
+
171
+ # 1. Scan ground-truth accounts + random non-existent usernames to build a dataset
172
+ aliens_eye train collect --out dataset.csv --negatives 4
173
+
174
+ # 2. Fit and export the model
175
+ aliens_eye train fit --data dataset.csv --out model.json
176
+
177
+ # 3. Use it
178
+ aliens_eye username --model model.json
179
+ ```
180
+
181
+ ## Configuration
182
+
183
+ Aliens Eye merges a JSON config file with CLI flags (CLI wins). Search order without `--config`: `./config.json`, then the platform config dir (e.g. `~/.config/aliens_eye/config.json` on Linux, `%LOCALAPPDATA%\aliens_eye` on Windows).
184
+
185
+ ```json
186
+ {
187
+ "concurrent": 50,
188
+ "timeout": 10.0,
189
+ "retries": 2,
190
+ "rate_limit_delay": 0.2,
191
+ "output_dir": "results",
192
+ "output_formats": ["json", "csv", "html", "md"],
193
+ "use_playwright": false,
194
+ "proxy": null,
195
+ "use_ml": true,
196
+ "exclude_nsfw": false,
197
+ "level": "basic"
198
+ }
199
+ ```
200
+
201
+ ## Outputs
202
+
203
+ Results are saved with timestamped filenames:
204
+
205
+ - `username_level_YYYYMMDD_HHMMSS.json` — full detail including per-site feature analysis
206
+ - `.csv` — flat rows for spreadsheets
207
+ - `.html` — styled standalone report
208
+ - `.md` — Markdown summary of Found/Maybe hits
209
+
210
+ ## Architecture
211
+
212
+ The package lives under `src/aliens_eye/`: `core/` (scanner, detector, analyzer, http, exporter, fingerprints), `ml/` (inference, training, dataset collection), `utils/` (rich console layer), and `data/` (sites.json, trained model, ground-truth sets). For internals and flowcharts, see [WORKING.md](WORKING.md).
213
+
214
+ ## Contributing
215
+
216
+ Issues and PRs welcome — adding sites to `src/aliens_eye/data/sites.json`, expanding the ground-truth set in `selfcheck.json`, or improving the model all directly improve detection. Run `pytest` and `ruff check src tests` before submitting.
217
+
218
+ ## Disclaimer
219
+
220
+ This tool is for educational purposes and legitimate OSINT research only. You are responsible for complying with laws and site terms of service.
@@ -0,0 +1,179 @@
1
+ <h1 align="center">ALIENS EYE</h1>
2
+
3
+ <div align="center">
4
+ <img src="https://raw.githubusercontent.com/arxhr007/Aliens_eye/main/photos/logo.png"
5
+ alt="Aliens Eye Logo"
6
+ width="400"
7
+ height="300">
8
+ </div>
9
+
10
+ <h1 align="center">AI-OSINT Username Scanner</h1>
11
+
12
+ <h3 align="center">Advanced AI-Powered Social Media Username Finder</h3>
13
+ <h4 align="center">Scan 840+ platforms with ML-blended detection</h4>
14
+
15
+ <p align="center">
16
+ <a href="https://pypi.org/project/aliens-eye/"><img alt="PyPI" src="https://img.shields.io/pypi/v/aliens-eye?style=for-the-badge&color=blue"></a>
17
+ <a href="https://github.com/arxhr007/Aliens_eye/actions/workflows/ci.yml"><img alt="CI" src="https://img.shields.io/github/actions/workflow/status/arxhr007/Aliens_eye/ci.yml?style=for-the-badge"></a>
18
+ <a href="#"><img alt="Python" src="https://img.shields.io/pypi/pyversions/aliens-eye?style=for-the-badge"></a>
19
+ <a href="#"><img alt="Stars" src="https://img.shields.io/github/stars/arxhr007/Aliens_eye?style=for-the-badge&color=red"></a>
20
+ <a href="#"><img alt="License" src="https://img.shields.io/github/license/arxhr007/Aliens_eye?color=orange&style=for-the-badge"></a>
21
+ </p>
22
+
23
+ <!-- TODO: record a demo GIF (e.g. with vhs or asciinema) and drop it at docs/demo.gif -->
24
+ <!-- <p align="center"><img src="docs/demo.gif" width="700"></p> -->
25
+
26
+ ## Highlights
27
+
28
+ - **840+ platforms** scanned asynchronously in seconds
29
+ - **ML + heuristic detection** — a trained model blended with 25 structural signals (HTTP status, DOM shape, keywords, fingerprints) instead of naive status-code checks
30
+ - **Modern terminal UI** — live progress, sorted result tables, summary panels (powered by [rich](https://github.com/Textualize/rich))
31
+ - **Proxy & Tor support** — `--proxy socks5://...` or just `--tor`
32
+ - **Site filtering** — `--site github,reddit`, `--exclude-site`, `--no-nsfw`
33
+ - **Self-check** — `aliens_eye selfcheck` validates detection accuracy against accounts known to exist
34
+ - **Retrainable** — collect your own labeled dataset and retrain the model with `aliens_eye train`
35
+ - **Reports** in JSON, CSV, HTML, and Markdown
36
+ - **Playwright fallback** for JavaScript-heavy pages (optional extra)
37
+
38
+ ## Install
39
+
40
+ ```bash
41
+ pip install aliens-eye
42
+ ```
43
+
44
+ Optional extras:
45
+
46
+ ```bash
47
+ pip install "aliens-eye[browser]" # Playwright fallback for hard pages
48
+ python -m playwright install chromium
49
+
50
+ pip install "aliens-eye[train]" # scikit-learn, for retraining the ML model
51
+ ```
52
+
53
+ Or with Docker:
54
+
55
+ ```bash
56
+ docker build -t aliens-eye .
57
+ docker run --rm -it aliens-eye username
58
+ ```
59
+
60
+ From source:
61
+
62
+ ```bash
63
+ git clone https://github.com/arxhr007/Aliens_eye.git
64
+ cd Aliens_eye
65
+ pip install -e .
66
+ ```
67
+
68
+ ## Usage
69
+
70
+ ```bash
71
+ # Interactive prompts
72
+ aliens_eye
73
+
74
+ # Single username
75
+ aliens_eye username
76
+
77
+ # Multiple usernames
78
+ aliens_eye username1 username2
79
+
80
+ # Advanced scan level (prefix/suffix variations)
81
+ aliens_eye username -l advanced
82
+
83
+ # Only scan specific sites
84
+ aliens_eye username --site github,reddit,gitlab
85
+
86
+ # Skip NSFW sites
87
+ aliens_eye username --no-nsfw
88
+
89
+ # Route through Tor (needs a local Tor daemon)
90
+ aliens_eye username --tor
91
+
92
+ # Any HTTP or SOCKS proxy
93
+ aliens_eye username --proxy socks5://127.0.0.1:1080
94
+
95
+ # Export everything
96
+ aliens_eye username --format all --output results
97
+
98
+ # Heuristics only, no ML
99
+ aliens_eye username --no-ml
100
+
101
+ # Non-interactive preset: quick / full / aggressive
102
+ aliens_eye username --profile quick
103
+
104
+ # Plain output for scripts and CI (no colors/progress)
105
+ aliens_eye username --plain
106
+
107
+ # View results from a previous scan
108
+ aliens_eye -r results/username_advanced_20260611_120000.json
109
+
110
+ # Validate detection accuracy against known accounts
111
+ aliens_eye selfcheck
112
+ ```
113
+
114
+ ## How detection works
115
+
116
+ Every response is converted into a 25-dimensional feature vector: HTTP status buckets, username placement (path/title/meta), error and profile keywords, DOM structure (images, forms, profile/error CSS classes), response timing, redirect counts, and per-site fingerprint matches learned from previous scans.
117
+
118
+ Two judges then vote:
119
+
120
+ 1. **Heuristic engine** — weighted scoring over the features
121
+ 2. **ML model** — logistic regression trained on labeled scans of real (and deliberately fake) accounts, shipped with the package and running in pure Python (no sklearn needed at runtime)
122
+
123
+ The blended probability maps to **Found / Maybe / Not Found** with a confidence percentage. If a model file is missing or invalid, the scanner silently falls back to heuristics.
124
+
125
+ ### Retraining the model
126
+
127
+ ```bash
128
+ pip install "aliens-eye[train]"
129
+
130
+ # 1. Scan ground-truth accounts + random non-existent usernames to build a dataset
131
+ aliens_eye train collect --out dataset.csv --negatives 4
132
+
133
+ # 2. Fit and export the model
134
+ aliens_eye train fit --data dataset.csv --out model.json
135
+
136
+ # 3. Use it
137
+ aliens_eye username --model model.json
138
+ ```
139
+
140
+ ## Configuration
141
+
142
+ Aliens Eye merges a JSON config file with CLI flags (CLI wins). Search order without `--config`: `./config.json`, then the platform config dir (e.g. `~/.config/aliens_eye/config.json` on Linux, `%LOCALAPPDATA%\aliens_eye` on Windows).
143
+
144
+ ```json
145
+ {
146
+ "concurrent": 50,
147
+ "timeout": 10.0,
148
+ "retries": 2,
149
+ "rate_limit_delay": 0.2,
150
+ "output_dir": "results",
151
+ "output_formats": ["json", "csv", "html", "md"],
152
+ "use_playwright": false,
153
+ "proxy": null,
154
+ "use_ml": true,
155
+ "exclude_nsfw": false,
156
+ "level": "basic"
157
+ }
158
+ ```
159
+
160
+ ## Outputs
161
+
162
+ Results are saved with timestamped filenames:
163
+
164
+ - `username_level_YYYYMMDD_HHMMSS.json` — full detail including per-site feature analysis
165
+ - `.csv` — flat rows for spreadsheets
166
+ - `.html` — styled standalone report
167
+ - `.md` — Markdown summary of Found/Maybe hits
168
+
169
+ ## Architecture
170
+
171
+ The package lives under `src/aliens_eye/`: `core/` (scanner, detector, analyzer, http, exporter, fingerprints), `ml/` (inference, training, dataset collection), `utils/` (rich console layer), and `data/` (sites.json, trained model, ground-truth sets). For internals and flowcharts, see [WORKING.md](WORKING.md).
172
+
173
+ ## Contributing
174
+
175
+ Issues and PRs welcome — adding sites to `src/aliens_eye/data/sites.json`, expanding the ground-truth set in `selfcheck.json`, or improving the model all directly improve detection. Run `pytest` and `ruff check src tests` before submitting.
176
+
177
+ ## Disclaimer
178
+
179
+ This tool is for educational purposes and legitimate OSINT research only. You are responsible for complying with laws and site terms of service.
@@ -0,0 +1,71 @@
1
+ [build-system]
2
+ requires = ["hatchling"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "aliens-eye"
7
+ version = "2.0.0"
8
+ description = "AI-powered OSINT username scanner across 800+ social media and web platforms"
9
+ readme = "README.md"
10
+ requires-python = ">=3.10"
11
+ license = { text = "MIT" }
12
+ authors = [{ name = "Aaron Thomas (arxhr007)" }]
13
+ keywords = ["osint", "username", "recon", "social-media", "security", "scanner"]
14
+ classifiers = [
15
+ "Development Status :: 5 - Production/Stable",
16
+ "Environment :: Console",
17
+ "Intended Audience :: Information Technology",
18
+ "License :: OSI Approved :: MIT License",
19
+ "Operating System :: OS Independent",
20
+ "Programming Language :: Python :: 3",
21
+ "Programming Language :: Python :: 3.10",
22
+ "Programming Language :: Python :: 3.11",
23
+ "Programming Language :: Python :: 3.12",
24
+ "Programming Language :: Python :: 3.13",
25
+ "Topic :: Security",
26
+ ]
27
+ dependencies = [
28
+ "aiohttp>=3.8",
29
+ "selectolax>=0.3.21",
30
+ "rich>=13.7",
31
+ "aiohttp-socks>=0.8,<1.0",
32
+ "platformdirs>=4.0",
33
+ ]
34
+
35
+ [project.optional-dependencies]
36
+ browser = ["playwright>=1.42"]
37
+ train = ["scikit-learn>=1.3", "numpy>=1.24"]
38
+ dev = [
39
+ "pytest>=8",
40
+ "pytest-asyncio>=0.23",
41
+ "ruff>=0.4",
42
+ "build",
43
+ "twine",
44
+ ]
45
+
46
+ [project.scripts]
47
+ aliens_eye = "aliens_eye.cli:main"
48
+
49
+ [project.urls]
50
+ Homepage = "https://github.com/arxhr007/Aliens_eye"
51
+ Repository = "https://github.com/arxhr007/Aliens_eye"
52
+ Issues = "https://github.com/arxhr007/Aliens_eye/issues"
53
+
54
+ [tool.hatch.build.targets.wheel]
55
+ packages = ["src/aliens_eye"]
56
+
57
+ [tool.hatch.build.targets.sdist]
58
+ include = ["src/aliens_eye", "README.md", "LICENSE", "pyproject.toml"]
59
+
60
+ [tool.ruff]
61
+ line-length = 110
62
+ target-version = "py310"
63
+
64
+ [tool.ruff.lint]
65
+ select = ["E", "F", "W", "I", "UP", "B"]
66
+ ignore = ["E501"]
67
+
68
+ [tool.pytest.ini_options]
69
+ asyncio_mode = "auto"
70
+ testpaths = ["tests"]
71
+ pythonpath = ["src"]
@@ -0,0 +1,3 @@
1
+ """Aliens Eye - AI-powered OSINT username scanner."""
2
+
3
+ __version__ = "2.0.0"
@@ -0,0 +1,4 @@
1
+ from aliens_eye.cli import main
2
+
3
+ if __name__ == "__main__":
4
+ main()