{
"info": {
"author": "Nikolay Kim",
"author_email": "fafhrd91@gmail.com",
"bugtrack_url": null,
"classifiers": [
"Framework :: Pyramid",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python",
"Programming Language :: Python :: 2.6",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: Implementation :: CPython",
"Topic :: Internet :: WWW/HTTP",
"Topic :: Internet :: WWW/HTTP :: WSGI"
],
"description": "pyramid_sockjs\n==============\n\n`pyramid_sockjs` is a `gevent `_-based `SockJS `_ integration for \n`Pyramid `_. SockJS interface is implemented as a \n`pyramid route `_. pyramid_sockjs runs inside \na WSGI application rather than WSGI server. This means all of your previous WSGI/Pyramid experience will be\nrelevant. Its possible to create any number of different sockjs routes, ie \n`/__sockjs__/*` or `/mycustom-sockjs/*`. You can provide different session implementation \nand management for each sockjs route.\n\nGevent based server is required for ``pyramid_sockjs``. \nFor example ``gunicorn`` with gevent worker. ``pyramid_sockjs`` provides\nsimple gevent based paster server runner::\n\n [server:main]\n use = egg:pyramid_sockjs#server\n host = 0.0.0.0\n port = 8080\n\nExample of sockjs route::\n\n def main(global_settings, **settings):\n config = Configurator(settings=settings)\n config.add_sockjs_route(prefix='/__sockjs__')\n\n return config.make_wsgi_app()\n\n\nClient side code::\n\n \n \n\n.. image :: https://secure.travis-ci.org/fafhrd91/pyramid_sockjs.png\n :target: https://secure.travis-ci.org/fafhrd91/pyramid_sockjs\n\n\nInstallation\n------------\n\n1. Install virtualenv::\n\n $ wget https://raw.github.com/pypa/virtualenv/master/virtualenv.py\n $ python2.7 ./virtualenv.py --no-site-packages sockjs\n\n2. Install gevent 1.0rc2 (non-Windows)::\n\n $ ./sockjs/bin/pip install https://github.com/downloads/SiteSupport/gevent/gevent-1.0rc2.tar.gz\n\n2. Install gevent 1.0rc1 (Windows, 32bit Python 2.7)::\n\n $ ./sockjs/Scripts/easy_install https://github.com/downloads/SiteSupport/gevent/gevent-1.0rc2.win32-py2.7.exe\n\n3. Clone pyramid_sockjs from github and then install::\n\n $ git clone https://github.com/fafhrd91/pyramid_sockjs.git\n $ cd pyramid_sockjs\n $ ../sockjs/bin/python setup.py develop\n\nTo run chat example use following command::\n\n $ ./sockjs/bin/python ./pyramid_sockjs/examples/chat.py\n\n\nSupported transports\n--------------------\n\n* websocket (`hixie-76 `_\n and `hybi-10 `_)\n* `xhr-streaming `_\n* `xhr-polling `_\n* `iframe-xhr-polling `_\n* iframe-eventsource (`EventSource `_ used from an \n `iframe via postMessage `_)\n* iframe-htmlfile (`HtmlFile `_\n used from an `iframe via postMessage `_.)\n* `jsonp-polling `_\n\n\nLimitations\n-----------\n\n- Pyramid sockjs does not support multple websocket session with same session id.\n\n- gevent does not support Python 3\n\n- Pyramid sockjs can't detect client disconnection on heroku.\n\n\nRequirements\n------------\n\n- Python 2.6/2.7\n\n- `virtualenv `_\n\n- `gevent 1.0rc2 or greater `_\n\n- `gevent-websocket 0.3.6 or greater `_\n\n- `gunicorn 0.14.3 or greater `_\n\n\nExamples\n--------\n\nYou can find several `examples` in the pyramid_sockjs repository at github.\n\nhttps://github.com/fafhrd91/pyramid_sockjs/tree/master/examples\n\nLicense\n-------\n\npyramid_sockjs is offered under the MIT license.\n\n=======\nCHANGES\n=======\n\n0.3.9 (2013-01-08)\n==================\n\n- Use unquote_plus instead of unquote for jsonp transport @DustyHarry\n\n\n0.3.8 (2012-11-15)\n==================\n\n- Update sockjs-protocol-0.3.3\n\n- Fix TypeError in Session.__str__ method\n\n- Fix eventsource transport for gevent 1.0b3 version\n\n\n0.3.7 (2012-07-16)\n==================\n\n- Explicitly open session before accept any incoming messages,\n for webscoket transport.\n\n\n0.3.6 (2012-06-21)\n==================\n\n- Possible session hijacking #7\n\n- Use Configurator action for session gc start. #6\n\n\n0.3.5 (2012-05-19)\n==================\n\n- fixed close/closed session states for websocket transport.\n\n- removed gunicorn monkey patche. gunicorn 0.14.3 is required.\n\n\n0.3.4 (2012-05-06)\n==================\n\n- Fixed datetime serialization, assume all datetime objects in utc tz.\n\n\n0.3.3 (2012-05-02)\n==================\n\n- Pass `request` to session factory\n\n\n0.3.2 (2012-04-02)\n==================\n\n- Make 'cookie_needed' is configuration option\n\n- Update sockjs-protocol 0.3\n\n\n0.3.1 (2012-03-27)\n==================\n\n- Fixed python2.6 compatibility. See #1\n\n\n0.3.0 (2012-03-26)\n==================\n\n- Hixie 75/76 websocket protocol added\n\n\n0.2.1 (2012-03-20)\n==================\n\n- Fixed websocket frame with '[]'\n\n- Update cors headers for dev protocol compliance\n\n\n0.2 (2012-03-16)\n================\n\n- Fixed `ujson` support\n\n\n0.1 (2012-02-23)\n================\n\n- Initial release",
"description_content_type": null,
"docs_url": null,
"download_url": "UNKNOWN",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/fafhrd91/pyramid_sockjs/",
"keywords": null,
"license": "MIT",
"maintainer": null,
"maintainer_email": null,
"name": "pyramid_sockjs",
"package_url": "https://pypi.org/project/pyramid_sockjs/",
"platform": "UNKNOWN",
"project_url": "https://pypi.org/project/pyramid_sockjs/",
"project_urls": {
"Download": "UNKNOWN",
"Homepage": "https://github.com/fafhrd91/pyramid_sockjs/"
},
"release_url": "https://pypi.org/project/pyramid_sockjs/0.3.9/",
"requires_dist": null,
"requires_python": null,
"summary": "SockJS server implementation for Pyramid.",
"version": "0.3.9"
},
"last_serial": 797651,
"releases": {
"0.1": [
{
"comment_text": "",
"digests": {
"md5": "8885af8aef0b271c7700a6148ffdbfce",
"sha256": "687042783d2b4069d3c6822bcfc2495aecf0025b88ae26b6889627435d448f48"
},
"downloads": -1,
"filename": "pyramid_sockjs-0.1.tar.gz",
"has_sig": false,
"md5_digest": "8885af8aef0b271c7700a6148ffdbfce",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 60272,
"upload_time": "2012-02-23T20:03:40",
"url": "https://files.pythonhosted.org/packages/4f/11/2124854bf85fb2ba6cd467e66fa40c61fa24026a541f2b530647f2a0d93b/pyramid_sockjs-0.1.tar.gz"
}
],
"0.2": [
{
"comment_text": "",
"digests": {
"md5": "d685570a28d6a25cd62c2b6313af18e0",
"sha256": "9ec806453ea50b20eabac673468abbf4125d45fc5e6bfea60920a8871415ab92"
},
"downloads": -1,
"filename": "pyramid_sockjs-0.2.tar.gz",
"has_sig": false,
"md5_digest": "d685570a28d6a25cd62c2b6313af18e0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 60502,
"upload_time": "2012-03-16T17:39:42",
"url": "https://files.pythonhosted.org/packages/ba/ff/73824565cc322812781b62ece205ae1bdcc35950e3587dd4c4e3d4afa49c/pyramid_sockjs-0.2.tar.gz"
}
],
"0.2.1": [
{
"comment_text": "",
"digests": {
"md5": "4deae37c107c245bbf00d6dcc70e02f5",
"sha256": "970fd4c975ce6271e7e0a3a6cc40e76f5027a000cc2c1160dec937a112bbdb78"
},
"downloads": -1,
"filename": "pyramid_sockjs-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "4deae37c107c245bbf00d6dcc70e02f5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 60732,
"upload_time": "2012-03-20T19:59:11",
"url": "https://files.pythonhosted.org/packages/96/2c/1dcbc63436180fd6ba52315ae4788b289de411b52d527e4c1fb9468d8d5f/pyramid_sockjs-0.2.1.tar.gz"
}
],
"0.3.0": [
{
"comment_text": "",
"digests": {
"md5": "70cce677aa92817b5afd8d279abd797c",
"sha256": "d7e965af4dfc7c7d7b9b670fd78aaa98aeae22b28fc0db7f7454a3ff31f804fe"
},
"downloads": -1,
"filename": "pyramid_sockjs-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "70cce677aa92817b5afd8d279abd797c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 61801,
"upload_time": "2012-03-27T03:20:21",
"url": "https://files.pythonhosted.org/packages/b7/89/75af371f481a75d8a870bd4f800bf2766197e20d09d6cf131e26afc313e8/pyramid_sockjs-0.3.0.tar.gz"
}
],
"0.3.1": [
{
"comment_text": "",
"digests": {
"md5": "48814e06602c1b1c69dc9048afd3670e",
"sha256": "205ce4fa28ad8cc610b2bdc4ae2e5ee604a84c131401d628bfb62f36a39159cc"
},
"downloads": -1,
"filename": "pyramid_sockjs-0.3.1.tar.gz",
"has_sig": false,
"md5_digest": "48814e06602c1b1c69dc9048afd3670e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 61684,
"upload_time": "2012-03-27T18:07:59",
"url": "https://files.pythonhosted.org/packages/0f/ec/9df9a4b142f5a8451841cd960488b8b72e8499d09ff66d0661334dbef8ed/pyramid_sockjs-0.3.1.tar.gz"
}
],
"0.3.2": [
{
"comment_text": "",
"digests": {
"md5": "ba12807db66c94561fc5c653fe68c7fe",
"sha256": "c7a6c57c3aefb7e49436b0ecbc8f8092d2a91cddc70d7f27598750b12f572eae"
},
"downloads": -1,
"filename": "pyramid_sockjs-0.3.2.tar.gz",
"has_sig": false,
"md5_digest": "ba12807db66c94561fc5c653fe68c7fe",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 62405,
"upload_time": "2012-04-02T17:59:48",
"url": "https://files.pythonhosted.org/packages/1b/18/6d9797d1b7f9523c6f2fedde50aaf1a1ede7118335d333055f188048a586/pyramid_sockjs-0.3.2.tar.gz"
}
],
"0.3.3": [
{
"comment_text": "",
"digests": {
"md5": "ed778c517630455bd0d852c387b8d347",
"sha256": "964f1eca3a2cc444f9fcdd43624ccaa5435c661ccb00c00088ad5a193374af57"
},
"downloads": -1,
"filename": "pyramid_sockjs-0.3.3.tar.gz",
"has_sig": false,
"md5_digest": "ed778c517630455bd0d852c387b8d347",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 60021,
"upload_time": "2012-05-03T06:32:05",
"url": "https://files.pythonhosted.org/packages/88/12/5da7cbad7f7834fe75afd3fd954a19d1125ea102816b22be65014e69d453/pyramid_sockjs-0.3.3.tar.gz"
}
],
"0.3.4": [
{
"comment_text": "",
"digests": {
"md5": "c21668553907a706ef05c02f6ee14137",
"sha256": "2c5e3fd6e437425297e45f72b81303fb10daded9f352f623785ea3f15fd7e772"
},
"downloads": -1,
"filename": "pyramid_sockjs-0.3.4.tar.gz",
"has_sig": false,
"md5_digest": "c21668553907a706ef05c02f6ee14137",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 60053,
"upload_time": "2012-05-06T20:01:50",
"url": "https://files.pythonhosted.org/packages/f2/85/3148cf1a8bb425099d6e3cb113993b95a8feca8951ebd2467961858b7950/pyramid_sockjs-0.3.4.tar.gz"
}
],
"0.3.5": [
{
"comment_text": "",
"digests": {
"md5": "e40f8ed3561abe23fc7698bbcd5c12f7",
"sha256": "a0acd34eaa73b9539a961d8579d144caa58eec51566fb177534cf26c6dd31b2e"
},
"downloads": -1,
"filename": "pyramid_sockjs-0.3.5.tar.gz",
"has_sig": false,
"md5_digest": "e40f8ed3561abe23fc7698bbcd5c12f7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 60202,
"upload_time": "2012-05-20T04:02:33",
"url": "https://files.pythonhosted.org/packages/6d/80/f997a574354dcd2a9a5090c9f8b2d18461f6f3571c9d71025d64790125fb/pyramid_sockjs-0.3.5.tar.gz"
}
],
"0.3.6": [
{
"comment_text": "",
"digests": {
"md5": "ce54c25d8e6f70256dcb321112c22bf3",
"sha256": "f9c84e64a0885c2bdcc30bb1b9d1113fd53ca9c4e0706cb371e36349b7f32e8c"
},
"downloads": -1,
"filename": "pyramid_sockjs-0.3.6.tar.gz",
"has_sig": false,
"md5_digest": "ce54c25d8e6f70256dcb321112c22bf3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 61265,
"upload_time": "2012-06-21T20:54:12",
"url": "https://files.pythonhosted.org/packages/08/12/7126afc457ddca5b254818a0008926a028c997e1793f384d44095d7f277f/pyramid_sockjs-0.3.6.tar.gz"
}
],
"0.3.7": [
{
"comment_text": "",
"digests": {
"md5": "8a6ccbfec5e89fc0544d4419939064a2",
"sha256": "67e264998bb5b4b155d8f0bf124f8fbfee0ab7a2abe3dfb852254ff6d0176127"
},
"downloads": -1,
"filename": "pyramid_sockjs-0.3.7.tar.gz",
"has_sig": false,
"md5_digest": "8a6ccbfec5e89fc0544d4419939064a2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 60479,
"upload_time": "2012-07-17T02:03:08",
"url": "https://files.pythonhosted.org/packages/ca/c2/c0c27ea31680ca5344dc8ff71b86203654be5ecbbcbb81ddcf0e46b94b9d/pyramid_sockjs-0.3.7.tar.gz"
}
],
"0.3.8": [
{
"comment_text": "",
"digests": {
"md5": "62014156f0d9c9b19f4e3e71d9324d76",
"sha256": "dbc98de34bf549f0b5c6797e860a032e83a6de83cb6bca27209d1f37500e1e86"
},
"downloads": -1,
"filename": "pyramid_sockjs-0.3.8.tar.gz",
"has_sig": false,
"md5_digest": "62014156f0d9c9b19f4e3e71d9324d76",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 63300,
"upload_time": "2012-11-15T17:41:09",
"url": "https://files.pythonhosted.org/packages/fc/26/ffdcda18d66b3c7b1eb7e1fd5f0a6a360020024a70f4a54d362fdf5010b1/pyramid_sockjs-0.3.8.tar.gz"
}
],
"0.3.9": [
{
"comment_text": "",
"digests": {
"md5": "2111517b62ffb3e38315993e9db62b95",
"sha256": "f2c771e068f001fa795e042cc47f1062d02f935aa30761337a98ea172f6d1bdd"
},
"downloads": -1,
"filename": "pyramid_sockjs-0.3.9.tar.gz",
"has_sig": false,
"md5_digest": "2111517b62ffb3e38315993e9db62b95",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 63552,
"upload_time": "2013-01-08T17:35:19",
"url": "https://files.pythonhosted.org/packages/50/ca/c254d2120f36f253c59ef1ce160b3afa2f67806278435bb8cf1ac2a65c12/pyramid_sockjs-0.3.9.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "2111517b62ffb3e38315993e9db62b95",
"sha256": "f2c771e068f001fa795e042cc47f1062d02f935aa30761337a98ea172f6d1bdd"
},
"downloads": -1,
"filename": "pyramid_sockjs-0.3.9.tar.gz",
"has_sig": false,
"md5_digest": "2111517b62ffb3e38315993e9db62b95",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 63552,
"upload_time": "2013-01-08T17:35:19",
"url": "https://files.pythonhosted.org/packages/50/ca/c254d2120f36f253c59ef1ce160b3afa2f67806278435bb8cf1ac2a65c12/pyramid_sockjs-0.3.9.tar.gz"
}
]
}