This has been briefly discussed before, but we need to form a consensus on whether we vendor or depend on the multipledispatch <https://github.com/mrocklin/multipledispatch> library for the following PR: https://github.com/django/django/pull/6395
The brief overview of the patch is to allow operators on different expressions to generate different SQL. An example: .annotate(combined=F('cost') + F('tax')) -> SELECT .. cost + tax as combined .. .annotate(combined=F('first_name') + F('last_name')) -> SELECT .. CONCAT(first_name, last_name) .. As you can see, the operators are the same (+) but most (all?) SQL dialects don't allow you to use the + symbol for concatenation. As for whether or not to add the dependency we can look to https://github.com/django/deps/blob/master/draft/0007-dependency-policy.rst for guidance. I'll copy the guidelines below: - Stable *- there aren't many releases. Seems to keep up to date with Python releases but not much else.* - Maintained *- last release was 3 months ago, but see point above.* - Takes security seriously* - N/A to date* - Works on all the same platforms as Django does* - Yes* - Backwards compatible in minor releases*. - Yes* - Confident that point-releases of won't break Django. *- Yes.* I believe multipledispatch meets all the criteria for being an acceptable dependency. I don't see much value in vendoring the library if we're going to need to remember to keep it up to date with Django releases. The precedent was set with pytz recently. Does anyone have a problem with declaring multipledispatch as a dependency? Thanks -- You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-developers+unsubscr...@googlegroups.com. To post to this group, send email to django-developers@googlegroups.com. Visit this group at https://groups.google.com/group/django-developers. To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/d46cfb10-1698-4534-8a0f-ec5d75b5226d%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.