course-discovery icon indicating copy to clipboard operation
course-discovery copied to clipboard

[DEPR]: django-stdimage

Open mfarhan943 opened this issue 5 months ago • 0 comments

Proposal Date

1 July 2025

Ticket Acceptance Date

1 August 2025

Technology Removal Date

15 September 2025

First Open edX Named Release Without This Functionality

Ulmo

Rationale

django-stdimage is no longer maintained and has been archived by its author. Keeping it increases technical debt.

Removal

We propose to remove all usage of django-stdimage and its field StdImageField across the course-discovery codebase.

  • References to StdImageField in models
  • Any settings or code used to configure django-stdimage

Replacement

We will use django-pictures, a modern, responsive, and actively maintained image field library.

It supports:

  • Async image processing via Celery/Dramatiq
  • AVIF/WEBP and multi-size image generation
  • Placeholder and fallbacks

Deprecation

No response

Migration

We'll create a Django data migration using AlterPictureField from django-pictures to convert the field. The migration will retain existing image files and regenerate responsive variations. No data loss is expected. Migration instructions for django-stdimage github. Celery will be used to process images asynchronously after migration.

Additional Info

  • Upstream deprecation: https://github.com/xarg/django-stdimage
  • Recommended replacement: https://github.com/codingjoe/django-pictures
  • We have successfully tested this migration in a local project and confirmed auto-generation of image variations post-migration using Celery.

mfarhan943 avatar Jul 07 '25 10:07 mfarhan943