Metadata-Version: 2.4
Name: mailopt
Version: 0.1.1
Summary: CLI Python pour automatiser et optimiser les workflows email/front-end
Home-page: https://github.com/vml-marketing-mail/mailopt
Author: Souleymane SALL
Author-email: souleymanesallvml@gmail.com
Project-URL: Bug Reports, https://github.com/vml-marketing-mail/mailopt/issues
Project-URL: Source, https://github.com/vml-marketing-mail/mailopt
Project-URL: Documentation, https://github.com/vml-marketing-mail/mailopt#readme
Keywords: email,cli,automation,optimization,frontend,workflow
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Communications :: Email
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: click>=8.0.0
Requires-Dist: beautifulsoup4>=4.9.0
Requires-Dist: lxml>=4.6.0
Requires-Dist: requests>=2.25.0
Requires-Dist: premailer>=3.10.0
Requires-Dist: cssmin>=0.2.0
Requires-Dist: jsmin>=3.0.0
Requires-Dist: scikit-learn>=1.0.0
Requires-Dist: importlib_metadata>=4.0.0; python_version < "3.8"
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
Requires-Dist: flake8>=5.0.0; extra == "dev"
Requires-Dist: pylint>=2.15.0; extra == "dev"
Requires-Dist: black>=22.0.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Requires-Dist: bandit>=1.7.0; extra == "dev"
Requires-Dist: safety>=2.0.0; extra == "dev"
Provides-Extra: test
Requires-Dist: pytest>=7.0.0; extra == "test"
Requires-Dist: pytest-cov>=4.0.0; extra == "test"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: project-url
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# MailOpt

**CLI Python pour automatiser et optimiser les workflows email/front-end**

[![PyPI](https://img.shields.io/pypi/v/mailopt.svg)](https://pypi.org/project/mailopt/)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)

## Qu'est-ce que MailOpt ?

MailOpt est un outil en ligne de commande qui automatise les tâches répétitives du développement d'emails :

- Inlining CSS pour compatibilité email
- Validation des images et liens
- Optimisation et minification
- Tests de compatibilité

## Installation

```bash
# Installation depuis PyPI (recommandé)
pip install mailopt

# Ou en développement
git clone https://github.com/vml-marketing-mail/mailopt.git
cd mailopt
pip install -e .
```

## Usage rapide

```bash
# Créer un nouveau projet email
mailopt new ./my-email

# Inliner le CSS pour compatibilité email
mailopt inline ./my-email

# Vérifier les images avec correction automatique
mailopt check-images ./my-email --fix

# Vérifier les liens
mailopt check-links ./my-email

# Trouver les fichiers orphelins
mailopt find-orphans ./my-email

# Minifier les assets
mailopt minify ./my-email
```

## Commandes disponibles

| Commande                     | Description                                   |
| ---------------------------- | --------------------------------------------- |
| `mailopt new <dir>`          | Génère la structure de base d'un projet email |
| `mailopt inline <dir>`       | Inline CSS pour templates email-safe          |
| `mailopt check-images <dir>` | Vérifie existence & casse des images          |
| `mailopt check-links <dir>`  | Valide les liens dans les emails              |
| `mailopt find-orphans <dir>` | Liste fichiers assets non utilisés            |
| `mailopt minify <dir>`       | Minifie CSS/JS                                |
| `mailopt audit <dir>`        | Audit d'accessibilité & spam-score            |

## Configuration

Créez un fichier `mailopt.config.yaml` :

```yaml
defaults:
  image_quality: 85
  output_format: webp
  email_clients: [outlook, gmail, apple-mail]

commands:
  check_images:
    max_width: 1200
    allowed_formats: [jpg, png, webp]
```

## Développement

```bash
# Installer en mode développement
pip install -e ".[dev]"

# Lancer les tests
pytest tests/

# Vérifier le code
black sall/ tests/
mypy sall/ --ignore-missing-imports
flake8 sall/ tests/
```

## Licence

MIT License - voir [LICENSE](LICENSE) pour les détails.

---

**Fait avec ❤️ pour la communauté email development**
