Tweetipy
A simple type hinted Python client for interacting with Twitter's API.
pip -m install tweetipy
To use it, setup a developer account under developer.twitter.com.
After that, create an app from the developer dashboard and generate the needed tokens ("API Key and Secret").
Please note that the library does not yet implement the full Twitter API, but rather only some endpoints that are interesting for my projects. Also, although it is already working, please be aware that this library is still in early development phase and thus breaking changes might occur. In other words, don't rely on it for production just yet.
In any case, feel free to use it for your own projects. Do create issues if anything weird pops up. Pull requests and feature requests are welcome!
Examples
Posting a tweet
from tweetipy import Tweetipy
# Initialize client
ttpy = Tweetipy(
'YOUR_TWITTER_API_KEY',
'YOUR_TWITTER_API_KEY_SECRET')
# Post tweet to Twitter
tweet = ttpy.tweets.write("I'm using Twitter API!")
# See the uploaded tweet! :)
print(tweet)
Posting a tweet with media
from tweetipy import Tweetipy
from tweetipy.types import MediaToUpload
ttpy = Tweetipy(
'YOUR_TWITTER_API_KEY',
'YOUR_TWITTER_API_KEY_SECRET')
# First upload the media to Twitter.
with open('dog.jpeg', 'rb') as pic:
uploaded_media = ttpy.media.upload(
media_bytes=pic.read(),
media_type="image/jpeg")
# Then post a tweet, adding the media_id as a parameter.
ttpy.tweets.write(
"This tweet contains some media.",
media=MediaToUpload([uploaded_media.media_id_string]))
Searching tweets
from tweetipy import Tweetipy
# Initialize the client
ttpy = Tweetipy(
'YOUR_TWITTER_API_KEY',
'YOUR_TWITTER_API_KEY_SECRET')
# Treat the 'query' argument as you would a search box.
search_results = ttpy.tweets.search(query='space separated keywords')
# See results 🤩
for tweet in search_results:
print(tweet)
Doing advanced searches - Single condition
from tweetipy import Tweetipy
from tweetipy.helpers import QueryBuilder
# Initialize the client
ttpy = Tweetipy(
'YOUR_TWITTER_API_KEY',
'YOUR_TWITTER_API_KEY_SECRET')
# The query builder is your friend :)
t = QueryBuilder()
# Define the search criteria using the query builder.
search_results = ttpy.tweets.search(
query=t.from_user('Randogs8'),
sort_order='recency'
)
# See results 🤩
for tweet in search_results:
print(tweet)
Doing advanced searches - Multiple conditions (AND)
from tweetipy import Tweetipy
from tweetipy.helpers import QueryBuilder
# Initialize the client
ttpy = Tweetipy(
'YOUR_TWITTER_API_KEY',
'YOUR_TWITTER_API_KEY_SECRET')
# The query builder is your friend :)
t = QueryBuilder()
# Use the 'and' operator (&) to define alternative criteria.
# The query builder will do some background work for you so this works as
# expected. 😎
search_results = ttpy.tweets.search(
query=t.with_all_keywords(['dogs', 'love']) & t.has.media,
sort_order='relevancy'
)
# See the results 🤩
for tweet in search_results:
print(tweet)
Doing advanced searches - Multiple conditions (OR)
from tweetipy import Tweetipy
from tweetipy.helpers import QueryBuilder
# Initialize the client
ttpy = Tweetipy(
'YOUR_TWITTER_API_KEY',
'YOUR_TWITTER_API_KEY_SECRET')
# The query builder is your friend :)
t = QueryBuilder()
# Use the pipe operator (|) to define alternative criteria.
# The query builder will do some background work for you so this works as
# expected. 😎
search_results = ttpy.tweets.search(
query=t.from_user('Randogs8') | t.from_user('cooldogfacts'),
sort_order='recency'
)
# See the results 🤩
for tweet in search_results:
print(tweet)
Metadata
Release files for tweetipy 0.1.10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| tweetipy-0.1.10.tar.gz | 22.0 kB | Without provenance | Details for tweetipy-0.1.10.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| tweetipy-0.1.10-py3-none-any.whl | Python 3 | none | any | Details for tweetipy-0.1.10-py3-none-any.whl |
Total release size: 57.4 kB
Release files / tweetipy-0.1.10.tar.gz
| Download URL | tweetipy-0.1.10.tar.gz |
|---|---|
| Size | 22.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8a6aa2bad9e440cc1dfe5301af2fd84fa68b8d29a802db08224412ee1a7bb7a3
|
|
BLAKE2b-256 checksum How to use checksums |
a605b71ba4e1ace80074e93368d6eee17eafb1c69545f715864f47e01d5d9218
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.2.1 CPython/3.10.2 Windows/10
|
Release files / tweetipy-0.1.10-py3-none-any.whl
| Download URL | tweetipy-0.1.10-py3-none-any.whl |
|---|---|
| Size | 35.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a63dc5415b83df8731eef3487ee565ef648759ccd9a729df4fd3ae2340df11ad
|
|
BLAKE2b-256 checksum How to use checksums |
cc696757e3fdc480c2af127756e21145ebae0302569227e996d1ca415f4d03e0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.2.1 CPython/3.10.2 Windows/10
|
Security for tweetipy 0.1.10
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.