체인지로그

이 체인지로그는 https://github.com/tweepy/tweepy/releases 에서 release note로도 확인이 가능합니다.

Version 4.14.0 (2023-04-24)

새 기능 / 개선

  • Add constants for potential model object fields (f3f73bc)

    • DIRECT_MESSAGE_EVENT_FIELDS

    • DM_EVENT_FIELDS

    • LIST_FIELDS

    • MEDIA_FIELDS

    • PLACE_FIELDS

    • POLL_FIELDS

    • PUBLIC_SPACE_FIELDS

    • SPACE_FIELDS

    • PUBLIC_TWEET_FIELDS

    • TWEET_FIELDS

    • USER_FIELDS

  • Add creator_id field for Space (a13726a)

Twitter API Backwards-Incompatible Changes

  • Remove support for streaming with Twitter API v1.1 status/filter endpoint (c8a02eb)

    • Stream

    • AsyncStream

  • Remove support for deprecated Premium v1.1 Search APIs (a955f30)

    • API.search_30_day

    • API.search_full_archive

기타

  • Overhaul Getting Started documentation (addb9f7)

  • Remove no longer valid Twitter API version badges in README (880e7bf)

  • 문서를 갱신·개선함

Version 4.13.0 (2023-03-09)

새 기능 / 개선

  • Add verified_type field for User (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.sample

      • AsyncStream.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_withheld

      • AsyncStream.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)

    • Stream

    • AsyncStream

버그 수정

  • Return base class method values in StreamingClient._process_data and AsyncStreamingClient._process_data methods (2744073)

  • Handle empty payloads in JSONParser.parse (e854138, #2051)

Twitter API Bug Handling

  • Handle incorrect processing state for errored chunked uploads (a68ce86)

기타

  • 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_fields parameter (e2fb467)

  • Add section in documentation about dm_event_fields parameter (4b0fa90)

  • Add expansions documentation for Direct Message conversation events (#2009)

  • Add note in documentation about removal of Tweet source field (5d22a01)

  • Add SECURITY.md (b79a1db, 3d3d58e)

  • Update copyright years to include 2023 (ccc9526)

Version 4.12.1 (2022-11-06)

버그 수정

  • 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 AsyncBaseStream to abort closed SSL transports (#1904)

  • Warn when Tweet data is missing default edit_history_tweet_ids field (3dea0df, #1994)

  • Change initial network_error_wait to 0 for streaming (b18c1a6)

    • Attempt to reconnect immediately when established streaming connection drops

기타

  • Document limit and pagination_token parameters for Paginator and AsyncPaginator (e98ab02, bb934fc)

  • Use separate method to construct Response in Client and AsyncClient (#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 namedtuple in documentation for Response (352c74a)

  • Improve format of badges in README (d41c813)

Version 4.12.0 (2022-10-27)

새 기능 / 개선

  • Add support for Direct Messages with Twitter API v2 (#1995)

    • Add DirectMessageEvent model

    • Add Client.get_direct_message_events, Client.create_direct_message, and Client.create_direct_message_conversation

    • Add AsyncClient.get_direct_message_events, AsyncClient.create_direct_message, and AsyncClient.create_direct_message_conversation

  • Add support for Python 3.11 (a391c66)

  • Add support for variants Media field (#1910, e31be15)

버그 수정

  • Handle different method return types in API v2 pagination (#1843, #1861, 381bf91, 3874579)

  • Add missing angle bracket to string representation of ReferencedTweet (d4df069)

기타

  • Add documentation for edit_history_tweet_ids and edit_controls Tweet fields (2b1e159)

    • This documentation was previously missing from Twitter’s API documentation

  • Fix class references in notes in documentation for AsyncClient methods (f737b87)

  • Fix signature of Client.get_quote_tweets in documentation (6f7de39)

  • Update actions/setup-python from v2 to v4 (f16b3dc, 0148be7)

Version 4.11.0 (2022-10-24)

새 기능 / 개선

  • Add support for retrieving edited Tweet metadata

    • Add support for include_ext_edit_control parameter for API methods (e122f35, e736770)

    • Add support for edit_history_tweet_ids and edit_controls Tweet fields (#1979, a1c104f)

  • Add asynchronous.AsyncPaginator for pagination for AsyncClient (33e444a)

  • Add support for exclude parameter for get_quote_tweets (4f28bd8, 17e02b7, 48ebdb7)

버그 수정

  • 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_parameters argument in API.indicate_direct_message_typing (396ab84)

  • Update models.List methods to pass keyword arguments to API methods (#1987)

  • Update models.List methods to use list ID instead of slug (73f6308)

기타

  • Log text of HTTP response when handling request error in AsyncBaseStream (51c3762)

  • Update signature for get_list_tweets in documentation (86577b1)

    • Add media_fields, place_fields, and poll_fields parameters

  • Add version changed directive to documentation for get_list_tweets (5cb2616)

  • Improve documentation for wait_on_rate_limit parameter 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)

Version 4.10.1 (2022-08-22)

버그 수정

  • Fix AsyncBaseClient rate limit handling (#1902)

  • Fix handling of StreamRule when passed in list to StreamingClient.delete_rules or AsyncStreamingClient.delete_rules (#1942)

  • Add support for media_fields, place_fields, and poll_fields parameters for Client.get_list_tweets and AsyncClient.get_list_tweets (#1931)

  • Ignore AsyncClient method parameters explicitly passed as None (#1944)

기타

  • 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 StreamingClient and AsyncStreamingClient add_rules and delete_rules methods (#1937)

Version 4.10.0 (2022-05-20)

새 기능 / 개선

  • Add asynchronous interfaces for Twitter API v2

    • Add asynchronous.AsyncClient (0aadd53)

      • Add async_lru as requirement for async extra

    • Add asynchronous.AsyncStreamingClient (9051ba6)

  • Add support for reverse chronological home timeline with Twitter API v2 (#1900)

    • Add Client.get_home_timeline and AsyncClient.get_home_timeline

  • Update the User-Agent header based on AsyncStream.user_agent even if AsyncStream.session is already initialized/set (096a62c)

Twitter API Deprecations

  • Deprecate AsyncStream.sample and note deprecation of compliance messages for AsyncStream.filter (e043074, 1b77007)

기타

  • 다양한 문서 갱신(업데이트) 및 수정

Version 4.9.0 (2022-05-05)

새 기능 / 개선

  • Add support for Direct Message typing indicator and read receipts (#1856)

    • Add API.indicate_direct_message_typing and API.mark_direct_message_read

  • Fallback to "detail" response value for HTTPException message (b6b8241)

  • Handle "error" key of response being a string in HTTPException (2da4452)

Twitter API Deprecations

  • Deprecate Stream.sample and note deprecation of compliance messages for Stream.filter (#1876)

기타

  • 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_require from setup.py (2870031)

  • Stop creating universal wheels (9d93ec8)

  • 다양한 문서 갱신(업데이트) 및 수정

Version 4.8.0 (2022-03-24)

새 기능 / 개선

  • 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 Client methods that require the authenticating user’s ID (0157d0b)

    • Raise TypeError for those methods when the access token isn’t set

  • Raise NotFound rather than HTTPException when encountering 404 response status codes in BaseClient.request (b6b8219)

Version 4.7.0 (2022-03-17)

새 기능 / 개선

  • 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)

버그 수정

  • Fix Client.follow to return response from Client.follow_user rather than None (0742f54)

  • Fix Client.unfollow to return response from Client.unfollow_user rather than None (c1787f0)

기타

  • 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)

  • Add and improve API v2 examples (#1835, 6a6ef98)

  • Use dash instead of underscore for requests-oauthlib requirement (2c94758)

  • Optimize Tweet.referenced_tweets initialization (3299881)

  • 문서를 갱신·개선함

Version 4.6.0 (2022-02-24)

This will be the last minor version to support Python 3.6 (#1788).

새 기능 / 개선

  • Add support for streaming with Twitter API v2 (86244c1)

    • Refactor Client and Stream to inherit from new BaseClient and BaseStream classes and add StreamingClient, StreamResponse, and StreamRule

  • Add support for new max_results and pagination_token parameters for Client.get_liking_users (bdd6b55)

  • Add support for new max_results and pagination_token parameters for Client.get_retweeters (3479e56)

  • Add support for new sort_order parameter for Client.search_all_tweets (bd202e5)

  • Add support for new sort_order parameter for Client.search_recent_tweets (8b47170)

  • Add Client.get_space_tweets (c8d5d9a)

  • Add Space.subscriber_count (1ffc8cd)

  • Use repr of text in Tweet.__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__ in DataMapping (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.session within Stream.__init__ (80adf5b)

    • Update the user agent based on Stream.user_agent even if Stream.session is already initialized

  • Use oauthlib to create code challenge and verifier for PKCE (eb22416)

    • Explicitly specify oauthlib dependency requirement as >= 3.2.0 (fc0d967)

      • Update requests_oauthlib dependency requirement to >= 1.2.0 (dd7e2c9)

버그 수정

  • Fix datetime endpoint parameter formatting in Client._make_request (#1793)

기타

  • Remove undocumented debug function (a702325)

  • Add logging documentation (7701506)

  • 문서를 갱신·개선함

Version 4.5.0 (2022-01-24)

새 기능 / 개선

  • Revamp authentication interface

    • Add support for OAuth 2.0 Authorization Code Flow with PKCE

    • Rename OAuthHandler to OAuth1UserHandler (fb6eb7d)

      • OAuthHandler is kept as a deprecated alias (cba7317)

    • Rename AppAuthHandler to Oauth2AppHandler (529d793)

      • AppAuthHandler is kept as a deprecated alias (d4ceb1a)

    • Rename OAuth2Bearer to OAuth2BearerHandler (0781fde)

    • Allow passing access token and secret directly to OAuth1UserHandler.__init__ (99f3583)

      • Note, this changes the callback parameter to be the fifth argument, positionally

    • Allow OAuth2BearerHandler to be used as auth parameter for API (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)

버그 수정

  • Fix Response.includes["polls"] not being Poll objects (#1733)

  • Fix Paginator handling of Client.get_all_tweets_count (#1761)

기타

  • Improve and optimize Model.__getstate__ (#1707)

  • Add API v2 examples to documentation (bbdbb7b)

  • 문서를 갱신·개선함

Version 4.4.0 (2021-11-17)

새 기능 / 개선

  • 이제 트위터 API v2를 이용한 리스트 검색을 지원합니다.(0aa2366)

  • 다음을 추가함: Client.get_space_buyers (8bf58ca)

  • 다음을 추가함: Space.ended_at, Space.topic_ids (c89a233)

버그 수정

  • 잘못된 Space.__str__ 제거(ebb4bfd)

Version 4.3.0 (2021-11-03)

새 기능 / 개선

  • 이제 트위터 API v2를 이용한 트윗 관리를 지원합니다.(7884e3a)

기타

  • 문서 HTTPException 특성(attributes)(c62c31a)

  • Add table to documentation mapping Client methods to Twitter API v2 endpoints (0572b03)

  • 예시의 추가·보충

  • 문서의 〈예시〉 페이지 수정

  • 다양한 문서 갱신(업데이트) 및 수정

Version 4.2.0 (2021-10-29)

새 기능 / 개선

  • 이제 트위터 API v2를 이용한 리스트 관리를 지원함 (b1342bf)

  • Client.followClient.unfollow 를 각각 Client.follow_userClient.unfollow_user 로 바꿈 (8f8de15)

    • Client.followClient.unfollow 는 사용되지 않는 이름으로 남아있음

  • 문서에 FAQ 추가함

  • 다양한 문서 갱신(업데이트) 및 수정

트위터 API 변경사항

  • stateClient.search_spaces 의 선택적(Optional) 매개변수로 전환함 (e61d5d6)

버그 수정

  • 파이썬 3.6과 파이썬 API v2에서의 날짜/시간 파싱이 올바르게 되도록 수정 (5bf2446)

  • Cursor 와 ID값을 이용한 페이지화 작업 중 API 인스턴스가 누락되는 현상 수정 (451e921)

Version 4.1.0 (2021-10-07)

새 기능 / 개선

  • 파이썬 3.10 지원 (229b738)

    • Tox 개발 최소 요구 버전을 3.14.0 으로 갱신함

  • 이제 스페이스(트위터 스페이스)를 지원함 (5c68892)

    • 추가함: Space 모델

    • 추가함: Client.search_spaces, Client.get_spaces, Client.get_space

  • 이제 〈표준 준수 하 일괄 처리〉(Batch compliance)를 지원함 (6ca75e1)

    • 추가함: Client.get_compliance_jobs, Client.get_compliance_job, Client.create_compliance_job

  • 추가함: Client.get_muted (00cdab8)

  • 자잘한 문서 수정

Version 4.0.1 (2021-10-01)

버그 수정

  • Client 메서드에 필드값 형태로 문자열이 전달될 때 발생하던 문제를 수정함 (d61a5d9)

  • 이제 트위터 API 요청으로부터 Client 메서드에 예기치 않은 매개변수가 전달되는 경우도 고려함 (618d1c2)

    • 이는 새 엔드포인트 매개변수를 대비하는 미래 지향형 업데이트임

  • Client 메서드에 전달된 매개변수를 날짜/시간 형식에서 문자열로 변환할 때, 더 이상 매개변수 이름을 확인하지 않음 (1320a37)

    • 이는 날짜/시간 형식을 허용하는 새 엔드포인트 변수 지원에 대한 미래 지향형 업데이트임

  • simplejson 사용과 관련된, HTTPException 에서의 JSONDecodeError 문제를 수정함 (586c162)

기타

  • 문서 요구 사항 갱신 (3fa38b6, 388e2f6, 4315ab0)

  • 테스트에서 nose를 더 이상 사용하지 않음 (b4c06a4)

  • 더 이상 테스트시 mock와 nose를 요하지 않음 (0f071fd, b4c06a4)

  • 다양한 문서 갱신(업데이트) 및 수정

Version 4.0.0 (2021-09-25)

새 주요 기능 / 개선

  • 이제 트위터 API v2 를 지원함(#1472, #1535)

    • 패키지 네임스페이스에서 API v1.1 모델을 대체함

  • 미디어 업로드 재작업 (#640, #1486, #1501)

  • 이제 비동기 스트리밍을 지원함 (#732, #1491)

  • API 재작업

    • bind_apiAPIMethodAPI.request 로 대체함

      • 더 이상 API 메서드에 데코레이터 속성(Decorator property)을 사용하지 않음

      • 이제 pagination 데코레이터를 사용함

    • 추가함: requests.Session (API.session 의 속성으로) (2f28757)

      • 이제 하나의 API 인스턴스에 하나의 requests.Session 인스턴스를 초기화(Initialize)하며, 매 요청마다 초기화하지 않아도 됨

    • 이제 API.request에 엔드포인트 매개변수가 아닌, 예기치 않은 키워드 인수가 전달되면 로그에 경고를 기록합니다. (c82d7ac)

    • 허용된 매개변수(allowed_param)를 엔드포인트 매개변수(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)

    • API.request와 다른 API 메서드를 개선·최적화·단순화함

  • 스트리밍 재작업

    • StreamListener has been merged into Stream (see Backwards-Incompatible Changes section)

    • Stream 의 데이터 및 이벤트 처리 메서드가 (예: on_ 으로 시작하는 것들) 이제 기본적으로 로그에 기록되며, 반환값은 무시함

    • kee-alive 신호를 포함한 모든 종류의 데이터를 수신했을 때, 스트림 연결을 종료할 수 있도록 허용함 (#773, #897)

    • Remove, rename, and replace attributes, methods, and parameters (see Backwards-Incompatible Changes section)

    • Stream 을 개선·최적화·단순화함

  • 문서 재작업

    • 이제 문서에 자동으로 docstrings를 사용함

    • 이제 NumPy 스타일의 docstrings를 사용함

    • 이제 Intersphinx 링크를 사용함

    • sphinx-hoverxref를 이용해, 교차 참조가 가능하도록 툴팁을 추가함

    • Stream 문서(18a6059)

    • Models 문서(0724060, 78a0c22)

    • Document pagination (695d531, 652fece)

    • API 문서에 테이블을 추가함 (6db8e4c)

    • 예외와 관련된 문서를 따로 분리함 (8a831b1)

    • 체인지로그를 문서화함 (fc98629)

    • 문서를 갱신·개선·조직화함

  • 예외 재작업

    • TweepErrorTweepyException 과(5c39cd1) HTTPException 로 변경 및 세분화함 (#599)

    • RateLimitErrorTooManyRequests 로 변경함 (cd5f696)

    • 제거함: Parser.parse_error (cd5f696)

    • 추가함: NotFound (2d84b27)

    • 추가함: Unauthorized (3ffec76)

    • 추가함: Forbidden (4a9bc58)

    • 추가함: BadRequest (3da5ede)

    • 추가함: TwitterServerError (b443557)

Backwards-Incompatible Changes

  • 더 이상 Python 2를 지원하지 않음 (#1253, #1482)

  • 더 이상 Python 3.5를 지원하지 않음(#1487)

API

  • API 메서드와 models 메서드의 이름을 변경함

    • API.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)

  • API 메서드 매개변수명을 변경함

    • API.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)

  • API 메서드의 필수 매개변수

    • API.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)

  • API 메서드가 더 이상 위치 인수(Positional argument)를 받지 않음 (키워드 인수 형식으로 전달해야 함)

  • API.update_status_with_media 매개변수 재정렬 (87abdcd)

  • 다음 API 초기화 파라미터 이름 변경: auth_handler -> auth (ee313bd)

  • API 초기화에서의 auth 에서 위치 인수(Positional argument)를 더 이상 허용하지 않음(da2f276)

  • 제거함: API.api_root, API.upload_root (e757919)

  • 제거함: API.compression (4590c7a)

  • 제거함: API.me, AuthHandler.get_username, OAuthHandler.get_username (807f937)

  • 제거함: API.search_host, API.search_root (92db0cf)

  • 제거함: API.wait_on_rate_limit_notify (f325738)

    • 이제 트위터 API 호출에 도달할 때 경고를 로그에 항상 기록함

  • 제거함: API.lookup_statuses 키워드 인수(0a404c3)

Stream

  • StreamListener 를 제거하고, Stream 에 해당 기능들을 병합(Merge)함 (39abff4)

    • StreamListener.keep_alive -> Stream.on_keep_alive (abf4d5d)

    • StreamListener.on_connect -> Stream.on_connect

    • StreamListener.on_data -> Stream.on_data

    • StreamListener.on_delete -> Stream.on_delete

    • StreamListener.on_disconnect -> Stream.on_disconnect_message (6c3b997)

    • StreamListener.on_error -> Stream.on_request_error (fe3bb8b)

    • StreamListener.on_exception -> Stream.on_exception

    • StreamListener.on_limit -> Stream.on_limit

    • StreamListener.on_scrub_geo -> Stream.on_scrub_geo

    • StreamListener.on_status -> Stream.on_status

    • StreamListener.on_status_withheld -> Stream.on_status_withheld

    • StreamListener.on_timeout -> Stream.on_connection_error (8f62297)

    • StreamListener.on_user_withheld -> Stream.on_user_withheld

    • StreamListener.on_warning -> Stream.on_warning

  • 제거함: Stream.api (21a9db2)

  • 제거함: Stream.body (3e40193)

  • 제거함: Stream.headers (d07af4e)

  • 제거함: Stream.host (9cf8518)

  • 제거함: Stream.new_session (26518ab)

  • 제거함: Stream.timeout (a2f79f1)

  • 제거함: Stream.url (48cbf97)

  • 제거함: 재연결 관련 스트림 매개변수 및 속성값 (24059d4)

    • 제거함: Stream.retry_time_start, Stream.retry_420_start, Stream.retry_time_cap, Stream.snooze_time_step, Stream.snooze_time_cap, Stream.retry_time, Stream.snooze_time

  • Stream.retry_countStream.max_retries 으로 이름 변경함 (3585f13)

  • Stream.auth 를 자격증명 관련 매개변수 및 속성으로 대체함 (c9f59e6)

    • Stream.authStream.consumer_key, Stream.consumer_secret, Stream.access_token, Stream.access_token_secret 로 대체하였음

  • Stream 의 매개변수인 proxiesproxy 로 대체함 (#1272)

  • 제거함: Stream.filter의 매개변수인 encoding (b3f2db2)

  • Stream.filterStream.sample 의 매개변수인 is_asyncthreaded 로 이름 변경함 (6c96c15)

  • 더 이상 Stream.filter 가 위치 인수(Positional argument)를 허용하지 않음 (0629d5f)

  • 더 이상 Stream.sample 이 위치 인수(Positional argument)를 허용하지 않음 (b170720)

Twitter API Backwards-Incompatible Changes

  • 제거함: API.configuration (#1614)

  • 제거함: API.geo_similar_places (c6cfd97)

  • 제거함: API.related_results (068273b)

    • 제거함: Relation model (cc4479a)

  • 제거함: API.create_block 의 엔드포인트 매개변수인 id (e4eaa4b)

  • 제거함: API.create_friendship 의 엔드포인트 매개변수인 id (6a3c1ab)

  • 제거함: API.create_mute 의 엔드포인트 매개변수인 id (bb25d69)

  • 제거함: API.destroy_block 의 엔드포인트 매개변수인 id (1a9b52d)

  • 제거함: API.destroy_friendship 의 엔드포인트 매개변수인 id (66f1612)

  • 제거함: API.destroy_mute 의 엔드포인트 매개변수인 id (8c444c5)

  • 제거함: API.get_follower_ids 의 엔드포인트 매개변수인 id (5cddd12)

  • 제거함: API.get_followers 의 엔드포인트 매개변수인 id (a3fb959)

  • 제거함: API.get_friend_ids 의 엔드포인트 매개변수인 id (7cbf818)

  • 제거함: API.get_friends 의 엔드포인트 매개변수인 id (6875e15)

  • 제거함: API.get_user 의 엔드포인트 매개변수인 id (a2681ed)

  • 제거함: API.search_geo 의 엔드포인트 매개변수인 accuracy, contained_within (d37a409)

  • 제거함: API.set_settings 의 엔드포인트 매개변수인 allow_contributor_request (1cc33b2)

  • API.update_profile_banner 의 다음 엔드포인트 매개변수를 갱신함: offset_right -> offset_top (83f9b79)

  • 제거함: API.update_status 의 매개변수인 enable_dmcommands, `fail_dmcommands(fe5b3ef)

  • 제거함: API.update_status_with_media 의 엔드포인트 매개변수인 in_reply_to_status_id_str, auto_populate_reply_metadata (c3c9d29)

  • 제거함:API.user_timeline 의 엔드포인트 매개변수인 id (#1484)

  • 제거함: Stream.firehose (ad50cdc)

  • 제거함: Stream.retweet (6b1944b)

  • 제거함: Stream.sitestream, Stream.userstream (96f7e63)

    • 제거함: StreamListener.on_direct_message, StreamListener.on_friends (ab2479b)

    • 제거함: StreamListener.on_event (20b5afb)

기타

  • 이제 models.List.created_at, models.SavedSearch.created_at, models.Status.created_at, models.User.created_at 가 Datetime 객체를 인식함(59d4d92)

  • JSONParser.parseModelParser.parse 의 매개변수인 return_cursors 를 키워드 인자로만 전달할 수 있도록 변경함 (56b8e31)

  • 제거함: parse 메서드에서, Parser 의 매개변수인 method 및 서브클래스(dda2ec6)

  • 더 이상 API.verify_credentials 가 HTTP 401 코드를 처리하지 못함 (7e4d2a4)

  • 제거함: models.List.is_member, models.List.is_subscribed (b765aee)

새 기능 / 개선

새 메서드 및 매개변수 / 속성(Attribute)

  • 추가함: API.get_list_ownerships (#1282, #1498)

    • 추가함: models.User.list_ownerships (#1282)

  • 추가함: API.get_profile_banner (58ac8bb)

  • 추가함: API.no_retweets_friendships (496a399)

  • 추가함: API.remove_profile_banner (f0e53c6)

  • 추가함: API.update_friendship (ddd24a4)

  • 추가함: API.user_agent (bbec64b)

  • API 메서드에 다음 엔드포인트 매개변수를 추가함

    • 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)

  • 추가함: Stream.on_disconnect 메서드 (#277)

  • Stream.thread 를 드러냄(Expose)(9c2419d)

새 기능

  • 이제 쪽지에 빠른 답장 옵션을 포함해 보내는 것이 허용됨 (#1280)

    • API.send_direct_message 의 매개변수인 quick_reply_typequick_reply_options 로 대체

  • API.send_direct_message 를 이용한 쪽지를 전송할 때, 콜 투 액션 버튼을 포함하는 것을 허용함 (#1311)

특정 메서드를 문서화함

  • API.get_settings 문서화 (cbac800)

  • API.incoming_friendships 문서화 (09dbe0e)

  • API.outgoing_friendships 문서화 (8ff5f22)

  • API.search_geo 문서화(a51a097)

  • API.set_settings 문서화 (4703da3)

  • API.supported_languages 문서화 (9bb8446)

  • API.update_profile_banner 문서화 (a5df615)

종속성(Dependencies) 관련

  • requests_oauthlib 종속성 요구사항을 1.0.0 이상으로 조정함 (bf629e5)

  • 제거함: setup.py - install_requires 로부터의 여분 요청 socks(38b6de6)

    • 추가함: socks extra 요청

기타

  • 이제 OAuthHandler 초기화 시 Consumer Key값과 Secret 값의 자료형을 확인함 (#1489)

  • models.User 를 해시화할 수 있게(Hashable) 함 (#1306)

  • API 요청 제한을 처리하기 위해 두었던 약간의 대기 시간을 줄임 (#1049)

  • 이제 API.update_profile_image 가 키워드 인자도 정상적으로 받을 수 있음 (ab96f2f)

  • 이제 API.update_profile_banner 가 키워드 인자도 정상적으로 받을 수 있음 (88c3fa1)

  • 이제 모든 200번대 HTTP 상태 코드를 성공적 응답으로 취급함 (a0f6984)

  • 이제 스트리밍이 gevent를 지원함 (#651)

  • 스레드화된(Threaded) Stream.filterStream.sample 이 이제 스레드를 반환함 (2e957b6)

  • 이제 Stream 이 특정 유저 에이전트를 사용함 (5994c4b)

기타

  • 다양한 문서 갱신(업데이트) 및 수정

  • 기타 다양한 최적화 및 개선

버그 수정

  • 스트리밍 관련 연결 에러 처리 (#237, #448, #750, #1024, #1113, #1416)

  • 제거함: Stream 에서의 문자열 길이 한계에 대한 종속성 (#892)

  • 이제 Stream._connect 에서 예외를 또 발생시키지 않음 (#1072)

  • Stream.sample 메서드가 GET HTTP 메서드를 이용하도록 변경함 (1b0e869)

  • models.Status.parsemodels.User 모델이 model_factory 없이 user 로, 또는 user 없이 Model factory들을 이용해 파서(Parser)를 더 광범위하게(more broadly) 처리할 수 있도록 바뀌었음 (#538)

  • models.SearchResults.parsemodels.Status 모델이model_factory 없이, 또는 status 없이 Model factory들을 이용해 파서(Parser)의 결과를 더 광범위하게(more broadly) 받을 수 있도록 바뀌었음 (71c031b)

  • 이제 PageIterator 가 1페이지부터 시작함(기존 0페이지에서 변경됨). (#958)

  • API.search_users 에서 페이지가 복사되던 트위터 API 관련 문제를 해결함 (#958, #1465)

  • 이제 Stream.filter 가 정수형 ID를 허용함(#829, #830)

  • 이제 스트리밍에서 ChunkedEncodingError 를 처리할 수 있음 (e8fcc4d)

  • 이제 HTTP 성공 상태 코드에서 발생하던 트위터 API 에러를 처리할 수 있음 (#1427)

  • 이제 Cursor 반복자가 음수나 0이 되던 문제를 처리할 수 있음 (c1457b7)

Version 3.10.0 (2020-12-25)

이 버전이 Python 2.7과 Python 3.5를 마지막으로 지원하는 버전임 (#1253) tweepy의 다음 버전은 4.0.0이 됨

새 기능 / 개선

  • 추가함: API.search_30_day, API.search_full_archive (#1175, #1294)

  • API.home_timeline 에 허용되는 매개변수를 갱신함(#1410, #1458)

    • 추가함: trim_user, exclude_replies, include_entities

    • 제거함: page (잘못 문서화된 매개변수)

    • count 가 첫 매개변수가 되도록 순서를 바꿈

  • API.get_oembed 에 허용되는 매개변수를 갱신함

    • 추가함: hide_thread, theme, link_color, widget_type, dnt

    • 제거함: id

  • 제거함: API.update_profile_background_image (#1466)

  • 이제 Python 3.9를 지원함

  • 코드 테스트 및 릴리즈에 쓰이던 것을 Travis CI에서, GitHub Actions로 변경함 (#1402)

  • 문서를 갱신·개선함

버그 수정

  • 이제 mimetypes.guess_type 를 폴백 함수로서 이미지 파일 형식을 찾아내는데 사용함 (#1411)

  • 이제 업로드된 이미지에, 컨텐츠 종류에 적절한 적절한 MIME 타입을 사용함

  • API.media_uploadfile 매개변수를 재사용하도록 허용함 (#1412, #1413)

  • API.update_profile_banner, API.update_profile_image, API.update_with_mediafile 매개변수를 재사용하도록 허용함 (#1475)

  • 이제 User.lists, User.lists_memberships, User.lists_subscriptions 가 현재 인증된 사용자 대신 지정한 사용자에 대한 정보를 가져옴 (#1443, #1444)

Version 3.9.0 (2020-07-11)

새 기능 / 개선

  • 추가함: API.create_media_metadata (#716)

  • API.update_status 에 허용되는 매개변수를 갱신함(#1101)

    • 추가함: exclude_reply_user_ids, attachment_url, possibly_sensitive, trim_user, enable_dmcommands, fail_dmcommands, card_uri

    • 제거함: in_reply_to_status_id_str, source

  • API.get_status 에 다음 매개변수를 추가함

    • trim_user, include_my_retweet, include_entities, include_ext_alt_text, include_card_uri

  • API.statuses_lookup 에 다음 매개변수를 추가함

    • include_ext_alt_text, include_card_uri

  • 개선함: API.lookup_users (#706)

  • API.statuses_lookup, API.create_media_metadata, API.update_status 를 개선 및 최적화함

  • API.lists_all 에 다음 매개변수를 추가함: reverse

  • API.lists_memberships 에 다음 매개변수를 추가함: count

  • API.lists_subscriptions 에 다음 매개변수를 추가함: count

  • API.list_timeline 에 다음 매개변수를 추가함: include_entities

  • API.list_subscribers 에 다음 매개변수를 추가함

    • count, include_entities, skip_status

  • 이제 Python 3.8을 지원함

  • setup.py를 갱신·개선함

  • 이제 PySocks을 직접 사용하는 대신, Request socks extra를 대신 사용함

  • 이제 확장자 없이 파일명만 이용해 이미지를 업로드하는 것을 허용함 (#1060, #1086)

  • 이제 WebP 이미지 업로드를 지원함 (#1298)

  • Relationship 모델에 누락됐던 속성들을 추가함 (#1375)

  • GIF 파일 업로드 최대 제한 용량을 갱신함 (#1336, #1338)

  • DirectMessage 모델에 _json 속성을 추가함 (#1342)

  • 테스트(tests) 갱신·개선 (#1217)

  • 확장 트윗(Extended Tweets)에 대한 문서를 추가함

  • API.lookup_users 문서 (#539)

  • 추가함: Running Tests 문서 (#681)

  • 추가함: 문서의 한국어 번역본 (#1296)

  • 추가함: 문서의 폴란드어 번역본 (#1316)

  • API.lookup_friendships 문서 (#1375)

  • 문서를 갱신·개선함

버그 수정

  • API.verify_credentials 에서의 올바르지 못한 자격증명 처리 관련 문제 수정

  • API.verify_credentials 의 include_email 매개변수 관련 Boolean값 처리 관련 문제 수정 (#890)

  • 이제 DMCursorIterator를 추가함으로써, API.list_direct_messagesCursor 를 사용할 수 있음 (#1261, #1262)

Version 3.8.0 (2019-07-14)

새 기능 / 개선

  • 이제 스트림이 데몬 스레드를 사용할 수 있음 (#1126)

  • 제거함: API.set_delivery_device (#1203)

  • 이제 simplejson을 더 이상 사용하지 않음 (import도 제거됨) (#832)

  • 이제 API.blocks_idsAPI.mutes_ids 가 다음 매개변수를 허용함: cursor (#1208)

  • 이제 더 이상 Python 3.4를 지원하지 않음

  • 이제 API.report_spam 이 다음 매개변수를 허용함: perform_block (#1090)

  • 추가함: API.mutes (#1197, #1215)

  • 이제 API.friends 가 다음 매개변수를 허용함: count(#577)

  • API.search 허용 매개변수 목록에서 다음을 제거함: since, from, to, source

  • 이제 스트림이 위치 삭제 및 보류된 컨텐츠 통지와 관련한 처리가 가능함 (#886)

  • 이제 User 객체에 〈같음〉 과 〈같지 않음〉 비교 연산자를 사용할 수 있음 (#939)

  • Category, Friendship, List 모델에 다음 속성을 추가함: _json (#590, #1169)

  • 제거함: API.suggested_categories, API.suggested_users, API.suggested_users_tweets

  • 테스트(Tests) 및 카세트(Cassettes)를 갱신·개선함 (#1242)

  • DirectMessage 모델을 갱신함 (#1081, #1228)

  • API.direct_messagesAPI.sent_direct_messagesAPI.list_direct_messages 로 대체함 (#1081, #1228)

  • 갱신함: API.get_direct_message, API.send_direct_message, API.destroy_direct_message (#1081, #1228)

  • 문서를 갱신·개선함

버그 수정

  • 더 이상 예시 파일을 설치하지 않음 (#1141, #1164)

  • 이제 OAuthHandler.request_token 가 적절하게 초기화됨 (#1149)

  • 이제 API.statuses_lookupmap_ 매개변수를 적절히 처리함 (#598)

  • 이제 API.blocks_idsAPI.mutes_ids 커서 페이지화(Pagination)를 지원함 (#930, #931)

  • API.update_profile_background_imageAPI.update_profile_banner 에 대한 반환값 (#904)

  • 루트 로거(Root logger) 교체 사용

  • 요청 세션 닫음 (#810, #1093, #1237)

Version 3.7.0 (2018-11-27)

새 기능 / 개선

  • API.user_timelinetrim_userexclude_replies 를 매개변수로서 허용함 (#909)

  • API.statuses_lookuptweet_mode 매개변수를 허용함 (#840, #926)

  • Python 2.6 과 3.3에 대한 지원 중단

  • Discord Server

  • 이제 스트림이 프록시를 지원함 (#1033)

  • 추가함: API.create_mute, API.destroy_mute, API.mutes_ids (#1055)

  • API.lookup_userstweet_mode 매개변수를 허용함 (#1130)

버그 수정

  • 스트리밍에서 AttributeError 가 발생하던 문제 수정 (#1026, #1027)

  • 요구사항 관련 수정 (#1029, #1030)

  • Python 3.7과의 호환성 문제를 해결함 (#1017, #1042)

Version 3.6.0 (2015-03-02)

새 기능 / 개선

  • Status.quoted_statusStatus 객체로 취급·파싱함 (#633)

  • in_reply_to_status_id_strAPI.update_statusAPI.update_with_media 의 매개변수로서 허용함 (#693)

  • Stream.sample 에 추가함: 매개변수 stall_warnings(#701)

  • 추가함: API.unretweet (#735, #736)

  • auto_populate_reply_metadataAPI.update_statusAPI.update_with_media 의 매개변수로서 허용함 (#761)

  • profile_link_colorAPI.update_profile 의 매개변수로서 허용함

  • 이제 Python 3.6을 지원함(#831, #884)

버그 수정

  • API.media_upload 의 파일 크기 제한을 수정함 (#717)

  • JSONParser.parse 가 특정 상황에서 None 을 반환하던 문제 수정 (#765, #766)

  • 캐시에 접근할 때 URL 매개변수가 포함 (#777)

  • 스트리밍에서 예외를 적절하게 재발생시킴

  • 스트리밍에서 AttributeErrorTypeError 가 발생하는 문제 수정 (#698)

  • Stream.filterfilter_level 를 올바르게 인코딩함 (#782)

Version 3.5.0 (2015-11-19)

기능 / 개선

  • 쪽지를 받을 때 〈full_text〉 매개변수를 허용함 (#664)

  • 파싱 에러가 발생했을 경우 명시적

  • 더 이상 사용되지 않는 코드를 제거하고, 코드를 정리함 (#583)

버그 수정

  • update_status: 첫 위치 인수(Positional argument)는 반드시 트윗(Status)여야 함 (#578)

  • 다음 오류를 수정함: 《TypeError: Can’t convert 〈bytes〉 object to str implicitly》(#615, #658, #635)

  • auth.py 에서의 중복 선언(raise)를 수정함

Version 3.4.0 (2015-08-13)

새 기능

  • 추가함: 계정 및 설정 관련 API (PR #596)

  • 트위터 API 요청 제한을 쉽게 처리할 수 있게끔 RateLimitError를 추가함 (문제 #600, PR #611)

  • verify_credentials API에 include_email 매개변수를 허용함 (PR #623)

  • 추가함: 스트리밍 API에서의 《filter_level》 매개변수 지원 (PR #619)

버그 수정

  • 스트리밍: 스트림 바이트를 json.decode 이전에 디코딩하려 시도하지 않음 (PR #606)

  • _add_list_members 와 _remove_list_members 속성에 있던 오타를 수정함 (PR #593)

  • 문제 #570 수정 - 예외 발생 시의 《exception》 추가함

  • streaming.py 에서의 예외 발생 관련 수정 (PR #621)

Version 3.3.0 (2015-02-21)

  • Requests 요구사항을 완화함 (버전 2.4.3 이상)

  • Python 3에서 스트림이 프리징되던 문제 수정 (문제 #556)

  • StreamListener에 추가함: keep_alive 메세지가 도착할 때 호출되는 keep_alive() 콜백 함수

  • 재연결 시 스트림 세션 헤더가 사용되지 않던 문제 수정

  • 연결이 비정상적으로 종료된 경우 스트림이 무한루프에 빠지던 문제를 수정함 (PR #561)

Version 3.2.0 (2015-01-28)

  • 제거함: 더 이상 사용되지 않는 트렌드 관련 메서드

  • tweepy.debug() 가 Python 3에서도 동작하도록 수정함

  • StreamListener 언어 필터가 작동을 중지하는 문제를 수정함 (Issue #529)

  • 추가함: 스트리밍 문서

  • 추가함: 미디어 업로드 엔드포인트

  • update_status() 에 추가함: media_ids 매개변수

Version 3.1.0 (2014-12-01)

  • 이제 스트리밍 클라이언트에 대한 자체 SSL 인증서 지정을 허용함

  • 이제 Python Wheels를 이용해 배포함.

  • 특정 속성값을 기본 메서드(Underlying method)에 전달하는 것과 관련된 커서 호출 수정. (https://github.com/tweepy/tweepy/issues/515)

  • Request를 2.4.3으로 판올림함

Version 3.0 (2014-11-30)

  • 추가함: 다수의 리스트 멤버 관련 API 메서드 (add_list_members, remove_list_members).

  • 추가함: sitestream 엔드포인트

  • httplib 대신 Requests를 이용하도록 변경함

  • 제거함: 보안 연결이 아닌 HTTP에 대한 모든 지원

  • 이제 프록시를 지원함

  • /statuses/lookup.json 에 추가함: API 메서드

  • followers_ids 에 추가함: 〈count〉 매개변수

  • update_profile_image 에 추가함: allowed_param

  • 트윗(Status) 간 비교

  • on_data 메서드에 경고 메세지 처리 조건을 포함·확장하였으며, 경고 메세지를 관리하는 메서드를 새로 정의함

  • 파이썬 3 지원 향상

Version 2.2 (2014-01-20)

  • 추가함: update_profile_banner 엔드포인트

  • 200번대 HTTP 상태 코드를 더 이상 에러로 취급하지 않음

  • 더 이상 egg 릴리즈에 테스트가 패키징되지 않음

  • 테스트 안정성 향상, 풀 리퀘스트에서 CI 테스트가 가능하도록 함

  • 제거함: 기본 인증(Basic Auth)

  • 앱엔진(Appengine)을 수정하기 위해 httplib의 내장 타임아웃 기능 사용

  • 추가함: retweeters() 엔드포인트

  • 더 이상 사용되지 않는 retweeted_by 와 retweeted_by_ids 를 제거함

  • 날짜 및 시간 파싱 기능 향상. 스레드에서 기존보다 더 안정적임

  • 코드 커버리지 보고 활성화됨. Coveralls에 보고서를 업로드 해주세요.

    • https://coveralls.io/r/tweepy/tweepy

  • 더 이상 사용되지 않는 test() 엔드포인트가 제거함

  • on_disconnect() 에 새 스트림 리스너를 추가함. 연결 종료 전에 트위터에서 《disconnect》 메세지가 도착할 때마다 호출됨.

    • https://dev.twitter.com/docs/streaming-apis/messages#Disconnect_messages_disconnect

  • 비교 보기

  • HTTPS를 기본으로 사용하게 설정함

  • 커서 시작 위치 설정 지원 (예: Cursor(api.friends_ids, cursor=123456))

  • 캐시된 결과가 반환될 때, 《True》인 API.cached_result 인스턴스 플래그가 추가함

  • 새 스트리밍 클라이언트 콜백이 추가함

    • on_event(status): 새 이벤트가 발생하면 호출됨.

    • on_direct_message(status): 새 쪽지가 도착하면 호출됨.

  • 스트리밍 클리아언트 재연결 동작 및 구성의 개선 (https://github.com/tweepy/tweepy/commit/447f69cd3de67b0d241b9d4f669ecc9b9c0cdb54)

Version 2.1 (2013-06-16)

  • 추가함: get_oembed()

  • friends() 와 followers() 가 다시 생겼으며, v1.1로 갱신됨

  • report_spam() 엔드포인트 수정

  • 스트리밍 filter() 메서드에 《languages》 매개변수 추가.

  • API에 《timeout》 지원 추가. 예: API(timeout=1000)

  • 파이썬 2.5 지원 중단

  • 압축 지원 추가. 예: API(compression=True)

  • StreamListener에 on_connect() 콜백 추가

  • API의 search() v1.1의 엔드포인트로 전환. 이 외에도 다른 변화가 있었음.

  • 《page》(페이지) 기반 커서를 《ID》 기반 커서로 대체함

  • 비교 보기

Version 2.0 (2013-02-10)

에런 스워츠(Aaron Swartz)를 추모하며

  • 트위터 API 1.1 지원

  • 기본 인증방식(Basic Authentication)이 더 이상 사용되지 않음.

  • 제거함: friends_timeline()

  • mentions() 이 제거되고, mentions_timeline() 로 변경됨

  • 제거함: retweeted_by_user()

  • 제거함: retweeted_by_me()

  • 제거함: retweeted_to_me()

  • 제거함: retweeted_by_user()

  • 제거함: friends()

  • 제거함: followers()

  • 제거함: enable_notifications()

  • 제거함: disable_notifications()

  • 제거함: exists_block()

  • lists() 가 제거되고, lists_all() 로 변경됨

  • 제거함: is_list_member()

  • 추가함: show_list_member

  • 제거함: is_subscribed_list()

  • 추가함: show_list_subscriber()

  • 제거함: trends_location()

  • 제거함: nearby_places(

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