This section highlights the realtime resources available for Python developers.


Realtime Python libraries

Slack Developer Kit for Python – Whether you’re building a custom app for your team, or integrating a third party service into your Slack workflows, Slack Developer Kit for Python allows you to leverage the flexibility of Python to get your project up and running as quickly as possible.

Python library for interacting with SolrCloud – solrcloudpy is a python library for interacting with SolrCloud. This library aims to take advantage of the following features of Solr: Distributed indexing and searching and transparent failover. Full JSON api. Centralized index management. Near-realtime search

Realtime data processing and plotting pipelines in Python – PyRealtime is a package that simplifies building realtime pipeline systems Python. It is designed to be simple enough to start visualizing data in just a few lines and scalable enough to support more complex workflows. It supports realtime plotting (Matplotlib), serial communication (Pyserial), and socket connections out of the box. It uses a declarative data flow syntax, which means you specify how the pipeline should behave and then you run the pipeline. For example, you can build a real time plot of data coming from a serial port in just three lines.

Realtime social media data analytics with Apache Spark, Python, Kafka, Pandas, etc – Project uses Apache Spark functionalities (SparkSQL, Spark Streaming, MLib) to build machine learning models (Batch Processing-Slow) and then apply the model with (Spark Streaming-Fast) to predict new output.

Realtime Streaming with the Raspberry Pi and Plot.ly Python Library – A tutorial on streaming with Raspberry Pi.

Facebook Messenger Bot with realtime weather updates (Python) – A Python bot, that contains a Flask server designed to be deployed on Heroku. The application uses a bot made using the Python API from Wit.ai and the Facebook Messenger API. The bot is designed to provide real-time weather updates on Messenger using the pywapi wrapper for the Weather.com API.


Python and Real-Time Web

Specs

  • Real-time Web: Python Introduction
  • Author: Serge S. Koval.
  • 2013

Resources

Synopsis

“I decided to write elaborate blog post instead, in which I will try to cover basics, give short introduction into asynchronous programming in Python, etc.”


Tutorial: Consuming Twitter’s real-time stream API in Python

Specs

  • Ryan Paul
  • April 2010

Resources

Synopsis

“This tutorial will show you how to consume and process data from Twitter’s new streaming API. The code examples, which are written in the Python programming language, demonstrate how to establish a long-lived HTTP connection with PyCurl, buffer the incoming data, and process it to perform the basic message display functions of a Twitter client application.”


Working with streaming data: Using the Twitter API to capture tweets

Specs

  • Vik Paruchuri
  • September 2016

Resources

Synopsis

“Being able to work with streaming data is a critical skill for any aspiring data scientist. In this post, we’ll talk about strategies for working with streaming data, and walk through an example where we stream and store data from Twitter.”


Realtime Infrastructure Services

  • Realtime API Infrastructure – Realtime API infrastructure specifically allows developers to build realtime data push into their existing APIs.  Typically, you would not need to modify your existing API contracts, as the streaming server would serve as a proxy. The proxy design allows these services to fit nicely within an API stack. This means it can inherit other facilities from your REST API, such as authentication, logging, throttling, etc. It can be combined with an API management system.  In the case of WebSocket messages being proxied out as HTTP requests, the messages may be handled statelessly by the backend. Messages from a single connection can even be load balanced across a set of backend instances.
    • Fanout/Pushpin – Fanout is a real-time API development kit that helps you push data to connected devices easily. Fanout is a cross between a reverse proxy and a message broker. Pushpin is the open source version.
    • Streamdata.io – Streamdata.io a SaaS API proxy tool that converts standard API requests into a streaming API. In other words, it provides a proxy as a service for any HTTP API by polling and acting as a streaming API.
    • LiveResource – LiveResource is a protocol specification and JavaScript reference library for receiving live updates of web resources. It has the following principles:
  • Realtime Application Infrastructure – Realtime app infrastructure sends data to browsers and clients. It typically uses pub/sub messaging, webhooks, and/or websockets — and is separate from an application or service’s main API.
    • Firebase – Firebase is a BaaS (Backend-as-a-Service) that allows developers to create web applications with no server-side programming required.
    • Pubnub – PubNub is a programmable Data Stream Network (DSN) and realtime infrastructure-as-a-service (IaaS) company. Primarily, they are a messaging solution hosted on a cloud service that allows developers to publish data instantly to one or multiple devices.
    • Pusher – Pusher is a hosted service that allows developers to add realtime bi-directional functionality via WebSockets (with HTTP-based fallbacks) to the web and mobile apps.
    • Ably – Ably is a realtime data delivery platform that provides creators the tools to create, deliver, and manage projects. Their main realtime functionality consists of pub/sub, presence, authentication, encryption, and connection state recovery.