PyCon Pune 2017

A conference on the Python programming language

kiran yallabandi

@kiran3807

Reactive programming in python

Submitted Nov 14, 2016

ReactiveX, or Rx for short, is an API for programming with observable event streams. Rx is about processing streams of events. This enables you to model user interactions that you find in rich UI applications or the asynchronous http operations in the backend. We will be using RxPY for demonstration purposes.

Using Rx, you can represent multiple asynchronous data streams (that come from diverse sources, e.g., stock quote, tweets, computer events, web service requests, etc.), and subscribe to the event stream using the Observer object. The Observable notifies the subscribed Observer instance whenever an event occurs.

Because observable sequences are data streams, you can query them using standard query operators implemented by the Observable type. Thus you can filter, map, reduce, compose and perform time-based operations on multiple events easily

In addition, there are a number of other reactive stream specific operators that allow powerful queries to be written. Cancellation, exceptions, and synchronization are also handled gracefully by using the methods on the Observable object.

Outline

1.Why Reactive programming
2.Pre-requisite concepts
3.What are streams
4.What are observables
5.Concurrent programming with RxSchedulers
6.Conclusion

Speaker bio

I am a full stack web-developer with 1.5 years of software development experience. A Javascript and Java programmer by the day and Python programmer by the night, working in such different paradigms allows me to look at the technologies from different lenses and gain insight into their inner workings. My experience in building rich UI clients and handling concurrent requests help me translate what worked well there into the world of python.

Comments

{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}