Skip to main content

Twitter Accounts Activity API Client Library for Python

Project description

Twitivity

PyPI - Python Version PyPI - License

Twitter Accounts Activity API Client Library for Python

  • :key: Performs CRC validation
  • :memo: Registers webhooks
  • :sound: Subscribes to current user's context
  • :headphones: Gets activities of the user in real time.

Usage

Refer to Twitter's getting started guide on how to create an application. Then set up dev environment label for the application.

Credentials

App :arrow_right: Details :arrow_right: Keys and Tokens

Add the credentials to the environment variables.

~$ export consumer_key=API_KEY
~$ export consumer_secret=API_SECRET_KEY
~$ export access_token=ACCESS_TOKEN
~$ export access_token_secret=ACCESS_TOKEN_SECRET
~$ export env_name=APP_ENV_NAME

Install & run ngrok.

~$ ./ngrok http 5000 

Stream events in real time.

# stream_events.py

>>> from twitivity import Event
>>> import json

>>> class StreamEvent(Event):
     CALLBACK_URL: str = "https://yourdomain.com/listener"
    
     def on_data(self, data: json) -> None:
         # process data

>>> stream_events = StreamEvent()
>>> stream_events.listen()

Setup

To register the callback URL run the program above alongside the one below. This will register your webhook URL and subscribe to activities. This only has to be setup once.

# configure.py

from twitivity import Activity

>>> account_activity = Activity()
>>> account_activity.register_webhook("https://youdomain.com/listener")
>>> account_activity.subscribe()

The registration will return json response

{
    'id': '1198870971131686912', # webhook id
    'url': 'https://1f4396a1.ngrok.io/twitter/callback', 
    'valid': True, 
    'created_timestamp': '2019-11-25 07:48:08 +0000'
}

Installation

~$ pip install twitivity

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

twitivity-0.1.2.tar.gz (3.5 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page