#sphinx needs this, along with some static site generators (charlesbrandt.com)
sudo pip install docutils
Markdown vs ReStructured Text
Considering converting all documents to markdown instead of ReStructured Text (ReST or Rst). Markdown is everywhere these days. The only thing keeping me from that is the fact that Sphinx uses ReST, and Sphinx is pretty great.
https://www.google.com/search?q=restructured+text+vs+markdown&oq=restructured+text+vs+markdown&aqs=chrome..69i57.6699j0j1&sourceid=chrome&espv=210&es_sm=91&ie=UTF-8
http://stackoverflow.com/questions/34276/markdown-versus-restructuredtext
http://stackoverflow.com/questions/659227/compare-and-contrast-the-lightweight-markup-languages?lq=1
Could use a tool like pandoc to help with the conversion:
http://stackoverflow.com/questions/10770353/how-to-convert-restructuredtext-files-with-images-to-markdown
http://johnmacfarlane.net/pandoc/try/
http://johnmacfarlane.net/pandoc/
http://johnmacfarlane.net/pandoc/installing.html
https://code.google.com/p/pandoc/downloads/detail?name=pandoc-1.12.2.1.pkg.zip&can=2&q=
sometimes it is useful to add a path to the Python path to find a module that you don't want to install system wide:
import os, sys
#add parent's parent directory to path to find module if not installed
sys.path.append(os.path.dirname(os.getcwd()))
This is especially useful for unit tests if the module is not installed system wide:
/c/templates/template_test.py
Drag and Drop using Knockout and HTML5
References for Drag and Drop using Knockout have improved dramatically over the last 8 months. It looks like many of these have been around for a while, but the search results have improved, making them more accessible.
I found this post useful:
http://stackoverflow.com/questions/7218171/knockout-html5-drag-and-drop
Especially this fiddle:
http://jsfiddle.net/marrok/m63aJ/
This also looks like a well refined binding:
https://github.com/One-com/knockout-dragdrop
complete with a nice demo:
http://one-com.github.io/knockout-dragdrop/
Still many of the results depend on JQuery UI integration, but Knockout and HTML5 and these approaches make it much easier to handle drag and drop without limiting yourself to JQuery UI approaches.
https://www.google.com/search?q=uwsgi&oq=uwsgi&aqs=chrome..69i57.1498j0j4&sourceid=chrome&espv=210&es_sm=91&ie=UTF-8#es_sm=91&espv=210&q=uwsgi+multiple+applications
https://github.com/unbit/uwsgi-docs/blob/master/StaticFiles.rst
http://fartersoft.com/blog/2012/04/22/deployment-of-multiple-web-py-applications-using-uwsgi-and-nginx-on-ubuntu/
http://projects.unbit.it/uwsgi/wiki/VirtualHosting
https://github.com/unbit/uwsgi-docs
http://uwsgi-docs.readthedocs.org/en/latest/
http://uwsgi-docs.readthedocs.org/en/latest/WSGIquickstart.html
http://uwsgi-docs.readthedocs.org/en/latest/Emperor.html
https://www.google.com/search?q=uwsgi+websockets&oq=uwsgi+websockets&aqs=chrome..69i57.3698j0j1&sourceid=chrome&espv=210&es_sm=91&ie=UTF-8
http://haineault.com/blog/177/
http://arunrocks.com/real-time-applications-and-will-django-adapt-to-it/
https://github.com/unbit/uwsgi-docs
http://uwsgi-docs.readthedocs.org/en/latest/
see also:
/c/technical/python/deployment.txt
/c/technical/python/frameworks.txt
https://www.google.com/search?q=python+websockets&oq=python+websockets&aqs=chrome..69i57.2803j0j1&sourceid=chrome&espv=210&es_sm=91&ie=UTF-8
https://devcenter.heroku.com/articles/python-websockets
http://autobahn.ws/
http://stackoverflow.com/questions/5839054/websocket-server-in-python
https://gist.github.com/jkp/3136208
https://code.google.com/p/pywebsocket/
https://gist.github.com/prasinoulhs/6314626
https://www.google.com/search?q=mod_wsgi+websocket&oq=mod_wsgi+websocket&aqs=chrome..69i57.23835j0j1&sourceid=chrome&espv=210&es_sm=91&ie=UTF-8
https://groups.google.com/forum/#!topic/modwsgi/5gQ2JIXfMYw
https://mail.python.org/pipermail/web-sig/2012-May/005174.html
https://www.google.com/search?q=python+webserver+benchmarks&oq=python+webserver+benchmarks&aqs=chrome..69i57.5907j0j1&sourceid=chrome&espv=210&es_sm=91&ie=UTF-8
http://nichol.as/benchmark-of-python-web-servers
http://www.fapws.org/
http://www.kegel.com/c10k.html
https://www.google.com/search?q=gevent+websockets&oq=gevent+websockets&aqs=chrome..69i57.6164j0j1&sourceid=chrome&espv=210&es_sm=91&ie=UTF-8
https://gist.github.com/lrvick/1185629
https://www.google.com/search?q=javascript+ws.send&oq=javascript+ws.send&aqs=chrome..69i57.4579j0j1&sourceid=chrome&espv=210&es_sm=91&ie=UTF-8
http://www.tutorialspoint.com/html5/html5_websocket.htm
paver helps manage a project: (?)
https://www.google.com/search?q=paver&oq=paver&aqs=chrome..69i57.866j0j1&sourceid=chrome&espv=210&es_sm=91&ie=UTF-8
http://paver.github.io/paver/
fabric helps automate deployment to remote servers:
https://www.google.com/search?q=fabric&oq=fabric&aqs=chrome..69i57.1082j0j1&sourceid=chrome&espv=210&es_sm=91&ie=UTF-8#es_sm=91&espv=210&q=fabric+python
http://docs.fabfile.org/en/1.8/
tools for monitoring and launching processes:
https://www.google.com/search?q=python+process+monitors&oq=python+process+monitors&aqs=chrome..69i57.4349j0j1&sourceid=chrome&espv=210&es_sm=91&ie=UTF-8
http://stackoverflow.com/questions/13598487/constantly-monitor-a-program-process-using-python
http://circus.readthedocs.org/en/latest/
http://circus.readthedocs.org/en/latest/tutorial/rationale/
http://supervisord.org/introduction.html#overview
uWSGI also has Emperor for monitoring web applications.
http://uwsgi-docs.readthedocs.org/en/latest/Emperor.html
This is a great comparison of the different python centric webservers available:
http://nichol.as/benchmark-of-python-web-servers
uWSGI
fapws3
and gevent
all come out on top
although Apache + mod_wsgi is really good too!!
start_time = time.time()
main()
print time.time() - start_time, "seconds"
often useful to watch for file changes and restart a server in response, or recompile some CSS.
Many servers will detect changes automatically and apply changes accordingly.
Bottle is not one that will.
Python's Watchdog looks like a nice system:
http://pythonhosted.org/watchdog/
https://github.com/gorakhargosh/watchdog
See also:
/c/templates/web/less/README.txt