[Django] #36153: Remove or replace unmantained pylibmc package from Django dependencies

8 views
Skip to first unread message

Django

unread,
Jan 28, 2025, 10:32:13 AM1/28/25
to django-...@googlegroups.com
#36153: Remove or replace unmantained pylibmc package from Django dependencies
-------------------------------------+-------------------------------------
Reporter: Paolo Melchiorre | Type: Bug
Status: new | Component: Core
| (Cache system)
Version: dev | Severity: Normal
Keywords: memcached, pylibmc, | Triage Stage:
package | Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
As we discussed in the recent PR
[https://github.com/django/django/pull/19077 Refs #36005 -- Bumped minimum
supported versions of 3rd-party packages.] `pylibmc` has not a recent
release with wheel for Python 3.12.

It also created issue for `psycopg` testing pipeline
[https://github.com/psycopg/psycopg/issues/999 Hard to satisfy
dependencies in Django tests]

Apart from that it seem pretty unmaintained. Would it be possible to
replace it with something better maintained or remove it?
--
Ticket URL: <https://code.djangoproject.com/ticket/36153>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

Django

unread,
Jan 28, 2025, 12:02:35 PM1/28/25
to django-...@googlegroups.com
#36153: Remove or replace unmantained pylibmc package from Django dependencies
-------------------------------------+-------------------------------------
Reporter: Paolo Melchiorre | Owner: (none)
Type: Bug | Status: new
Component: Core (Cache system) | Version: dev
Severity: Normal | Resolution:
Keywords: memcached, pylibmc, | Triage Stage:
package | Someday/Maybe
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Sarah Boyce):

* stage: Unreviewed => Someday/Maybe

Comment:

These are my initial thoughts:
* I can see in 19c4052f98e5dc4fe9d7edd7125df6a66efbd79f as part of adding
Python 3.12 support, we install `libmemcached-dev`. This doesn't appear to
be documented and we possibly need to document this.
* I think the decision to remove `pylibmc` is a decision to deprecate
`PyLibMCCache`, this is still used
[https://github.com/search?q=%22django.core.cache.backends.memcached.PyLibMCCache%22+language%3APython&type=code
quite a bit] from what I can tell. I can't imagine that would be a popular
decision

Generally, I think this needs quite a lot of input before a decision can
be made (and probably a Django forum discussion).
Django 6.0 is due to be released until December so there's quite some time
for a release to `pylibmc` to be issued. Will mark as `Someday/Maybe` to
revisit closer to that date.
--
Ticket URL: <https://code.djangoproject.com/ticket/36153#comment:1>

Django

unread,
Jan 29, 2025, 5:30:53 AM1/29/25
to django-...@googlegroups.com
#36153: Remove or replace unmantained pylibmc package from Django dependencies
-------------------------------------+-------------------------------------
Reporter: Paolo Melchiorre | Owner: (none)
Type: Bug | Status: new
Component: Core (Cache system) | Version: dev
Severity: Normal | Resolution:
Keywords: memcached, pylibmc, | Triage Stage:
package | Someday/Maybe
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Comment (by Paolo Melchiorre):

Replying to [comment:1 Sarah Boyce]:
> * I can see in 19c4052f98e5dc4fe9d7edd7125df6a66efbd79f as part of
adding Python 3.12 support, we install `libmemcached-dev`. This doesn't
appear to be documented and we possibly need to document this.

Yes, that's the same advice I gave to Daniele Varrazzo in the psycopg
issue: https://github.com/psycopg/psycopg/issues/999

> * I think the decision to remove `pylibmc` is a decision to deprecate
`PyLibMCCache`, this is still used
[https://github.com/search?q=%22django.core.cache.backends.memcached.PyLibMCCache%22+language%3APython&type=code
quite a bit] from what I can tell. I can't imagine that would be a popular
decision

I can image it, but the project seem abandoned and we remove dependencies
in the past after a period of deprecation.

> Generally, I think this needs quite a lot of input before a decision can
be made (and probably a Django forum discussion).

Ok, I can open a thread in the forum if you think it will help having more
feedback on it.

> Django 6.0 is due to be released until December so there's quite some
time for a release to `pylibmc` to be issued. Will mark as `Someday/Maybe`
to revisit closer to that date.

I'm a bit pessimistic on that point because Daniele itself opened an issue
to request a new pylibmc release compatible with Python 3.12 long time
ago without any answer:
https://github.com/lericson/pylibmc/issues/288
--
Ticket URL: <https://code.djangoproject.com/ticket/36153#comment:2>

Django

unread,
Jan 10, 2026, 11:28:05 AMJan 10
to django-...@googlegroups.com
#36153: Remove or replace unmantained pylibmc package from Django dependencies
-------------------------------------+-------------------------------------
Reporter: Paolo Melchiorre | Owner: Moksha
| Choksi
Type: Bug | Status: assigned
Component: Core (Cache system) | Version: dev
Severity: Normal | Resolution:
Keywords: memcached, pylibmc, | Triage Stage:
package | Someday/Maybe
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Moksha Choksi):

* owner: (none) => Moksha Choksi
* status: new => assigned

--
Ticket URL: <https://code.djangoproject.com/ticket/36153#comment:3>

Django

unread,
Jan 12, 2026, 8:52:37 AM (12 days ago) Jan 12
to django-...@googlegroups.com
#36153: Remove or replace unmantained pylibmc package from Django dependencies
-------------------------------------+-------------------------------------
Reporter: Paolo Melchiorre | Owner: Moksha
| Choksi
Type: Bug | Status: assigned
Component: Core (Cache system) | Version: dev
Severity: Normal | Resolution:
Keywords: memcached, pylibmc, | Triage Stage:
package | Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Jacob Walls):

* stage: Someday/Maybe => Unreviewed

--
Ticket URL: <https://code.djangoproject.com/ticket/36153#comment:4>

Django

unread,
Jan 14, 2026, 10:00:10 AM (10 days ago) Jan 14
to django-...@googlegroups.com
#36153: Remove or replace unmantained pylibmc package from Django dependencies
-------------------------------------+-------------------------------------
Reporter: Paolo Melchiorre | Owner: (none)
Type: Bug | Status: new
Component: Core (Cache system) | Version: dev
Severity: Normal | Resolution:
Keywords: memcached, pylibmc, | Triage Stage:
package | Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Natalia Bidart):

* owner: Moksha Choksi => (none)
* status: assigned => new

Comment:

Replying to [comment:3 Moksha Choksi]:

Hey Moksha,

This ticket is not yet accepted so I would recommend focusing on accepted
tickets only. There are plenty to work on. Thank you!
--
Ticket URL: <https://code.djangoproject.com/ticket/36153#comment:5>

Django

unread,
Jan 16, 2026, 11:04:09 AM (8 days ago) Jan 16
to django-...@googlegroups.com
#36153: Remove or replace unmantained pylibmc package from Django dependencies
-------------------------------------+-------------------------------------
Reporter: Paolo Melchiorre | Owner: (none)
Type: Bug | Status: closed
Component: Core (Cache system) | Version: dev
Severity: Normal | Resolution: wontfix
Keywords: memcached, pylibmc, | Triage Stage:
package | Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Jacob Walls):

* resolution: => wontfix
* status: new => closed

Comment:

Last time we deprecated a memcached client, it turned out to be the one
that as of the time of writing has the most recent release. Perhaps that
counsels against doing anything at all for now. Closing as wontfix until
we have consensus on the forum.

[https://forum.djangoproject.com/t/should-we-stop-recommending-
pylibmc/42993 Forum thread]
--
Ticket URL: <https://code.djangoproject.com/ticket/36153#comment:6>
Reply all
Reply to author
Forward
0 new messages