Skip to main content
Yanked

This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Reason given by maintainers: Absorbé par forge-mvc-images (ADR-018) ; installez forge-mvc-images.

forge-mvc-media

Module opt-in pour la gestion applicative des médias dans Forge MVC.

Statut : Alpha — opt-in officiel publié sur PyPI depuis 1.0.0-beta.9

forge-mvc-media est en statut 3 - Alpha depuis MEDIA-PYPI-READY-002. L'extraction depuis core/uploads/ est complète. La documentation et les shims de compatibilité ont été livrés.

Publié sur PyPI depuis 1.0.0-beta.9 (forme PEP 440 : 1.0.0b9). L'API applicative reste bêta — voir docs/production-limits.md avant déploiement.

Installation :

pip install --pre forge-mvc-media

Pour développer le paquet en mode éditable depuis les sources du dépôt Forge :

git clone https://github.com/caucrogeGit/Forge.git
cd Forge
pip install -e packages/forge-mvc-media/

Ce que contient ce module

Depuis MEDIA-REPOSITORY-MOVE-001, le package contient :

  • media_repository — persistance SQL des métadonnées médias (table media) : create_media_record, attach_media_to_entity, get_media_record, list_media_for_entity, update_media_alt_text, update_media_position, delete_media_record, delete_media

  • media_gallery — galerie, couverture, URL des médias par entité : get_media_gallery, get_cover_media, media_url

Ce qui reste dans le core (définitif)

Les briques génériques restent dans core/uploads/ et ne bougent pas :

  • exceptions.py — hiérarchie UploadError
  • validators.py — validation extension, MIME type, taille
  • storage.py — filesystem, protection anti-traversal
  • manager.py — SavedUpload, save_upload, serve_media_file
  • image.py — save_image, generate_image_variants (Pillow)
  • rate_limit.py — rate limiting in-memory

Note sur les générateurs CLI

À partir de MEDIA-CRUD-INTEGRATION-OPTIN-001, les nouveaux générateurs média applicatifs (forge make:crud --media, forge make:public:list, forge make:public:show) ciblent forge_mvc_media pour les helpers applicatifs :

from core.uploads import save_upload  # générique — reste dans core
from forge_mvc_media import (
    attach_media_to_entity,
    delete_media,
    get_cover_media,
    # ... autres helpers : voir packages/forge-mvc-media/forge_mvc_media/__init__.py
)

Les anciens imports from core.uploads import attach_media_to_entity ne sont plus supportés depuis MEDIA-SHIMS-REMOVE-001. Ce package est publié sur PyPI depuis 1.0.0-beta.9 : pip install --pre forge-mvc-media.

Shims de compatibilité dans core

Les fichiers core/uploads/media_repository.py et core/uploads/media_gallery.py étaient des shims de compatibilité qui re-exportaient depuis ce module. Ils ont été supprimés dans MEDIA-SHIMS-REMOVE-001.

Conditions avant publication sur PyPI

Toutes les conditions préparatoires sont remplies depuis MEDIA-PYPI-READY-002. La publication PyPI sera déclenchée par un ticket dédié lors d'une prochaine release.

Les critères étaient :

  1. MEDIA-DOCS-MIGRATION-001 livré ✓ livré — documentation technique à jour dans docs/.
  2. Shims supprimés ✓ livré (MEDIA-SHIMS-REMOVE-001) — core/uploads/media_repository.py et core/uploads/media_gallery.py retirés du core.
  3. Development Status ajusté ✓ livré (MEDIA-PYPI-READY-002) — statut 3 - Alpha actif.
  4. Classifier retiré ✓ livré (MEDIA-PYPI-READY-002) — "Private :: Do Not Upload" supprimé du pyproject.toml.

Le ticket de publication PyPI sera PYPI-PUBLISH-MEDIA-001 (ou PYPI-PUBLISH-B8-MEDIA-001 selon la version cible).

Tickets de référence

Ticket Description État
MEDIA-CORE-BOUNDARY-AUDIT-001 Audit de la frontière core/opt-in livré
MEDIA-EXTRACT-PACKAGE-SCAFFOLD-001 Création du squelette source-only livré
MEDIA-REPOSITORY-MOVE-001 Déplacement du code applicatif livré
MEDIA-CRUD-INTEGRATION-OPTIN-001 Mise à jour des générateurs CLI livré
MEDIA-DOCS-MIGRATION-001 Mise à jour de la documentation livré
MEDIA-SHIMS-REMOVE-001 Suppression des shims core/uploads livré
MEDIA-PYPI-READY-001 Décision source-only confirmée livré
MEDIA-PYPI-READY-002 Requalification Alpha, retrait classifier privé livré

Release files for forge-mvc-media 1.0.0b12

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-media 1.0.0b12
File Size Uploaded
forge_mvc_media-1.0.0b12.tar.gz 5.7 kB Details

Built distribution (wheel)

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

Total release size: 12.1 kB

Release files / forge_mvc_media-1.0.0b12.tar.gz

Download URL forge_mvc_media-1.0.0b12.tar.gz
Size 5.7 kB
Tags Source
SHA-256 checksum
How to use checksums
8e7b614458d938912b2c3f8dc9a1bcb92766c9c8befd82963783b00e065bc444
BLAKE2b-256 checksum
How to use checksums
7358fe1cb2b87978e4b201392d225ab5e031aa4724f2d7946813202d4eaf2aac
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_media-1.0.0b12-py3-none-any.whl

Download URL forge_mvc_media-1.0.0b12-py3-none-any.whl
Size 6.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a71d8f6c5146104165816b3017300a8c0a20a885793d5eafe6c6006b0f222ead
BLAKE2b-256 checksum
How to use checksums
ef04761809c338dd0fb31a4458e22501b14b7eb53185e0f0617cc16a92897961
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release history Release notifications | RSS feed

This release

1.0.0b12 This release

2 release files

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