timefyme.com API is implemented with the amazing django-rest-framework toolkit. django-rest-swagger is used in addition to render nice API pages with full documentation. Documentation text is discovered automagically with django-rest-framework, by reading API endpoint view classes docstrings.
When we started to build our API documentation system everything was working fine in development environment. However when we deployed to production site, although the API listing was there, documentation text was missing.
The culprit was the -OO
Python optimizations option used in uwsgi setup.
https://docs.python.org/2.7/using/cmdline.html#cmdoption-O
`-OO` discard docstrings in addition to theĀ `-O` optimizations
We fixed the issue by setting in uwsgi.ini of the production system the optimize value that corresponds to -O
:
optimize = 1
See: http://uwsgi-docs.readthedocs.org/en/latest/Options.html#optimize