Changelog
These changelogs are also at https://github.com/tweepy/tweepy/releases as release notes.
Version 4.13.0 (2023-03-09)
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
Naprawa błędów
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)Update copyright years to include 2023 (ccc9526)
Version 4.12.1 (2022-11-06)
Naprawa błędów
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)
Version 4.12.0 (2022-10-27)
Nowe funkcje / Usprawnienia
Add support for Direct Messages with Twitter API v2 (#1995)
Add
DirectMessageEventmodelAdd
Client.get_direct_message_events,Client.create_direct_message, andClient.create_direct_message_conversationAdd
AsyncClient.get_direct_message_events,AsyncClient.create_direct_message, andAsyncClient.create_direct_message_conversation
Add support for Python 3.11 (a391c66)
Naprawa błędów
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)
Version 4.11.0 (2022-10-24)
Nowe funkcje / Usprawnienia
Naprawa błędów
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 version changed directive to documentation for
get_list_tweets(5cb2616)Improve documentation for
wait_on_rate_limitparameter for streaming (#1986)Add sections for old and previously missing versions to changelog (6aa1b77)
Update cassettes for testing methods that return Tweet objects (872b33e)
Version 4.10.1 (2022-08-22)
Naprawa błędów
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)
Version 4.10.0 (2022-05-20)
Nowe funkcje / Usprawnienia
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
Update the User-Agent header based on
AsyncStream.user_agenteven ifAsyncStream.sessionis already initialized/set (096a62c)
Twitter API Deprecations
Misc
Update and improve various documentation and tests
Version 4.9.0 (2022-05-05)
Nowe funkcje / Usprawnienia
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
Version 4.8.0 (2022-03-24)
Nowe funkcje / Usprawnienia
Add support for Bookmarks with Twitter API v2 (#1848)
Add
Client.remove_bookmark,Client.get_bookmarks,Client.bookmark
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
NotFoundrather thanHTTPExceptionwhen encountering 404 response status codes inBaseClient.request(b6b8219)
Version 4.7.0 (2022-03-17)
Nowe funkcje / Usprawnienia
Add support for Quote Tweets lookup with Twitter API v2 (#1844)
Add
Client.get_quote_tweets
Python Backwards-Incompatible Changes
Drop support for Python 3.6, which has reached end-of-life status (#1788)
Naprawa błędów
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)
Use Read the Docs Sphinx search extension for documentation (72c7e01)
Use dash instead of underscore for requests-oauthlib requirement (2c94758)
Optimize
Tweet.referenced_tweetsinitialization (3299881)Zaktualizowanie i poprawa dokumentacji
Version 4.6.0 (2022-02-24)
This will be the last minor version to support Python 3.6 (#1788).
Nowe funkcje / Usprawnienia
Add support for streaming with Twitter API v2 (86244c1)
Refactor
ClientandStreamto inherit from newBaseClientandBaseStreamclasses and addStreamingClient,StreamResponse, andStreamRule
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
Use oauthlib to create code challenge and verifier for PKCE (eb22416)
Version 4.5.0 (2022-01-24)
Nowe funkcje / Usprawnienia
Revamp authentication interface
Add support for OAuth 2.0 Authorization Code Flow with PKCE
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 support for
Media.url(#1722)Use requests exception to handle
JSONDecodeError(b492b0a)Update requests dependency requirement to >= 2.27.0 (ed66e8e)
Naprawa błędów
Version 4.3.0 (2021-11-03)
Version 4.2.0 (2021-10-29)
Nowe funkcje / Usprawnienia
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
Version 4.1.0 (2021-10-07)
Nowe funkcje / Usprawnienia
Add support for Python 3.10 (229b738)
Update minimum dev requirement version for tox to 3.14.0
Add support for Spaces (5c68892)
Add
SpacemodelAdd
Client.search_spaces,Client.get_spaces, andClient.get_space
Add support for batch compliance (6ca75e1)
Add
Client.get_compliance_jobs,Client.get_compliance_job, andClient.create_compliance_job
Add
Client.get_muted(00cdab8)Minor documentation corrections
Version 4.0.1 (2021-10-01)
Naprawa błędów
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
Handle simplejson being installed when handling
JSONDecodeErrorinHTTPException(586c162)
Version 4.0.0 (2021-09-25)
Major New Features / Improvements
Support Twitter API v2 (#1472, #1535)
Replace API v1.1 models in package namespace
Rework
APIReplace
bind_apiandAPIMethodwithAPI.requestStop using property decorators for
APImethodsUse
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
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 valuesAllow 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)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
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
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
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)
Nowe funkcje / Usprawnienia
New Methods And Parameters / Attributes
Add
API.get_list_ownerships(#1282, #1498)Add
models.User.list_ownerships(#1282)
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
Documentation For Existing Methods
Dependencies
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
Naprawa błędów
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)Handle
ChunkedEncodingErrorduring streaming (e8fcc4d)Handle Twitter API errors with successful HTTP status codes (#1427)
Handle initial negative or zero limits in
Cursoriterators (c1457b7)
Version 3.10.0 (2020-12-25)
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.
Nowe funkcje / Usprawnienia
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_entitiesRemove
pageas erroneously documented parameterReorder
countto be the first parameter
Update allowed parameters for
API.get_oembedAdd
hide_thread,theme,link_color,widget_type,dntRemove
id
Remove
API.update_profile_background_image(#1466)Dodanie wsparcia dla Python 3.9
Switch from Travis CI to GitHub Actions to run tests and deploy releases (#1402)
Zaktualizowanie i poprawa dokumentacji
Naprawa błędów
Use
mimetypes.guess_typeas fallback for determining image file type (#1411)Użycie odpowiedniego typu MIME w nagłówku Content-Type dla przesyłanych obrazów
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)
Version 3.9.0 (2020-07-11)
Nowe funkcje / Usprawnienia
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_uriRemove
in_reply_to_status_id_str,source
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_statusAdd
reverseas allowed parameter forAPI.lists_allAdd
countas allowed parameter forAPI.lists_membershipsAdd
countas allowed parameter forAPI.lists_subscriptionsAdd
include_entitiesas allowed parameter forAPI.list_timelineAdd allowed parameters to
API.list_subscriberscount,include_entities,skip_status
Dodanie wsparcia dla Python 3.8
Aktualizacja i poprawa setup.py
Od teraz używane są requests socks extra zamiast wymagania PySocks bezpośrednio
Allow uploading of images with file names without extensions (#1060, #1086)
Support uploading WebP images (#1298)
Add missing attributes to
Relationshipmodel (#1375)Add
_jsonattribute toDirectMessagemodel (#1342)Update and improve tests (#1217)
Dodanie dokumentacji dla rozszerzonych Tweetów
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)Zaktualizowanie i poprawa dokumentacji
Version 3.8.0 (2019-07-14)
Nowe funkcje / Usprawnienia
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)Porzucenie wsparcia dla Python 3.4
Allow
perform_blockparameter forAPI.report_spam(#1090)Allow
countparameter forAPI.friends(#577)Remove
since,from,to, andsourceas allowed parameters forAPI.searchHandle 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_tweetsUpdate and improve tests and cassettes (#1242)
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)Zaktualizowanie i poprawa dokumentacji
Naprawa błędów
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)Zamiana użycie rejestratora głównego
Version 3.7.0 (2018-11-27)
Nowe funkcje / Usprawnienia
Allow
trim_userandexclude_repliesas parameters forAPI.user_timeline(#909)Allow
tweet_modeparameter forAPI.statuses_lookup(#840, #926)Porzucenie wsparcia dla Python 2.6 oraz 3.3
Add proxy support for streams (#1033)
Add
API.create_mute,API.destroy_mute, andAPI.mutes_ids(#1055)Allow
tweet_modeparameter forAPI.lookup_users(#1130)
Version 3.6.0 (2015-03-02)
Nowe funkcje / Usprawnienia
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)Allow
auto_populate_reply_metadataas a parameter forAPI.update_statusandAPI.update_with_media(#761)Allow
profile_link_coloras a parameter forAPI.update_profile
Naprawa błędów
Update file size limit for
API.media_upload(#717)Fix
JSONParser.parsereturningNonein certain cases (#765, #766)Include URL parameters when accessing cache (#777)
Prawidłowe ponowne podnoszenie wyjątków podczas przesyłania strumieniowego
Fix
AttributeErrorandTypeErrorduring streaming (#698)Properly encode
filter_levelforStream.filter(#782)
Version 3.5.0 (2015-11-19)
Nowe funkcje / Usprawnienia
Zezwolenie parametru «full_text” podczas otrzymania bezpośredniej wiadomości ( #664 )
Wyraźnie zwrócenie kodu api przy błędzie parsowania ( #666 )
Usuniećie przestarzałych funkcję i czyszczenie kodu ( #583 )
Naprawa błędów
update_status: pierwszy argument pozycyjny powinien być «status» ( #578 )
Naprawienie „TypeError: Can’t convert «bytes» object to str implicitly” ( #615 #658 #635 )
Naprawienie duplikatu podniesienia w auth.py ( #667 )
Version 3.4.0 (2015-08-13)
Nowe funkcje
Dodanie API dla konta/ustawień (PR #596)
Dodanie RateLimitError dla ułatwienia pracy z limitem przepływu. (Issue #600, PR #611) @obskyr
Zezwolenie parametru include_email dla verify_credentials API (PR #623)
Dodanie wsparcia dla parametru „filter_level” podcas przesyłania strumieniowego API (PR #619)
Naprawa błędów
Przesyłanie strumieniowe: nie dekoduj bajtów strumienia przed json.decode (PR #606)
Poprawka literówek we właściwościach _add_list_members, _remove_list_members. (PR #593)
Poprawki do błędu #570 - dodanie „exception” przy podnoszeniu wyjątku
Zmiana raise w streaming.py na raise exception (PR #621)
Version 3.3.0 (2015-02-21)
Rozluźnienie naszych wymagań dotyczących zależności dla Requests (>= 2.4.3)
Naprawienie problemu z zawieszaniem się strumieni w Pythonie 3 (Issue #556)
Dodanie wywołania zwrotnego keep_alive() do StreamListener, gdy nadejdą wiadomości keep alive
Naprawienie problemu z nieużywaniem nagłówków sesji strumienia podczas ponownego uruchamiania połączenia
Naprawienie problemu z utknięciem strumienia w pętli po utracie połączenia. (PR #561)
Version 3.2.0 (2015-01-28)
Usunięcie przestarzałych metod trendów.
Naprawienie funkcji tweepy.debug(), aby działała w Pythonie 3.
Naprawienie błędu #529 - filtr językowy StreamListener przestał działać.
Dodanie dokumentacji dla przesyłania strumieniowego.
Dodanie punktu końcowego media/upload.
Dodanie parametru media_ids do update_status().
Version 3.1.0 (2014-12-01)
Umożliwienie określenia własnych certyfikatów ssl dla klienta strumieniowego.
Dystrybucja Python Wheels zamiast dumb binaries.
Poprawienie wywoływania kursora, przekazującego argumenty do metody bazowej. (https://github.com/tweepy/tweepy/issues/515)
Aktualizacja Request do wersji 2.4.3
Version 3.0 (2014-11-30)
Dodanie metody multiple list members operation api (add_list_members, remove_list_members).
Dodanie punktu końcowego sitestream.
Przejście na Requests z httplib.
Całkowite usunięcie wsparcia dla niezabezpieczonych HTTP.
Wsparcie dla proxy.
Dodanie metody API do /statuses/lookup.json
Dodanie brakującego parametru «count» do followers_ids
Dodanie allowed_param do update_profile_image
Porównanie pomiędzy obiektami Status
Rozszerzenie metody on_data o warunek do przetwarzania komunikatów ostrzegawczych i dodanie definicji metody do zarządzania tymi komunikatami ostrzegawczymi
Lepsze wsparcie Python 3.
Version 2.3.0 (2014-04-26)
Version 2.2 (2014-01-20)
Dodanie punktu końcowego update_profile_banner.
Wyłączenie traktowania kodów statusu HTTP z zakresu 200 jako błędów.
Testy nie są już dołączane do egg releases.
Poprawa stabilności testów oraz włączenie testowania Cl dla pull requestów.
Usunięcie Basic Auth.
Użycie wbudowanej funkcji timeout w httplib, aby naprawić appengine.
Dodanie punktu końcoweo retweeters()
Usunięcie wycofanych retweeted_by oraz retweeted_by_ids.
Poprawienie parsowanie datetime. Powinno być bardziej bezpieczne dla wątków.
Włączenie raportowania zasięgu. Przesłanie raportów do Coveralls.
https://coveralls.io/r/tweepy/tweepy
Usunięcie przestarzałego punktu końcowego test().
Nowe wywołanie zwrotne on_disconnect() dla słuchaczy strumienia. Wywoływany za każdym razem, gdy przychodzi wiadomość „disconnect” z Twittera przed zakończeniem połączenia.
https://dev.twitter.com/docs/streaming-apis/messages#Disconnect_messages_disconnect
Domyślne używanie protokołu HTTPS.
Wsparcie ustawiania początkowej pozycji kursora (ex: Ex: Cursor(api.friends_ids, cursor=123456))
Dodano flagę instancji API.cached_result, która przyjmuje wartość „True”, gdy zwracany jest zbuforowany wynik.
Nowe wywołania zwrotne klienta strumieniowego
on_event(status): dodany gdy przychodzi nowy status
on_direct_message(status): wywoływane gdy przychodzi nowa wiadomość bezpośrednia.
Poprawienie zachowania / konfiguracji dla klienta streamowania. (https://github.com/tweepy/tweepy/commit/447f69cd3de67b0d241b9d4f669ecc9b9c0cdb54)
Version 2.1 (2013-06-16)
Dodanie get_oembed().
powrót friends() oraz followers() i aktualizacji ich do v1.1.
Naprawienie punktu końcowego report_spam().
Dodanie parametru „languages” do metody streamowanie filter().
Dodanie wsparcia „timeout” dla obiektu API. Np: API(timeout=1000).
Usunięcie wsparcia dla Python 2.5.
Dodanie wsparcia dla kompresji. Np: API(compression=True).
Dodanie wywołania zwrotnego on_connect() do StreamListener.
Zmiana API search() na punkt końcowy v1.1. Przełomowe zmiany.
Porzuenie kursorów opartych na „stronie” i użycie zamiast nich kursorów opartych na „ID”.
Version 2.0 (2013-02-10)
Dedicated in memory of Aaron Swartz
Wsparcie dla Twitter API 1.1.
Uwierzytelnianie podstawowe zostało wycofane.
usunięcie friends_timeline().
usunięcie mentions() i zmiana na mentions_timeline().
usunięcie retweeted_by_user().
usunięcie retweeted_by_me().
usunięcie retweeted_to_me().
usunięcie retweeted_by_user().
usunięcie friends().
usunięcie followers().
usunięcie disable_notifications().
usunięcie disable_notifications().
usunięcie exists_block().
usunięcie lists() i zmiana na lists_all().
usunięcie is_list_member().
dodanie show_list_member.
usunięcie is_subscribed_list().
dodanie show_list_subscriber().
usunięcie trends_location().
usunięcie nearby_places().
Version 1.13 (2013-01-17)
Version 1.12 (2012-11-08)
Version 1.11 (2012-08-14)
Version 1.10 (2012-07-08)
Version 1.9 (2012-03-17)
Version 1.8 (2011-10-31)
Version 1.7.1 (2010-05-25)
Version 1.7 (2010-05-23)
Version 1.6 (2010-03-18)
Version 1.5 (2010-01-12)
Models
Added some new helper methods to List model
User model
Added lists_memberships, lists_subscriptions, and lists helpers
Added followers_ids helper
Added ModelFactory to replace «models» dict in tweepy.models. Extend this factory to plugin customized models then pass into API().
API
lists(), lists_memberships(), and lists_subscriptions() now take an „user” parameter for specifying which user to query.
OAuthHandler
You may now pass in an optional «secure» boolean to the constructor which will use https for OAuth requests. Ex: auth = OAuthHandler(token,secret,secure=True)
Fallback to using «twitter.com» instead of «api.twitter.com» for OAuth until issue #8 is resolved.
Version 1.4 (2009-12-10)
Added people search API method. API.search_users()
Streaming API
Moved parameters into POST body to prevent „head too big” errors.
Stream can be run either asynchronously (threaded) or synchronously (blocks main thread). By default Stream will run in sync. mode. To change this pass into the stream method «async=True». Example: s = Stream(«test», «password», MyListener()) s.sample(async=True) # threaded mode s.filter(track=[«pizza»]) # synch./blocking mode
Listener now has a „on_data” method which can be overridden to manually handle the raw stream data.
tweepyshell
allow using getpass for more secure password collection new usage: tweepyshell
[password] <– optional now enable debug mode with «-d» flag
API
retweet() method now works correctly
Added local trends method: trends_available() and trends_location()
send_direct_message() now accepts either a user/screen_name/user_id for recipient of DM
update_status() added «source» parameter for Identi.ca
create_list() and update_list() added «description» parameter
tweepy.debug() enables httplib debug mode
New Sphinx documentation (Thanks Kumar!) in doc/
User model
Fix timeline() to return correct timeline
Remove mentions() method
Version 1.3 (2009-11-13)
Lists API methods added
API.verify_credentials() now returns an User object if credentials are valid. Otherwise false will be returned.
API.new() removed
Removed model validation. Prone to breakage due to API changes.
Moved documentation out of api.py and into wiki.
Removed «email» parameter from API.update_profile. No longer supported.
API.auth_handler -> API.auth
Moved memcache implementation to tweepy-more repository.
Tweepy now uses the versioned API and the new api.twitter.com subdomain
Updated retweet parsing for new payload format
Version 1.2 (2009-10-16)
API
Added automatic request re-try feature Example: API.friends(retry_count=5, retry_delay=10) Retry up to 5 times with a delay of 10 seconds between each attempt. See tutorial/t4.py for more an example.
Added cursor parameter to API.friends and API.followers methods. Note: page parameter is being deprecated by twitter on 10/26
Update parsing to handle cursor responses. When using «cursor» parameter, the API method will return a tuple with this format: (data, next_cursor, prev_cursor) Calls not using the «cursor» parameter are not changed in the way they return.
API.friends_ids and API.followers_ids now return a list of integers. Parser updated to handle cursor responses. See above.
Fix Status.source_url parsing
Fix search result «source» parsing to properly unescape html and extract source
Added report_spam method
Cursor Added the Cursor object to help with pagination within the API. Please see the pagination tutorial for more details (tutorial/t6). This is the recommended way for using the «page» and «cursor» parameters.
Models
Status: added retweet, favorite and retweets methods (NOTE: retweet API not live yet on twitter)
Python 2.4 support
Update OAuth bundled library.
Logging removed. Having our own mini-logging system just feels like overkill. Turns out it was not really needed that much. Simply just exposing the last HTTPResponse object should be good enough for most debugging.
Version 1.1 (2009-09-24)
Fixes
Google App Engine fixes (thanks Thomas Bohmbach, Jr)
API
Added Retweet API methods
Added Retweet Streaming method
New model: Retweet
Updated statuses parser to handle retweet_details
Added new parameters for statuses/update; lat & long
friends_ids() & followers_ids() parameter changed page -> cursor
search() added „locale” parameter
expose last httplib.HTTPResponse object received as API.last_response
OAuthHandler
Added set_request_token() method
Added support for „sign in with twitter”. get_authorization_url() now takes a boolean that when true uses the „sign in with twitter” flow. See http://apiwiki.twitter.com/Sign-in-with-Twitter
Logging
Added TweepyLogger interface which allows applications to collect log messages from Tweepy for debugging purposes.
Dummy, console, and file loggers available
Examples
Appengine demo (oauth)
Documentation of each method in api.py
Version 1.0.1 (2009-09-13)
Status.user –> Status.author
User:
follow()
unfollow()
API:
init() signature change; no longer accepts «username» parameter which is now autodetected.
added new() method. shortcut for setting up new API instances example: API.new(auth=»basic», username=»testuser», password=»testpass»)
update_profile_image() and update_profile_background_image() method added.
Added search API methods: trends, trends_current, trends_daily, and trends_weekly
Streaming:
Update to new streaming API methods
New StreamListener class replacing callback function
Fixes
User.following is now set to False instead of None when user is not followed.
python 2.5 import syntax error fixed
python 2.5 timeout support for streaming API
win32 failed import of fcntl in cache.py
Changed indents from 2 to 4 spaces
Version 1.0 (2009-08-13)
https://github.com/tweepy/tweepy/commits/e62f8c18977fd755c9d24a0abebd3b8087c75b45