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 (tablemedia) :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 UploadErrorvalidators.py— validation extension, MIME type, taillestorage.py— filesystem, protection anti-traversalmanager.py— SavedUpload, save_upload, serve_media_fileimage.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 :
✓ livré — documentation technique à jour dansMEDIA-DOCS-MIGRATION-001livrédocs/.Shims supprimés✓ livré (MEDIA-SHIMS-REMOVE-001) —core/uploads/media_repository.pyetcore/uploads/media_gallery.pyretirés du core.✓ livré (Development StatusajustéMEDIA-PYPI-READY-002) — statut3 - Alphaactif.Classifier retiré✓ livré (MEDIA-PYPI-READY-002) —"Private :: Do Not Upload"supprimé dupyproject.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é |
Metadata
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)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| forge_mvc_media-1.0.0b12.tar.gz | 5.7 kB | Without provenance | Details for forge_mvc_media-1.0.0b12.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| forge_mvc_media-1.0.0b12-py3-none-any.whl | Python 3 | none | any | Details for forge_mvc_media-1.0.0b12-py3-none-any.whl |
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
|
Security for forge-mvc-media 1.0.0b12
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.