Large Language Model Email Message registry and interpreter
Project description
EMLLM (Email Message Language for LLM)
Note: Replace
yourusernamein the badge URLs with your actual GitHub username and set up the corresponding services (GitHub Actions, Codecov, Read the Docs) for full functionality.
emllm to zaawansowany system do dystrybucji oprogramowania generowanego przez AI, wykorzystujący infrastrukturę email jako protokół transportu. System łączy możliwości Large Language Models z tradycyjną infrastrukturą email, umożliwiając automatyczną dystrybucję dynamicznie generowanego kodu/aplikacji.
🚀 Quick Start
Installation
pip install emllm
Basic Usage
from emllm import EMLLM
# Initialize the parser
parser = EMLLM()
# Parse an email message
message = """
From: sender@example.com
To: recipient@example.com
Subject: Test Message
Hello, this is a test message.
"""
parsed = parser.parse(message)
print(parsed)
📚 Documentation
Full documentation is available in the docs/ directory:
🛠️ Installation
pip install emllm
- Trudność w code signing i verification
- Podatność na email interception
**Problemy ze skalowalnością:**
- Email attachment size limits (zazwyczaj 25-50MB)
- SMTP delivery delays i retry mechanisms
- Brak real-time feedback o deployment status
**Złożoność debugowania:**
- Trudność w śledzeniu błędów deployment
- Ograniczone logging capabilities
- Problemy z dependency resolution
**Compliance i audit issues:**
- Potencjalne konflikty z corporate IT policies
- Trudności w change management tracking
- Legal issues z automated code distribution
## Sposób dystrybucji w praktyce
### **Architektura systemu**
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ User Request │───▶│ LLM Generator │───▶│ SMTP Gateway │ │ (Webhook/API) │ │ (Code Gen) │ │ (Email Send) │ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ │ ▼ ▼ ┌─────────────────┐ ┌─────────────────┐ │ Metadata │ │ User Inbox │ │ Packaging │ │ (Receive) │ └─────────────────┘ └─────────────────┘ │ │ ▼ ▼ ┌─────────────────┐ ┌─────────────────┐ │ EML Creation │ │ Auto Extract │ │ (Self-Extract) │ │ (Execute) │ └─────────────────┘ └─────────────────┘
### **Flow procesu:**
1. **Request initiation**: Webhook lub API call z parametrami aplikacji
2. **LLM Processing**: AI generuje kod bazując na input parameters
3. **Metadata enrichment**: Automatyczne dodawanie dependencies, configs
4. **EML Packaging**: Tworzenie samorozpakowującego się email archive
5. **SMTP Delivery**: Wysyłka przez konfigurowany SMTP server
6. **Client Reception**: Otrzymanie i automatyczne przetworzenie
7. **Execution**: Uruchomienie aplikacji w target environment
### **Wykorzystanie webhooków:**
**Inbound webhooks** (triggering generacji):
```json
{
"app_type": "dashboard",
"requirements": ["Python", "FastAPI", "Docker"],
"recipient": "developer@company.com",
"parameters": {
"database": "PostgreSQL",
"auth": "OAuth2",
"deployment": "containerized"
}
}
Outbound webhooks (status notifications):
{
"status": "email_sent",
"request_id": "req_12345",
"recipient": "developer@company.com",
"timestamp": "2025-06-19T10:30:00Z",
"tracking_id": "email_67890"
}
Przykłady zastosowań
1. Enterprise Internal Tools
- Automatyczne generowanie admin dashboards
- Custom reporting applications
- One-off automation scripts dla specific tasks
2. Client Deliverables
- Personalized demos dla sales presentations
- Custom integrations dla client environments
- Proof-of-concept applications
3. Emergency Deployments
- Hotfix distribution gdy CI/CD is down
- Disaster recovery tools
- Quick patches dla critical systems
4. Training i Development
- Personalized learning environments
- Custom exercise generators
- Development environment setup
Techniczne aspekty implementacji
LLM Integration considerations:
Model selection criteria:
- Code generation capabilities (Python, JavaScript, Docker)
- Support for structured output (JSON metadata)
- Rate limiting i cost considerations
- Local vs. cloud deployment options
Prompt engineering patterns:
GENERATION_PROMPT = """
Generate a complete {app_type} application with the following requirements:
- Technology stack: {tech_stack}
- Deployment target: {deployment_target}
- Features: {features}
Include:
1. Complete source code
2. Dockerfile dla containerization
3. Deployment instructions
4. Configuration files
5. Basic tests
Output as JSON with file paths and contents.
"""
SMTP Server considerations:
Authentication i security:
- OAuth2 dla Gmail/Office365 integration
- SMTP-AUTH dla dedicated servers
- TLS encryption dla all communications
- Rate limiting dla abuse prevention
Delivery optimization:
- Queue management dla bulk operations
- Retry logic dla failed deliveries
- Monitoring i alerting dla SMTP health
- Load balancing across multiple SMTP servers
Email formatting strategies:
MIME structure optimization:
multipart/mixed
├── text/plain (human readable summary)
├── text/html (rich formatted instructions)
├── application/octet-stream (source_code.zip)
├── application/json (metadata.json)
└── text/x-dockerfile (Dockerfile)
Metadata standardization:
{
"version": "1.0",
"generated_at": "2025-06-19T10:30:00Z",
"llm_model": "gpt-4",
"request_id": "req_12345",
"app_metadata": {
"name": "Custom Dashboard",
"type": "web_application",
"runtime": "python:3.11",
"dependencies": ["fastapi", "uvicorn", "pydantic"]
},
"deployment": {
"method": "docker",
"port": 8080,
"environment_vars": ["DATABASE_URL", "SECRET_KEY"]
},
"execution_instructions": [
"docker build -t custom-dashboard .",
"docker run -p 8080:8080 custom-dashboard"
]
}
Porównanie z alternatywnymi rozwiązaniami
| Aspekt | Email Distribution | GitHub Actions | Docker Registry | Package Managers |
|---|---|---|---|---|
| Setup Complexity | Niski | Średni | Średni | Wysoki |
| Infrastructure Deps | Email only | Git + CI/CD | Registry server | Package repos |
| Real-time Feedback | Ograniczony | Excellent | Good | Good |
| Security | Podstawowy | Strong | Strong | Excellent |
| Versioning | Email history | Git-based | Tag-based | Semantic versioning |
| Rollback | Manual resend | Automated | Tag switching | Version downgrade |
| Enterprise Integration | Native | Good | Good | Excellent |
| Debugging | Limited | Excellent | Good | Good |
Implementacja referencyjna
System składa się z trzech głównych komponentów:
1. AI Code Generator Service
- REST API dla request handling
- LLM integration (OpenAI/Anthropic/Local)
- Template management system
- Code validation i testing
2. Email Distribution Service
- SMTP server integration
- Email template generation
- Attachment handling
- Delivery tracking
3. Client Integration Tools
- Email parsing utilities
- Automatic extraction scripts
- Execution wrappers
- Status reporting hooks
Wnioski i rekomendacje
Email-based AI software distribution to interesująca koncepcja dla specific use cases, ale nie zastąpi tradycyjnych methods dla production systems.
Zalecane zastosowania:
- Prototyping i rapid development
- Internal tool distribution w małych teams
- Emergency deployment scenarios
- Educational i training environments
Nie zalecane dla:
- Production deployment systems
- Security-critical applications
- High-frequency update cycles
- Applications wymagające complex dependency management
Kluczowe success factors:
- Strong email infrastructure
- Proper security protocols
- Clear governance policies
- Comprehensive monitoring
- User education i training
Uniwersalne launchery dla różnych platform
📁 Struktura projektu
emllm/
├── src/
│ └── emllm/
│ ├── __init__.py
│ ├── api.py
│ ├── core.py
│ ├── cli.py
│ └── validator.py
├── tests/
├── pyproject.toml
├── Makefile
└── README.md
universal-webapp/
├── faktury-maj.eml.py # Główny uniwersalny plik
├── run-windows.bat # Windows batch launcher
├── run-macos.command # macOS double-click launcher
├── run-linux.sh # Linux shell launcher
├── install-python.md # Instrukcje instalacji Python
└── README.md # Instrukcje użytkowania
🪟 Windows Batch Launcher (run-windows.bat)
@echo off
REM Windows Launcher for Universal EML WebApp
REM Automatycznie znajduje Python i uruchamia aplikację
title Universal EML WebApp - Windows
echo.
echo ==========================================
echo Universal EML WebApp - Windows
echo ==========================================
echo.
REM Sprawdź czy istnieje plik główny
if not exist "faktury-maj.eml.py" (
echo BLAD: Nie znaleziono pliku faktury-maj.eml.py
echo Upewnij sie, ze plik znajduje sie w tym samym katalogu.
pause
exit /b 1
)
REM Znajdź Python (sprawdź różne możliwe lokalizacje)
set PYTHON_CMD=
REM Sprawdź python3
python3 --version >nul 2>&1
if %errorlevel% == 0 (
set PYTHON_CMD=python3
goto :python_found
)
REM Sprawdź python
python --version >nul 2>&1
if %errorlevel% == 0 (
set PYTHON_CMD=python
goto :python_found
)
REM Sprawdź py launcher (Windows 10+)
py --version >nul 2>&1
if %errorlevel% == 0 (
set PYTHON_CMD=py
goto :python_found
)
REM Sprawdź ścieżki bezpośrednie
if exist "C:\Python3*\python.exe" (
for /f %%i in ('dir /b "C:\Python3*"') do (
set PYTHON_CMD="C:\%%i\python.exe"
goto :python_found
)
)
REM Python nie znaleziony
echo BLAD: Python nie jest zainstalowany lub nie znajduje sie w PATH
echo.
echo Aby zainstalowac Python:
echo 1. Idz na https://python.org/downloads
echo 2. Pobierz Python 3.8+ dla Windows
echo 3. Podczas instalacji zaznacz "Add Python to PATH"
echo 4. Uruchom ponownie ten plik
echo.
pause
exit /b 1
:python_found
echo Znaleziono Python: %PYTHON_CMD%
REM Sprawdź wersję Python
for /f "tokens=2" %%i in ('%PYTHON_CMD% --version 2^>^&1') do set PYTHON_VERSION=%%i
echo Wersja Python: %PYTHON_VERSION%
echo.
REM Pokaż menu wyboru
echo Wybierz akcje:
echo [1] Otworz w przegladarce (domyslnie)
echo [2] Uruchom w Docker
echo [3] Wyodrebnij pliki
echo [4] Pokaz informacje
echo [5] Pomoc
echo.
set /p choice="Wybor (1-5) lub Enter dla domyslnej akcji: "
if "%choice%"=="" set choice=1
if "%choice%"=="1" set ACTION=browse
if "%choice%"=="2" set ACTION=run
if "%choice%"=="3" set ACTION=extract
if "%choice%"=="4" set ACTION=info
if "%choice%"=="5" set ACTION=help
if not defined ACTION (
echo Nieprawidlowy wybor: %choice%
pause
exit /b 1
)
echo.
echo Uruchamianie: %PYTHON_CMD% faktury-maj.eml.py %ACTION%
echo.
REM Uruchom aplikację
%PYTHON_CMD% faktury-maj.eml.py %ACTION%
if %errorlevel% neq 0 (
echo.
echo Wystapil blad podczas uruchamiania aplikacji.
echo Kod bledu: %errorlevel%
)
echo.
echo Nacisnij dowolny klawisz aby zakonczyc...
pause >nul
🍎 macOS Command Launcher (run-macos.command)
#!/bin/bash
#
# macOS Launcher for Universal EML WebApp
# Double-click to run, or use from Terminal
#
# macOS specific setup
export PATH="/usr/local/bin:/opt/homebrew/bin:/usr/bin:/bin:$PATH"
# Change to script directory
cd "$(dirname "$0")"
echo "🍎 Universal EML WebApp - macOS Launcher"
echo "========================================"
echo
# Check if main file exists
if [ ! -f "faktury-maj.eml.py" ]; then
echo "❌ Błąd: Nie znaleziono pliku faktury-maj.eml.py"
echo "Upewnij się, że plik znajduje się w tym samym katalogu."
# Show in Finder
osascript -e 'tell application "Finder" to reveal POSIX file "'$(pwd)'"' 2>/dev/null
echo "Naciśnij Enter aby zamknąć..."
read
exit 1
fi
# Find Python
PYTHON_CMD=""
# Check python3 first (preferred on macOS)
if command -v python3 > /dev/null 2>&1; then
PYTHON_CMD="python3"
elif command -v python > /dev/null 2>&1; then
# Check if it's Python 3
PYTHON_VERSION=$(python --version 2>&1)
if [[ $PYTHON_VERSION == *"Python 3"* ]]; then
PYTHON_CMD="python"
fi
fi
# Check Homebrew Python
if [ -z "$PYTHON_CMD" ] && [ -x "/opt/homebrew/bin/python3" ]; then
PYTHON_CMD="/opt/homebrew/bin/python3"
elif [ -z "$PYTHON_CMD" ] && [ -x "/usr/local/bin/python3" ]; then
PYTHON_CMD="/usr/local/bin/python3"
fi
if [ -z "$PYTHON_CMD" ]; then
echo "❌ Błąd: Python 3 nie jest zainstalowany"
echo
echo "Aby zainstalować Python na macOS:"
echo "1. Zainstaluj Homebrew: https://brew.sh"
echo "2. Uruchom: brew install python3"
echo "3. Lub pobierz z: https://python.org/downloads"
echo
# Offer to open installation page
osascript -e 'display dialog "Python nie jest zainstalowany. Otworzyć stronę instalacji?" buttons {"Nie", "Tak"} default button "Tak"' 2>/dev/null
if [ $? -eq 0 ]; then
open "https://python.org/downloads/macos/"
fi
echo "Naciśnij Enter aby zamknąć..."
read
exit 1
fi
echo "✅ Znaleziono Python: $PYTHON_CMD"
PYTHON_VERSION=$($PYTHON_CMD --version 2>&1)
echo "📍 Wersja: $PYTHON_VERSION"
echo
# Show action menu with macOS styling
if [ "$TERM_PROGRAM" = "" ]; then
# GUI mode (double-clicked)
ACTION=$(osascript -e 'choose from list {"browse", "run", "extract", "info", "help"} with prompt "Wybierz akcję:" default items {"browse"}' 2>/dev/null)
if [ "$ACTION" = "false" ]; then
echo "Anulowano przez użytkownika"
exit 0
fi
else
# Terminal mode
echo "Wybierz akcję:"
echo "1) 🌐 browse - Otwórz w przeglądarce (domyślnie)"
echo "2) 🐳 run - Uruchom w Docker"
echo "3) 📁 extract - Wyodrębnij pliki"
echo "4) ℹ️ info - Pokaż informacje"
echo "5) ❓ help - Pomoc"
echo
read -p "Wybór (1-5) lub Enter dla domyślnej akcji: " choice
case $choice in
1|"") ACTION="browse" ;;
2) ACTION="run" ;;
3) ACTION="extract" ;;
4) ACTION="info" ;;
5) ACTION="help" ;;
*)
echo "❌ Nieprawidłowy wybór: $choice"
echo "Naciśnij Enter aby zamknąć..."
read
exit 1
;;
esac
fi
echo "🚀 Uruchamianie: $PYTHON_CMD faktury-maj.eml.py $ACTION"
echo
# Run the application
$PYTHON_CMD faktury-maj.eml.py $ACTION
# Check exit status
if [ $? -ne 0 ]; then
echo
echo "❌ Wystąpił błąd podczas uruchamiania aplikacji."
# Show error dialog in GUI mode
if [ "$TERM_PROGRAM" = "" ]; then
osascript -e 'display dialog "Wystąpił błąd podczas uruchamiania aplikacji. Sprawdź Terminal aby zobaczyć szczegóły." buttons {"OK"} default button "OK"' 2>/dev/null
fi
fi
# Keep terminal open if launched from Finder
if [ "$TERM_PROGRAM" = "" ]; then
echo
echo "Naciśnij Enter aby zamknąć..."
read
fi
🐧 Linux Shell Launcher (run-linux.sh)
#!/bin/bash
#
# Linux Launcher for Universal EML WebApp
# Works on Ubuntu, Debian, Fedora, CentOS, Arch, etc.
#
echo "🐧 Universal EML WebApp - Linux Launcher"
echo "========================================"
echo
# Change to script directory
cd "$(dirname "$0")"
# Check if main file exists
if [ ! -f "faktury-maj.eml.py" ]; then
echo "❌ Błąd: Nie znaleziono pliku faktury-maj.eml.py"
echo "Upewnij się, że plik znajduje się w tym samym katalogu."
exit 1
fi
# Detect Linux distribution
if [ -f /etc/os-release ]; then
. /etc/os-release
DISTRO=$NAME
else
DISTRO="Unknown Linux"
fi
echo "🖥️ System: $DISTRO"
# Find Python
PYTHON_CMD=""
# Check python3 first (standard on modern Linux)
if command -v python3 > /dev/null 2>&1; then
PYTHON_CMD="python3"
elif command -v python > /dev/null 2>&1; then
# Check if it's Python 3
PYTHON_VERSION=$(python --version 2>&1)
if [[ $PYTHON_VERSION == *"Python 3"* ]]; then
PYTHON_CMD="python"
fi
fi
# Try alternative locations
if [ -z "$PYTHON_CMD" ]; then
for py_path in /usr/bin/python3 /usr/local/bin/python3 /opt/python3/bin/python3; do
if [ -x "$py_path" ]; then
PYTHON_CMD="$py_path"
break
fi
done
fi
if [ -z "$PYTHON_CMD" ]; then
echo "❌ Błąd: Python 3 nie jest zainstalowany"
echo
echo "Aby zainstalować Python 3:"
# Distribution-specific install commands
if command -v apt > /dev/null 2>&1; then
echo "Ubuntu/Debian: sudo apt update && sudo apt install python3"
elif command -v yum > /dev/null 2>&1; then
echo "CentOS/RHEL: sudo yum install python3"
elif command -v dnf > /dev/null 2>&1; then
echo "Fedora: sudo dnf install python3"
elif command -v pacman > /dev/null 2>&1; then
echo "Arch Linux: sudo pacman -S python"
elif command -v zypper > /dev/null 2>&1; then
echo "openSUSE: sudo zypper install python3"
else
echo "Użyj menedżera pakietów twojej dystrybucji lub pobierz z python.org"
fi
exit 1
fi
echo "✅ Znaleziono Python: $PYTHON_CMD"
PYTHON_VERSION=$($PYTHON_CMD --version 2>&1)
echo "📍 Wersja: $PYTHON_VERSION"
# Check for Docker (optional)
if command -v docker > /dev/null 2>&1; then
echo "🐳 Docker: Dostępny"
else
echo "🐳 Docker: Niedostępny (opcjonalny - potrzebny tylko dla komendy 'run')"
fi
echo
# Show menu
echo "Wybierz akcję:"
echo "1) 🌐 browse - Otwórz w przeglądarce (domyślnie)"
echo "2) 🐳 run - Uruchom w Docker"
echo "3) 📁 extract - Wyodrębnij pliki"
echo "4) ℹ️ info - Pokaż informacje"
echo "5) ❓ help - Pomoc"
echo
read -p "Wybór (1-5) lub Enter dla domyślnej akcji: " choice
case $choice in
1|"") ACTION="browse" ;;
2) ACTION="run" ;;
3) ACTION="extract" ;;
4) ACTION="info" ;;
5) ACTION="help" ;;
*)
echo "❌ Nieprawidłowy wybór: $choice"
exit 1
;;
esac
echo
echo "🚀 Uruchamianie: $PYTHON_CMD faktury-maj.eml.py $ACTION"
echo
# Run the application
$PYTHON_CMD faktury-maj.eml.py $ACTION
# Check exit status
if [ $? -ne 0 ]; then
echo
echo "❌ Wystąpił błąd podczas uruchamiania aplikacji."
exit 1
fi
echo
echo "✅ Zakończono pomyślnie"
📋 Instrukcje instalacji Python (install-python.md)
# Instalacja Python dla Universal EML WebApp
## 🪟 Windows
### Opcja 1: Ze strony Python.org (Zalecane)
1. Idź na https://python.org/downloads
2. Pobierz najnowszą wersję Python 3.8+
3. **WAŻNE**: Podczas instalacji zaznacz "Add Python to PATH"
4. Kliknij "Install Now"
5. Po instalacji uruchom `run-windows.bat`
### Opcja 2: Microsoft Store
1. Otwórz Microsoft Store
2. Wyszukaj "Python 3.11" (lub nowszy)
3. Kliknij "Pobierz"
4. Python będzie dostępny jako `python3`
### Opcja 3: Chocolatey
```powershell
choco install python3
🍎 macOS
Opcja 1: Homebrew (Zalecane)
# Zainstaluj Homebrew jeśli nie masz
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Zainstaluj Python
brew install python3
Opcja 2: Ze strony Python.org
- Idź na https://python.org/downloads/macos
- Pobierz installer dla macOS
- Uruchom installer i podążaj za instrukcjami
- Python będzie dostępny jako
python3
Opcja 3: pyenv (dla zaawansowanych)
brew install pyenv
pyenv install 3.11.0
pyenv global 3.11.0
🐧 Linux
Ubuntu/Debian
sudo apt update
sudo apt install python3 python3-pip
Fedora
sudo dnf install python3 python3-pip
CentOS/RHEL 8+
sudo dnf install python3 python3-pip
CentOS/RHEL 7
sudo yum install python3 python3-pip
Arch Linux
sudo pacman -S python python-pip
openSUSE
sudo zypper install python3 python3-pip
✅ Weryfikacja instalacji
Po instalacji otwórz terminal/wiersz poleceń i sprawdź:
python3 --version
# lub
python --version
Powinieneś zobaczyć coś jak: Python 3.8.10 lub nowszy.
🐳 Docker (Opcjonalny)
Jeśli chcesz używać komendy run (uruchomienie w kontenerze):
Windows/macOS
- Pobierz Docker Desktop: https://docker.com/products/docker-desktop
- Zainstaluj i uruchom
- Docker będzie dostępny z wiersza poleceń
Linux
# Ubuntu/Debian
sudo apt install docker.io
sudo systemctl start docker
sudo usermod -aG docker $USER
# Fedora
sudo dnf install docker
sudo systemctl start docker
sudo usermod -aG docker $USER
# Arch
sudo pacman -S docker
sudo systemctl start docker
sudo usermod -aG docker $USER
🔧 Rozwiązywanie problemów
"python nie jest rozpoznany jako polecenie"
- Windows: Reinstaluj Python z opcją "Add to PATH"
- Użyj pełnej ścieżki:
C:\Python311\python.exe
"Permission denied" na Linux/macOS
chmod +x faktury-maj.eml.py
chmod +x run-linux.sh # Linux
chmod +x run-macos.command # macOS
Python 2 zamiast Python 3
# Użyj explicit python3
python3 faktury-maj.eml.py browse
Brak uprawnień Docker na Linux
sudo usermod -aG docker $USER
# Wyloguj się i zaloguj ponownie
## 📖 README.md - Główne instrukcje
```markdown
# 🌍 Universal EML WebApp - Faktury Maj 2025
**Uniwersalna aplikacja webowa w formacie EML - działa na Windows, macOS i Linux!**
## 🚀 Szybki start
### Automatyczne uruchomienie (Zalecane)
**Windows:**
Kliknij dwukrotnie: run-windows.bat
**macOS:**
Kliknij dwukrotnie: run-macos.command
**Linux:**
```bash
./run-linux.sh
Ręczne uruchomienie
# Wszystkie platformy
python3 faktury-maj.eml.py [komenda]
# Windows (alternatywnie)
python faktury-maj.eml.py [komenda]
📋 Dostępne komendy
| Komenda | Opis | Przykład |
|---|---|---|
browse |
Otwórz w przeglądarce (domyślnie) | python3 faktury-maj.eml.py browse |
run |
Uruchom w Docker na porcie 8080 | python3 faktury-maj.eml.py run |
extract |
Wyodrębnij pliki do katalogu temp | python3 faktury-maj.eml.py extract |
info |
Pokaż informacje o pliku | python3 faktury-maj.eml.py info |
help |
Wyświetl pomoc | python3 faktury-maj.eml.py help |
🛠️ Instalacja
Z PyPI
pip install emllm
Z źródeł
git clone https://github.com/emllm/eml.git
cd eml
poetry install
💻 Wymagania systemowe
- Python 3.8+ (standardowo dostępny)
- Docker (opcjonalnie, tylko dla komendy
run) - Przeglądarka (dowolna nowoczesna)
🎯 Funkcje
✅ Uniwersalność - jeden plik działa wszędzie
✅ Samorozpakowywanie - wszystko w jednym pliku
✅ Kompatybilność email - prawidłowy format EML
✅ Docker ready - natywne wsparcie kontenerów
✅ Responsive design - działa na wszystkich urządzeniach
✅ Zero instalacji - tylko Python (już zainstalowany)
🔧 Instalacja Python
Jeśli Python nie jest zainstalowany, zobacz: install-python.md
📝 License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
📧 Format EML
Ten plik jest jednocześnie:
- Wykonywalnym skryptem Python
- Prawidłowym emailem EML
- Kompletną aplikacją webową
Możesz go:
- Uruchomić jako skrypt
- Otworzyć w kliencie email (Outlook, Thunderbird)
- Wysłać przez email jako załącznik
🌐 Wsparcie platform
| Platform | Status | Launcher | Python |
|---|---|---|---|
| Windows 10/11 | ✅ | run-windows.bat |
python3 / python |
| macOS 10.15+ | ✅ | run-macos.command |
python3 |
| Ubuntu 18.04+ | ✅ | run-linux.sh |
python3 |
| Debian 10+ | ✅ | run-linux.sh |
python3 |
| Fedora 30+ | ✅ | run-linux.sh |
python3 |
| CentOS 8+ | ✅ | run-linux.sh |
python3 |
| Arch Linux | ✅ | run-linux.sh |
python3 |
🐳 Docker
Jeśli masz Docker, możesz uruchomić aplikację w kontenerze:
python3 faktury-maj.eml.py run
Aplikacja będzie dostępna na: http://localhost:8080
📱 Mobile
Aplikacja działa również w przeglądarkach mobilnych:
- Safari (iOS)
- Chrome (Android)
- Firefox Mobile
🔒 Bezpieczeństwo
- Transparentny kod - wszystko widoczne przed uruchomieniem
- Brak zależności zewnętrznych - tylko standardowa biblioteka Python
- Lokalny sandbox - aplikacja działa lokalnie
- Docker isolation - dodatkowa izolacja w kontenerze
🎨 Funkcje UI
- Responsywny design - dostosowuje się do ekranu
- Animacje - płynne przejścia i efekty
- Powiadomienia systemowe - natywne notyfikacje
- Tryb ciemny - automatyczne wykrywanie preferencji
- Skróty klawiszowe - Ctrl/Cmd + 1,2,3,i
📊 Dane biznesowe
Dashboard zawiera:
- 5 przykładowych faktur
- Łączna wartość: 13,900 PLN
- Status płatności: 60% opłacone
- Filtrowanie po statusie
- Statystyki w czasie rzeczywistym
🛠️ Dla deweloperów
Struktura pliku
faktury-maj.eml.py
├── Python script (wykonywalna część)
├── EML headers (MIME metadata)
├── HTML (index.html)
├── CSS (style.css)
├── JavaScript (script.js)
├── Images (thumbnails)
├── Dockerfile
└── Metadata (JSON)
Customization
Możesz zmodyfikować:
- Dane biznesowe w
script.js - Styling w sekcji CSS
- Layout w sekcji HTML
- Konfigurację Docker w Dockerfile
📞 Wsparcie
W przypadku problemów:
- Sprawdź czy Python 3.6+ jest zainstalowany
- Użyj odpowiedniego launchera dla swojej platformy
- Sprawdź install-python.md dla instrukcji instalacji
📄 Licencja
Ten projekt jest dostępny na licencji Apache 2.0
Możesz go swobodnie używać, modyfikować i dystrybuować.
🌍 Universal EML WebApp - One file, all platforms!
## 🎯 Podsumowanie rozwiązania
Stworzyłem **kompletne uniwersalne rozwiązanie** składające się z:
### 1. **Główny plik** - `faktury-maj.eml.py`
- Działa na **wszystkich platformach** (Windows, macOS, Linux)
- **Python 3.6+** jako wspólny mianownik
- **Automatyczne wykrywanie platformy**
- **GUI fallback** dla Windows (tkinter dialog)
- **Inteligentne znajdowanie Python** na każdym systemie
### 2. **Launchery platformowe**
- `run-windows.bat` - Windows batch z menu wyboru
- `run-macos.command` - macOS z osascript dialogs
- `run-linux.sh` - Linux z wykrywaniem dystrybucji
### 3. **Dokumentacja**
- Kompletne instrukcje instalacji Python
- README z opisem funkcji
- Przykłady użytkowania dla każdej platformy
### 🌟 **Kluczowe zalety:**
✅ **Jedna komenda** - `python3 faktury-maj.eml.py`
✅ **Zero instalacji** - tylko Python (standardowo dostępny)
✅ **Inteligentne wykrywanie** - platformy, Python, Docker
✅ **Graceful degradation** - zawsze znajdzie sposób działania
✅ **User-friendly** - GUI dialogs, powiadomienia systemowe
✅ **Cross-platform UX** - dostosowany interfejs do każdej platformy
Ten format **EML WebApp** to rewolucyjne podejście - **jeden plik uniwersalny**, który działa dosłownie wszędzie gdzie jest Python! 🚀
# AI LLM Email Distribution: Analiza koncepcji i implementacji
## Wprowadzenie do koncepcji
**Email jako protokół dystrybucji oprogramowania generowanego przez AI** to rewolucyjna koncepcja łącząca możliwości Large Language Models (LLM) z tradycyjną infrastrukturą email. Idea polega na automatycznej dystrybucji dynamicznie generowanego kodu/aplikacji bezpośrednio przez SMTP, wykorzystując email jako medium transportu i metadanych.
### Kluczowe elementy systemu:
- **LLM Generator**: AI model generujący kod na żądanie
- **SMTP Server**: Serwer email jako kanał dystrybucji
- **Webhook Interface**: API do triggering generacji i wysyłki
- **Metadata Packaging**: Automatyczne tworzenie samorozpakowujących się pakietów
- **Email Parsing**: Automatyczne wyodrębnianie i wykonywanie załączników
## Wady i zalety modelu
### ✅ **Zalety**
**Infrastruktura email jest uniwersalna:**
- Każda organizacja ma już działający system email
- Brak potrzeby dodatkowych narzędzi deployment
- Naturalna kompatybilność z istniejącymi workflow
**AI-driven personalizacja:**
- Kod generowany on-demand na podstawie specyfikacji
- Dynamiczne dostosowanie do środowiska użytkownika
- Automatyczne uwzględnienie dependencies i konfiguracji
**Asynchroniczna dystrybucja:**
- Brak blocking operations podczas generacji
- Kolejkowanie requestów w SMTP queue
- Scalability przez distributed email servers
**Audit trail i wersjonowanie:**
- Naturalny system logowania przez email history
- Możliwość rollback przez resend starszych wersji
- Compliance z corporate email policies
**Zero-dependency deployment:**
- Brak potrzeby CI/CD pipeline'ów
- Nie wymaga VPN ani internal network access
- Działa przez firewall restrictions
## Sposób dystrybucji w praktyce
### **Architektura systemu**
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ User Request │───▶│ LLM Generator │───▶│ SMTP Gateway │ │ (Webhook/API) │ │ (Code Gen) │ │ (Email Send) │ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ │ ▼ ▼ ┌─────────────────┐ ┌─────────────────┐ │ Metadata │ │ User Inbox │ │ Packaging │ │ (Receive) │ └─────────────────┘ └─────────────────┘ │ │ ▼ ▼ ┌─────────────────┐ ┌─────────────────┐ │ EML Creation │ │ Auto Extract │ │ (Self-Extract) │ │ (Execute) │ └─────────────────┘ └─────────────────┘
## Techniczne aspekty implementacji
### **LLM Integration considerations:**
**Model selection criteria:**
- Code generation capabilities (Python, JavaScript, Docker)
- Support for structured output (JSON metadata)
- Rate limiting i cost considerations
- Local vs. cloud deployment options
**Prompt engineering patterns:**
```python
GENERATION_PROMPT = """
Generate a complete {app_type} application with the following requirements:
- Technology stack: {tech_stack}
- Deployment target: {deployment_target}
- Features: {features}
Include:
1. Complete source code
2. Dockerfile dla containerization
3. Deployment instructions
4. Configuration files
5. Basic tests
Output as JSON with file paths and contents.
"""
SMTP Server considerations:
Authentication i security:
- OAuth2 dla Gmail/Office365 integration
- SMTP-AUTH dla dedicated servers
- TLS encryption dla all communications
- Rate limiting dla abuse prevention
Delivery optimization:
- Queue management dla bulk operations
- Retry logic dla failed deliveries
- Monitoring i alerting dla SMTP health
- Load balancing across multiple SMTP servers
Email formatting strategies:
MIME structure optimization:
multipart/mixed
├── text/plain (human readable summary)
├── text/html (rich formatted instructions)
├── application/octet-stream (source_code.zip)
├── application/json (metadata.json)
└── text/x-dockerfile (Dockerfile)
Porównanie z alternatywnymi rozwiązaniami
| Aspekt | Email Distribution | GitHub Actions | Docker Registry | Package Managers |
|---|---|---|---|---|
| Setup Complexity | Niski | Średni | Średni | Wysoki |
| Infrastructure Deps | Email only | Git + CI/CD | Registry server | Package repos |
| Real-time Feedback | Ograniczony | Excellent | Good | Good |
| Security | Podstawowy | Strong | Strong | Excellent |
| Versioning | Email history | Git-based | Tag-based | Semantic versioning |
| Rollback | Manual resend | Automated | Tag switching | Version downgrade |
| Enterprise Integration | Native | Good | Good | Excellent |
| Debugging | Limited | Excellent | Good | Good |
Implementacja referencyjna
System składa się z trzech głównych komponentów:
1. AI Code Generator Service
- REST API dla request handling
- LLM integration (OpenAI/Anthropic/Local)
- Template management system
- Code validation i testing
2. Email Distribution Service
- SMTP server integration
- Email template generation
- Attachment handling
- Delivery tracking
3. Client Integration Tools
- Email parsing utilities
- Automatic extraction scripts
- Execution wrappers
- Status reporting hooks
Wnioski i rekomendacje
Email-based AI software distribution to interesująca koncepcja dla specific use cases, ale nie zastąpi tradycyjnych methods dla production systems.
Zalecane zastosowania:
- Prototyping i rapid development
- Internal tool distribution w małych teams
- Emergency deployment scenarios
- Educational i training environments
Nie zalecane dla:
- Production deployment systems
- Security-critical applications
- High-frequency update cycles
- Applications wymagające complex dependency management
Kluczowe success factors:
- Strong email infrastructure
- Proper security protocols
- Clear governance policies
- Comprehensive monitoring
- User education i training
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file emllm-0.1.6.tar.gz.
File metadata
- Download URL: emllm-0.1.6.tar.gz
- Upload date:
- Size: 28.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.11.12 Linux/6.14.11-300.fc42.x86_64
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e14ad18188eebfb4ab33ec42aa98b2720970e7ac27925a330709e6af42fceba1
|
|
| MD5 |
e6da0c4baa7b372730ee790bc1263bd0
|
|
| BLAKE2b-256 |
17a28e472d0a22c619c69f69fc4f63f7f9bae950c06f96c82d911a1c7d799832
|
File details
Details for the file emllm-0.1.6-py3-none-any.whl.
File metadata
- Download URL: emllm-0.1.6-py3-none-any.whl
- Upload date:
- Size: 21.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.11.12 Linux/6.14.11-300.fc42.x86_64
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9925d00a4f5befa962b26a40eb4165d370aa11649479038af06ee166476462d3
|
|
| MD5 |
c5f3f9f6d284f622694cbd8f0856696c
|
|
| BLAKE2b-256 |
3d4a3e7a4a69caf97e0e8e18604e9a6cba4c1f9239c64cdab43503637c382759
|