An asyncio twitter client
Project description
jetblack-tweeter
A Python 3.8 asyncio twitter client.
This Twitter client is designed to support arbitrary HTTP clients. There is currently support for bareClient and aiohttp.
Status
This is work in progress, but functional.
There is currently limited support for streaming, statuses and accounts. Only the 1.1 api is currently implemented.
Installation
Install with pip
, specifying the HTTP backend you wish to use.
For bareClient:
pip install jetblack-tweeter[bareclient]
For aiohttp:
pip install jetblack-tweeter[aiohttp]
Usage
Here is an example:
import asyncio
import os
from jetblack_tweeter import Tweeter
from jetblack_tweeter.clients.bareclient import BareTweeterSession
# Get the secrets from environment variables.
APP_KEY = os.environ["APP_KEY"]
APP_KEY_SECRET = os.environ["APP_KEY_SECRET"]
ACCESS_TOKEN = os.environ["ACCESS_TOKEN"]
ACCESS_TOKEN_SECRET = os.environ["ACCESS_TOKEN_SECRET"]
async def main():
tweeter = Tweeter(
BareTweeterSession(),
APP_KEY,
APP_KEY_SECRET,
# Optional for user authentication.
access_token=ACCESS_TOKEN,
access_token_secret=ACCESS_TOKEN_SECRET
)
user_timeline = await tweeter.statuses.user_timeline()
print(user_timeline)
account_settings = await tweeter.account.settings()
print(account_settings)
account_verify_credentials = await tweeter.account.verify_credentials()
print(account_verify_credentials)
# Watch the random sampling of tweets chosen by twitter
async for tweet in tweeter.stream.sample():
print(tweet)
# Stream tweets which have the tag "#python" from New York
# and San Francisco.
async for tweet in tweeter.stream.filter(
track=['#python'],
locations=[
((-122.75, 36.8), (-121.75, 37.8)),
((-74, 40), (-73, 41))
]
):
print(tweet)
result = await tweeter.statuses.update('Hello from jetblack-tweeter')
print(result)
if __name__ == '__main__':
asyncio.run(main())
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
jetblack-tweeter-0.10.0.tar.gz
(20.7 kB
view hashes)
Built Distribution
Close
Hashes for jetblack_tweeter-0.10.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c179a4609980c6465e891395dc5a3fbb62bdf2deec7fec5c35619ec8b448952 |
|
MD5 | 9449a6cd0e68cfcdf55403c785950e8d |
|
BLAKE2b-256 | e2f2d9ae8ffe40465ddf93f04f9cfb2ce267834f4fdb1c097f2053d171e70f77 |