Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

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 : Beta (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 constantes ALLOWED_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.

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 dans forge-mvc-images ;
  • forge-mvc-images devient 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).

Release files for forge-mvc-images 1.0.0rc3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for forge-mvc-images 1.0.0rc3
File Size Uploaded
forge_mvc_images-1.0.0rc3.tar.gz 15.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for forge-mvc-images 1.0.0rc3
File Interpreter ABI Platform
forge_mvc_images-1.0.0rc3-py3-none-any.whl Python 3 none any Details

Total release size: 31.9 kB

Release files / forge_mvc_images-1.0.0rc3.tar.gz

Download URL forge_mvc_images-1.0.0rc3.tar.gz
Size 15.9 kB
Tags Source
SHA-256 checksum
How to use checksums
153170af77f732b2886bbede06bc2fdb2f9ffff40598203bf11d18b096e6585a
BLAKE2b-256 checksum
How to use checksums
79fe8c114351a337096dcf693a93d63ecf2b61a64d196ef2066e01cfeaa147f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / forge_mvc_images-1.0.0rc3-py3-none-any.whl

Download URL forge_mvc_images-1.0.0rc3-py3-none-any.whl
Size 16.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
51ef28f80607edf67d967d957a068ed97dcb2d1626c2a092aea04a9da1e751a2
BLAKE2b-256 checksum
How to use checksums
f679f8d9787fb6035ced3b4e68f57ddf2619f58723c09f77faa89c29fcbedfa1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page