Tornado logo

Tornado

A Python web framework and asynchronous networking library, originally developed at FriendFeed
268
286
+ 1
160

What is Tornado?

By using non-blocking network I/O, Tornado can scale to tens of thousands of open connections, making it ideal for long polling, WebSockets, and other applications that require a long-lived connection to each user.
Tornado is a tool in the Frameworks (Full Stack) category of a tech stack.
Tornado is an open source tool with 19.1K GitHub stars and 5.2K GitHub forks. Here鈥檚 a link to Tornado's open source repository on GitHub

Who uses Tornado?

Companies
81 companies reportedly use Tornado in their tech stacks, including Facebook, Delivery Hero, and HENNGE.

Developers
172 developers on StackShare have stated that they use Tornado.

Tornado Integrations

Why developers like Tornado?

Here鈥檚 a list of reasons why companies and developers use Tornado
Private Decisions at about Tornado

Here are some stack decisions, common use cases and reviews by members of with Tornado in their tech stack.

papaver
papaver
captain of a starship at electronic dreams | 1 upvotes 3.2K views
Shared insights
on
TornadoTornado

setup an api for a client with tornado backend. incredibly fast and lightweight. unfortunately breaks down when using third party libraries which block internally. Tornado

See more
Jelena Dedovic
Jelena Dedovic
Software Engineer | 5 upvotes 101.3K views

Investigating Tortoise ORM and GINO ORM...

I need to introduce some async ORM with the current stack: Tornado with asyncio loop, AIOHTTP, with PostgreSQL and MSSQL. This project revolves heavily around realtime and due to the realtime requirements, blocking during database access is not acceptable.

Considering that these ORMs are both young projects, I wondered if anybody had some experience with similar stack and these async ORMs?

See more
Public Decisions about Tornado

Here are some stack decisions, common use cases and reviews by companies and developers who chose Tornado in their tech stack.

Dmitry Mukhin
Dmitry Mukhin
CTO at Uploadcare | 20 upvotes 99K views

The 350M API requests we handle daily include many processing tasks such as image enhancements, resizing, filtering, face recognition, and GIF to video conversions.

Tornado is the one we currently use and aiohttp is the one we intend to implement in production in the near future. Both tools support handling huge amounts of requests but aiohttp is preferable as it uses asyncio which is Python-native. Since Python is in the heart of our service, we initially used PIL followed by Pillow. We kind of still do. When we figured resizing was the most taxing processing operation, Alex, our engineer, created the fork named Pillow-SIMD and implemented a good number of optimizations into it to make it 15 times faster than ImageMagick

Thanks to the optimizations, Uploadcare now needs six times fewer servers to process images. Here, by servers I also mean separate Amazon EC2 instances handling processing and the first layer of caching. The processing instances are also paired with AWS Elastic Load Balancing (ELB) which helps ingest files to the CDN.

See more
StackShare Editors
StackShare Editors

Around the time of their Series A, Pinterest鈥檚 stack included Python and Django, with Tornado and Node.js as web servers. Memcached / Membase and Redis handled caching, with RabbitMQ handling queueing. Nginx, HAproxy and Varnish managed static-delivery and load-balancing, with persistent data storage handled by MySQL.

See more
Jelena Dedovic
Jelena Dedovic
Software Engineer | 5 upvotes 101.3K views

Investigating Tortoise ORM and GINO ORM...

I need to introduce some async ORM with the current stack: Tornado with asyncio loop, AIOHTTP, with PostgreSQL and MSSQL. This project revolves heavily around realtime and due to the realtime requirements, blocking during database access is not acceptable.

Considering that these ORMs are both young projects, I wondered if anybody had some experience with similar stack and these async ORMs?

See more
Anish Gupta
Anish Gupta
Director at Banyan | 1 upvotes 10.3K views
Shared insights
on
TornadoTornado
at

Tornado with Async/Await coroutines provided in Python 3.5 make up for an excellent stack for a micro-service. Tornado

See more
Tim Joseph Dumol
Tim Joseph Dumol
Lead Software Architect at Kalibrr | 1 upvotes 10.3K views
Shared insights
on
TornadoTornado
at

We use Tornado as our websockets server, using SockJS (an alternative to socket.io). Tornado

See more
osullivj
osullivj
Founder at SpreadServe | 1 upvotes 10.3K views
Shared insights
on
TornadoTornado
at

SpreadServe's RealTimeWebServer is built in Tornado. Spreadsheets loaded into SpreadServeEngine instances are projected into browsers using Tornado. Server side recalcs are pushed to the browser using web sockets. Tornado

See more

Tornado Alternatives & Comparisons

What are some alternatives to Tornado?
Flask
Flask is intended for getting started very quickly and was developed with best intentions in mind.
Node.js
Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
ASP.NET
.NET is a developer platform made up of tools, programming languages, and libraries for building many different types of applications.
Django
Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.
Laravel
It is a web application framework with expressive, elegant syntax. It attempts to take the pain out of development by easing common tasks used in the majority of web projects, such as authentication, routing, sessions, and caching.
See all alternatives

Tornado's Followers
286 developers follow Tornado to keep up with related blogs and decisions.
Diksha Yadav
sabeall
yadnyesh prabhu
Ivan Aguado
Brain Creater
athanasy
RAHUL SHARMA
UMGlobal Technologies
Amit Chaudhary
Rachel Dudukovich