The psycopg2 project recommends _not_ using the psycopg2-binary package.
Here are the relevant warnings:
http://initd.org/psycopg/docs/install.html#binary-install-from-pypi
> Note: The psycopg2-binary package is meant for beginners to start
> playing with Python and PostgreSQL without the need to meet the build
> requirements.
>
> If you are the maintainer of a publish package depending on psycopg2
> you shouldn’t use ‘psycopg2-binary’ as a module dependency. For
> production use you are advised to use the source distribution.
>
> Note: The binary packages come with their own versions of a few C
> libraries, among which libpq and libssl, which will be used regardless
> of other libraries available on the client: upgrading the system
> libraries will not upgrade the libraries used by psycopg2. Please
> build psycopg2 from source if you want to maintain binary
> upgradeability.
>
> Warning: The psycopg2 wheel package comes packaged, among the others,
> with its own libssl binary. This may create conflicts with other
> extension modules binding with libssl as well, for instance with the
> Python ssl module: in some cases, under concurrency, the interaction
> between the two libraries may result in a segfault. In case of doubts
> you are advised to use a package built from source.
It might be useful for a serializer with many many fields which uses
read_only and write_only on a large percentage of the fields. But the
memory usage and statefulness it adds are not worth it for the common
case.
* Added regression tests (#6504)
Co-Authored-By: Tom Quinonero <tq@3yourmind.com>
* Fix CursorPagination when objects get deleted between calls (#6504)
Co-Authored-By: Tom Quinonero <tq@3yourmind.com>
Since DRF Docs is not compatible with the latest version of DRF (or Django?; related issue: https://github.com/manosim/django-rest-framework-docs/issues/180) and the latest release is almost 3 years ago I suggest to remove the recommendation for this package.
On Python 3, the ugettext functions are a simple aliases of their non-u
counterparts (the 'u' represents Python 2 unicode type). Starting with
Django 3.0, the u versions will be deprecated.
https://docs.djangoproject.com/en/dev/releases/3.0/#id2
> django.utils.translation.ugettext(), ugettext_lazy(), ugettext_noop(),
> ungettext(), and ungettext_lazy() are deprecated in favor of the
> functions that they’re aliases for:
> django.utils.translation.gettext(), gettext_lazy(), gettext_noop(),
> ngettext(), and ngettext_lazy().
Thanks to Jon Dufresne (@jdufresne) for review.
Co-authored-by: Asif Saif Uddin <auvipy@gmail.com>
Co-authored-by: Rizwan Mansuri <Rizwan@webbyfox.com>