#28905: Overhaul extra_requires to include more optional dependencies -------------------------------------+------------------------------------- Reporter: Jaap Roes | Owner: Nick Pope Type: | Status: assigned Cleanup/optimization | Component: Packaging | Version: master Severity: Normal | Resolution: Keywords: setup optional | Triage Stage: Accepted dependencies packages | requirements | Has patch: 1 | Needs documentation: 0 Needs tests: 0 | Patch needs improvement: 0 Easy pickings: 1 | UI/UX: 0 -------------------------------------+-------------------------------------
Comment (by Jaap Roes): Thanks Nick for taking this ticket and trying to move it forwards. The additional documentation about optional dependencies makes so much sense, it alone would satisfy some of the discoverability issues with optional dependencies. It would be nice if the overview of optional dependencies could link to the relevant sections in the docs. E.g. caching, databases, GIS, password hashers, template engines, serializers etc. The grouping/inclusion of dependencies seems to be the main stumbling block. Adding `extra_requires` groups adds a maintenance burden on these groups, as in, they'll need to work for future versions of Django. For this reason I think it's probably not the right choice to name groups directly after the package they are installing (`pylibmc`, `pyinotify`, `selenium` etc.). Maybe it would be easier to just start out with just adding the database extra's? Those seem non-controversial and the package names and version specs are non-obvious, so having those in Django's `setup.py` has a clear advantage. It might also be interesting to figure out how to "deprecate" extra requirement groups, so at some point it would be possible to phase out the `bcrypt` or `argon2` extra requirements. I was also thinking, extra requirements would also be a nice place to include other "official" Django projects. E.g. `pip install django[mysql,localflavor,comments]` or `pip install django[postgresql,channels]`. Anyway, I don't think this ticket will go anywhere until someone with a more authoritative voice makes a decision what's wanted and unwanted. -- Ticket URL: <https://code.djangoproject.com/ticket/28905#comment:15> Django <https://code.djangoproject.com/> The Web framework for perfectionists with deadlines. -- You received this message because you are subscribed to the Google Groups "Django updates" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-updates+unsubscr...@googlegroups.com. To post to this group, send email to django-updates@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-updates/063.79be01f75a024d3565d45afcdf7e686c%40djangoproject.com. For more options, visit https://groups.google.com/d/optout.