researching different options for serving websockets with python

lots of overlap with the recent search for python based web servers. uWSGI has an option that looks nice.,or.r_qf.&bvm=bv.48175248,d.aWc&fp=82a600f6a06a56f6&biw=990&bih=681,or.r_qf.&bvm=bv.48175248,d.aWc&fp=82a600f6a06a56f6&biw=990&bih=681,or.r_qf.&fp=82a600f6a06a56f6&biw=990&bih=681,or.r_qf.&bvm=bv.48175248,d.aWc&fp=82a600f6a06a56f6&biw=990&bih=681

references use while crafting web page to automatically refresh temperature,or.r_qf.&bvm=bv.48175248,d.aWc&fp=82a600f6a06a56f6&biw=990&bih=681,or.r_qf.&fp=bc3fba682f534136&biw=990&bih=681

seems like nginx in front of either uWSGI or gunicorn is the preferred configuration (alternative to apache and mod_python)

this was an informative discussion:

and this is a useful benchmark:,or.r_qf.&bvm=bv.47534661,d.aWc&fp=de346911d8be9af9&biw=990&bih=641,or.r_qf.&bvm=bv.47534661,d.aWc&fp=de346911d8be9af9&biw=990&bih=641,or.r_cp.r_qf.&bvm=bv.46751780,d.aWc&fp=258a3f27d23f40ad&biw=1089&bih=706,or.r_cp.r_qf.&bvm=bv.46751780,d.aWc&fp=258a3f27d23f40ad&biw=1089&bih=706,or.r_cp.r_qf.&fp=cba69c603a692dbc&biw=1241&bih=802,or.r_cp.r_qf.&bvm=bv.43828540,d.aWc&fp=cba69c603a692dbc&biw=1214&bih=722,or.r_gc.r_pw.r_cp.r_qf.&bvm=bv.43148975,d.aWc&fp=443df112168ae7b8&biw=1070&bih=704,or.r_gc.r_pw.r_cp.r_qf.&bvm=bv.41934586,d.aWc&fp=e1f9056ea2a790b0&biw=1040&bih=745,or.r_gc.r_pw.r_cp.r_qf.&bvm=bv.41934586,bs.1,d.aWc&fp=109a055c9b2c7613&biw=1068&bih=790

on this page there is a nice description of the single threaded nature of javascript:

this snippet displays the latency on your browser for executing the next cycle:

var i = 0, diff = 0, d = new Date()

var timer = setTimeout(function() {
diff += new Date() - d
timer = setTimeout(arguments.callee, 0)
if (i++==1000) {
alert("Resolution: "+diff/i)
d = new Date()
}, 0)

The key to the above, and many timing issues in javascript is:
setTimeout(function_call, 0)

also some considerations for making sure that changes to the DOM are re-rendered before continuing to the next display update.,or.r_gc.r_pw.r_qf.&bvm=bv.41018144,d.aWc&biw=987&bih=887,mod=0&sourceid=chrome&ie=UTF-8!topic/pyjs-users/Tn22Jx6-_bU,mod=0&sourceid=chrome&ie=UTF-8

moving elements:,or.r_gc.r_pw.r_qf.&fp=cacde5bfcc741c6a&biw=994&bih=616,or.r_gc.r_pw.r_qf.&fp=cacde5bfcc741c6a&biw=994&bih=616
jquery move element - Google Search
moving elements with jquery - Stack Overflow
Edit this Fiddle - jsFiddle

more model based frameworks
going to start with backbone, see how that goes...
backbone js - Google Search
knockout js - Google Search
Knockout : Home
spine js - Google Search
sammy js vs backbone js - Google Search
Backbone.js vs. sammy vs. others? - Sammy.js | Google Groups,or.r_gc.r_pw.r_qf.,cf.osb&fp=af46cba8562d9be&biw=866&bih=687
sammy js - Google Search
Sammy.js / A Small Web Framework with Class / RESTFul Evented JavaScript
Tutorials, blog posts and example sites · documentcloud/backbone Wiki · GitHub
Backbone.js Todos
documentcloud/backbone · GitHub
documentcloud/underscore · GitHub,or.r_gc.r_pw.r_qf.,cf.osb&fp=6444ccfd1295e99d
javascript drag item - Google Search
jquery - Javascript Drag and drop for touch devices - Stack Overflow,or.r_gc.r_pw.r_qf.,cf.osb&fp=6444ccfd1295e99d
javascript libraries comparison - Google Search
Compare JS MVC frameworks implementing the same site: TodoMVC | Hacker News
Javascript Graphs and Charts libraries | Comparison tables - SocialCompare
JavaScript library - Wikipedia, the free encyclopedia
Make the Web Faster — Google Developers
backbone js - Google Search
Projects and Companies using Backbone · documentcloud/backbone Wiki · GitHub
Zepto.js: the aerogel-weight jQuery-compatible JavaScript library
underscore js - Google Search
Sass - Syntactically Awesome Stylesheets
Compass Home | Compass Documentation
LESS « The Dynamic Stylesheet language
node js - Google Search
Node.js - Wikipedia, the free encyclopedia
Content delivery network - Wikipedia, the free encyclopedia,or.r_gc.r_pw.r_qf.,cf.osb&fp=6444ccfd1295e99d
jquery post large list - Google Search
json - jQuery Large List Performance - Stack Overflow
JQuery HowTo: 5 easy tips on how to improve code performance with huge data sets in jQuery
Session Size Limit... | CodeIgniter Forums
javascript - jQuery ui sortable toArray skips 1 item - Stack Overflow
jQuery UI - Sortable Demos & Documentation
jquery post request - Google Search
5 Ways to Make Ajax Calls with jQuery | Nettuts+
Ajax – jQuery API – jQuery API,or.r_gc.r_pw.r_qf.,cf.osb&fp=6444ccfd1295e99d
jquery sortable with position field - Google Search
jQuery UI Sortable Position - Stack Overflow
Edit this Fiddle - jsFiddle
jquery list to json - Google Search
javascript - Serializing to JSON in jQuery - Stack Overflow
Convert select list to JSON using jQuery - Stack Overflow

looking into different options for a sortable list, preferably with multiple select options...
would be nice if click,shift-click worked to select,or.r_gc.r_pw.r_cp.r_qf.,cf.osb&fp=cb5928975d0a7e48&ix=seb&ion=1&biw=1024&bih=514

This is a nice working example, that seems simple enough
no longer maintained
(forgot about multiple select at this point though)

seems like using an android device might be the easiest way to get a wireless video system
for wearable computer vision.
python process video - Google Search
Most used Python module for video processing? - Stack Overflow,or.r_gc.r_pw.&fp=d5c279fcc719c6fe&biw=1024&bih=514
opencv android tutorial - Google Search
Android - OpenCV Wiki
Using Android binary package with Eclipse — OpenCV v2.3 documentation
Using C++ OpenCV code with Android binary package — OpenCV v2.3 documentation
Welcome - OpenCV Wiki
FullOpenCVWiki - OpenCV Wiki
VideoCodecs - OpenCV Wiki
VideoSurveillance - OpenCV Wiki,or.r_gc.r_pw.&fp=d5c279fcc719c6fe&biw=1024&bih=514
wireless video transmitter wearable - Google Search
COFDM Wireless Video Transmitters | Covert | Portable | Surveillance
android devices - Google Search
Comparison of Android devices - Wikipedia, the free encyclopedia
xcode configure new project - Google Search
Tutorial: Building Configure/Make Projects in Xcode | MacResearch
Understanding Xcode Projects
xcode python - Google Search
An Epic Introduction to PyObjC and Cocoa @ Irrational Exuberance
Epic PyObjC, Part 2: Adding a Library & Bindings @ Irrational Exuberance
Python, XCode and OSX based GUIs « Clark's Tech Blog
pyobjc open window - Google Search
Building Cocoa GUIs in Python with PyObjC, Part Four - Jul 4, 2008
PyObjC/PyObjC Core - Creating your first PyObjC application.
PyObjC/PyObjC Core - Understanding existing PyObjC examples
PyObjC Tutorial
py2app - Google Search
py2app - Create standalone Mac OS X applications with Python - Google Search
Cocoa with Love: Minimalist Cocoa programming
nsautoreleasepool - Google Search
NSAutoreleasePool Class Reference
AppleScript ObjC - Temperature Converter Demo

many many windows open... time to clean up:

qtmovie example - Google Search
Developing Applications with the QuickTime for Cocoa Kit
Mac OS X Reference Library
Cocoa Application Tutorial: Introduction to Cocoa Application Tutorial
Learning Objective-C: A Primer
QTKit Application Tutorial: Creating a Simple QTKit Media Player Application
Movie Overlay: ReadMe.txt
Developing Applications With The QuickTime For Cocoa Kit
Using the QTKit Framework
QTMovie Class Reference
CocoaDev: QTMovie
Playing movies with QTMovieView - MacRumors Forums
MacScripter / QTMovieVIew
QTMovieView Class Reference

objective c quicktime video playback example - Google Search
iOS Dev Center - Apple Developer
iOS Dev Center - Apple Developer
Mac OS X Technology Overview: Introduction to Mac OS X Technology Overview
Mac OS X Technology Overview: Graphics and Multimedia Technologies
OpenGL Programming Guide for Mac OS X: About OpenGL for Mac OS X
OpenGL Programming Guide for Mac OS X: Drawing to the Full Screen
Cocoa Fundamentals Guide: What Is Cocoa?
Ruby and Python Programming Topics for Mac OS X: Introduction to Ruby and Python Programming Topics for Mac OS X
The Objective-C Programming Language: Introduction to The Objective-C Programming Language
QTKit Application Tutorial: Creating a Simple QTKit Media Player Application
QTKit Application Programming Guide: QTKit Architecture
QTKit Framework Reference
Resource Programming Guide: Image, Sound, and Video Resources
Resource Programming Guide: Nib Files
cocoa bindings - Google Search
Cocoa Bindings Programming Topics: Introduction to Cocoa Bindings Programming Topics
Cocoa Bindings Programming Topics: What Are Cocoa Bindings?

pyobjc - Google Search
python - PyObjc vs RubyCocoa for Mac development: Which is more mature? - Stack Overflow
Using PyObjC for Developing Cocoa Applications with Python
PyObjC - A python<->Objective-C Bridge
PyObjC - A python<->Objective-C Bridge PyObjC: pyobjc-dev
PyObjC Examples
Examples for Cocoa
Examples for InstantMessage
Examples for ScreenSaver
pyobjc iboutlet - Google Search

PyGUI - Overview
PyGUI - Screenshots
PyOpenGL -- The Python OpenGL Binding
Installing (and Building) PyOpenGL
Python Package Index : PyOpenGL 3.0.1
pyopengl mac - Google Search

Quicktime examples:
MPMoviePlayerController Class Reference
 » Development » PyObjC » trunk » pyobjc » pyobjc-framework-QTKit » PyObjCTest » Python Open Source
Koders Code Search: - Python - GPL
PyObjC Hello World :
AppleScriptObjC Release Notes
Psykinematix: Visual Psychophysics Made Easy on Mac OS X
qtkit command line - Google Search
Re: QTKit from a command-line app

cocoa without interface builder:
cocoa without interface builder - Google Search
objective c - How do I create Cocoa interfaces without Interface Builder? - Stack Overflow
Building iPhone Applications without Interface Builder on Vimeo
Re: How to create an interface without interface builder
cocoa windows and views - Google Search
Cocoa Application Tutorial: Defining the View: Building the User Interface
cocoa nswindow - Google Search
NSWindow Class Reference
google app engine framework python - Google Search
Google App Engine - Wikipedia, the free encyclopedia
AppEngineFrameworks - tipfy - Project Hosting on Google Code
Which python framework is best for web development in google app engine? - Stack Overflow
tipfy - Project Hosting on Google Code
Installation -
Tutorials -
User Authentication Tutorial -
Hello, World! Tutorial -
Welcome to Tipfy’s documentation! — Tipfy v0.5.4 documentation
tipfy.ext.db — Tipfy v0.5.4 documentation
tipfy.ext.blobstore — Tipfy v0.5.4 documentation
tipfy.ext.mako — Tipfy v0.5.4 documentation
werkzeug - Google Search
Welcome // Werkzeug
Mako Templates for Python
pytz - Google Search
Pyjamas Examples
Pyjamas Web Widget Set | Download Pyjamas Web Widget Set software for free at
Re Problem with JSONRPC and pyjd - pyjamas-dev | Google Groups
pyjamas desktop - Google Search
Advogato: Pyjamas - Python Applications for Desktop and Web
pyjamas desktop - Google Search
Issue 398 - pyjamas - Ubuntu 10.04 removed a critical dependency package for pyjd (python-hulahop) - Project Hosting on Google Code
[ubuntu] Can't find python-hulahop in 10.04 - Ubuntu Forums
olpc python hulahop - | Google Groups
pyjamas - Google Search
Pyjamas - Python Javascript Compiler, Desktop Widget Set and RIA Web Framework
Pyjamas - Python Javascript Compiler, Desktop Widget Set and RIA Web Framework
The ui Module Class Hierarchy
pyjamas-0.7.tgz - pyjamas - Pyjamas 0.7 Release - Project Hosting on Google Code
Pyjamas Book
Index of file:///c/downloads/python/pyjamas-0.7/examples/
Addons Gallery
python-hulahop - Google Search
HulaHop - OLPC
Tree for mainline in hulahop - Gitorious
Sugar Labs—learning software for children
Downloads - Sugar Labs
Supported systems - Sugar Labs
Community/Distributions/Ubuntu - Sugar Labs
UbuntuSugarRemix - Ubuntu Wiki
Community/Distributions/Debian - Sugar Labs

more links
Google App Engine - Google Code
Dashboard - Moments
Downloads - Google App Engine - Google Code
App Engine Python Overview - Google App Engine - Google Code
Getting Started: Python - Google App Engine - Google Code
Uploading and Managing a Python App - Google App Engine - Google Code
google python app engine - Google Search
Google App Engine - Google Code
What Is Google App Engine? - Google App Engine - Google Code
Downloads - Google App Engine - Google Code
Google App Engine FAQs - Google App Engine - Google Code
Developer's Guide - Google App Engine - Google Code
The Users Python API - Google App Engine - Google Code
Python Runtime Environment - Google App Engine - Google Code
The Python Datastore API - Google App Engine - Google Code
The webapp Framework - Google App Engine - Google Code
Getting Started: Python - Google App Engine - Google Code
Using the webapp Framework - Google App Engine - Google Code
python record audio - Google Search
PyAudio: PortAudio v19 Python Bindings
PyAudio: PortAudio v19 Python Bindings
Detect & Record Audio in Python - Stack Overflow
PortAudio - an Open-Source Cross-Platform Audio API
PortAudio - an Open-Source Cross-Platform Audio API
python non-blocking audio IO - Google Search
PyCon 2010: Demystifying Non-Blocking and Asynchronous I/O (#164) - Python Miro Community
Python Miro Community (since 2005)
PyCon 2010:Demystifying Non-Blocking and Asynchronous I/O (#164)
TMH KTH :: Snack Home Page
EtherPad: 68
Home - PyCon 2010 Atlanta - A Conference for the Python Community
Talks (asynchronous_io) - PyCon 2010 Atlanta - A Conference for the Python Community
TutorialDir/TutorialStart – PortAudio
PortAudio - an Open-Source Cross-Platform Audio API
PortAudio - an Open-Source Cross-Platform Audio API
David's Python Resources
portaudio python - Google Search
Python Package Index : PyAudio 0.2.3
TutorialDir/BlockingReadWrite – PortAudio
python easy_install release package - Google Search
How to publish Python modules - PythonInfo Wiki
PublishingPythonModules - PythonInfo Wiki
Python Package Index : Moments 0.2beta
7. Uploading Packages to the Package Index — Python v2.6.2 documentation - How To Publish Your Own Python Modules
Writing a Package in Python
EasyInstall - The PEAK Developers' Center
Python package management — Martin Aspeli
Distributing Python Modules — Python v2.6.2 documentation
1. An Introduction to Distutils — Python v2.6.2 documentation

: form_alchemy.txt
formalchemy - Google Code
formalchemy.forms – Form generation — FormAlchemy v1.2 documentation
Pylons integration — FormAlchemy v1.2 documentation
formalchemy.forms – Form generation — FormAlchemy v1.2 documentation
formalchemy.tables – Rendering collections — FormAlchemy v1.2 documentation
FormAlchemy | Google Groups
Mapper Configuration — SQLAlchemy 0.5.3 Documentation