twitter-stream.py

snake Python Client For Twitter API v2

Why Twitter Stream ?

Twitter-Stream.py a python API client for Twitter API v2 now supports
FilteredStream, SampledStream, RecentSearch, TweetLookUp, and UserLookUp. It makes it easier to get started with Twitter's New API. Let's see an example of how twitter-stream.py handles SampledStream. Sampled Stream delivers about 1% of Twitter's publicly available tweets in real-time and paints a picture of general sentiments, recent trends, and global events.

# sampled_stream.py

import json
from twitter_stream import SampledStream

class Stream(SampledStream):
    user_fields = ['name', 'location', 'public_metrics']
    expansions = ['author_id']
    tweet_fields = ['created_at']

stream = Stream()
for tweet in stream.connect():
    print(json.dumps(tweet, indent=4))

Is this all you have to do to start streaming? Yes. Are these all the data points available to you? No. Let's discuss line number 5-7. Twitter's Official Documentation lists an elaborate set of query parameters. You can use these queries to get the data you need. We are subclassing SampledStream and carefully constructing clear and eloquent queries in line 5-7. And you can do this for all the query parameters listed in the SampledStream API Reference.

To get more insights into other API endpoints. Visit the examples folder and our documentations twitivity.dev.

Installation

~$ pip3 install twitter-stream.py

Credentials

Store Twitter credentials at ~/.twitter-keys.yaml.

~$ vim ~/.twitter-keys.yaml
keys:
  consumer_key: CONSUMER_KEY
  consumer_secret: CONSUMER_SECRET
  access_token: ACCESS_TOKEN
  access_token_secret: ACCESS_TOKEN_SECRET
  bearer_token: BEARER_TOKEN

GitHub

https://github.com/twitivity/twitter-stream.py