Package: python-twitter
Python TwitterA Python wrapper around the Twitter API.By the `Python-Twitter Developers <python-twitter@googlegroups.com>`_.. image:: https://img.shields.io/pypi/v/python-twitter.svg:target: https://pypi.python.org/pypi/python-twitter/:alt: Downloads.. image:: https://readthedocs.org/projects/python-twitter/badge/?version=latest:target: http://python-twitter.readthedocs.org/en/latest/?badge=latest:alt: Documentation Status.. image:: https://circleci.com/gh/bear/python-twitter.svg?style=svg:target: https://circleci.com/gh/bear/python-twitter:alt: Circle CI.. image:: http://codecov.io/github/bear/python-twitter/coverage.svg?branch=master:target: http://codecov.io/github/bear/python-twitter:alt: Codecov.. image:: https://requires.io/github/bear/python-twitter/requirements.svg?branch=master:target: https://requires.io/github/bear/python-twitter/requirements/?branch=master:alt: Requirements Status.. image:: https://dependencyci.com/github/bear/python-twitter/badge:target: https://dependencyci.com/github/bear/python-twitter:alt: Dependency Status============Introduction============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.`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://developer.twitter.com/en/docs>`_ and this library is intended to make it even easier for Python programmers to use.==========Installing==========You can install python-twitter using::$ pip install python-twitterIf 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.================Getting the code================The code is hosted at https://github.com/bear/python-twitterCheck out the latest development version anonymously with::$ git clone git://github.com/bear/python-twitter.git$ cd python-twitterTo install dependencies, run either::$ make devor::$ pip install -Ur requirements.testing.txt$ pip install -Ur requirements.txtNote that ```make dev``` will install into your local ```pyenv``` all of the versions needed for test runs using ```tox```.To install the minimal dependencies for production use (i.e., what is installedwith ``pip install python-twitter``) run::$ make envor::$ pip install -Ur requirements.txt=============Running Tests=============The test suite can be run against a single Python version or against a range of them depending on which Makefile target you select.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```)To run the unit tests with a single Python version::$ make testto also run code coverage::$ make coverageTo run the unit tests against a set of Python versions::$ make tox=============Documentation=============View the latest python-twitter documentation athttps://python-twitter.readthedocs.io. You can view Twitter's API documentation at: https://dev.twitter.com/overview/documentation=====Using=====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.----Using with Django----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------Models------The library utilizes models to represent various data structures returned by Twitter. Those models are:* twitter.Category* twitter.DirectMessage* twitter.Hashtag* twitter.List* twitter.Media* twitter.Status* twitter.Trend* twitter.Url* twitter.User* twitter.UserStatusTo read the documentation for any of these models, run::$ pydoc twitter.[model]---API---The API is exposed via the ``twitter.Api`` class.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.To generate an Access Token you have to pick what type of access your application requires and then do one of the following:- `Generate a token to access your own account <https://dev.twitter.com/oauth/overview/application-owner-access-tokens>`_- `Generate a pin-based token <https://dev.twitter.com/oauth/pin-based>`_- use the helper script `get_access_token.py <https://github.com/bear/python-twitter/blob/master/get_access_token.py>`_For full details see the `Twitter OAuth Overview <https://dev.twitter.com/oauth/overview>`_To create an instance of the ``twitter.Api`` with login credentials (Twitter now requires an OAuth Access Token for all API calls)::>>> import twitter>>> api = twitter.Api(consumer_key='consumer_key',consumer_secret='consumer_secret',access_token_key='access_token',access_token_secret='access_token_secret')To see if your credentials are successful::>>> print(api.VerifyCredentials()){"id": 16133, "location": "Philadelphia", "name": "bear"}**NOTE**: much more than the small sample given here will printTo fetch a single user's public status messages, where ``user`` is a Twitter user's screen name::>>> statuses = api.GetUserTimeline(screen_name=user)>>> print([s.text for s in statuses])To fetch a list a user's friends::>>> users = api.GetFriends()>>> print([u.name for u in users])To post a Twitter status message::>>> status = api.PostUpdate('I love python-twitter!')>>> print(status.text)I love python-twitter!There are many more API methods, to read the full API documentation eithercheck out the documentation on `readthedocs<https://python-twitter.readthedocs.io>`_, build the documentation locallywith::$ make docsor check out the inline documentation with::$ pydoc twitter.Api----Todo----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.In particular, having more example scripts would be a huge help. If you havea program that uses python-twitter and would like a link in the documentation,submit a pull request against ``twitter/doc/getting_started.rst`` and add yourprogram at the bottom.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.The ``twitter.Status`` and ``twitter.User`` classes could perform more validation on the property setters.----------------More Information----------------Please visit `the google group <http://groups.google.com/group/python-twitter>`_ for more discussion.------------Contributors------------Originally two libraries by DeWitt Clinton and Mike Taylor which was then merged into python-twitter.Now it's a full-on open source project with many contributors over time. See AUTHORS.rst for the complete list.-------License-------| Copyright 2007-2016 The Python-Twitter Developers|| Licensed under the Apache License, Version 2.0 (the 'License');| you may not use this file except in compliance with the License.| You may obtain a copy of the License at||     http://www.apache.org/licenses/LICENSE-2.0|| Unless required by applicable law or agreed to in writing, software| distributed under the License is distributed on an 'AS IS' BASIS,| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.| See the License for the specific language governing permissions and| limitations under the License.Originally two libraries by DeWitt Clinton and Mike Taylor which was then merged into python-twitter.Now it's a full-on open source project with many contributors over time:* Jodok Batlogg,* Kyle Bock,* Brad Choate,* Robert Clarke,* Jim Cortez,* Pierre-Jean Coudert,* Aish Raj Dahal,* Thomas Dyson,* Jim Easterbrook* Yoshinori Fukushima,* Hameedullah Khan,* Osama Khalid,* Omar Kilani,* Domen Kožar,* Robert Laquey,* Jason Lemoine,* Pradeep Nayak,* Ian Ozsvald,* Nicolas Perriault,* Trevor Prater,* Glen Tregoning,* Lars Weiler,* Sebastian Wiesinger,* Jake Robinson,* Muthu Annamalai,* abloch,* cahlan,* dpslwk,* edleaf,* ecesena,* git-matrix,* sbywater,* thefinn93,* themylogin,2016-05-25Going forward all changes will be tracked in docs/changelog.rst2015-12-28Large number of changes related to making the code Python v3 compatible.See the messy details at https://github.com/bear/python-twitter/pull/251Pull Requests#525 Adds support for 280 character limit for tweets by trevorprater#267 initialize Api.__auth fixes #119 by rbpasker#266 Add full_text and page options in GetDirectMessages function by mistersalmon#264 Updates Media object with new methods, adds id param, adds tests by jeremylow#262 Update get_access_token.py by lababidi#261 Adding Collections by ryankicks#260 Added UpdateBackgroundImage method and added profile_link_color argument to UpdateProfile by BrandonBielicki#259 Added GetFriendIDsPaged by RockHoward#254 Adding api methods for suggestions and suggestions/:slug by trentstollery#253 Added who parameter to api.GetSearch by wilsonand1#250 adds UpdateFriendship (shared Add/Edit friendship) by jheld#249 Fixed Non-ASCII printable representation in Trend by der-Daniel#246 Add __repr__ for status by era#245 Python-3 Fix: decode bytestreams for json load by ligthyear#243 Remove references to outdated API functionality: GetUserByEmail by Vector919#239 Correct GetListsList docstring by tedmistonProbably a whole lot that I missed - ugh!2017-11-11Added support for 280 character limit2015-10-05Added who to api.GetSearch2014-12-29removed reference to simplejson2014-12-24bump version to v2.3bump version to v2.2PEP8 standardization2014-07-10bump version to v2.12014-07-10update copyright yearschange setup.py to allow installing via wheelrenamed README.md to README.rstadded AUTHORS.rst2014-02-17changed version to 1.3 and then to 1.3.1 because I forgot to include CHANGESfix Issue 143 - GetStatusOembed() url parameter was being stomped onfix debugHTTP in a brute force way but it works againAdd id_str to Status classAdded LookupFriendship() method for checking follow statuspull request from lucasFix bug of GetListMembers when specifying `owner_screen_name`pull request from shichao-an2014-01-18backfilling varioius lists endpointsadded a basic user stream call2014-01-17changed to version 1.2fixed python 3 issue in setup.py (print statements)fixed error in CreateList(), changed count default for GetFollowers to 200 and added a GetFollowersPaged() methodneed to backfill commit log entries!2013-10-06changed version to 1.1The following changes have been made since the 1.0.1 releaseRemove from ParseTweet the Python 2.7 only dict comprehension itemFix GetListTimeline condition to enable owner_screen_name based fetchingMany fixes for readability and PEP8Cleaning up some of the package importing. Only importing the functions that are neededAlso added first build of the sphinx documentation. Copied some info from the readme to the index pageAdded lines to setup.py to help the user troubleshoot install problems. #109Removed the OAuth2 lines from the readmeRemoved OAuth2 library requirementsAdded GetListMembers()2013-06-07changed version to 1.0.1added README bit about Python version requirement2013-06-04changed version to 1.0removed doc directory until we can update docs for v1.1 APIadded to package MANIFEST.in the testdata directory2013-05-28bumped version to 1.0rc1merged in api_v1.1 branchThe library is now only for Twitter API v1.12013-03-03bumped version to 0.8.7removed GetPublicTimeline from the docs so as to stop confusingnew folks since it was the first example given ... d'oh!2013-02-10bumped version to 0.8.6update requirements.txt to remove distribute referencegithub commit 3b9214a879e5fbd03036a7d4ae86babc03784846Merge pull request #33 from iElectric/profile_image_url_httpsgithub commit 67cbb8390701c945a48094795474ca485f092049patch by iElectric on githubChange User.NewFromJsonDict so that it will pull from eitherprofile_image_url_https or profile_image_url to keep older codeworking properly if they have stored older json data2013-02-07bumped version to 0.8.5lots of changes have been happening on Github and i've beenvery remiss in documenting them here in the Changes file :(this version is the last v1.0 API release and it's being madeto push to PyPI and other placesall work now will be on getting the v1.1 API supported2012-11-04https://github.com/bear/python-twitter/issues/4Api.UserLookUp() throws attribute error when corresponding screen_name is not foundhttps://github.com/bear/python-twitter/pull/5Merge pull request #5 from thefinn93/masterSetup.py crashes because the README file is now named README.mdUpdate .gitignore to add the PyCharm data directory2012-10-16http://code.google.com/p/python-twitter/issues/detail?id=233Patch by dan@dans.imAdd exclude_replies parameter to GetUserTimelinehttps://github.com/bear/python-twitter/issues/1Bug reported by michaelmior on githubget_access_token.py attempts Web auth2011-12-03https://code.google.com/p/python-twitter/source/detail?r=263fe2a0db8be23347e92b81d6ab3c33b4ef292fComment by qfuxiang to the above changesetThe base url was wrong for the Followers API callshttps://code.google.com/p/python-twitter/issues/detail?id=213Add include_entities parameter to GetStatus()Patch by gaelenhhttps://code.google.com/p/python-twitter/issues/detail?id=214Change PostUpdate() so that it takes the shortened link intoaccount.  Small tweak to the patch provided to make theshortened-link length set by a API value instead of a constant.Patch by ceesjan.ytechttps://code.google.com/p/python-twitter/issues/detail?id=216AttributeError handles the fact that win* doesn't implementos.getlogin()Patch by yalemanhttps://code.google.com/p/python-twitter/issues/detail?id=217As described at https://dev.twitter.com/docs/api/1/get/trends,GET trends (corresponding to Api.GetTrendsCurrent) is nowdeprecated in favor of GET trends/:woeid. GET trends also nowrequires authentication, while trends/:woeid doesn't.Patch and excellent description by jessica.mckellarhttps://code.google.com/p/python-twitter/issues/detail?id=218Currently, two Trends containing the same information(name, query, and timestamp) aren't considered equal because__eq__ isn't overridden, like it is for Status, User, and theother Twitter objects.Patch and excellent description by jessica.mckellarhttps://code.google.com/p/python-twitter/issues/detail?id=220https://code.google.com/p/python-twitter/issues/detail?id=211https://code.google.com/p/python-twitter/issues/detail?id=206All variations on a theme - basically Twitter is returningsomething different for an error payload.  Changed code tocheck for both 'error' and 'errors'.2011-05-08https://code.google.com/p/python-twitter/issues/detail?id=184A comment in this issue made me realize that the parameter sanitycheck for max_id was missing in GetMentions() - addedFirst pass at working in some of the cursor support that has beenin the Twitter API but we haven't made full use of - still workingout the small issues.2011-04-16bumped version to 0.8.3released 0.8.2 to PyPIbumped version to 0.8.2Issue 193http://code.google.com/p/python-twitter/issues/detail?id=193Missing retweet_count field on Status objectPatch (with minor tweaks) by from alissonpIssue 181http://code.google.com/p/python-twitter/issues/detail?id=181Add oauth2 to install_requires parameter list and also updatedREADME to note that the oauth2 lib can be found in two locationsIssue 182, Issue 137, Issue 93, Issue 190language value missing from User objectAdded 'lang' item and also some others that were needed:verified, notifications, contributors_enabled and listed_countpatches by wreinerat, apetresc, jpwigan and ghills2011-02-26Issue 166http://code.google.com/p/python-twitter/issues/detail?id=166Added a basic, but sadly needed, check when parsing the jsonreturned by Twitter as Twitter has a habit of returning thefailwhale HTML page for a json api call :(Patch (with minor tweaks) by adam.avivIssue 187http://code.google.com/p/python-twitter/issues/detail?id=187Applied patch by edward.hades to fix issue where MaximumHitFrequencyreturns 0 when requests are maxed outIssue 184http://code.google.com/p/python-twitter/issues/detail?id=184Applied patch by jmstaley to put into the GetUserTimeline APIparameter list the max_id value (it was being completely ignored)2011-02-20Added retweeted to Status classFixed Status class to return Hashtags list in AsDict() callIssue 185http://code.google.com/p/python-twitter/issues/detail?id=185Added retweeted_status to Status class - patch by edward.hadesIssue 183http://code.google.com/p/python-twitter/issues/detail?id=183Removed errant print statement - reported by ProgVal2010-12-21Setting version to 0.8.1Issue 179http://code.google.com/p/python-twitter/issues/detail?id=179Added MANIFEST.in to give setup.py sdist some clues as to whatfiles to include in the tarball2010-11-14Setting version to 0.8 for a bit as having a branch for this isreally overkill, i'll just take DeWitt advice and tag it whenthe release is out the doorIssue 175http://code.google.com/p/python-twitter/issues/detail?id=175Added geo_enabled to User class - basic parts of patch providedby adam.aviv with other bits added by me to allow it to pass testsIssue 174http://code.google.com/p/python-twitter/issues/detail?id=174Added parts of adam.aviv's patch - the bits that add new field itemsto the Status class.Issue 159http://code.google.com/p/python-twitter/issues/detail?id=159Added patch form adam.aviv to make the term parameter for GetSearch()optional if geocode parameter is supplied2010-11-03Ran pydoc to generate docs2010-10-16Fixed bad date in previous CHANGES entryFixed source of the python-oauth2 library we use: from brosnerto simplegeoI made a pass thru the docstrings and updated many to be thetext from the current Twitter API docs.  Also fixed numerouswhitespace issues and did a s/[optional]/[Optional]/ change.Imported work by Colin Howe that he did to get the tests working.http://code.google.com/r/colinthehowe-python-twitter-tests/source/detail?r=6cff589aca9c955df8354fe4d8e302ec4a2eb31chttp://code.google.com/r/colinthehowe-python-twitter-tests/source/detail?r=cab8e32d7a9c34c66d2e75eebc7a1ba6e1eac8cehttp://code.google.com/r/colinthehowe-python-twitter-tests/source/detail?r=b434d9e5dd7b989ae24483477e3f00b1ad362cc5Issue 169http://code.google.com/p/python-twitter/issues/detail?id=169Patch by yaemog which adds missing Trends support.Issue 168http://code.google.com/p/python-twitter/issues/detail?id=168Only cache successful results as suggested by yaemog.Issue 111http://code.google.com/p/python-twitter/issues/detail?id=111Added a new GetUserRetweets() call as suggested by yash888Patch given was adjusted to reflect the current code requirements.Issue 110Added a VerifyCredentials() sample call to the README exampleIssue 105Added support for the page parameter to GetFriendsTimeline()as requested by jauderho.I also updated GetFriendsTimeline() to follow the currentTwitter API documentationSomewhere in the patch frenzy of today an extra GetStatus()def was introduced!?! Luckily it was caught by the tests.wooo tests! \m/Setting version to 0.8r0.8 branch created and trunk set to version 0.9-devel2010-09-26Issue 150http://code.google.com/p/python-twitter/issues/detail?id=150Patch by blhobbes which removes a double quoting issue thatwas happening for GetSearch()Reported by huubhuubbarbatruukIssue 160http://code.google.com/p/python-twitter/issues/detail?id=160Patch by yaemog which adds support for include_rts andinclude_entities support to GetUserTimeline and GetPublicTimelineSmall tweaks post-patchApplied docstring tweak suggested by dclinton in revision commenthttp://code.google.com/p/python-twitter/source/detail?r=a858412e38f7e3856fef924291ef039284d3a6e1Thanks for the catch!Issue 164http://code.google.com/p/python-twitter/issues/detail?id=164Patch by yaemog which adds GetRetweets support.Small tweaks and two typo fixes post-patch.Issue 165http://code.google.com/p/python-twitter/issues/detail?id=165Patch by yaemog which adds GetStatus support.Small tweaks post-patchIssue 163http://code.google.com/p/python-twitter/issues/detail?id=163Patch by yaemog which adds users/lookup support.Small tweaks to docstring only post-patch.Changed username/password parameter to Api class to beconsumer_key/consumer_secret to better match the newoAuth only world that Twitter has demanded.Added debugHTTP to the parameter list to Api class tocontrol if/when the urllib debug output is displayed.2010-08-25First pass at adding list support.Added a new List class and also added to the Api classnew methods for working with lists:CreateList(self, user, name, mode=None, description=None)DestroyList(self, user, id)CreateSubscription(self, owner, list)DestroySubscription(self, owner, list)GetSubscriptions(self, user, cursor=-1)GetLists(self, user, cursor=-1)2010-08-24Fixed introduced bug in the Destroy* and Create* API callswhere any of the routines were passing in an empty dict forPOST data.  Before the oAuth change that was enough to tell_FetchUrl() to use POST instead of GET but now a non-emptydict is required.Issue 144http://code.google.com/p/python-twitter/issues/detail?id=144GetFriends() where it was failing with a 'unicode object hasno attribute get'. This was caused when Twitter changed howthey return the JSON data. It used to be a straight list butnow there are some elements *and* then the list.2010-08-18Applied the json/simplejson part of the patch foundin Issue 64 (http://code.google.com/p/python-twitter/issues/detail?id=64)Patch provided by Thomas BohmbachApplied patch provided by liris.pp in Issue 147http://code.google.com/p/python-twitter/issues/detail?id=147Ensures that during a PostStatus we count the length using a unicode awarelen() routine.  Tweaked patch slightly to take into account that thetwitter.Api() instance may have been setup with None for input_encoding.2010-08-17Fixed error in the POST path for _FetchUrl() where byI show to the world that yes, I do make last minutechanges and completely forget to test them :(Thanks to Peter Sanchez for finding and pointing toworking code that showed the fix2010-08-15Added more help text (I hope it helps) to the READMEand also to get_access_token.py.Added doctext notes to twitter.Api() parameter listto explain more about oAuth.Added import exception handling for parse_qs() andparse_qsl() as it seems those funcitons moved between2.5 and 2.6 so the oAuth update broke the lib underpython2.5.  Thanks to Rich for the bug find (sorryit had to be found the hard way!)from changeset 184:60315000989c by DeWittUpdate the generated twitter.py docs to match the trunk2010-08-14Fixed silly typo in _FetchUrl() when doing a POSTThanks to Peter Sanchez for the find and fix!Added some really basic text to the get_access_token.pystartup output that explains why, for now, you need tovisit Twitter and get an Application key/secret to usethis library2010-08-12Updated code to use python-oauth2 library for authentication.Twitter has set a deadline, 2010-08-16 as of this change, forthe switch from Basic to oAuth.The oAuth integration was inspired by the work done byHameedullah Khan and others.The change to using python-oauth2 library was done purely toalign python-twitter with an oauth library that was maintainedand had tests to try and minimize grief moving forward.Slipped into GetFriendsTimeline() a new parameter, retweets, toallow the call to pull from the "friends_timeline" or the"home_timeline".Fixed some typos and white-space issues and also updated theREADME to point to the new Twitter Dev site.2010-08-02Updated copyright information.2010-06-13Applied changeset from nicdumz repo nicdumz-cleaner-python-twitterr=07df3feee06c8d0f9961596e5fceae9e74493d25datetime is required for MaximumHitFrequencyApplied changeset from nicdumz repo nicdumz-cleaner-python-twitterr=dd669dff32d101856ed6e50fe8bd938640b04d77update source URLs in READMEApplied changeset from nicdumz repo nicdumz-cleaner-python-twitterr=8f0796d7fdcea17f4162aeb22d3c36cb603088c7adjust tests to reflect http://twitter.com -> https://twitter.com changeApplied changeset from nicdumz repo nicdumz-cleaner-python-twitterr=3c05b8ebe59eca226d9eaef2760cecca9d50944atests: add .info() method to objects returned by our Mockup handlerThis is required to completely mimick urllib, and have successfulresponse.headers attribute accesses.Applied partial patch for Issue 113http://code.google.com/p/python-twitter/issues/detail?id=113The partial bit means we changed the parameter from "page" to "cursor"so the call would work.  What was left out was a more direct wayto return the cursor value *after* the call and also in the patchthey also changed the method to return an iterator.2010-05-17Issue 50 http://code.google.com/p/python-twitter/issues/detail?id=50Applied patch by wheaties.box that implements a new method to returnthe Rate Limit Status and also adds the new method MaximumHitFrequencyMultiple typo, indent and whitespace tweaksIssue 60 http://code.google.com/p/python-twitter/issues/detail?id=60Pulled out new GetFavorites and GetMentions methods from the patchsubmitted by joegermuskaIssue 62 http://code.google.com/p/python-twitter/issues/detail?id=62Applied patch from lukev123 that adds gzip compression to the GETrequests sent to Twitter. The patch was modified to default gzip toFalse and to allow the twitter.API class instantiation to set thevalue to True.  This was done to not change current defaultbehaviour radically.Issue 80 http://code.google.com/p/python-twitter/issues/detail?id=80Fixed PostUpdate() call example in the README2010-05-16Issue 19 http://code.google.com/p/python-twitter/issues/detail?id=19TinyURL example and the idea for this comes from a bug filed byacolorado with patch provided by ghills.Issue 37 http://code.google.com/p/python-twitter/issues/detail?id=37Added base_url to the twitter.API class init call to allow the userto override the default https://twitter.com base.  Since Twitter nowsupports https for all calls I (bear) changed the patch to default tohttps instead of http.Original issue by kotecha.ravi, patch by wiennat and with implementationtweaks by bear.Issue 45 http://code.google.com/p/python-twitter/issues/detail?id=45Two grammar fixes for relative_created_at propertyPatches by thomasdyson and chris.boardman072010-01-24Applying patch submitted to fix Issue 70http://code.google.com/p/python-twitter/issues/detail?id=70The patch was originally submitted by user ghills, adapted by livibetter andadapted even further by JimMoefoe (read the comments for the full details :) )Applying patch submitted by markus.magnuson to add new method GetFriendIDsIssue 94 http://code.google.com/p/python-twitter/issues/detail?id=942009-06-13Releasing 0.6 to help people avoid the Twitpocalypse.2009-05-03Support hashlib in addition to the older md5 library.2009-03-11Added page parameter to GetReplies, GetFriends, GetFollowers, and GetDirectMessages2009-03-03Added count parameter to GetFriendsTimeline2009-03-01Add PostUpdates, which automatically splits long text into multiple updates.2009-02-25Add in_reply_to_status_id to api.PostUpdate2009-02-21Wrap any error responses in a TwitterErrorAdd since_id to GetFriendsTimeline and GetUserTimeline2009-02-20Added since and since_id to Api.GetReplies2008-07-10Added new properties to User and Status classes.Removed spurious self-import of the twitter moduleAdded a NOTICE fileRequire simplejson 2.x or laterAdded get/create/destroy favorite flags for status messages.Bug fix for non-tty devices.2007-09-13Unset the executable bit on README.2007-09-13Released version 0.5.Added back support for setuptools (conditionally)Added support for X-Twitter-* HTTP headersFixed the tests to work across all timezonesRemoved the 140 character limit from PostUpdateAdded support for per-user tmp cache directories2007-06-13Released 0.4.Fixed a unicode error that prevented tweet.py from working.Added DestroyStatusAdded DestroyDirectMessageAdded CreateFriendshipAdded DestoryFriendship2007-06-03Fixed the bug that prevented unicode strings being postedUsername and password now set on twitter.Api, not individual method callsAdded SetCredentials and ClearCredentialsAdded GetUser ("users/show" in the twitter web api)Added GetFeaturedAdded GetDirectMessagesAdded GetStatus ("statuses/show" in the twitter web api)Added GetRepliesAdded optional since_id parameter on GetPublicTimelineAdded optional since parameter on GetUserTimelineAdded optional since and user parameters on GetFriendsTimelineAdded optional user parameter on GetFriends2007-04-27Modified examples/twitter-to-xhtml.py to handle unicodeDropped dependency on setuptools (too complicated/buggy)Added unicode test casesFixed issue 2 "Rename needs an unlink in front"2007-04-02Released 0.3.Use gmtime not localtime to calculate relative_created_at.2007-03-26Released 0.2GetUserTimeline can accept userid or username.2007-03-21Calculate relative_created_at on the fly2007-01-28Released 0.1Initial checkin of python-twitter