They add various system packages for things like database clients, image file manipulation, and XML parsing libraries. Thus, there is no additional work that the user must do if they want to install Python packages for psycopg2, MySQLdb, Pillow or lxml. Adding these extra packages means the image will be thicker, and if you do not need these packages, it will be a waste of space.
They also do not try to trim material from the Python installation, which is not required, for example, all standard library test code catalogs. Even .pyc files can be trimmed to save space without any real effect, since a web application usually loads once during the life of the container, so having .pyc files doesn't really help you much.
As a comparison, consider the options "pythonX.Y-slim" and their size. There is no onbuild option for thin images.
You can also see my own Docker images for Python with Apache / mod_wsgi support. They are trimmed and rely on additional packages set by the user as prefabricated hooks only if necessary. For these users, Python 3.4 onbuild image size specifically for the WSGI application:
grahamdumpleton/mod-wsgi-docker python-3.4-onbuild ... 409.9 MB
The given size even includes Apache and mod_wsgi, providing you with a full-fledged WSGI server with the ability to handle static file contents and much more.
If the WSGI application is not running, start with the base image.
Mod_wsgi docker images can be found at:
Various blog entries on how to use these images for WSGI applications and how to build Docker images for Python and WSGI applications can be found by contacting the image description on the Docker site. Also stay tuned for my blog as a whole, as I will post more about Docker and Python over time.