Recent Releases of tweepy
tweepy - 4.14.0
New Features / Improvements
- Add constants for potential model object fields (f3f73bc)
DIRECT_MESSAGE_EVENT_FIELDSDM_EVENT_FIELDSLIST_FIELDSMEDIA_FIELDSPLACE_FIELDSPOLL_FIELDSPUBLIC_SPACE_FIELDSSPACE_FIELDSPUBLIC_TWEET_FIELDSTWEET_FIELDSUSER_FIELDS
- Add
creator_idfield forSpace(a13726a)
Twitter API Backwards-Incompatible Changes
- Remove support for streaming with Twitter API v1.1 status/filter endpoint (c8a02eb)
StreamAsyncStream
- Remove support for deprecated Premium v1.1 Search APIs (a955f30)
API.search_30_dayAPI.search_full_archive
Misc
- Overhaul Getting Started documentation (addb9f7)
- Remove no longer valid Twitter API version badges in README (880e7bf)
- Update and improve various documentation
- Python
Published by Harmon758 almost 3 years ago
tweepy - 4.13.0
New Features / Improvements
- Add
verified_typefield forUser(9f7afae)
Twitter API Backwards-Incompatible Changes
- Remove streaming methods using retired Twitter API v1.1 features (0cd96b1)
- Twitter API v1.1 statuses/sample endpoint
Stream.sampleAsyncStream.sample- Compliance messages on the Twitter API v1.1 statuses/filter endpoint
Stream.on_delete,Stream.on_scrub_geo,Stream.on_status_withheld,Stream.on_user_withheldAsyncStream.on_delete,AsyncStream.on_scrub_geo,AsyncStream.on_status_withheld,AsyncStream.on_user_withheld
Twitter API Deprecations
- Deprecate streaming with Twitter API v1.1 statuses/filter endpoint (8b9c547)
StreamAsyncStream
Bug Fixes
- Return base class method values in
StreamingClient._process_dataandAsyncStreamingClient._process_datamethods (2744073) - Handle empty payloads in
JSONParser.parse(e854138, #2051)
Twitter API Bug Handling
- Handle incorrect processing state for errored chunked uploads (a68ce86)
Misc
- Support async-lru v2 (f98b345)
- Document specific expansions available for each type of payload (7df6453)
- Add documentation for Direct Message events (c689548)
- Update documentation for
dm_event_fieldsparameter (e2fb467) - Add section in documentation about
dm_event_fieldsparameter (4b0fa90) - Add expansions documentation for Direct Message conversation events (#2009)
- Add note in documentation about removal of
Tweetsourcefield (5d22a01) - Add SECURITY.md (b79a1db, 3d3d58e)
- Update copyright years to include 2023 (ccc9526)
- Python
Published by Harmon758 almost 3 years ago
tweepy - 4.12.1
Bug Fixes
- Add 1 second buffer to API v2 streaming timeout (51a5d61)
- The keep-alive is often received after marginally longer than 20 seconds, causing unnecessary timeouts and reconnects with a timeout of exactly 20 seconds
- Default
AsyncBaseStreamto abort closed SSL transports (#1904) - Warn when Tweet data is missing default
edit_history_tweet_idsfield (3dea0df, #1994) - Change initial
network_error_waitto 0 for streaming (b18c1a6)- Attempt to reconnect immediately when established streaming connection drops
Misc
- Document
limitandpagination_tokenparameters forPaginatorandAsyncPaginator(e98ab02, bb934fc) - Use separate method to construct
ResponseinClientandAsyncClient(#1997, 9983735) - Log streaming connection error exceptions (b7f02c6)
- Add CITATION.cff (2547b44)
- Add DOI badge to README (72a33c9)
- Replace docs/requirements.txt with docs extra (0ccfe86)
- Fix Intersphinx link to
namedtuplein documentation forResponse(352c74a) - Improve format of badges in README (d41c813)
- Python
Published by Harmon758 over 3 years ago
tweepy - 4.12.0
New Features / Improvements
- Add support for Direct Messages with Twitter API v2 (#1995)
- Add
DirectMessageEventmodel - Add
Client.get_direct_message_events,Client.create_direct_message, andClient.create_direct_message_conversation - Add
AsyncClient.get_direct_message_events,AsyncClient.create_direct_message, andAsyncClient.create_direct_message_conversation
- Add
- Add support for Python 3.11 (a391c66)
- Add support for
variantsMediafield (#1910, e31be15)
Bug Fixes
- Handle different method return types in API v2 pagination (#1843, #1861, 381bf91, 3874579)
- Add missing angle bracket to string representation of
ReferencedTweet(d4df069)
Misc
- Add documentation for
edit_history_tweet_idsandedit_controlsTweetfields (2b1e159)- This documentation was previously missing from Twitter's API documentation
- Fix class references in notes in documentation for
AsyncClientmethods (f737b87) - Fix signature of
Client.get_quote_tweetsin documentation (6f7de39) - Update actions/setup-python from v2 to v4 (f16b3dc, 0148be7)
- Python
Published by Harmon758 over 3 years ago
tweepy - 4.11.0
New Features / Improvements
- Add support for retrieving edited Tweet metadata
- Add
asynchronous.AsyncPaginatorfor pagination forAsyncClient(33e444a) - Add support for
excludeparameter forget_quote_tweets(4f28bd8, 17e02b7, 48ebdb7)
Bug Fixes
- Handle 429 HTTP errors for streaming (#1982, #1986)
- Lower API v2 streaming timeout to 20 seconds (#1986)
- Regenerate Authorization header prior to any reconnection requests for
AsyncStream(29bbb7b, a4c6325, 5ade386) - Use tuple for
endpoint_parametersargument inAPI.indicate_direct_message_typing(396ab84) - Update
models.Listmethods to pass keyword arguments toAPImethods (#1987) - Update
models.Listmethods to use list ID instead of slug (73f6308)
Misc
- Log text of HTTP response when handling request error in
AsyncBaseStream(51c3762) - Update signature for
get_list_tweetsin documentation (86577b1)- Add
media_fields,place_fields, andpoll_fieldsparameters
- Add
- Add version changed directive to documentation for
get_list_tweets(5cb2616) - Improve documentation for
wait_on_rate_limitparameter for streaming (#1986) - Add release dates to changelog (f665ce6, eafa665, 3f0cc76)
- Add sections for old and previously missing versions to changelog (6aa1b77)
- Update cassettes for testing methods that return Tweet objects (872b33e)
- Python
Published by Harmon758 over 3 years ago
tweepy - 4.10.1
Bug Fixes
- Fix
AsyncBaseClientrate limit handling (#1902) - Fix handling of
StreamRulewhen passed in list toStreamingClient.delete_rulesorAsyncStreamingClient.delete_rules(#1942) - Add support for
media_fields,place_fields, andpoll_fieldsparameters forClient.get_list_tweetsandAsyncClient.get_list_tweets(#1931) - Ignore
AsyncClientmethod parameters explicitly passed asNone(#1944)
Misc
- Log text of HTTP response when handling request error in
BaseStream(598ea64) - Update Requests documentation URL for Intersphinx linking (2c7213d)
- Correct typo in documentation for
StreamingClientandAsyncStreamingClientadd_rulesanddelete_rulesmethods (#1937)
- Python
Published by Harmon758 over 3 years ago
tweepy - 4.10.0
New Features / Improvements
- Add asynchronous interfaces for Twitter API v2
- Add support for reverse chronological home timeline with Twitter API v2 (#1900)
- Add
Client.get_home_timelineandAsyncClient.get_home_timeline
- Add
- Update the User-Agent header based on
AsyncStream.user_agenteven ifAsyncStream.sessionis already initialized/set (096a62c)
Twitter API Deprecations
- Deprecate
AsyncStream.sampleand note deprecation of compliance messages forAsyncStream.filter(e043074, 1b77007)
Misc
- Update and improve various documentation and tests
- Python
Published by Harmon758 almost 4 years ago
tweepy - 4.9.0
New Features / Improvements
- Add support for Direct Message typing indicator and read receipts (#1856)
- Add
API.indicate_direct_message_typingandAPI.mark_direct_message_read
- Add
- Fallback to
"detail"response value forHTTPExceptionmessage (b6b8241) - Handle
"error"key of response being a string inHTTPException(2da4452)
Twitter API Deprecations
- Deprecate
Stream.sampleand note deprecation of compliance messages forStream.filter(#1876)
Misc
- Use setup.cfg for coverage.py configuration (e24bb2f)
- Explicitly specify coverage >= 4.4.2 requirement for dev extra (b5bd35e)
- Use setup.cfg for tox configuration (e24bb2f)
- Update lower bound for dev extra tox requirement to >= 3.21.0 (ba6e6b1)
- Remove
tests_requirefrom setup.py (2870031) - Stop creating universal wheels (9d93ec8)
- Update and improve various documentation and tests
- Python
Published by Harmon758 almost 4 years ago
tweepy - 4.8.0
New Features / Improvements
- Add support for Bookmarks with Twitter API v2 (#1848)
- Add
Client.remove_bookmark,Client.get_bookmarks,Client.bookmark
- Add
- Add support for using OAuth 2.0 Authorization Code Flow with
Clientmethods that require the authenticating user's ID (0157d0b)- Raise
TypeErrorfor those methods when the access token isn't set
- Raise
- Raise
NotFoundrather thanHTTPExceptionwhen encountering 404 response status codes inBaseClient.request(b6b8219)
- Python
Published by Harmon758 almost 4 years ago
tweepy - 4.7.0
New Features / Improvements
- Add support for Quote Tweets lookup with Twitter API v2 (#1844)
- Add
Client.get_quote_tweets
- Add
Python Backwards-Incompatible Changes
- Drop support for Python 3.6, which has reached end-of-life status (#1788)
Bug Fixes
- Fix
Client.followto return response fromClient.follow_userrather thanNone(0742f54) - Fix
Client.unfollowto return response fromClient.unfollow_userrather thanNone(c1787f0)
Misc
- Organize documentation arrangement and improve index / table of contents categorization (c5310d1)
- Add documentation for API v2 models
- Add documentation for
List(360594b) - Add documentation for
Media(c2dacc8) - Add documentation for
Place(e3fa223) - Add documentation for
Poll(61ed5d7) - Add documentation for
Space(1a7ea1f) - Add documentation for
Tweet(b9cef72) - Add documentation for
ReferencedTweet(9a995b5) - Add documentation for
User(aa3658e)
- Add documentation for
- Use Read the Docs Sphinx search extension for documentation (72c7e01)
- Add and improve API v2 examples (#1835, 6a6ef98)
- Use dash instead of underscore for requests-oauthlib requirement (2c94758)
- Optimize
Tweet.referenced_tweetsinitialization (3299881) - Update and improve various documentation
- Python
Published by Harmon758 almost 4 years ago
tweepy - 4.6.0
This will be the last minor version to support Python 3.6 (#1788).
New Features / Improvements
- Add support for streaming with Twitter API v2 (86244c1)
- Refactor
ClientandStreamto inherit from newBaseClientandBaseStreamclasses and addStreamingClient,StreamResponse, andStreamRule
- Refactor
- Add support for new
max_resultsandpagination_tokenparameters forClient.get_liking_users(bdd6b55) - Add support for new
max_resultsandpagination_tokenparameters forClient.get_retweeters(3479e56) - Add support for new
sort_orderparameter forClient.search_all_tweets(bd202e5) - Add support for new
sort_orderparameter forClient.search_recent_tweets(8b47170) - Add
Client.get_space_tweets(c8d5d9a) - Add
Space.subscriber_count(1ffc8cd) - Use
reprof text inTweet.__repr__(4e2997e)- This avoids including inconstant newlines, rather than escaped newlines, in the string representation of the Tweet object, making it more consistent
- Override
Mapping.__contains__inDataMapping(9f10a58)- This allows membership tests to check for existence within data in Twitter API v2 models, rather than existence of the attribute at all
- Initialize
Stream.sessionwithinStream.__init__(80adf5b)- Update the user agent based on
Stream.user_agenteven ifStream.sessionis already initialized
- Update the user agent based on
- Use oauthlib to create code challenge and verifier for PKCE (eb22416)
Bug Fixes
- Fix datetime endpoint parameter formatting in
Client._make_request(#1793)
Misc
- Remove undocumented
debugfunction (a702325) - Add logging documentation (7701506)
- Update and improve various documentation
- Python
Published by Harmon758 about 4 years ago
tweepy - 4.5.0
New Features / Improvements
- Revamp authentication interface
- Add support for OAuth 2.0 Authorization Code Flow with PKCE
- Add
OAuth2UserHandler(2b83507, 16763e2) - Add
user_authparameters toClientmethods (8f38429, e88b074, 0d6b68a) - Rename
OAuthHandlertoOAuth1UserHandler(fb6eb7d) OAuthHandleris kept as a deprecated alias (cba7317)- Rename
AppAuthHandlertoOauth2AppHandler(529d793) AppAuthHandleris kept as a deprecated alias (d4ceb1a)- Rename
OAuth2BearertoOAuth2BearerHandler(0781fde) - Allow passing access token and secret directly to
OAuth1UserHandler.__init__(99f3583) - Note, this changes the
callbackparameter to be the fifth argument, positionally - Allow
OAuth2BearerHandlerto be used asauthparameter forAPI(5a2a3fc) - Remove
AuthHandler(d600c4c) - Remove
OAuth1UserHandler.get_xauth_access_token(8e2de9f) - Update and improve authentication documentation (f9a722b)
- Other improvements and optimizations
- Add
Client.get_me(c49cbdf, 62b5b58, f6895d3, bb87b26) - Add support for
Media.url(#1722) - Use requests exception to handle
JSONDecodeError(b492b0a)- Update requests dependency requirement to >= 2.27.0 (ed66e8e)
Bug Fixes
- Fix
Response.includes["polls"]not beingPollobjects (#1733) - Fix
Paginatorhandling ofClient.get_all_tweets_count(#1761)
Misc
- Improve and optimize
Model.__getstate__(#1707) - Add API v2 examples to documentation (bbdbb7b)
- Update and improve various documentation
- Python
Published by Harmon758 about 4 years ago
tweepy - 4.3.0
New Features / Improvements
- Add support for managing Tweets with Twitter API v2 (7884e3a)
Misc
- Document
HTTPExceptionattributes (c62c31a) - Add table to documentation mapping
Clientmethods to Twitter API v2 endpoints (0572b03) - Add and improve examples
- Revamp examples page in documentation
- Update and improve various documentation and tests
- Python
Published by Harmon758 over 4 years ago
tweepy - 4.2.0
New Features / Improvements
- Add support for managing lists with Twitter API v2 (b1342bf)
- Rename
Client.followandClient.unfollowtoClient.follow_userandClient.unfollow_user, respectively (8f8de15)Client.followandClient.unfolloware kept as deprecated aliases
- Add FAQ section in documentation
- Update and improve various documentation and tests
Twitter API Changes
- Change
stateto optional parameter forClient.search_spaces(e61d5d6)
Bug Fixes
- Fix parsing of datetime strings for API v2 models with Python 3.6 (5bf2446)
- Fix models missing an
APIinstance attribute when usingCursorwith pagination by ID (451e921)
- Python
Published by Harmon758 over 4 years ago
tweepy - 4.1.0
New Features / Improvements
- Add support for Python 3.10 (229b738)
- Update minimum dev requirement version for tox to 3.14.0
- Add support for Spaces (5c68892)
- Add
Spacemodel - Add
Client.search_spaces,Client.get_spaces, andClient.get_space
- Add
- Add support for batch compliance (6ca75e1)
- Add
Client.get_compliance_jobs,Client.get_compliance_job, andClient.create_compliance_job
- Add
- Add
Client.get_muted(00cdab8) - Minor documentation corrections
- Python
Published by Harmon758 over 4 years ago
tweepy - 4.0.1
Bug Fixes
- Fix handling of strings passed as fields parameters for
Clientmethods (d61a5d9) - Include unexpected parameters passed to
Clientmethods in Twitter API request (618d1c2)- This future-proofs for new endpoint parameters
- Stop checking parameter names when converting parameters passed to
Clientmethods from datetimes to strings (1320a37)- This future-proofs for new endpoint parameters besides
start_timeandend_timethat accept datetimes
- This future-proofs for new endpoint parameters besides
- Handle simplejson being installed when handling
JSONDecodeErrorinHTTPException(586c162)
Misc
- Update documentation requirements (3fa38b6, 388e2f6, 4315ab0)
- Remove nose usage from tests (b4c06a4)
- Remove mock and nose from tests extra and requirements (0f071fd, b4c06a4)
- Update and improve various documentation and tests
- Python
Published by Harmon758 over 4 years ago
tweepy - 4.0.0
Major New Features / Improvements
Support Twitter API v2 (#1472, #1535)
- Replace API v1.1 models in package namespace
Rework
API- Replace
bind_apiandAPIMethodwithAPI.request - Stop using property decorators for
APImethods - Use
paginationdecorator - Add
requests.Sessioninstance asAPI.sessionattribute (2f28757) - Initialize a single
requests.Sessioninstance perAPIinstance, rather than for each request - Log warning when API.request is passed an unexpected keyword argument that isn't an endpoint parameter (c82d7ac)
- Rename allowed parameters (
allowed_param) to endpoint parameters (endpoint_parameters) (b4fc6a0) - Rename methods and method parameters (see Backwards-Incompatible Changes section)
- Require parameters for methods (see Backwards-Incompatible Changes section)
- Stop allowing arbitrary positional arguments for methods (see Backwards-Incompatible Changes section)
- Remove unnecessary attributes and parameters (see Backwards-Incompatible Changes section)
- Improve, optimize, and simplify
API.requestand otherAPImethods
- Replace
Rework streaming
StreamListenerhas been merged intoStream(see Backwards-Incompatible Changes section)Streamdata/event handling methods (i.e. those starting withon_) now log by default and disregard return values- Allow the stream to disconnect when any line of data is received, including keep-alive signals (#773, #897)
- Remove, rename, and replace attributes, methods, and parameters (see Backwards-Incompatible Changes section)
- Improve, optimize, and simplify
Stream
Rework documentation
- Automatically use docstrings for documentation
- Use NumPy style docstrings
- Use Intersphinx linking
- Add tooltips for cross references using sphinx-hoverxref
- Document
Stream(18a6059) - Document models (0724060, 78a0c22)
- Document pagination (695d531, 652fece)
- Add table for
APIdocumentation (6db8e4c) - Separate documentation for exceptions (8a831b1)
- Move changelog to documentation (fc98629)
- Update, improve, and organize documentation
Rework exceptions
Backwards-Incompatible Changes
API
- Rename
APIandmodelsmethodsAPI.blocks->API.get_blocks(9541794)API.blocks_ids->API.get_blocked_ids(e241ca4)API.destroy_direct_message->API.delete_direct_message(2731fc9)DirectMessage.destroy->DirectMessage.delete(2731fc9)API.favorites->API.get_favorites(3c467da)API.followers->API.get_followers(ce768d9)API.followers_ids->API.get_follower_ids(fa5e7c4)models.User.followers_ids->models.User.follower_ids(fa5e7c4)API.friends->API.get_friends(6f3fccb)API.friends_ids->API.get_friend_ids(bab3e5e)API.friendships_incoming->API.incoming_friendships(007bd07)API.friendships_outgoing->API.outgoing_friendships(1400065)API.geo_search->API.search_geo(6f4fb39)API.list_direct_messages->API.get_direct_messages(ff1186f)API.list_members->API.get_list_members(5845f02)API.list_subscribers->API.get_list_subscribers(a05b630)API.lists_all->API.get_lists(458e0e8)API.lists_memberships->API.get_list_memberships(9dddc12)models.User.lists_memberships->models.User.list_memberships(9dddc12)API.lists_subscriptions->API.get_list_subscriptions(51945a7)models.User.lists_subscriptions->models.User.list_subscriptions(51945a7)API.mutes->API.get_mutes(744edc2)API.mutes_ids->API.get_muted_ids(ea26a29)API.retweeters->API.get_retweeter_ids(588c342)API.retweets->API.get_retweets(3b3ba24)API.retweets_of_me->API.get_retweets_of_me(737bd0b)API.saved_searches->API.get_saved_searches(8b39f74)API.search->API.search_tweets(7fac253)API.show_friendship->API.get_friendship(ee9ea2e)API.show_list_member->API.get_list_member(431ab15)API.show_list_subscriber->API.get_list_subscriber(bf26301)API.statuses_lookup->API.lookup_statuses(#477)API.trends_available->API.available_trends(68b33d7)API.trends_closest->API.closest_trends(2e18162)API.trends_place->API.get_place_trends(4912a7c)API.update_with_media->API.update_status_with_media(0a5e533)
- Rename
APImethod parametersAPI.geo_id:id->place_id(78051e8)API.lookup_friendships:screen_names->screen_name(4573b35),user_ids->user_id(3bcccf8)API.lookup_statuses:id_->id(f13a34b)API.lookup_users:screen_names->screen_name(17a2e7c),user_ids->user_id(e7d9e55)API.search_30_day:environment_name->label(6c66c60)API.search_full_archive:environment_name->label(295bfe4)API.update_profile_image:file_->file(69f6c1d)
- Require
APImethod parametersAPI.closest_trends:lat,long(75b9616)API.create_favorite:id(d3d2abe)API.create_list:name(5e7385a)API.create_saved_search:query(c57a4be)API.delete_direct_message:id(bcb56ab)API.destroy_favorite:id(a9d41b6)API.get_direct_message:id(f5775ee)API.get_oembed:url(af0cc51)API.get_place_trends:id(c50f540)API.get_retweeter_ids:id(66f6704)API.get_status:id(bac73c3)API.reverse_geocode:lat,long(87d8646)API.search_30_day:query(52874b7)API.search_full_archive:query(801f15d)API.search_tweets:q(9377e7e)API.search_users:q(21802f9)API.update_status:status(f64c076)API.update_status_with_media:status(0726263)
- Stop allowing positional arguments for
APImethods (change to be keyword-only arguments):API.add_list_member(ae18ee5)API.add_list_members(8eb900f)API.available_trends(7a74863)API.closest_trends, besideslatandlong(7946490)API.create_block(caa34c6)API.create_favorite, besidesid(0b83984)API.create_friendship(82cd798)API.create_list, besidesname(25cb01e)API.create_mute(4aae710)API.create_saved_search, besidesquery(76be2d9)API.delete_direct_message, besidesid(53ca00f)API.destroy_block(c49cfb2)API.destroy_favorite, besidesid(8afee87)API.destroy_friendship(b2d44fe)API.destroy_list(4b2cfc4)API.destroy_mute(009b54e)API.destroy_saved_search, besidesid(b7afca2)API.destroy_status, besidesid(876c8ca)API.geo_id, besidesplace_id(a0cff22)API.get_blocked_ids(ff38b70)API.get_blocks(dc81854)API.get_direct_message, besidesid(4ae0ec8)API.get_direct_messages(8e0507d)API.get_favorites(e80b49a)API.get_follower_ids(7d42597)API.get_followers(c6ab5a0)API.get_friend_ids(c65641b)API.get_friends(e6965fa)API.get_friendship(6dea7de)API.get_list(92dc37f)API.get_list_member(0af06db)API.get_list_members(7c8be8d)API.get_list_memberships(ec7601f)API.get_list_subscriber(a175cdd)API.get_list_subscribers(3ee84ef)API.get_list_subscriptions(178d719)API.get_lists(3cd0058)API.get_muted_ids(2967104)API.get_mutes(9e9d370)API.get_oembed, besidesurl(d13d853)API.get_place_trends, besidesid(548810c)API.get_retweeter_ids, besidesid(9907c25)API.get_retweets, besidesid(0bd0292)API.get_retweets_of_me(2b2ed0a)API.get_saved_search, besidesid(1d3d3ae)API.get_saved_searches(c5f5b4b)API.get_settings(2c2f0ec)API.get_status, besidesid(30af3ac)API.get_user(6b761ce)API.home_timeline(b91be22)API.incoming_friendships(6d3b7f2)API.list_timeline(e3ec5c1)API.lookup_friendships(0eff951)API.lookup_statuses, besidesid(cf9845d)API.lookup_users(7317109)API.media_upload, besidesfilename(ec2498f)API.mentions_timeline(3614ce4)API.outgoing_friendships(09f8504)API.rate_limit_status(b4b91c1)API.remove_list_member(e7fa800)API.remove_list_members(593ef1c)API.report_spam(f55efcf)API.retweet, besidesid(4f7be88)API.reverse_geocode: besideslatandlong(b209c48)API.search_30_day, besideslabelandquery(434fd35)API.search_full_archive, besideslabelandquery(44391bc)API.search_geo(0a6bec9)API.search_tweets, besidesq(445da4e)API.search_users, besidesq(76ca416)API.send_direct_message, besidesrecipient_idandtext(7d1a549)API.set_settings(bf1d928)API.supported_languages(2034efc)API.subscribe_list(ee3b718)API.unretweet, besidesid(4626c42)API.unsubscribe_list(2df2311)API.update_list(8b3b4fb)API.update_profile(99cd815)API.update_profile_banner, besidesfilename(1ca22be)API.update_profile_image, besidesfilename(3539fa2)API.update_status, besidesstatus(761cbfe)API.update_status_with_media, besidesfilenameandstatus(0ac4e83)API.user_timeline(0ef964f)
- Reorder
API.update_status_with_mediaparameters (87abdcd) - Rename
APIinitialization parameter:auth_handler->auth(ee313bd) - Stop allowing positional arguments besides
authforAPIinitialization (da2f276) - Remove
API.api_rootandAPI.upload_root(e757919) - Remove
API.compression(4590c7a) - Remove
API.me,AuthHandler.get_username, andOAuthHandler.get_username(807f937) - Remove
API.search_hostandAPI.search_root(92db0cf) - Remove
API.wait_on_rate_limit_notify(f325738)- Always log warning when rate limit reached
- Remove
map_keyword argument aliasing forAPI.lookup_statuses(0a404c3)
Stream
- Remove and replace
StreamListenerby merging it intoStream(39abff4)StreamListener.keep_alive->Stream.on_keep_alive(abf4d5d)StreamListener.on_connect->Stream.on_connectStreamListener.on_data->Stream.on_dataStreamListener.on_delete->Stream.on_deleteStreamListener.on_disconnect->Stream.on_disconnect_message(6c3b997)StreamListener.on_error->Stream.on_request_error(fe3bb8b)StreamListener.on_exception->Stream.on_exceptionStreamListener.on_limit->Stream.on_limitStreamListener.on_scrub_geo->Stream.on_scrub_geoStreamListener.on_status->Stream.on_statusStreamListener.on_status_withheld->Stream.on_status_withheldStreamListener.on_timeout->Stream.on_connection_error(8f62297)StreamListener.on_user_withheld->Stream.on_user_withheldStreamListener.on_warning->Stream.on_warning
- Remove
Stream.api(21a9db2) - Remove
Stream.body(3e40193) - Remove
Stream.headers(d07af4e) - Remove
Stream.host(9cf8518) - Remove
Stream.new_session(26518ab) - Remove
Stream.timeout(a2f79f1) - Remove
Stream.url(48cbf97) - Remove Stream parameters and attributes for reconnect wait times (24059d4)
- Remove
Stream.retry_time_start,Stream.retry_420_start,Stream.retry_time_cap,Stream.snooze_time_step,Stream.snooze_time_cap,Stream.retry_time, andStream.snooze_time
- Remove
- Rename
Stream.retry_counttoStream.max_retries(3585f13) - Replace
Stream.authwith parameters and attributes for each credential (c9f59e6)- Replace
Stream.authwithStream.consumer_key,Stream.consumer_secret,Stream.access_token, andStream.access_token_secret
- Replace
- Replace
Streamparameter,proxies, withproxy(#1272) - Remove
Stream.filterparameter:encoding(b3f2db2) - Rename
Stream.filterandStream.sampleparameters:is_async->threaded(6c96c15) - Stop allowing positional arguments for
Stream.filter(0629d5f) - Stop allowing positional arguments for
Stream.sample(b170720)
Twitter API Backwards-Incompatible Changes
- Remove
API.configuration(#1614) - Remove
API.geo_similar_places(c6cfd97) - Remove
API.related_results(068273b)- Remove
Relationmodel (cc4479a)
- Remove
- Remove
idendpoint parameter forAPI.create_block(e4eaa4b) - Remove
idendpoint parameter forAPI.create_friendship(6a3c1ab) - Remove
idendpoint parameter forAPI.create_mute(bb25d69) - Remove
idendpoint parameter forAPI.destroy_block(1a9b52d) - Remove
idendpoint parameter forAPI.destroy_friendship(66f1612) - Remove
idendpoint parameter forAPI.destroy_mute(8c444c5) - Remove
idendpoint parameter forAPI.get_follower_ids(5cddd12) - Remove
idendpoint parameter forAPI.get_followers(a3fb959) - Remove
idendpoint parameter forAPI.get_friend_ids(7cbf818) - Remove
idendpoint parameter forAPI.get_friends(6875e15) - Remove
idendpoint parameter forAPI.get_user(a2681ed) - Remove
accuracyandcontained_withinendpoint parameters forAPI.search_geo(d37a409) - Remove
allow_contributor_requestendpoint parameter forAPI.set_settings(1cc33b2) - Update
API.update_profile_bannerendpoint parameters:offset_right->offset_top(83f9b79) - Remove
enable_dmcommandsandfail_dmcommandsparameters forAPI.update_status(fe5b3ef) - Remove
in_reply_to_status_id_strandauto_populate_reply_metadataendpoint parameters forAPI.update_status_with_media(c3c9d29) - Remove
idendpoint parameter forAPI.user_timeline(#1484) - Remove
Stream.firehose(ad50cdc) - Remove
Stream.retweet(6b1944b) - Remove
Stream.sitestreamandStream.userstream(96f7e63)
Other
- Datetime objects for
models.List.created_at,models.SavedSearch.created_at,models.Status.created_at, andmodels.User.created_atare now aware (59d4d92) - Change
return_cursorsparameter forJSONParser.parseandModelParser.parseto be keyword-only argument (56b8e31) - Remove
methodparameter fromparsemethod forParserand its subclasses (dda2ec6) - Remove handling of 401 HTTP status code in
API.verify_credentials(7e4d2a4) - Remove
models.List.is_memberandmodels.List.is_subscribed(b765aee)
New Features / Improvements
New Methods And Parameters / Attributes
- Add
API.get_list_ownerships(#1282, #1498)- Add
models.User.list_ownerships(#1282)
- Add
- Add
API.get_profile_banner(58ac8bb) - Add
API.no_retweets_friendships(496a399) - Add
API.remove_profile_banner(f0e53c6) - Add
API.update_friendship(ddd24a4) - Add
API.user_agent(bbec64b) - Add endpoint parameters for
APImethods:API.create_block:include_entities,skip_status(5e694b2)API.create_favorite:include_entities(65c7ce7)API.destroy_block:include_entities,skip_status(7299362)API.destroy_favorite:include_entities(ecd19f0)API.destroy_status:trim_user(ed363e6)API.get_blocked_ids:stringify_ids(316b4cc)API.get_blocks:include_entities,skip_status(7ef1e85)API.get_favorites:include_entities(2b91edc)API.get_follower_ids:stringify_ids(c490027)API.get_friend_ids:stringify_ids,count(aba327e)API.get_list_member:include_entities,skip_status(e959787)API.get_list_members:count,include_entities,skip_status(232fa29)API.get_list_subscriber:include_entities,skip_status(783941a)API.get_muted_ids:stringify_ids(8b04108)API.get_retweeter_ids:count(71ca488)API.get_retweets:trim_user(e377188)API.get_retweets_of_me:trim_user,include_entities,include_user_entities(589d97d)API.get_user:include_entities(485691d)API.incoming_friendships:stringify_ids(ffb7c0e)API.media_upload:media_category,additional_owners(#1486)API.mentions_timeline:trim_user,include_entities(eb7c8f6)API.outgoing_friendships:stringify_ids(7ed0762)API.retweet:trim_user(70d9665)API.search_users:include_entities(8d64b61)API.unretweet:trim_user(6d93f3b)API.update_profile:include_entities,skip_status(9715c4a)
- Add
Stream.on_disconnectmethod (#277) - Expose
Stream.thread(9c2419d)
New Functionality
- Allow sending Quick Reply Options with Direct Messages (#1280)
- Replace
API.send_direct_messageparameter,quick_reply_type, withquick_reply_options
- Replace
- Allow sending Call-To-Action buttons with Direct Messages in
API.send_direct_message(#1311)
Documentation For Existing Methods
- Document
API.get_settings(cbac800) - Document
API.incoming_friendships(09dbe0e) - Document
API.outgoing_friendships(8ff5f22) - Document
API.search_geo(a51a097) - Document
API.set_settings(4703da3) - Document
API.supported_languages(9bb8446) - Document
API.update_profile_banner(a5df615)
Dependencies
- Update requests_oauthlib dependency requirement to >= 1.0.0 (bf629e5)
- Remove requests socks extra from setup.py
install_requires(38b6de6)- Add socks extra requiring requests socks extra
Other
- Check consumer key and secret type when initializing
OAuthHandler(#1489) - Make
models.Userhashable (#1306) - Reduce extra sleep time for rate limit handling for
API(#1049) - Handle keyword arguments for
API.update_profile_image(ab96f2f) - Handle keyword arguments for
API.update_profile_banner(88c3fa1) - Treat all 2xx HTTP status codes as successful responses (a0f6984)
- Support gevent for streaming (#651)
- Return thread when using threaded
Stream.filterandStream.sample(2e957b6) - Use specific user agent for
Stream(5994c4b)
Misc
- Update and improve various documentation and tests
- Various other optimizations and improvements
Bug Fixes
- Handle connection errors when streaming (#237, #448, #750, #1024, #1113, #1416)
- Remove dependence on string length delimitation in
Stream(#892) - Stop reraising exceptions in
Stream._connect(#1072) - Change
Stream.samplemethod to use GET HTTP method (1b0e869) - Default to
models.Usermodel inmodels.Status.parsemore broadly foruserattribute to handle parsers withoutmodel_factoryattribute or model factories withoutuserattribute (#538) - Default to
models.Statusmodel inmodels.SearchResults.parsemore broadly for results to handle parsers withoutmodel_factoryattribute or model factories withoutstatusattribute (71c031b) - Start on page 1 for
PageIterator(#958) - Handle Twitter API issue with duplicate pages for
API.search_users(#958, #1465) - Allow integer IDs for
Stream.filter(#829, #830) - Handle
ChunkedEncodingErrorduring streaming (e8fcc4d) - Handle Twitter API errors with successful HTTP status codes (#1427)
- Handle initial negative or zero limits in
Cursoriterators (c1457b7)
- Python
Published by Harmon758 over 4 years ago
tweepy - 3.10.0
This will be the last major and minor version to support Python 2.7 (#1253) and Python 3.5.
The next non-patch release should be version 4.0.0.
New Features / Improvements
- Add
API.search_30_dayandAPI.search_full_archive(#1175, #1294) - Update allowed parameters for
API.home_timeline(#1410, #1458)- Add
trim_user,exclude_replies,include_entities - Remove
pageas erroneously documented parameter - Reorder
countto be the first parameter
- Add
- Update allowed parameters for
API.get_oembed- Add
hide_thread,theme,link_color,widget_type,dnt - Remove
id
- Add
- Remove
API.update_profile_background_image(#1466) - Add support for Python 3.9
- Switch from Travis CI to GitHub Actions to run tests and deploy releases (#1402)
- Update and improve various documentation
Bug Fixes
- Use
mimetypes.guess_typeas fallback for determining image file type (#1411) - Use proper MIME type in Content-Type header for uploaded images
- Allow
fileparameter to be used again forAPI.media_upload(#1412, #1413) - Allow
fileparameter to be used again forAPI.update_profile_banner,API.update_profile_image, andAPI.update_with_media(#1475) - Fix
User.lists,User.lists_memberships, andUser.lists_subscriptionsto retrieve information about the user in question rather than the authenticating user (#1443, #1444)
- Python
Published by Harmon758 about 5 years ago
tweepy - 3.9.0
New Features / Improvements
- Add
API.create_media_metadata(#716) - Update allowed parameters for
API.update_status(#1101)- Add
exclude_reply_user_ids,attachment_url,possibly_sensitive,trim_user,enable_dmcommands,fail_dmcommands,card_uri - Remove
in_reply_to_status_id_str,source
- Add
- Add allowed parameters to
API.get_statustrim_user,include_my_retweet,include_entities,include_ext_alt_text,include_card_uri
- Add allowed parameters to
API.statuses_lookupinclude_ext_alt_text,include_card_uri
- Improve
API.lookup_users(#706) - Improve and optimize
API.statuses_lookup,API.create_media_metadata,API.update_status - Add
reverseas allowed parameter forAPI.lists_all - Add
countas allowed parameter forAPI.lists_memberships - Add
countas allowed parameter forAPI.lists_subscriptions - Add
include_entitiesas allowed parameter forAPI.list_timeline - Add allowed parameters to
API.list_subscriberscount,include_entities,skip_status
- Add support for Python 3.8
- Update and improve setup.py
- Use requests socks extra instead of requiring PySocks directly
- Allow uploading of images with file names without extensions (#1060, #1086)
- Support uploading WebP images (#1298)
- Add missing attributes to
Relationshipmodel (#1375) - Update max allowed size for uploaded GIFs (#1336, #1338)
- Add
_jsonattribute toDirectMessagemodel (#1342) - Update and improve tests (#1217)
- Add documentation for extended Tweets
- Document
API.lookup_users(#539) - Add documentation for running tests (#681)
- Add Korean translation of documentation (#1296)
- Add Polish translation of documentation (#1316)
- Document
API.lookup_friendships(#1375) - Update and improve various documentation
Bug Fixes
- Fix handling of invalid credentials for
API.verify_credentials - Handle boolean value for
API.verify_credentialsinclude_email parameter (#890) - Allow
Cursorto be used withAPI.list_direct_messagesby adding DMCursorIterator (#1261, #1262)
- Python
Published by joshthecoder over 5 years ago
tweepy - 3.8.0
New Features / Improvements
- Allow streams to use daemon threads (#1126)
- Remove
API.set_delivery_device(#1203) - Remove simplejson import and usage (#832)
- Allow
cursorparameter forAPI.blocks_idsandAPI.mutes_ids(#1208) - Drop support for Python 3.4
- Allow
perform_blockparameter forAPI.report_spam(#1090) - Add
API.mutes(#1197, #1215) - Allow
countparameter forAPI.friends(#577) - Remove
since,from,to, andsourceas allowed parameters forAPI.search - Handle location deletion and withheld content notices for streams (#886)
- Allow usage of equality and difference operators with
Userobjects (#939) - Add
_jsonattribute toCategory,Friendship, andListmodels (#590, #1169) - Remove
API.suggested_categories,API.suggested_users, andAPI.suggested_users_tweets - Update and improve tests and cassettes (#1242)
- Update
DirectMessagemodel (#1081, #1228) - Replace
API.direct_messagesandAPI.sent_direct_messageswithAPI.list_direct_messages(#1081, #1228) - Update
API.get_direct_message,API.send_direct_message, andAPI.destroy_direct_message(#1081, #1228) - Update and improve various documentation
Bug Fixes
- Exclude examples during installation (#1141, #1164)
- Properly initialize
OAuthHandler.request_token(#1149) - Properly handle
map_parameter forAPI.statuses_lookup(#598) - Support cursor pagination for
API.blocks_idsandAPI.mutes_ids(#930, #931) - Return values for
API.update_profile_background_imageandAPI.update_profile_banner(#904) - Replace usage of root logger
- Close Requests sessions (#810, #1093, #1237)
- Python
Published by Harmon758 over 6 years ago
tweepy - 3.7.0
Note: 3.7.0 was released on 2018-11-27. The release was re-published when the associated tag was renamed from 3.7.0 to v3.7.0 to be consistent with recent releases.
New Features / Improvements
- Allow
trim_userandexclude_repliesas parameters forAPI.user_timeline(#909) - Allow
tweet_modeparameter forAPI.statuses_lookup(#840, #926) - Drop support for Python 2.6 and 3.3
- Discord Server
- Add proxy support for streams (#1033)
- Add
API.create_mute,API.destroy_mute, andAPI.mutes_ids(#1055) - Allow
tweet_modeparameter forAPI.lookup_users(#1130)
Bug Fixes
- Fix
AttributeErrorduring streaming (#1026, #1027) - Update how requirements are specified (#1029, #1030)
- Fix compatibility issue with Python 3.7 (#1017, #1042)
- Python
Published by joshthecoder over 6 years ago
tweepy - 3.6.0
New Features / Improvements
- Parse
Status.quoted_statusas aStatusobject (#633) - Allow
in_reply_to_status_id_stras a parameter forAPI.update_statusandAPI.update_with_media(#693) - Add
stall_warningsparameter toStream.sample(#701) - Add
API.unretweet(#735, #736) - Allow
auto_populate_reply_metadataas a parameter forAPI.update_statusandAPI.update_with_media(#761) - Allow
profile_link_coloras a parameter forAPI.update_profile - Add support for Python 3.6 (#831, #884)
Bug Fixes
- Update file size limit for
API.media_upload(#717) - Fix
JSONParser.parsereturningNonein certain cases (#765, #766) - Include URL parameters when accessing cache (#777)
- Properly re-raise exceptions during streaming
- Fix
AttributeErrorandTypeErrorduring streaming (#698) - Properly encode
filter_levelforStream.filter(#782)
- Python
Published by joshthecoder almost 8 years ago
tweepy - 3.5.0
Features / Improvements
- Allow 'full_text' param when getting direct messages ( #664 )
- Explicitly return api code when parsing error ( #666 )
- Remove deprecated function and clean up codes ( #583 )
Bug Fixes
- update_status: first positional argument should be 'status' ( #578 )
- Fix "TypeError: Can't convert 'bytes' object to str implicitly" ( #615 #658 #635 )
- Fix duplicate raise in auth.py ( #667 )
- Python
Published by joshthecoder over 10 years ago
tweepy - 3.4.0
New Features
- Add API for account/settings (PR #596)
- Added RateLimitError for easily working with the rate limit. (Issue #600, PR #611) @obskyr
- Allow includeemail param for verifycredentials API (PR #623)
- Added support for the "filter_level" parameter for the streaming API (PR #619)
Bug Fixes
- Streaming: don't decode stream bytes until json.decode (PR #606)
- Typo fix on addlistmembers, _removelist_members properties. (PR #593)
- Fixes issue #570 - add "exception" when raising one
- Change raise in streaming.py to raise exception (PR #621)
- Python
Published by joshthecoder over 10 years ago
tweepy - 3.2.0
- Remove deprecated trends methods.
- Fix tweepy.debug() to work in Python 3.
- Fixed issue #529 - StreamListener language filter stopped working.
- Add Documentation Page for streaming.
- Add media/upload endpoint.
- Add mediaids parameter to updatestatus().
- Python
Published by joshthecoder about 11 years ago
tweepy - 3.1.0
- Allow specifying your own ssl certificates for streaming client.
- Distribute Python Wheels instead of dumb binaries.
- Fix cursor invocation, passing args to underlying method. (https://github.com/tweepy/tweepy/issues/515)
- Upgrade to Request 2.4.3
- Python
Published by joshthecoder about 11 years ago
tweepy - 3.0
- Added multiple list members operation api methods (addlistmembers, removelistmembers).
- Added sitestream endpoint.
- Switch to using Requests instead of httplib.
- Fully removed support for non-secure HTTP.
- Proxy support.
- Add API method for /statuses/lookup.json
- Add missing 'count' parameter to followers_ids
- Added allowedparam to updateprofile_image
- Comparison between Status objects
- Extend on_data method by including a conditional to process warning messages and add the definition of the method to manage those warning messages
- Better Python 3 support.
- Python
Published by joshthecoder about 11 years ago