Complete system requirements and prerequisites for deploying EMLyzer on Windows, macOS, and Linux.
Tip
🚀 New to EMLyzer? Start with the Installation Guide after reviewing requirements here.
| 📦 Component | ✅ Minimum | ⭐ Recommended | 📝 Notes |
|---|---|---|---|
| Python | 3.11 | 3.13 | See Python Version section |
| Memory | 512 MB | 1 GB | NLP classifier uses ~150 MB |
| Disk Space | 500 MB | 1 GB | Python + dependencies + SQLite |
| Network | Optional | — | Required only for reputation services |
❓ Which Python version do I need?
- ✅ Python 3.13 — Recommended (stable until 2029)
- ✅ Python 3.12 — Fully supported
- ✅ Python 3.11 — Fully supported
⚠️ Python 3.14+ — Not recommended (dependencies not yet updated)- ❌ Python 3.10 or earlier — Not supported
Windows — Open Command Prompt:
python --versionmacOS / Linux — Open Terminal:
python3 --versionExpected output: Python 3.13.x
Warning
- Minimum: Windows 10 (64-bit)
- Tested on: Windows 10, Windows 11
- Status: ✅ Fully supported
- Minimum: macOS 12 Monterey
- Tested on: 12.x, 13.x, 14.x
- Status: ✅ Fully supported
- Tested distributions:
- Ubuntu 20.04 LTS, 22.04 LTS, 24.04 LTS
- Debian 11, 12
- Fedora 38, 39, 40
- RHEL 9+
- Status: ✅ Fully supported
| 🔧 Resource | 📊 Requirement |
|---|---|
| Processor | Any modern CPU (Intel Core i3 / AMD Ryzen 3 equivalent) |
| RAM | 512 MB free during analysis |
| Storage | 500 MB available disk space |
| 🔧 Resource | 📊 Recommendation |
|---|---|
| Processor | Intel Core i5 / AMD Ryzen 5 or better |
| RAM | 1 GB+ (NLP classifier: ~150 MB) |
| Storage | 1 GB+ for database growth |
| Network | Broadband connection (for optional reputation services) |
| 🔧 Resource | 📊 Recommendation |
|---|---|
| RAM | 2+ GB |
| CPU | Multi-core processor (analysis is parallelized) |
| Storage | 2+ GB |
The web interface requires a modern browser with ES2020+ JavaScript support.
| 🌍 Browser | 📌 Minimum Version | 💡 Notes |
|---|---|---|
| Chrome | 90+ | ⚡ Fastest performance |
| Firefox | 88+ | 🦊 Privacy-focused |
| Safari | 14+ | 🍎 macOS native |
| Edge | 90+ | 🪟 Windows native |
Note
📖 Old browsers (Internet Explorer 11, Safari 13) are not supported. Update your browser if you see layout issues.
All dependencies are installed automatically during first run via start.bat / start.sh.
📚 View all dependencies (20+ packages)
- fastapi (0.135.2+) — REST API framework
- uvicorn (0.30.0+) — High-performance ASGI server
- mail-parser (3.15.0+) — RFC 5322 parser for .eml files
- python-oxmsg (0.0.2+) — Microsoft Outlook .msg parser (MIT license, Unstructured-IO maintained)
- beautifulsoup4 (4.14.0+) — HTML parsing and analysis
- tldextract (5.1.0+) — Domain and TLD extraction
- dnspython (2.6.0+) — DNS queries (SPF/DKIM/DMARC verification)
- python-whois (0.9.4+) — WHOIS lookups for domain age
- scikit-learn (1.5.0+) — Random Forest phishing classifier
- nltk (3.8.1+) — Natural language processing utilities
- langdetect (1.0.9+) — Automatic language detection
- requests (2.32.0+) — HTTP client for reputation APIs
- aiohttp (3.9.0+) — Async HTTP for parallel requests
- sqlalchemy (2.0.34+) — ORM with async support
- aiosqlite (3.1.0+) — Async SQLite driver
- python-docx (0.8.11+) — Word document (.docx) generation
- tinycss2 (1.3.0+) — CSS parsing for HTML sanitization
Total installation footprint: ~200 MB after all dependencies are installed.
| ❌ | ℹ️ Why you don't need it |
|---|---|
| Node.js | Frontend is pre-compiled and bundled |
| Docker | Desktop installation only (no containerization required) |
| PostgreSQL / MySQL | SQLite is embedded and included |
| Nginx / Apache | Built-in web server included |
| Paid licenses | Free and open-source software |
Email threat intelligence is completely optional. No registration required for core analysis.
- 🟢 Spamhaus DROP
- 🟢 OpenPhish
- 🟢 ASN Lookup
- 🟢 Redirect Chain
- 🟢 crt.sh
- 🟡 PhishTank
- 🟡 abuse.ch services (URLhaus, ThreatFox, MalwareBazaar)
- 🟡 CIRCL Passive DNS
- 🟡 GreyNoise Community
- 🟠 AbuseIPDB (1,000 requests/day)
- 🟠 VirusTotal (4 requests/minute)
- 🟠 URLScan.io (1,000 requests/day with API key)
- 🟠 Criminal IP, Pulsedive, Hybrid Analysis, Shodan InternetDB
Tip
💡 For detailed setup of any reputation service, see Configuration Guide
Important
🛡️ Your data stays with you. EMLyzer runs entirely locally.
- ✅ No cloud transmission — Email analysis happens on your machine only
- ✅ No telemetry — Zero data collection or external tracking
- ✅ Full local storage — All results stored in local SQLite database
- ✅ Open source — Complete source code available for security audit
- ✅ Offline capable — Works without internet connection (except reputation services)
| 📁 Data | 📍 Location | 📝 Notes |
|---|---|---|
| Database | backend/data/emlyzer.db |
Local SQLite file |
| Uploaded emails | backend/uploads/ |
SHA256-named files |
| Generated reports | backend/reports/ |
.docx files |
- 🆕 New to EMLyzer? → Installation Guide
- ⚙️ Already installed? → Configuration Guide
- 📖 Ready to analyze? → Usage Guide
- 💻 Developer? → API Reference
❌ Can't find Python on my system?
Windows:
- Open Command Prompt (Win + R →
cmd) - Type:
python --version - If not found, Python is not installed or not in PATH
- Solution: Install Python 3.13
macOS / Linux:
- Open Terminal
- Try:
python3 --version - If not found, install via Homebrew:
brew install python@3.13
❌ I have Python 3.10. Can I use it?
No. Python 3.11+ is required. Some dependencies don't support 3.10.
Solution: Upgrade to Python 3.13 following the Installation Guide.
Last updated: 2026-06-29 ← README | Installation →