├── .gitignore ├── LICENSE └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | env/ 12 | build/ 13 | develop-eggs/ 14 | dist/ 15 | downloads/ 16 | eggs/ 17 | .eggs/ 18 | lib/ 19 | lib64/ 20 | parts/ 21 | sdist/ 22 | var/ 23 | *.egg-info/ 24 | .installed.cfg 25 | *.egg 26 | 27 | # PyInstaller 28 | # Usually these files are written by a python script from a template 29 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 30 | *.manifest 31 | *.spec 32 | 33 | # Installer logs 34 | pip-log.txt 35 | pip-delete-this-directory.txt 36 | 37 | # Unit test / coverage reports 38 | htmlcov/ 39 | .tox/ 40 | .coverage 41 | .coverage.* 42 | .cache 43 | nosetests.xml 44 | coverage.xml 45 | *,cover 46 | .hypothesis/ 47 | 48 | # Translations 49 | *.mo 50 | *.pot 51 | 52 | # Django stuff: 53 | *.log 54 | local_settings.py 55 | 56 | # Flask stuff: 57 | instance/ 58 | .webassets-cache 59 | 60 | # Scrapy stuff: 61 | .scrapy 62 | 63 | # Sphinx documentation 64 | docs/_build/ 65 | 66 | # PyBuilder 67 | target/ 68 | 69 | # IPython Notebook 70 | .ipynb_checkpoints 71 | 72 | # pyenv 73 | .python-version 74 | 75 | # celery beat schedule file 76 | celerybeat-schedule 77 | 78 | # dotenv 79 | .env 80 | 81 | # virtualenv 82 | venv/ 83 | ENV/ 84 | 85 | # Spyder project settings 86 | .spyderproject 87 | 88 | # Rope project settings 89 | .ropeproject 90 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 handcode 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Awesome Tornado [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/hand-code/tornado-awesome) 2 | ============= 3 | 4 | > 通用Tornado 的资源 5 | --------- 6 | - [Tornado构建的站点列表](http://tornado.poweredsites.org) 7 | - [Tornado 相关的一些snippets code](http://tornadogists.com/) 8 | - [中文镜像Tornado站](http://www.tornadoweb.cn) 9 | 10 | > 用tornado.ioloop构建的异步客户端 11 | --------- 12 | - [Amazon DynamoDB](http://aws.amazon.com/dynamodb/) 13 | - [asyncdynamo](https://github.com/bitly/asyncdynamo) 14 | - [Amazon Web Services](http://aws.amazon.com) 15 | - [tornado-botocore](https://github.com/nanvel/tornado-botocore) 16 | - [AMQP](http://www.amqp.org/) 17 | - [stormed-amqp](https://github.com/paolo-losi/stormed-amqp) 18 | - [amqp](http://www.amqp.org/) 19 | - [Beanstalkd](http://kr.github.com/beanstalkd/) 20 | - [beanstalkt](https://bitbucket.org/nephics/beanstalkt) 21 | - [CouchDB](http://couchdb.apache.org/) 22 | - [trombi](http://github.com/inoi/trombi) 23 | - [corduroy](http://samizdat.cc/corduroy) 24 | - [tornado-couchdb](https://bitbucket.org/nephics/tornado-couchdb/overview) 25 | - DNS 26 | - [tornado-dns](https://github.com/eklitzke/tornado-dns) 27 | - [HBase](http://hbase.apache.org/) 28 | - [pyhbase](https://github.com/mjrusso/pyhbase) 29 | - [Memcached](http://memcached.org/) 30 | - [tornado-memcache](https://github.com/dpnova/tornado-memcache) 31 | - [asyncmc](https://github.com/jeffhodsdon/asyncmc) 32 | - [asyncmc](https://github.com/ErDmKo/asyncmc) 33 | - [memnado](https://github.com/clofresh/memnado) 34 | - [MongoDB](http://www.mongodb.org/) 35 | - [asyncmongo](http://github.com/bitly/asyncmongo) 36 | - [Motor](http://github.com/mongodb/motor/) 37 | - [PyEnty](https://github.com/leodesouza/pyenty/) 38 | - [MySQL](http://www.mysql.com/) 39 | - [tornado-sqlalchemy](https://github.com/siddhantgoel/tornado-sqlalchemy) 40 | - [amysql](https://github.com/abael/amysql) pure C language, base on Python native socket(support Python async). 41 | - [adb](https://github.com/ovidiucp/pymysql-benchmarks) 42 | - [adisp](http://mysql-python.sourceforge.net/) 43 | - [TorMySQL](https://github.com/snower/TorMySQL) Tornado asynchronous MySQL Driver by PyMySQL 44 | - [Tornado-MySQL](https://github.com/PyMySQL/Tornado-MySQL) PyMySQL fork for Tornado 45 | - [NATS](http://nats.io/) 46 | - [python-nats](https://github.com/nats-io/python-nats) A Python async client for the NATS messaging system. 47 | - [PostgreSQL](http://www.postgresql.org/) 48 | - [momoko](https://github.com/FSX/momoko) 49 | - [psycopg](http://initd.org/psycopg/) wrapper. 50 | - [adb](https://github.com/ovidiucp/pymysql-benchmarks) 51 | - [queries](https://github.com/gmr/queries) 52 | - [PrestoDB](https://prestodb.io/) 53 | - [prestornado](https://github.com/jianingy/prestornado) Asynchronous PrestoDB (forked from PyHive.presto) 54 | - [RabbitMQ](http://www.rabbitmq.com) 55 | - [Pika](https://github.com/pika/pika) 56 | - [Redis](http://redis.io/) 57 | - [tornado-redis](https://github.com/leporo/tornado-redis) fork of [brukva](https://github.com/evilkost/brukva) 58 | - [tornadis](https://github.com/thefab/tornadis) 59 | - [RethinkDB](https://www.rethinkdb.com/) 60 | - [rethinkdb](https://www.rethinkdb.com/docs/async-connections/#python-with-tornado-or-twisted) 61 | - Schedule 62 | - [chronos](https://github.com/thomashuang/chronos) 63 | - [Socket.IO](http://socket.io/) 64 | - [tornadio2](https://github.com/MrJoes/tornadio2) 65 | - Socks5 Proxy Server 66 | - [Fukei](https://github.com/thomashuang/Fukei) 67 | - [Solr](http://lucene.apache.org/solr/) 68 | - [pysolr-tornado](https://github.com/nieldomingo/pysolr-tornado) based on [pysolr](https://github.com/toastdriven/pysolr) 69 | - [subprocess](http://docs.python.org/library/subprocess.html) 70 | - [AsyncProcessMixIn](https://gist.github.com/pplante/489093) 71 | - [SMTP](http://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol) 72 | - [smtp](https://gist.github.com/1358253) 73 | - XML-RPC/JSON-RPC 74 | - [tornadorpc](https://github.com/joshmarshall/tornadorpc) 75 | - [tornado-fastrpc](https://github.com/seznam/tornado-fastrpc) XML-RPC and FastRPC (see [FastRPC] (https://github.com/seznam/fastrpc)) client 76 | - [Server-sent events](http://dev.w3.org/html5/eventsource/) 77 | - [event-source-library](https://github.com/guyzmo/event-source-library) 78 | - [Tornado-sent events](https://github.com/mivade/tornadose) 79 | 80 | > Web Api资源 81 | --------- 82 | - [async_dropbox](https://github.com/bdarnell/async_dropbox) Dropbox API的异步接口. 83 | - [tornado_dropcache](https://github.com/singerb/tornado_dropcache) async_dropbox的封装实现 84 | - [asyncboto](https://github.com/almost/asyncboto) PoC/alpha async version of [boto](http://code.google.com/p/boto/) (for [AWS](http://aws.amazon.com/)). 85 | - [async-python-twitter](https://github.com/kzk/async-python-twitter) [python-twitter](http://code.google.com/p/python-twitter/)异步版本 86 | - [greplin-tornado-kissmetrics](https://github.com/Greplin/greplin-tornado-kissmetrics) Kissmetrics API异步客户端 87 | - [greplin-tornado-mixpanel](https://github.com/Greplin/greplin-tornado-mixpanel) Mixpanel API异步客户端 88 | - [greplin-tornado-ses](https://github.com/Greplin/greplin-tornado-ses) Amazon SES异步客户端 89 | - [greplin-tornado-sendgrid](https://github.com/Greplin/greplin-tornado-sendgrid) Sendgrid API异步客户端 90 | - [greplin-tornado-stripe](https://github.com/Greplin/greplin-tornado-stripe) Stripe's API异步客户端 91 | - [sso](https://github.com/liftoff/GateOne/blob/master/gateone/auth/sso.py) - Tornado sso authentication handler 92 | - [TweetStream](https://github.com/joshmarshall/TweetStream) 简单的异步Twitter客户端 93 | - [lastfmclient](https://github.com/jakubroztocil/lastfmclient) Last.fm API异步客户端 94 | - [tornado_apns](https://github.com/kernel1983/tornado_apns) 异步APNS iOS推送客户端 95 | - [tornado_s3](https://github.com/kernel1983/tornado_s3) 96 | - [tornado_ses](https://github.com/kernel1983/tornado_ses) AWS SES 邮箱发送客户端 97 | 98 | > Tornado脚手架程序 99 | --------- 100 | - [AsyncMongo-Sessions](https://github.com/joerussbowman/AsyncMongo-Sessions) 用AsyncMongo的一个Tornado Session库 101 | - [userapp.tornado](https://github.com/userapp-io/userapp-tornado) Tornado用户验证装饰器,被用在[UserApp](https://www.userapp.io/) 102 | - [dustdevil](https://github.com/inviscid/dustdevil) 轻量级的session工具,能够使用多个存储后端和mongodb 103 | - [greenado](https://github.com/virtuald/greenado) 基于Greenlet的coroutines 104 | - [handlerbag](https://github.com/parente/handlerbag) A little layer on top of Tornado to manage a bag of dynamic utility handlers 105 | - [OpenCoweb](http://github.com/opencoweb/coweb) 一个构建web app的框架 ,基于[cometd](http://cometd.org/) 和[Bayeux](http://cometd.org/documentation/bayeux/spec) 协议 106 | - [pycket](https://github.com/diogobaeder/pycket) 用memcached和redis构建的session库 107 | - [Shelter](https://github.com/seznam/shelter) 创建新程序的骨架, 管理命令和服务进程 108 | - [shrapnel](https://github.com/kurtiss/shrapnel) 构建webapp的脚手架工具 109 | - [Swirl](http://code.naeseth.com/swirl/) 110 | - [Tinman](http://github.com/gmr/tinman) 一个包括了程序wrapper/runner和一些装饰器的工具包 111 | - [Tornado Add-ons](http://github.com/nod/tornado_addons) 一个非常有用的库,包含了@route类似的装饰器封装 112 | - [tornado-routes](https://github.com/troolee/tornado-routes)  包含@route装饰器的封装 113 | - [tornado-util](https://github.com/hhru/tornado-util) 一些脚手架程序 114 | - [tornado-utils](https://github.com/peterbe/tornado-utils) 一些脚手架程序 115 | - [Tornado Tracing](http://github.com/bdarnell/tornado_tracing) 测试tornado性能的库 116 | - [Tornado Tools](http://truemped.github.com/tornadotools/) 集成了一些对tornado有用代码的库 117 | - [Torneira](https://github.com/marcelnicolay/torneira) 基于tornado封装的web框架 118 | - [tornado-celery](https://github.com/mher/tornado-celery) 方便集成到tornado的celery扩展 119 | - [tornado-spdy](https://github.com/alekstorm/tornado/tree/spdy) SPDY v2 support. 120 | - [Toro](http://toro.readthedocs.org/) 在4.2之前的包括队列和锁的工具包,现在已经被tornado合并到框架中 121 | - [Mojo](https://github.com/lonelycode/Mojo) 一个轻量级的类似django web框架,内置了一个轻量级的orm 122 | - [tornado-encookie](https://github.com/whardier/tornado-encookie) 对tornado的加密cookie支持 123 | - [twork](https://github.com/bufferx/twork) twork是一个基于tornado的app框架 124 | - [mownfish](https://https://github.com/Ethan-Zhang/mownfish) tornado一个生产级别的骨架 125 | - [Tornado-JSON](https://github.com/hfaran/Tornado-JSON) 一个基于tornado的json api框架 126 | - [Torngas](https://github.com/mqingyn/torngas) 又一个类似django的tornado框架 127 | - [Tokit](https://github.com/manhgd/tokit) 基于tornado集成了bootstrap的框架 128 | - [tortik](https://github.com/glibin/tortik) tornado 的一个微服务框架(SOA) 129 | - [app-turbo](https://github.com/wecatch/app-turbo) 一个基于tornado的易于扩展的web框架 130 | - [Blackgate](https://github.com/soasme/blackgate) 一个基于tornado的api gateway程序 131 | 132 | 133 | > 用Tornado构建的项目 134 | --------- 135 | - [dillinger](https://github.com/ExtensionFM/dillinger) tornado和zmq的一个组合 136 | - [Eucalyptus User Console](http://coderslike.us/2012/11/11/installing-the-eucalyptus-console-from-source-and-packages/) - 用tornado做的一个console,使用了jquery 137 | - [Gate One](https://github.com/liftoff/GateOne) 基于web的一个ssh模拟器 138 | - [GraphTerm](https://github.com/mitotic/graphterm) 一个session共享的图形终端接口 139 | - [hbase-tornado-demo](https://github.com/hammer/hbase-tornado-demo) 使用hbase和tornado去构建网站的demo 140 | - [Image Resizing Server](https://github.com/noony/ImageResizingServer/) 提供图像缩放和裁剪的服务 141 | - [iPython Notebook](http://ipython.org/ipython-doc/dev/interactive/htmlnotebook.html) ipython交互环境 142 | - [protocolbuf-rpc-server](http://code.google.com/p/protocolbuf-rpc-server/source/browse/#svn%2Ftrunk%2Fprotocolbuf-rpc-serverhttps) - 用protobuf的一个rpc服务 143 | - [tornado-protobuf-utils](https://github.com/hhru/tornado-protobuf-utils) protobuf的一个客户端 144 | - [ragechats](https://github.com/ragechats/ragechats) 用websocket, redis构建的一个realtime app 145 | - [redqueue](https://github.com/superisaac/redqueue) 兼容memcached的一个基于tornado构建的服务 146 | - [Scale0](https://github.com/joerussbowman/Scale0) 用zeromq和tornado构建的server 147 | - [selene](https://github.com/puentesarrin/selene) 一个基于mongodb和 tornado构建的简单cms 148 | - [spotnado](https://github.com/mkjones/spotnado) 基于tornado的质量控制服务器 149 | - [Spyder](http://retresco.github.com/Spyder/) 是一个可伸缩的web蜘蛛程序,基于zeromq作为消息层,消息的序列化方式为thrift 150 | - [tornado-blog](https://github.com/bgolub/tornado-blog) 一个博客系统 151 | - [tornadio-chat](https://github.com/gabrielfalcao/tornadio-chat) socket.io + tornado 构建的聊天例子 152 | - [tornado-couchdb-pubsubhubbub-aggregator](https://github.com/bsstoner/tornado-couchdb-pubsubhubbub-aggregator) feed聚合器 153 | - [torque](https://github.com/thruflo/torque) 基于tornado和redis的一个webhook例子 154 | - [tweetwatcher](https://github.com/joshmarshall/tweetwatcher) 155 | - [uploadr](https://github.com/nbarrientos/uploadr) 基于tornado的一个简单文件伺服机 156 | - [toocool](https://github.com/peterbe/toocool) redis ,celeary,mongodb一个twitter app 157 | - [restful-distributed-lock-manager (RDLM)](https://github.com/thefab/restful-distributed-lock-manager) 一个 RESTful 分布式锁管理服务器 158 | - [ spiro](https://github.com/koblas/spiro) 一个分布式web采集程序 159 | - [ blackhole](http://blackhole.io) 160 | - [hoard](https://github.com/kura/hoard) 161 | - [torelp](https://github.com/whardier/torelp) - Tornado based RELP server (Reliable Event Logging Protocol) designed to receive logs from RELP capable log servers (rsyslog) 162 | - [Wpull](https://github.com/chfoo/wpull) wget兼容的web下载器 163 | - [graphite-beacon](https://github.com/klen/graphite-beacon) 图形化的提示程序 164 | - [ohmyrepo](https://github.com/no13bus/ohmyrepo) 165 | 166 | 167 | > Tornado周边 168 | --------- 169 | - [Cyclone](http://github.com/fiorix/cyclone) 使用Twisted event loop 170 | - [gtornado](https://github.com/wil/gtornado) 使用gevent的猴子补丁 171 | 172 | --------------------------------------------------------------------------------