https://github.com/geduldig/TwitterAPI
Minimal python wrapper for Twitter's REST and Streaming APIs
https://github.com/geduldig/TwitterAPI
python twitter twitter-api twitter-client
Last synced: 10 months ago
JSON representation
Minimal python wrapper for Twitter's REST and Streaming APIs
- Host: GitHub
- URL: https://github.com/geduldig/TwitterAPI
- Owner: geduldig
- Created: 2013-02-02T14:47:58.000Z (almost 13 years ago)
- Default Branch: master
- Last Pushed: 2023-03-23T02:04:15.000Z (almost 3 years ago)
- Last Synced: 2024-10-01T13:21:21.546Z (over 1 year ago)
- Topics: python, twitter, twitter-api, twitter-client
- Language: Python
- Homepage:
- Size: 1.06 MB
- Stars: 939
- Watchers: 50
- Forks: 262
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGE.log
Awesome Lists containing this project
- awesome-twitter-tools - TwitterAPI - Minimal python wrapper for Twitter's REST and Streaming APIs (Tools)
README
|LOGO|
======
.. |LOGO| image:: https://raw.githubusercontent.com/geduldig/TwitterAPI/master/logo.png
.. |BADGE_VERSION| image:: http://img.shields.io/pypi/v/TwitterAPI.svg
:target: https://crate.io/packages/TwitterAPI
.. |BADGE_CHAT| image:: https://badges.gitter.im/Join%20Chat.svg
:alt: Join the chat at https://gitter.im/geduldig/TwitterAPI
:target: https://gitter.im/geduldig/TwitterAPI?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
.. |BADGE_2| image:: https://img.shields.io/endpoint?url=https%3A%2F%2Ftwbadges.glitch.me%2Fbadges%2Fv2
:target: https://developer.twitter.com/en/docs/twitter-api
.. |BADGE_LABS| image:: https://img.shields.io/endpoint?url=https%3A%2F%2Ftwbadges.glitch.me%2Fbadges%2Flabs
:target: https://developer.twitter.com/en/docs/labs
.. |BADGE_ADS| image:: https://img.shields.io/endpoint?url=https%3A%2F%2Ftwbadges.glitch.me%2Fbadges%2Fadsv9
:target: https://developer.twitter.com/en/docs/twitter-ads-api
.. |BADGE_1.1| image:: https://img.shields.io/endpoint?url=https%3A%2F%2Ftwbadges.glitch.me%2Fbadges%2Fstandard
:target: https://developer.twitter.com/en/docs/twitter-api
.. |BADGE_PREMIUM| image:: https://img.shields.io/endpoint?url=https%3A%2F%2Ftwbadges.glitch.me%2Fbadges%2Fpremium
:target: https://developer.twitter.com
TwitterAPI is a minimal python wrapper for the TwitterAPIs. A list of what it can do:
* Support for all V1.1 and V2 endpoints, plus Premium, Ads, Labs, Collections.
* OAuth1 and bearer token authentication, and proxy server authentication.
* Streaming endpoints.
* Paging results.
* The option to "hydrate" results returned by V2 endpoints.
* Error handling.
Installation
------------
> pip install TwitterAPI
Twitter API Version 1.1 Code Snippets
-------------------------------------
[More examples in `TwitterAPI/examples/v1.1 `_]
Search for recent tweets
::
from TwitterAPI import TwitterAPI
api = TwitterAPI(consumer_key, consumer_secret, access_token_key, access_token_secret)
r = api.request('search/tweets', {'q':'pizza'})
for item in r:
print(item)
Stream tweets from New York City as they get tweeted
::
r = api.request('statuses/filter', {'locations':'-74,40,-73,41'})
for item in r:
print(item)
Twitter API Version 2 Code Snippets
------------------------------------
[More examples in `TwitterAPI/examples/v2 `_ ]
Search for recent tweets, and specify `fields` and `expansions`
::
from TwitterAPI import TwitterAPI
api = TwitterAPI(consumer_key, consumer_secret, access_token_key, access_token_secret, api_version='2')
r = api.request('tweets/search/recent', {
'query':'pizza',
'tweet.fields':'author_id',
'expansions':'author_id'})
for item in r:
print(item)
One Method For Everything
-------------------------
The ``request()`` method works with all version 1.1 and version 2 endpoints. Typcally, ``request()`` takes two arguments: a Twitter endpoint and a dictionary of endpoint parameters.
The method returns an object that will iterate either search results and streams. The returned object also gives you access to the raw response (``r.text``) and the HTTP status code (``r.status_code``). See the `requests `_ library documentation for more details.
Documentation
-------------
* `An Introduction `_
* `Authentication `_
* `Error Handling `_
* `Paging Results `_
* `Tiny Examples `_
* `Fault Tolerant Streams and Pages `_
Extra Goodies
-------------
Command-Line Utility (`examples/cli `_)