1Metadata-Version: 1.2
2Name: python-twitter
3Version: 3.4.2
4Summary: A Python wrapper around the Twitter API
5Home-page: https://github.com/bear/python-twitter
6Author: The Python-Twitter Developers
7Author-email: python-twitter@googlegroups.com
8Maintainer: The Python-Twitter Developers
9Maintainer-email: python-twitter@googlegroups.com
10License: Apache License 2.0
11Download-URL: https://pypi.python.org/pypi/python-twitter
12Description: Python Twitter
13
14        A Python wrapper around the Twitter API.
15
16        By the `Python-Twitter Developers <python-twitter@googlegroups.com>`_
17
18        .. image:: https://img.shields.io/pypi/v/python-twitter.svg
19            :target: https://pypi.python.org/pypi/python-twitter/
20            :alt: Downloads
21
22        .. image:: https://readthedocs.org/projects/python-twitter/badge/?version=latest
23            :target: http://python-twitter.readthedocs.org/en/latest/?badge=latest
24            :alt: Documentation Status
25
26        .. image:: https://circleci.com/gh/bear/python-twitter.svg?style=svg
27            :target: https://circleci.com/gh/bear/python-twitter
28            :alt: Circle CI
29
30        .. image:: http://codecov.io/github/bear/python-twitter/coverage.svg?branch=master
31            :target: http://codecov.io/github/bear/python-twitter
32            :alt: Codecov
33
34        .. image:: https://requires.io/github/bear/python-twitter/requirements.svg?branch=master
35             :target: https://requires.io/github/bear/python-twitter/requirements/?branch=master
36             :alt: Requirements Status
37
38        .. image:: https://dependencyci.com/github/bear/python-twitter/badge
39             :target: https://dependencyci.com/github/bear/python-twitter
40             :alt: Dependency Status
41
42        ============
43        Introduction
44        ============
45
46        This library provides a pure Python interface for the `Twitter API <https://dev.twitter.com/>`_. It works with Python versions from 2.7+ and Python 3.
47
48        `Twitter <http://twitter.com>`_ provides a service that allows people to connect via the web, IM, and SMS. Twitter exposes a `web services API <https://dev.twitter.com/overview/documentation>`_ and this library is intended to make it even easier for Python programmers to use.
49
50        ==========
51        Installing
52        ==========
53
54        You can install python-twitter using::
55
56            $ pip install python-twitter
57
58
59        If you are using python-twitter on Google App Engine, see `more information <GAE.rst>`_ about including 3rd party vendor library dependencies in your App Engine project.
60
61
62        ================
63        Getting the code
64        ================
65
66        The code is hosted at https://github.com/bear/python-twitter
67
68        Check out the latest development version anonymously with::
69
70            $ git clone git://github.com/bear/python-twitter.git
71            $ cd python-twitter
72
73        To install dependencies, run either::
74
75        	$ make dev
76
77        or::
78
79            $ pip install -Ur requirements.testing.txt
80            $ pip install -Ur requirements.txt
81
82        Note that ```make dev``` will install into your local ```pyenv``` all of the versions needed for test runs using ```tox```.
83
84        To install the minimal dependencies for production use (i.e., what is installed
85        with ``pip install python-twitter``) run::
86
87            $ make env
88
89        or::
90
91            $ pip install -Ur requirements.txt
92
93        =============
94        Running Tests
95        =============
96        The test suite can be run against a single Python version or against a range of them depending on which Makefile target you select.
97
98        Note that tests require ```pip install pytest``` and optionally ```pip install pytest-cov``` (these are included if you have installed dependencies from ```requirements.testing.txt```)
99
100        To run the unit tests with a single Python version::
101
102            $ make test
103
104        to also run code coverage::
105
106            $ make coverage
107
108        To run the unit tests against a set of Python versions::
109
110            $ make tox
111
112        =============
113        Documentation
114        =============
115
116        View the latest python-twitter documentation at
117        https://python-twitter.readthedocs.io. You can view Twitter's API documentation at: https://dev.twitter.com/overview/documentation
118
119        =====
120        Using
121        =====
122
123        The library provides a Python wrapper around the Twitter API and the Twitter data model. To get started, check out the examples in the examples/ folder or read the documentation at https://python-twitter.readthedocs.io which contains information about getting your authentication keys from Twitter and using the library.
124
125        ----
126        Using with Django
127        ----
128
129        Additional template tags that expand tweet urls and urlize tweet text. See the django template tags available for use with python-twitter: https://github.com/radzhome/python-twitter-django-tags
130
131        ------
132        Models
133        ------
134
135        The library utilizes models to represent various data structures returned by Twitter. Those models are:
136            * twitter.Category
137            * twitter.DirectMessage
138            * twitter.Hashtag
139            * twitter.List
140            * twitter.Media
141            * twitter.Status
142            * twitter.Trend
143            * twitter.Url
144            * twitter.User
145            * twitter.UserStatus
146
147        To read the documentation for any of these models, run::
148
149            $ pydoc twitter.[model]
150
151        ---
152        API
153        ---
154
155        The API is exposed via the ``twitter.Api`` class.
156
157        The python-twitter requires the use of OAuth keys for nearly all operations. As of Twitter's API v1.1, authentication is required for most, if not all, endpoints. Therefore, you will need to register an app with Twitter in order to use this library. Please see the "Getting Started" guide on https://python-twitter.readthedocs.io for a more information.
158
159        To generate an Access Token you have to pick what type of access your application requires and then do one of the following:
160
161        - `Generate a token to access your own account <https://dev.twitter.com/oauth/overview/application-owner-access-tokens>`_
162        - `Generate a pin-based token <https://dev.twitter.com/oauth/pin-based>`_
163        - use the helper script `get_access_token.py <https://github.com/bear/python-twitter/blob/master/get_access_token.py>`_
164
165        For full details see the `Twitter OAuth Overview <https://dev.twitter.com/oauth/overview>`_
166
167        To create an instance of the ``twitter.Api`` with login credentials (Twitter now requires an OAuth Access Token for all API calls)::
168
169            >>> import twitter
170            >>> api = twitter.Api(consumer_key='consumer_key',
171                                  consumer_secret='consumer_secret',
172                                  access_token_key='access_token',
173                                  access_token_secret='access_token_secret')
174
175        To see if your credentials are successful::
176
177            >>> print(api.VerifyCredentials())
178            {"id": 16133, "location": "Philadelphia", "name": "bear"}
179
180        **NOTE**: much more than the small sample given here will print
181
182        To fetch a single user's public status messages, where ``user`` is a Twitter user's screen name::
183
184            >>> statuses = api.GetUserTimeline(screen_name=user)
185            >>> print([s.text for s in statuses])
186
187        To fetch a list a user's friends::
188
189            >>> users = api.GetFriends()
190            >>> print([u.name for u in users])
191
192        To post a Twitter status message::
193
194            >>> status = api.PostUpdate('I love python-twitter!')
195            >>> print(status.text)
196            I love python-twitter!
197
198        There are many more API methods, to read the full API documentation either
199        check out the documentation on `readthedocs
200        <https://python-twitter.readthedocs.io>`_, build the documentation locally
201        with::
202
203            $ make docs
204
205        or check out the inline documentation with::
206
207            $ pydoc twitter.Api
208
209        ----
210        Todo
211        ----
212
213        Patches, pull requests, and bug reports are `welcome <https://github.com/bear/python-twitter/issues/new>`_, just please keep the style consistent with the original source.
214
215        In particular, having more example scripts would be a huge help. If you have
216        a program that uses python-twitter and would like a link in the documentation,
217        submit a pull request against ``twitter/doc/getting_started.rst`` and add your
218        program at the bottom.
219
220        The twitter.Status and ``twitter.User`` classes are going to be hard to keep in sync with the API if the API changes. More of the code could probably be written with introspection.
221
222        The ``twitter.Status`` and ``twitter.User`` classes could perform more validation on the property setters.
223
224        ----------------
225        More Information
226        ----------------
227
228        Please visit `the google group <http://groups.google.com/group/python-twitter>`_ for more discussion.
229
230        ------------
231        Contributors
232        ------------
233
234        Originally two libraries by DeWitt Clinton and Mike Taylor which was then merged into python-twitter.
235
236        Now it's a full-on open source project with many contributors over time. See AUTHORS.rst for the complete list.
237
238        -------
239        License
240        -------
241
242        | Copyright 2007-2016 The Python-Twitter Developers
243        |
244        | Licensed under the Apache License, Version 2.0 (the 'License');
245        | you may not use this file except in compliance with the License.
246        | You may obtain a copy of the License at
247        |
248        |     http://www.apache.org/licenses/LICENSE-2.0
249        |
250        | Unless required by applicable law or agreed to in writing, software
251        | distributed under the License is distributed on an 'AS IS' BASIS,
252        | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
253        | See the License for the specific language governing permissions and
254        | limitations under the License.
255
256
257        Originally two libraries by DeWitt Clinton and Mike Taylor which was then merged into python-twitter.
258
259        Now it's a full-on open source project with many contributors over time:
260
261        * Jodok Batlogg,
262        * Kyle Bock,
263        * Brad Choate,
264        * Robert Clarke,
265        * Jim Cortez,
266        * Pierre-Jean Coudert,
267        * Aish Raj Dahal,
268        * Thomas Dyson,
269        * Jim Easterbrook
270        * Yoshinori Fukushima,
271        * Hameedullah Khan,
272        * Osama Khalid,
273        * Omar Kilani,
274        * Domen Kožar,
275        * Robert Laquey,
276        * Jason Lemoine,
277        * Pradeep Nayak,
278        * Ian Ozsvald,
279        * Nicolas Perriault,
280        * Trevor Prater,
281        * Glen Tregoning,
282        * Lars Weiler,
283        * Sebastian Wiesinger,
284        * Jake Robinson,
285        * Muthu Annamalai,
286        * abloch,
287        * cahlan,
288        * dpslwk,
289        * edleaf,
290        * ecesena,
291        * git-matrix,
292        * sbywater,
293        * thefinn93,
294        * themylogin,
295
296
297        2016-05-25
298          Going forward all changes will be tracked in docs/changelog.rst
299
300        2015-12-28
301          Large number of changes related to making the code Python v3 compatible.
302          See the messy details at https://github.com/bear/python-twitter/pull/251
303
304          Pull Requests
305              #525 Adds support for 280 character limit for tweets by trevorprater
306              #267 initialize Api.__auth fixes #119 by rbpasker
307              #266 Add full_text and page options in GetDirectMessages function by mistersalmon
308              #264 Updates Media object with new methods, adds id param, adds tests by jeremylow
309              #262 Update get_access_token.py by lababidi
310              #261 Adding Collections by ryankicks
311              #260 Added UpdateBackgroundImage method and added profile_link_color argument to UpdateProfile by BrandonBielicki
312              #259 Added GetFriendIDsPaged by RockHoward
313              #254 Adding api methods for suggestions and suggestions/:slug by trentstollery
314              #253 Added who parameter to api.GetSearch by wilsonand1
315              #250 adds UpdateFriendship (shared Add/Edit friendship) by jheld
316              #249 Fixed Non-ASCII printable representation in Trend by der-Daniel
317              #246 Add __repr__ for status by era
318              #245 Python-3 Fix: decode bytestreams for json load by ligthyear
319              #243 Remove references to outdated API functionality: GetUserByEmail by Vector919
320              #239 Correct GetListsList docstring by tedmiston
321
322          Probably a whole lot that I missed - ugh!
323
324        2017-11-11
325          Added support for 280 character limit
326
327        2015-10-05
328          Added who to api.GetSearch
329
330        2014-12-29
331          removed reference to simplejson
332
333        2014-12-24
334          bump version to v2.3
335          bump version to v2.2
336          PEP8 standardization
337
338        2014-07-10
339          bump version to v2.1
340
341        2014-07-10
342          update copyright years
343          change setup.py to allow installing via wheel
344          renamed README.md to README.rst
345          added AUTHORS.rst
346
347        2014-02-17
348          changed version to 1.3 and then to 1.3.1 because I forgot to include CHANGES
349          fix Issue 143 - GetStatusOembed() url parameter was being stomped on
350          fix debugHTTP in a brute force way but it works again
351          Add id_str to Status class
352          Added LookupFriendship() method for checking follow status
353            pull request from lucas
354          Fix bug of GetListMembers when specifying `owner_screen_name`
355            pull request from shichao-an
356
357        2014-01-18
358          backfilling varioius lists endpoints
359          added a basic user stream call
360
361        2014-01-17
362          changed to version 1.2
363          fixed python 3 issue in setup.py (print statements)
364          fixed error in CreateList(), changed count default for GetFollowers to 200 and added a GetFollowersPaged() method
365
366        need to backfill commit log entries!
367
368        2013-10-06
369          changed version to 1.1
370          The following changes have been made since the 1.0.1 release
371
372          Remove from ParseTweet the Python 2.7 only dict comprehension item
373          Fix GetListTimeline condition to enable owner_screen_name based fetching
374          Many fixes for readability and PEP8
375          Cleaning up some of the package importing. Only importing the functions that are needed
376          Also added first build of the sphinx documentation. Copied some info from the readme to the index page
377          Added lines to setup.py to help the user troubleshoot install problems. #109
378          Removed the OAuth2 lines from the readme
379          Removed OAuth2 library requirements
380          Added GetListMembers()
381
382
383        2013-06-07
384          changed version to 1.0.1
385          added README bit about Python version requirement
386
387        2013-06-04
388          changed version to 1.0
389          removed doc directory until we can update docs for v1.1 API
390          added to package MANIFEST.in the testdata directory
391
392        2013-05-28
393          bumped version to 1.0rc1
394          merged in api_v1.1 branch
395
396          The library is now only for Twitter API v1.1
397
398        2013-03-03
399          bumped version to 0.8.7
400
401          removed GetPublicTimeline from the docs so as to stop confusing
402          new folks since it was the first example given ... d'oh!
403
404        2013-02-10
405          bumped version to 0.8.6
406
407          update requirements.txt to remove distribute reference
408          github commit 3b9214a879e5fbd03036a7d4ae86babc03784846
409
410          Merge pull request #33 from iElectric/profile_image_url_https
411          github commit 67cbb8390701c945a48094795474ca485f092049
412          patch by iElectric on github
413
414          Change User.NewFromJsonDict so that it will pull from either
415          profile_image_url_https or profile_image_url to keep older code
416          working properly if they have stored older json data
417
418        2013-02-07
419          bumped version to 0.8.5
420          lots of changes have been happening on Github and i've been
421          very remiss in documenting them here in the Changes file :(
422
423          this version is the last v1.0 API release and it's being made
424          to push to PyPI and other places
425
426          all work now will be on getting the v1.1 API supported
427
428        2012-11-04
429          https://github.com/bear/python-twitter/issues/4
430          Api.UserLookUp() throws attribute error when corresponding screen_name is not found
431
432          https://github.com/bear/python-twitter/pull/5
433          Merge pull request #5 from thefinn93/master
434          Setup.py crashes because the README file is now named README.md
435
436          Update .gitignore to add the PyCharm data directory
437
438        2012-10-16
439         http://code.google.com/p/python-twitter/issues/detail?id=233
440         Patch by dan@dans.im
441         Add exclude_replies parameter to GetUserTimeline
442
443         https://github.com/bear/python-twitter/issues/1
444         Bug reported by michaelmior on github
445         get_access_token.py attempts Web auth
446
447        2011-12-03
448         https://code.google.com/p/python-twitter/source/detail?r=263fe2a0db8be23347e92b81d6ab3c33b4ef292f
449         Comment by qfuxiang to the above changeset
450         The base url was wrong for the Followers API calls
451
452         https://code.google.com/p/python-twitter/issues/detail?id=213
453         Add include_entities parameter to GetStatus()
454         Patch by gaelenh
455
456         https://code.google.com/p/python-twitter/issues/detail?id=214
457         Change PostUpdate() so that it takes the shortened link into
458         account.  Small tweak to the patch provided to make the
459         shortened-link length set by a API value instead of a constant.
460         Patch by ceesjan.ytec
461
462         https://code.google.com/p/python-twitter/issues/detail?id=216
463         AttributeError handles the fact that win* doesn't implement
464         os.getlogin()
465         Patch by yaleman
466
467         https://code.google.com/p/python-twitter/issues/detail?id=217
468         As described at https://dev.twitter.com/docs/api/1/get/trends,
469         GET trends (corresponding to Api.GetTrendsCurrent) is now
470         deprecated in favor of GET trends/:woeid. GET trends also now
471         requires authentication, while trends/:woeid doesn't.
472         Patch and excellent description by jessica.mckellar
473
474         https://code.google.com/p/python-twitter/issues/detail?id=218
475         Currently, two Trends containing the same information
476         (name, query, and timestamp) aren't considered equal because
477         __eq__ isn't overridden, like it is for Status, User, and the
478         other Twitter objects.
479         Patch and excellent description by jessica.mckellar
480
481         https://code.google.com/p/python-twitter/issues/detail?id=220
482         https://code.google.com/p/python-twitter/issues/detail?id=211
483         https://code.google.com/p/python-twitter/issues/detail?id=206
484         All variations on a theme - basically Twitter is returning
485         something different for an error payload.  Changed code to
486         check for both 'error' and 'errors'.
487
488        2011-05-08
489
490         https://code.google.com/p/python-twitter/issues/detail?id=184
491         A comment in this issue made me realize that the parameter sanity
492         check for max_id was missing in GetMentions() - added
493
494         First pass at working in some of the cursor support that has been
495         in the Twitter API but we haven't made full use of - still working
496         out the small issues.
497
498        2011-04-16
499
500         bumped version to 0.8.3
501         released 0.8.2 to PyPI
502         bumped version to 0.8.2
503
504         Issue 193
505         http://code.google.com/p/python-twitter/issues/detail?id=193
506         Missing retweet_count field on Status object
507         Patch (with minor tweaks) by from alissonp
508
509         Issue 181
510         http://code.google.com/p/python-twitter/issues/detail?id=181
511         Add oauth2 to install_requires parameter list and also updated
512         README to note that the oauth2 lib can be found in two locations
513
514         Issue 182, Issue 137, Issue 93, Issue 190
515         language value missing from User object
516         Added 'lang' item and also some others that were needed:
517           verified, notifications, contributors_enabled and listed_count
518         patches by wreinerat, apetresc, jpwigan and ghills
519
520        2011-02-26
521
522         Issue 166
523         http://code.google.com/p/python-twitter/issues/detail?id=166
524         Added a basic, but sadly needed, check when parsing the json
525         returned by Twitter as Twitter has a habit of returning the
526         failwhale HTML page for a json api call :(
527         Patch (with minor tweaks) by adam.aviv
528
529         Issue 187
530         http://code.google.com/p/python-twitter/issues/detail?id=187
531         Applied patch by edward.hades to fix issue where MaximumHitFrequency
532         returns 0 when requests are maxed out
533
534         Issue 184
535         http://code.google.com/p/python-twitter/issues/detail?id=184
536         Applied patch by jmstaley to put into the GetUserTimeline API
537         parameter list the max_id value (it was being completely ignored)
538
539        2011-02-20
540
541         Added retweeted to Status class
542         Fixed Status class to return Hashtags list in AsDict() call
543
544         Issue 185
545         http://code.google.com/p/python-twitter/issues/detail?id=185
546         Added retweeted_status to Status class - patch by edward.hades
547
548         Issue 183
549         http://code.google.com/p/python-twitter/issues/detail?id=183
550         Removed errant print statement - reported by ProgVal
551
552        2010-12-21
553
554         Setting version to 0.8.1
555
556         Issue 179
557         http://code.google.com/p/python-twitter/issues/detail?id=179
558         Added MANIFEST.in to give setup.py sdist some clues as to what
559         files to include in the tarball
560
561        2010-11-14
562
563         Setting version to 0.8 for a bit as having a branch for this is
564         really overkill, i'll just take DeWitt advice and tag it when
565         the release is out the door
566
567         Issue 175
568         http://code.google.com/p/python-twitter/issues/detail?id=175
569         Added geo_enabled to User class - basic parts of patch provided
570         by adam.aviv with other bits added by me to allow it to pass tests
571
572         Issue 174
573         http://code.google.com/p/python-twitter/issues/detail?id=174
574         Added parts of adam.aviv's patch - the bits that add new field items
575         to the Status class.
576
577         Issue 159
578         http://code.google.com/p/python-twitter/issues/detail?id=159
579         Added patch form adam.aviv to make the term parameter for GetSearch()
580         optional if geocode parameter is supplied
581
582        2010-11-03
583
584         Ran pydoc to generate docs
585
586        2010-10-16
587
588         Fixed bad date in previous CHANGES entry
589
590         Fixed source of the python-oauth2 library we use: from brosner
591         to simplegeo
592
593         I made a pass thru the docstrings and updated many to be the
594         text from the current Twitter API docs.  Also fixed numerous
595         whitespace issues and did a s/[optional]/[Optional]/ change.
596
597         Imported work by Colin Howe that he did to get the tests working.
598         http://code.google.com/r/colinthehowe-python-twitter-tests/source/detail?r=6cff589aca9c955df8354fe4d8e302ec4a2eb31c
599         http://code.google.com/r/colinthehowe-python-twitter-tests/source/detail?r=cab8e32d7a9c34c66d2e75eebc7a1ba6e1eac8ce
600         http://code.google.com/r/colinthehowe-python-twitter-tests/source/detail?r=b434d9e5dd7b989ae24483477e3f00b1ad362cc5
601
602         Issue 169
603         http://code.google.com/p/python-twitter/issues/detail?id=169
604         Patch by yaemog which adds missing Trends support.
605
606         Issue 168
607         http://code.google.com/p/python-twitter/issues/detail?id=168
608         Only cache successful results as suggested by yaemog.
609
610         Issue 111
611         http://code.google.com/p/python-twitter/issues/detail?id=111
612         Added a new GetUserRetweets() call as suggested by yash888
613         Patch given was adjusted to reflect the current code requirements.
614
615         Issue 110
616         Added a VerifyCredentials() sample call to the README example
617
618         Issue 105
619         Added support for the page parameter to GetFriendsTimeline()
620         as requested by jauderho.
621         I also updated GetFriendsTimeline() to follow the current
622         Twitter API documentation
623
624         Somewhere in the patch frenzy of today an extra GetStatus()
625         def was introduced!?! Luckily it was caught by the tests.
626         wooo tests! \m/
627
628         Setting version to 0.8
629
630         r0.8 branch created and trunk set to version 0.9-devel
631
632        2010-09-26
633
634         Issue 150
635         http://code.google.com/p/python-twitter/issues/detail?id=150
636         Patch by blhobbes which removes a double quoting issue that
637         was happening for GetSearch()
638         Reported by huubhuubbarbatruuk
639
640         Issue 160
641         http://code.google.com/p/python-twitter/issues/detail?id=160
642         Patch by yaemog which adds support for include_rts and
643         include_entities support to GetUserTimeline and GetPublicTimeline
644         Small tweaks post-patch
645
646         Applied docstring tweak suggested by dclinton in revision comment
647         http://code.google.com/p/python-twitter/source/detail?r=a858412e38f7e3856fef924291ef039284d3a6e1
648         Thanks for the catch!
649
650         Issue 164
651         http://code.google.com/p/python-twitter/issues/detail?id=164
652         Patch by yaemog which adds GetRetweets support.
653         Small tweaks and two typo fixes post-patch.
654
655         Issue 165
656         http://code.google.com/p/python-twitter/issues/detail?id=165
657         Patch by yaemog which adds GetStatus support.
658         Small tweaks post-patch
659
660         Issue 163
661         http://code.google.com/p/python-twitter/issues/detail?id=163
662         Patch by yaemog which adds users/lookup support.
663         Small tweaks to docstring only post-patch.
664
665         Changed username/password parameter to Api class to be
666         consumer_key/consumer_secret to better match the new
667         oAuth only world that Twitter has demanded.
668
669         Added debugHTTP to the parameter list to Api class to
670         control if/when the urllib debug output is displayed.
671
672        2010-08-25
673
674         First pass at adding list support.
675         Added a new List class and also added to the Api class
676         new methods for working with lists:
677
678           CreateList(self, user, name, mode=None, description=None)
679           DestroyList(self, user, id)
680           CreateSubscription(self, owner, list)
681           DestroySubscription(self, owner, list)
682           GetSubscriptions(self, user, cursor=-1)
683           GetLists(self, user, cursor=-1)
684
685        2010-08-24
686
687         Fixed introduced bug in the Destroy* and Create* API calls
688         where any of the routines were passing in an empty dict for
689         POST data.  Before the oAuth change that was enough to tell
690         _FetchUrl() to use POST instead of GET but now a non-empty
691         dict is required.
692
693         Issue 144
694         http://code.google.com/p/python-twitter/issues/detail?id=144
695         GetFriends() where it was failing with a 'unicode object has
696         no attribute get'. This was caused when Twitter changed how
697         they return the JSON data. It used to be a straight list but
698         now there are some elements *and* then the list.
699
700        2010-08-18
701
702         Applied the json/simplejson part of the patch found
703         in Issue 64 (http://code.google.com/p/python-twitter/issues/detail?id=64)
704         Patch provided by Thomas Bohmbach
705
706         Applied patch provided by liris.pp in Issue 147
707         http://code.google.com/p/python-twitter/issues/detail?id=147
708         Ensures that during a PostStatus we count the length using a unicode aware
709         len() routine.  Tweaked patch slightly to take into account that the
710         twitter.Api() instance may have been setup with None for input_encoding.
711
712        2010-08-17
713
714         Fixed error in the POST path for _FetchUrl() where by
715         I show to the world that yes, I do make last minute
716         changes and completely forget to test them :(
717         Thanks to Peter Sanchez for finding and pointing to
718         working code that showed the fix
719
720        2010-08-15
721
722         Added more help text (I hope it helps) to the README
723         and also to get_access_token.py.
724
725         Added doctext notes to twitter.Api() parameter list
726         to explain more about oAuth.
727
728         Added import exception handling for parse_qs() and
729         parse_qsl() as it seems those funcitons moved between
730         2.5 and 2.6 so the oAuth update broke the lib under
731         python2.5.  Thanks to Rich for the bug find (sorry
732         it had to be found the hard way!)
733
734         from changeset 184:60315000989c by DeWitt
735         Update the generated twitter.py docs to match the trunk
736
737        2010-08-14
738
739         Fixed silly typo in _FetchUrl() when doing a POST
740         Thanks to Peter Sanchez for the find and fix!
741
742         Added some really basic text to the get_access_token.py
743         startup output that explains why, for now, you need to
744         visit Twitter and get an Application key/secret to use
745         this library
746
747        2010-08-12
748
749         Updated code to use python-oauth2 library for authentication.
750         Twitter has set a deadline, 2010-08-16 as of this change, for
751         the switch from Basic to oAuth.
752
753         The oAuth integration was inspired by the work done by
754         Hameedullah Khan and others.
755
756         The change to using python-oauth2 library was done purely to
757         align python-twitter with an oauth library that was maintained
758         and had tests to try and minimize grief moving forward.
759
760         Slipped into GetFriendsTimeline() a new parameter, retweets, to
761         allow the call to pull from the "friends_timeline" or the
762         "home_timeline".
763
764         Fixed some typos and white-space issues and also updated the
765         README to point to the new Twitter Dev site.
766
767        2010-08-02
768
769         Updated copyright information.
770
771        2010-06-13
772
773         Applied changeset from nicdumz repo nicdumz-cleaner-python-twitter
774           r=07df3feee06c8d0f9961596e5fceae9e74493d25
775           datetime is required for MaximumHitFrequency
776
777         Applied changeset from nicdumz repo nicdumz-cleaner-python-twitter
778           r=dd669dff32d101856ed6e50fe8bd938640b04d77
779           update source URLs in README
780
781         Applied changeset from nicdumz repo nicdumz-cleaner-python-twitter
782           r=8f0796d7fdcea17f4162aeb22d3c36cb603088c7
783           adjust tests to reflect http://twitter.com -> https://twitter.com change
784
785         Applied changeset from nicdumz repo nicdumz-cleaner-python-twitter
786           r=3c05b8ebe59eca226d9eaef2760cecca9d50944a
787           tests: add .info() method to objects returned by our Mockup handler
788           This is required to completely mimick urllib, and have successful
789           response.headers attribute accesses.
790
791         Applied partial patch for Issue 113
792         http://code.google.com/p/python-twitter/issues/detail?id=113
793
794           The partial bit means we changed the parameter from "page" to "cursor"
795           so the call would work.  What was left out was a more direct way
796           to return the cursor value *after* the call and also in the patch
797           they also changed the method to return an iterator.
798
799        2010-05-17
800
801         Issue 50 http://code.google.com/p/python-twitter/issues/detail?id=50
802         Applied patch by wheaties.box that implements a new method to return
803         the Rate Limit Status and also adds the new method MaximumHitFrequency
804
805         Multiple typo, indent and whitespace tweaks
806
807         Issue 60 http://code.google.com/p/python-twitter/issues/detail?id=60
808         Pulled out new GetFavorites and GetMentions methods from the patch
809         submitted by joegermuska
810
811         Issue 62 http://code.google.com/p/python-twitter/issues/detail?id=62
812         Applied patch from lukev123 that adds gzip compression to the GET
813         requests sent to Twitter. The patch was modified to default gzip to
814         False and to allow the twitter.API class instantiation to set the
815         value to True.  This was done to not change current default
816         behaviour radically.
817
818         Issue 80 http://code.google.com/p/python-twitter/issues/detail?id=80
819         Fixed PostUpdate() call example in the README
820
821        2010-05-16
822
823         Issue 19 http://code.google.com/p/python-twitter/issues/detail?id=19
824         TinyURL example and the idea for this comes from a bug filed by
825         acolorado with patch provided by ghills.
826
827         Issue 37 http://code.google.com/p/python-twitter/issues/detail?id=37
828         Added base_url to the twitter.API class init call to allow the user
829         to override the default https://twitter.com base.  Since Twitter now
830         supports https for all calls I (bear) changed the patch to default to
831         https instead of http.
832         Original issue by kotecha.ravi, patch by wiennat and with implementation
833         tweaks by bear.
834
835         Issue 45 http://code.google.com/p/python-twitter/issues/detail?id=45
836         Two grammar fixes for relative_created_at property
837         Patches by thomasdyson and chris.boardman07
838
839        2010-01-24
840
841         Applying patch submitted to fix Issue 70
842         http://code.google.com/p/python-twitter/issues/detail?id=70
843
844         The patch was originally submitted by user ghills, adapted by livibetter and
845         adapted even further by JimMoefoe (read the comments for the full details :) )
846
847         Applying patch submitted by markus.magnuson to add new method GetFriendIDs
848         Issue 94 http://code.google.com/p/python-twitter/issues/detail?id=94
849
850        2009-06-13
851
852         Releasing 0.6 to help people avoid the Twitpocalypse.
853
854        2009-05-03
855
856         Support hashlib in addition to the older md5 library.
857
858        2009-03-11
859
860         Added page parameter to GetReplies, GetFriends, GetFollowers, and GetDirectMessages
861
862        2009-03-03
863
864          Added count parameter to GetFriendsTimeline
865
866        2009-03-01
867          Add PostUpdates, which automatically splits long text into multiple updates.
868
869        2009-02-25
870
871          Add in_reply_to_status_id to api.PostUpdate
872
873        2009-02-21
874
875          Wrap any error responses in a TwitterError
876          Add since_id to GetFriendsTimeline and GetUserTimeline
877
878        2009-02-20
879
880          Added since and since_id to Api.GetReplies
881
882        2008-07-10
883
884          Added new properties to User and Status classes.
885          Removed spurious self-import of the twitter module
886          Added a NOTICE file
887          Require simplejson 2.x or later
888          Added get/create/destroy favorite flags for status messages.
889          Bug fix for non-tty devices.
890
891        2007-09-13
892
893          Unset the executable bit on README.
894
895        2007-09-13
896
897          Released version 0.5.
898          Added back support for setuptools (conditionally)
899          Added support for X-Twitter-* HTTP headers
900          Fixed the tests to work across all timezones
901          Removed the 140 character limit from PostUpdate
902          Added support for per-user tmp cache directories
903
904        2007-06-13
905
906          Released 0.4.
907          Fixed a unicode error that prevented tweet.py from working.
908          Added DestroyStatus
909          Added DestroyDirectMessage
910          Added CreateFriendship
911          Added DestoryFriendship
912
913        2007-06-03
914
915          Fixed the bug that prevented unicode strings being posted
916          Username and password now set on twitter.Api, not individual method calls
917          Added SetCredentials and ClearCredentials
918          Added GetUser ("users/show" in the twitter web api)
919          Added GetFeatured
920          Added GetDirectMessages
921          Added GetStatus ("statuses/show" in the twitter web api)
922          Added GetReplies
923          Added optional since_id parameter on GetPublicTimeline
924          Added optional since parameter on GetUserTimeline
925          Added optional since and user parameters on GetFriendsTimeline
926          Added optional user parameter on GetFriends
927
928        2007-04-27
929
930          Modified examples/twitter-to-xhtml.py to handle unicode
931          Dropped dependency on setuptools (too complicated/buggy)
932          Added unicode test cases
933          Fixed issue 2 "Rename needs an unlink in front"
934
935        2007-04-02
936
937          Released 0.3.
938          Use gmtime not localtime to calculate relative_created_at.
939
940        2007-03-26
941
942          Released 0.2
943          GetUserTimeline can accept userid or username.
944
945        2007-03-21
946
947          Calculate relative_created_at on the fly
948
949        2007-01-28
950
951          Released 0.1
952          Initial checkin of python-twitter
953
954
955Keywords: twitter api
956Platform: Any
957Classifier: Development Status :: 5 - Production/Stable
958Classifier: Intended Audience :: Developers
959Classifier: License :: OSI Approved :: Apache Software License
960Classifier: Operating System :: OS Independent
961Classifier: Topic :: Software Development :: Libraries :: Python Modules
962Classifier: Topic :: Communications :: Chat
963Classifier: Topic :: Internet
964Classifier: Programming Language :: Python
965Classifier: Programming Language :: Python :: 2
966Classifier: Programming Language :: Python :: 2.7
967Classifier: Programming Language :: Python :: 3
968Classifier: Programming Language :: Python :: 3.6
969