paquets autonomes
Paquets
Chaque outil ici est une seule implémentation qu’on atteint de cinq façons. Laquelle vous convient dépend de ce que vous faites — envoyer un fichier unique à un collègue, importer une fonction, l’appeler depuis un autre langage, la confier à un agent — et aucune de ces situations ne devrait exiger un outil différent.
Chaque paquet est sous licence BSD-3-Clause, local d’abord, et versionné séparément. Ils ne sont pas encore sur PyPI : installez-les directement depuis GitHub.
Cinq portes d’entrée
La règle : ce sont des surfaces, jamais des réimplémentations. Une route, une description d’outil et une ligne de commande appellent la même fonction ; quand elles divergent, c’est un bug, pas une variante.
zip
Un kit autonome
Un dossier qui tourne sur une machine où rien n’est installé : le générateur, le moteur de dessin en un seul fichier, les données, une page qui ouvre le résultat, et un mode d’emploi. Sans réseau, sans clone, sans compte. C’est la forme qui s’attache à un courriel.
bibliothèque
Des fonctions Python
On les importe et on les appelle. Typées, documentées, et sans la moindre dépendance à une bibliothèque graphique — le SVG est écrit directement, donc vous n’installez que ce que vous avez demandé.
api
En HTTP, via FastAPI
Les mêmes fonctions en HTTP, pour que n’importe quel langage capable d’émettre une requête puisse s’en servir. Avec la documentation OpenAPI sur /docs — c’est aussi ce qui garde les noms d’arguments honnêtes : ils sont engendrés depuis les signatures, pas écrits à la main.
mcp
Outils d’agent, via FastAPI MCP
Les routes HTTP republiées en outils Model Context Protocol, pour qu’un assistant les appelle comme de vrais outils au lieu de deviner une ligne de commande. Volontairement une enveloppe au-dessus des routes existantes : un serveur MCP écrit à la main serait une seconde copie de la surface, libre de diverger.
skills
Skills, pour Claude et pour OpenCode
Le jugement qui n’est pas dans le code : quand choisir un type de graphique, ce qui rend un titre honnête, quelle vérification lancer avant de livrer. MCP donne à un agent la capacité ; un skill lui donne le goût. Les deux runtimes lisent la même matière.
Où chaque surface existe vraiment
Cinq portes d’entrée est la cible, et l’essentiel est désormais construit. Chaque paquet doté d’une bibliothèque porte au-dessus d’elle une API HTTP et une surface MCP — les mêmes fonctions, jamais une seconde copie. Ce qu’un tiret marque encore, ce sont les kits zip, qui n’existent pour l’instant que pour la galerie de figures. Les skills n’ont pas besoin d’une seconde version pour OpenCode : les deux runtimes lisent le même SKILL.md.
| Paquet | Zip | Bibliothèque | API | MCP | Skill Claude | Skill OpenCode |
|---|---|---|---|---|---|---|
| sprezzature-figures | 122 kits | oui | oui | oui | oui | oui |
| sprezzature-maps | pas encore | oui | oui | oui | pas encore | pas encore |
| sprezzature-colors | pas encore | oui | oui | oui | oui | oui |
| sprezzature-accessibility | pas encore | oui | oui | oui | oui | oui |
| sprezzature-audio | pas encore | oui | oui | oui | oui | oui |
| sprezzature-cli-gui | pas encore | oui | oui | oui | oui | oui |
| sprezzature-ux-laws | pas encore | oui | oui | oui | oui | oui |
| sprezzature-ui | pas encore | pas encore | pas encore | pas encore | oui | oui |
| sprezzature-vision | pas encore | pas encore | pas encore | pas encore | oui | oui |
| sprezzature-publish | pas encore | pas encore | pas encore | pas encore | oui | oui |
Les trois dernières lignes sont des skills sans paquet autonome : ils décrivent un jugement plutôt qu’ils n’enveloppent un outil, il n’y a donc rien à pip install.
Outils déterministes
sprezzature-figures
Figures
127 types de graphiques en SVG écrit à la main, plus la boucle Ralph Eyeball, l’explicabilité et les graphes causaux.
pip install sprezzature-figures
Dépôt →
sprezzature-maps
Cartes
Cartographie SVG écrite à la main, séparée de sprezzature-figures : une choroplèthe Equal Earth à rampe OKLCH, et des cartes de situation en conique conforme de Lambert, toutes deux avec un relief chaud/froid à partir d'une élévation réelle.
pip install sprezzature-maps
Dépôt →
sprezzature-colors
Couleurs
Audit de contraste WCAG avec corrections par voisinage OKLCH, simulation des déficiences de la vision des couleurs, une palette choisie et un export Tailwind.
pip install sprezzature-colors
Dépôt →
sprezzature-accessibility
Accessibilité
Un linter d’accessibilité HTML statique : des règles WCAG/WAI décidables depuis la source, sans navigateur ni DOM. Une barrière pre-commit rapide.
pip install sprezzature-accessibility
Dépôt →
sprezzature-cli-gui
CLI → interface web
Génère une interface HTML d’un seul fichier depuis n’importe quel CLI Python : introspection d’argparse, Click ou Typer, sans étape de build.
pip install sprezzature-cli-gui
Dépôt →
sprezzature-ux-laws
Lois de l’UX
Un auditeur statique des lois de l’UX pour le HTML : Hick, Miller, Fitts, Jakob, Tesler et d’autres, décidables depuis la source.
pip install sprezzature-ux-laws
Dépôt →
sprezzature-audio
Audio
Sous-titres locaux (whisper.cpp), diarisation et qui-est-qui, narration et traduction. Les moteurs ML sont des extras optionnels.
pip install sprezzature-audio
Dépôt →
Runtime & moteur
best-engine-ai-helper
Sélecteur de moteur & runtime local
Détecte la machine, choisit un modèle dans un catalogue et valide un LLM / VLM local avant que les skills s’appuient dessus. Chaque appel LLM/VLM d’un skill passe par son abstraction chat : un backend connectable (Ollama, compatible OpenAI, LangChain), la boucle Ralph et le pipeline d’écriture.
pip install git+https://github.com/warith-harchaoui/best-engine-ai-helper
Dépôt →
Vous cherchez plutôt les skills pour l’agent ? La couche SKILL.md se distribue ensemble sous forme de bundle, dans la section Pour commencer.