Forge Images — module opt-in propriétaire de tout le traitement d'image (variantes, miniatures, validation de contenu, Pillow) et de la couche médias applicative (repository, galerie, couverture).
Project description
forge-mvc-images
Module opt-in propriétaire de tout l'image dans Forge MVC : traitement (variantes, miniatures, validation de contenu — Pillow) et couche médias applicative (repository, galerie, couverture).
Statut : Alpha (extraction terminée, ADR-018)
forge-mvc-images est désormais l'unique propriétaire de tout l'image dans
Forge. Le traitement (Pillow) et la couche applicative médias ont été rapatriés
du core et de l'ancien forge-mvc-media, qui est supprimé. Le paquet expose une
API publique stable :
- Traitement :
save_image,save_image_upload,generate_image_variants,image_variant_paths,image_variant_relative_paths,verify_image_content, plus les constantesALLOWED_IMAGE_EXTENSIONS,ALLOWED_IMAGE_MIME_TYPES,IMAGE_VARIANT_SIZES. - Couche applicative médias :
MediaRecord,create_media_record,get_media_record,delete_media,delete_media_record,attach_media_to_entity,list_media_for_entity,get_media_gallery,get_cover_media,media_url,update_media_alt_text,update_media_position.
Ce paquet dépend de forge-mvc-files (upload générique) et de Pillow. Il cible
la publication PyPI de la release beta.13.
Pourquoi ce module (ADR-018)
forge-mvc-images remplace forge-mvc-media. Le nom « media » était
trompeur depuis l'arrivée de forge-mvc-video (un développeur attendait que
forge-mvc-media gère aussi la vidéo). Par ailleurs, embarquer Pillow et le
traitement d'image dans le core contredit le principe de noyau minimal
(charte principe 8, ADR-004).
Décision (option B, « renommer puis rapatrier ») :
- le core ne garde aucune logique d'upload ni d'image : l'upload générique
vit dans
forge-mvc-files, l'image dansforge-mvc-images; forge-mvc-imagesdevient l'unique propriétaire de tout l'image, traitement et couche applicative.
Conformément à la convention pré-1.0 (pas d'utilisateurs externes), le
renommage s'est fait sans alias déprécié ni guide de migration :
forge-mvc-media a été supprimé une fois le rapatriement terminé.
Plan d'exécution (ADR-018, terminé)
| Ticket | Description | État |
|---|---|---|
IMAGES-PKG-SCAFFOLD-001 |
Squelette du paquet (pyproject.toml + Pillow, __init__) |
livré |
IMAGES-MOVE-PROCESSING-001 |
Déplacer le traitement image du core ; rendre save_upload générique |
livré |
IMAGES-MOVE-APPLICATIVE-001 |
Déplacer repository + galerie depuis forge-mvc-media |
livré |
CORE-DROP-PILLOW-001 |
Retrait de Pillow du core, inversion des garde-fous packaging | livré |
CLI-CRUD-IMAGES-RENAME-001 |
Générateurs CLI vers forge_mvc_images |
livré |
CI-DOCS-IMAGES-RENAME-001 |
CI, README racine, docs, CONTRIBUTING | livré |
REMOVE-MEDIA-PKG-001 |
Suppression de packages/forge-mvc-media |
livré |
Installation (mode éditable, depuis les sources)
git clone https://github.com/caucrogeGit/Forge.git
cd Forge
pip install -e packages/forge-mvc-images/
Référence
docs/adr/018-image-module-extraction.md— décision et périmètre figés.- Charte principes 8 (noyau minimal), 11 (une seule façon officielle).
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 Distributions
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 forge_mvc_images-1.0.0b13-py3-none-any.whl.
File metadata
- Download URL: forge_mvc_images-1.0.0b13-py3-none-any.whl
- Upload date:
- Size: 12.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6374785a731b9b21d01b0c0d355f8c3b4db8420b2581a3bb910ace01c91cd5f1
|
|
| MD5 |
b5f9f98ee86eb15d07afb17f75226e53
|
|
| BLAKE2b-256 |
a3f280652062a51ff1486e6733674f5729f80293cdb754c8bb025d853a0a1f62
|