pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/net/py-tweepy py-tweepy: updated to 3.10.0



details:   https://anonhg.NetBSD.org/pkgsrc/rev/a3e7036346fc
branches:  trunk
changeset: 448412:a3e7036346fc
user:      adam <adam%pkgsrc.org@localhost>
date:      Sun Mar 07 17:20:00 2021 +0000

description:
py-tweepy: updated to 3.10.0

Version 3.10.0

This will be the last major and minor version to support Python 2.7
The next non-patch release should be version 4.0.0.

New Features / Improvements

Add API.search_30_day and API.search_full_archive
Update allowed parameters for API.home_timeline
Add trim_user, exclude_replies, include_entities
Remove page as erroneously documented parameter
Reorder count to be the first parameter
Update allowed parameters for API.get_oembed
Add hide_thread, theme, link_color, widget_type, dnt
Remove id
Remove API.update_profile_background_image
Add support for Python 3.9
Switch from Travis CI to GitHub Actions to run tests and deploy releases
Update and improve various documentation

Bug Fixes

Use mimetypes.guess_type as fallback for determining image file type
Use proper MIME type in Content-Type header for uploaded images
Allow file parameter to be used again for API.media_upload
Allow file parameter to be used again for API.update_profile_banner, API.update_profile_image, and API.update_with_media
Fix User.lists, User.lists_memberships, and User.lists_subscriptions to retrieve information about the user in question rather than the authenticating user


Version 3.9.0

New Features / Improvements

Add API.create_media_metadata
Update allowed parameters for API.update_status
Add exclude_reply_user_ids, attachment_url, possibly_sensitive, trim_user, enable_dmcommands, fail_dmcommands, card_uri
Remove in_reply_to_status_id_str, source
Add allowed parameters to API.get_status
trim_user, include_my_retweet, include_entities, include_ext_alt_text, include_card_uri
Add allowed parameters to API.statuses_lookup
include_ext_alt_text, include_card_uri
Improve API.lookup_users
Improve and optimize API.statuses_lookup, API.create_media_metadata, API.update_status
Add reverse as allowed parameter for API.lists_all
Add count as allowed parameter for API.lists_memberships
Add count as allowed parameter for API.lists_subscriptions
Add include_entities as allowed parameter for API.list_timeline
Add allowed parameters to API.list_subscribers
count, include_entities, skip_status
Add support for Python 3.8
Update and improve setup.py
Use requests socks extra instead of requiring PySocks directly
Allow uploading of images with file names without extensions
Support uploading WebP images
Add missing attributes to Relationship model
Update max allowed size for uploaded GIFs
Add _json attribute to DirectMessage model
Update and improve tests
Add documentation for extended Tweets
Document API.lookup_users
Add documentation for running tests
Add Korean translation of documentation
Add Polish translation of documentation
Document API.lookup_friendships
Update and improve various documentation

Bug Fixes

Fix handling of invalid credentials for API.verify_credentials
Handle boolean value for API.verify_credentials include_email parameter
Allow Cursor to be used with API.list_direct_messages by adding DMCursorIterator


Version 3.8.0

New Features / Improvements

Allow streams to use daemon threads
Remove API.set_delivery_device
Remove simplejson import and usage
Allow cursor parameter for API.blocks_ids and API.mutes_ids
Drop support for Python 3.4
Allow perform_block parameter for API.report_spam
Add API.mutes
Allow count parameter for API.friends
Remove since, from, to, and source as allowed parameters for API.search
Handle location deletion and withheld content notices for streams
Allow usage of equality and difference operators with User objects
Add _json attribute to Category, Friendship, and List models
Remove API.suggested_categories, API.suggested_users, and API.suggested_users_tweets
Update and improve tests and cassettes
Update DirectMessage model
Replace API.direct_messages and API.sent_direct_messages with API.list_direct_messages
Update API.get_direct_message, API.send_direct_message, and API.destroy_direct_message
Update and improve various documentation

Bug Fixes

Exclude examples during installation
Properly initialize OAuthHandler.request_token
Properly handle map_ parameter for API.statuses_lookup
Support cursor pagination for API.blocks_ids and API.mutes_ids
Return values for API.update_profile_background_image and API.update_profile_banner
Replace usage of root logger
Close Requests sessions


Version 3.7.0

New Features / Improvements

Allow trim_user and exclude_replies as parameters for API.user_timeline
Allow tweet_mode parameter for API.statuses_lookup
Drop support for Python 2.6 and 3.3
Discord Server
Add proxy support for streams
Add API.create_mute, API.destroy_mute, and API.mutes_ids
Allow tweet_mode parameter for API.lookup_users

Bug Fixes

Fix AttributeError during streaming
Update how requirements are specified
Fix compatibility issue with Python 3.7


Version 3.6.0

New Features / Improvements

Parse Status.quoted_status as a Status object
Allow in_reply_to_status_id_str as a parameter for API.update_status and API.update_with_media
Add stall_warnings parameter to Stream.sample
Add API.unretweet
Allow auto_populate_reply_metadata as a parameter for API.update_status and API.update_with_media
Allow profile_link_color as a parameter for API.update_profile
Add support for Python 3.6

Bug Fixes

Update file size limit for API.media_upload
Fix JSONParser.parse returning None in certain cases
Include URL parameters when accessing cache
Properly re-raise exceptions during streaming
Fix AttributeError and TypeError during streaming
Properly encode filter_level for Stream.filter

diffstat:

 net/py-tweepy/Makefile                          |  14 +-
 net/py-tweepy/PLIST                             |  12 +--
 net/py-tweepy/distinfo                          |  12 +-
 net/py-tweepy/patches/patch-setup.py            |  32 --------
 net/py-tweepy/patches/patch-tweepy_streaming.py |  92 -------------------------
 5 files changed, 14 insertions(+), 148 deletions(-)

diffs (205 lines):

diff -r 277a78a7459a -r a3e7036346fc net/py-tweepy/Makefile
--- a/net/py-tweepy/Makefile    Sun Mar 07 17:16:51 2021 +0000
+++ b/net/py-tweepy/Makefile    Sun Mar 07 17:20:00 2021 +0000
@@ -1,8 +1,7 @@
-# $NetBSD: Makefile,v 1.8 2020/02/24 00:02:59 joerg Exp $
+# $NetBSD: Makefile,v 1.9 2021/03/07 17:20:00 adam Exp $
 
-DISTNAME=      tweepy-3.5.0
+DISTNAME=      tweepy-3.10.0
 PKGNAME=       ${PYPKGPREFIX}-${DISTNAME}
-PKGREVISION=   1
 CATEGORIES=    net python
 MASTER_SITES=  ${MASTER_SITE_PYPI:=t/tweepy/}
 
@@ -11,12 +10,13 @@
 COMMENT=       Basic Python API for Twitter
 LICENSE=       mit
 
-DEPENDS+=      ${PYPKGPREFIX}-requests>=2.4.3:../../devel/py-requests
-DEPENDS+=      ${PYPKGPREFIX}-requests-oauthlib>=0.4.1:../../security/py-requests-oauthlib
-DEPENDS+=      ${PYPKGPREFIX}-six>=1.7.3:../../lang/py-six
-BUILD_DEPENDS+=        ${PYPKGPREFIX}-pip-[0-9]*:../../devel/py-pip
+DEPENDS+=      ${PYPKGPREFIX}-requests>=2.11.1:../../devel/py-requests
+DEPENDS+=      ${PYPKGPREFIX}-requests-oauthlib>=0.7.0:../../security/py-requests-oauthlib
+DEPENDS+=      ${PYPKGPREFIX}-six>=1.10.0:../../lang/py-six
 
 USE_LANGUAGES= # none
 
+PYTHON_VERSIONS_INCOMPATIBLE=  27 # py-JWT
+
 .include "../../lang/python/egg.mk"
 .include "../../mk/bsd.pkg.mk"
diff -r 277a78a7459a -r a3e7036346fc net/py-tweepy/PLIST
--- a/net/py-tweepy/PLIST       Sun Mar 07 17:16:51 2021 +0000
+++ b/net/py-tweepy/PLIST       Sun Mar 07 17:20:00 2021 +0000
@@ -1,18 +1,10 @@
-@comment $NetBSD: PLIST,v 1.3 2020/02/24 00:02:59 joerg Exp $
+@comment $NetBSD: PLIST,v 1.4 2021/03/07 17:20:00 adam Exp $
 ${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
 ${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
 ${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
+${PYSITELIB}/${EGG_INFODIR}/requires.txt
 ${PYSITELIB}/${EGG_INFODIR}/top_level.txt
 ${PYSITELIB}/${EGG_INFODIR}/zip-safe
-${PYSITELIB}/examples/__init__.py
-${PYSITELIB}/examples/__init__.pyc
-${PYSITELIB}/examples/__init__.pyo
-${PYSITELIB}/examples/oauth.py
-${PYSITELIB}/examples/oauth.pyc
-${PYSITELIB}/examples/oauth.pyo
-${PYSITELIB}/examples/streaming.py
-${PYSITELIB}/examples/streaming.pyc
-${PYSITELIB}/examples/streaming.pyo
 ${PYSITELIB}/tweepy/__init__.py
 ${PYSITELIB}/tweepy/__init__.pyc
 ${PYSITELIB}/tweepy/__init__.pyo
diff -r 277a78a7459a -r a3e7036346fc net/py-tweepy/distinfo
--- a/net/py-tweepy/distinfo    Sun Mar 07 17:16:51 2021 +0000
+++ b/net/py-tweepy/distinfo    Sun Mar 07 17:20:00 2021 +0000
@@ -1,8 +1,6 @@
-$NetBSD: distinfo,v 1.4 2020/02/24 00:02:59 joerg Exp $
+$NetBSD: distinfo,v 1.5 2021/03/07 17:20:00 adam Exp $
 
-SHA1 (tweepy-3.5.0.tar.gz) = 572ab73540ac6aadd19c125dfaa3208c661ca65d
-RMD160 (tweepy-3.5.0.tar.gz) = 96db56b0233e8ec01b57e2d28b1176b6f42c328c
-SHA512 (tweepy-3.5.0.tar.gz) = cf87f0b7dea0ca444c17a3fdb9c2ebef814683c110511876c1997630b3202393276d3dd2de3b37fc21eb7a15382d22cc886109bda5a11b3d06a08081704c8c2a
-Size (tweepy-3.5.0.tar.gz) = 24348 bytes
-SHA1 (patch-setup.py) = 45429ecb0f37893df924aca353cd85add2fdd0dd
-SHA1 (patch-tweepy_streaming.py) = 456652db7f555a8c0bb57e3cc168b039f6e637a3
+SHA1 (tweepy-3.10.0.tar.gz) = ef525295bc526a483174c2c291ab703b29cad979
+RMD160 (tweepy-3.10.0.tar.gz) = c4d33d313d3aa2fb5498f9c48ac085f9ee42bd52
+SHA512 (tweepy-3.10.0.tar.gz) = bee4e5438935b497ab7b726246865ab5c0cf86c06ea5e59b31eca71d9a01eb4465e3ca7b4e43f34218ab2bef6a4dbb1815da4f3967ed401359cdffd4e1ecfdd4
+Size (tweepy-3.10.0.tar.gz) = 27706 bytes
diff -r 277a78a7459a -r a3e7036346fc net/py-tweepy/patches/patch-setup.py
--- a/net/py-tweepy/patches/patch-setup.py      Sun Mar 07 17:16:51 2021 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-$NetBSD: patch-setup.py,v 1.1 2020/02/24 00:02:59 joerg Exp $
-
-Don't use obsolete parse_requirements.
-
---- setup.py.orig      2020-02-22 21:25:23.469977185 +0000
-+++ setup.py
-@@ -2,7 +2,6 @@
- #from distutils.core import setup
- import re, uuid
- from setuptools import setup, find_packages
--from pip.req import parse_requirements
- 
- VERSIONFILE = "tweepy/__init__.py"
- ver_file = open(VERSIONFILE, "rt").read()
-@@ -14,9 +13,6 @@ if mo:
- else:
-     raise RuntimeError("Unable to find version string in %s." % (VERSIONFILE,))
- 
--install_reqs = parse_requirements('requirements.txt', session=uuid.uuid1())
--reqs = [str(req.req) for req in install_reqs]
--
- setup(name="tweepy",
-       version=version,
-       description="Twitter library for python",
-@@ -25,7 +21,6 @@ setup(name="tweepy",
-       author_email="tweepy%googlegroups.com@localhost",
-       url="http://github.com/tweepy/tweepy";,
-       packages=find_packages(exclude=['tests']),
--      install_requires=reqs,
-       keywords="twitter library",
-       classifiers=[
-           'Development Status :: 4 - Beta',
diff -r 277a78a7459a -r a3e7036346fc net/py-tweepy/patches/patch-tweepy_streaming.py
--- a/net/py-tweepy/patches/patch-tweepy_streaming.py   Sun Mar 07 17:16:51 2021 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-$NetBSD: patch-tweepy_streaming.py,v 1.1 2020/02/24 00:02:59 joerg Exp $
-
-async is a keyword with Python 3.7+.
-
---- tweepy/streaming.py.orig   2020-02-22 21:32:10.478599720 +0000
-+++ tweepy/streaming.py
-@@ -352,9 +352,9 @@ class Stream(object):
-         if resp.raw.closed:
-             self.on_closed(resp)
- 
--    def _start(self, async):
-+    def _start(self, do_async):
-         self.running = True
--        if async:
-+        if do_async:
-             self._thread = Thread(target=self._run)
-             self._thread.start()
-         else:
-@@ -370,7 +370,7 @@ class Stream(object):
-                    replies=None,
-                    track=None,
-                    locations=None,
--                   async=False,
-+                   do_async=False,
-                    encoding='utf8'):
-         self.session.params = {'delimited': 'length'}
-         if self.running:
-@@ -391,34 +391,34 @@ class Stream(object):
-         if track:
-             self.session.params['track'] = u','.join(track).encode(encoding)
- 
--        self._start(async)
-+        self._start(do_async)
- 
--    def firehose(self, count=None, async=False):
-+    def firehose(self, count=None, do_async=False):
-         self.session.params = {'delimited': 'length'}
-         if self.running:
-             raise TweepError('Stream object already connected!')
-         self.url = '/%s/statuses/firehose.json' % STREAM_VERSION
-         if count:
-             self.url += '&count=%s' % count
--        self._start(async)
-+        self._start(do_async)
- 
--    def retweet(self, async=False):
-+    def retweet(self, do_async=False):
-         self.session.params = {'delimited': 'length'}
-         if self.running:
-             raise TweepError('Stream object already connected!')
-         self.url = '/%s/statuses/retweet.json' % STREAM_VERSION
--        self._start(async)
-+        self._start(do_async)
- 
--    def sample(self, async=False, languages=None):
-+    def sample(self, do_async=False, languages=None):
-         self.session.params = {'delimited': 'length'}
-         if self.running:
-             raise TweepError('Stream object already connected!')
-         self.url = '/%s/statuses/sample.json' % STREAM_VERSION
-         if languages:
-             self.session.params['language'] = ','.join(map(str, languages))
--        self._start(async)
-+        self._start(do_async)
- 
--    def filter(self, follow=None, track=None, async=False, locations=None,
-+    def filter(self, follow=None, track=None, do_async=False, locations=None,
-                stall_warnings=False, languages=None, encoding='utf8', filter_level=None):
-         self.body = {}
-         self.session.headers['Content-type'] = "application/x-www-form-urlencoded"
-@@ -442,10 +442,10 @@ class Stream(object):
-             self.body['filter_level'] = unicode(filter_level, encoding)
-         self.session.params = {'delimited': 'length'}
-         self.host = 'stream.twitter.com'
--        self._start(async)
-+        self._start(do_async)
- 
-     def sitestream(self, follow, stall_warnings=False,
--                   with_='user', replies=False, async=False):
-+                   with_='user', replies=False, do_async=False):
-         self.body = {}
-         if self.running:
-             raise TweepError('Stream object already connected!')
-@@ -458,7 +458,7 @@ class Stream(object):
-             self.body['with'] = with_
-         if replies:
-             self.body['replies'] = replies
--        self._start(async)
-+        self._start(do_async)
- 
-     def disconnect(self):
-         if self.running is False:



Home | Main Index | Thread Index | Old Index