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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jetblack-tweeter-0.10.0.tar.gz.
File metadata
- Download URL: jetblack-tweeter-0.10.0.tar.gz
- Upload date:
- Size: 20.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.12 CPython/3.10.11 Darwin/21.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
177fac1acb87484d5a43368c3dc5de4992de2addbdaad3e88e7e1fbc3c72b0fa
|
|
| MD5 |
902d4d31f402f14edb729d53ff2a660c
|
|
| BLAKE2b-256 |
f1b5bdd303e01289ec0e945cbc250f5a2577af2dcb88cb09bcfb89974c0cc58d
|
File details
Details for the file jetblack_tweeter-0.10.0-py3-none-any.whl.
File metadata
- Download URL: jetblack_tweeter-0.10.0-py3-none-any.whl
- Upload date:
- Size: 26.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.12 CPython/3.10.11 Darwin/21.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6c179a4609980c6465e891395dc5a3fbb62bdf2deec7fec5c35619ec8b448952
|
|
| MD5 |
9449a6cd0e68cfcdf55403c785950e8d
|
|
| BLAKE2b-256 |
e2f2d9ae8ffe40465ddf93f04f9cfb2ce267834f4fdb1c097f2053d171e70f77
|