Hello community, here is the log from the commit of package python-boto3 for openSUSE:Factory checked in at 2017-05-18 20:48:30 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-boto3 (Old) and /work/SRC/openSUSE:Factory/.python-boto3.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-boto3" Thu May 18 20:48:30 2017 rev:6 rq:495651 version:1.4.4 Changes: -------- --- /work/SRC/openSUSE:Factory/python-boto3/python-boto3.changes 2017-01-25 23:26:09.633219505 +0100 +++ /work/SRC/openSUSE:Factory/.python-boto3.new/python-boto3.changes 2017-05-18 20:48:38.764500657 +0200 @@ -1,0 +2,9 @@ +Thu May 11 01:10:44 UTC 2017 - toddrme2...@gmail.com + +- Implement single-spec version +- Update source URL. +- Update to version 1.4.3 + * feature:``s3``: Add ability to disable thread use with ``use_threads`` option + * bugfix:Resource: Fix resource hashing. + +------------------------------------------------------------------- Old: ---- boto3-1.4.2.tar.gz New: ---- boto3-1.4.4.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-boto3.spec ++++++ --- /var/tmp/diff_new_pack.QlgVkM/_old 2017-05-18 20:48:39.208438006 +0200 +++ /var/tmp/diff_new_pack.QlgVkM/_new 2017-05-18 20:48:39.212437441 +0200 @@ -16,31 +16,30 @@ # +%{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-boto3 -Version: 1.4.2 +Version: 1.4.4 Release: 0 Url: https://github.com/boto/boto3 Summary: Amazon Web Services Library License: Apache-2.0 Group: Development/Languages/Python -Source: https://pypi.io/packages/source/b/boto3/boto3-%{version}.tar.gz +Source: https://files.pythonhosted.org/packages/source/b/boto3/boto3-%{version}.tar.gz BuildRequires: fdupes -BuildRequires: python-devel -BuildRequires: python-futures -BuildRequires: python-setuptools -Requires: python-botocore < 1.5.0 -Requires: python-botocore >= 1.4.67 +BuildRequires: python-rpm-macros +BuildRequires: %{python_module devel} +BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module futures} +Requires: python-botocore < 1.6.0 +Requires: python-botocore >= 1.5.0 Requires: python-futures Requires: python-jmespath < 1.0.0 Requires: python-jmespath >= 0.7.1 Requires: python-s3transfer < 0.2.0 -Requires: python-s3transfer >= 0.1.0 +Requires: python-s3transfer >= 0.1.10 BuildRoot: %{_tmppath}/%{name}-%{version}-build -%if 0%{?suse_version} && 0%{?suse_version} <= 1110 -%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} -%else BuildArch: noarch -%endif +%python_subpackages %description Boto3 is the Amazon Web Services (AWS) Software Development Kit (SDK) for @@ -58,13 +57,13 @@ %setup -q -n boto3-%{version} %build -python setup.py build +%python_build %install -python setup.py install --prefix=%{_prefix} --root=%{buildroot} -%fdupes %{buildroot}%{_prefix} +%python_install +%python_expand %fdupes %{buildroot}%{$python_sitelib} -%files +%files %{python_files} %defattr(-,root,root,-) %doc CONTRIBUTING.rst LICENSE README.rst %{python_sitelib}/* ++++++ boto3-1.4.2.tar.gz -> boto3-1.4.4.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.4.2/LICENSE new/boto3-1.4.4/LICENSE --- old/boto3-1.4.2/LICENSE 2016-12-01 22:32:13.000000000 +0100 +++ new/boto3-1.4.4/LICENSE 2017-01-16 23:44:08.000000000 +0100 @@ -1,4 +1,4 @@ -Copyright 2013-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. +Copyright 2013-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with the License. A copy of diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.4.2/PKG-INFO new/boto3-1.4.4/PKG-INFO --- old/boto3-1.4.2/PKG-INFO 2016-12-01 22:32:14.000000000 +0100 +++ new/boto3-1.4.4/PKG-INFO 2017-01-16 23:44:08.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: boto3 -Version: 1.4.2 +Version: 1.4.4 Summary: The AWS SDK for Python Home-page: https://github.com/boto/boto3 Author: Amazon Web Services @@ -133,3 +133,4 @@ Classifier: Programming Language :: Python :: 3.3 Classifier: Programming Language :: Python :: 3.4 Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.4.2/boto3/__init__.py new/boto3-1.4.4/boto3/__init__.py --- old/boto3-1.4.2/boto3/__init__.py 2016-12-01 22:32:14.000000000 +0100 +++ new/boto3-1.4.4/boto3/__init__.py 2017-01-16 23:44:08.000000000 +0100 @@ -17,7 +17,7 @@ __author__ = 'Amazon Web Services' -__version__ = '1.4.2' +__version__ = '1.4.4' # The default Boto3 session; autoloaded when needed. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.4.2/boto3/resources/base.py new/boto3-1.4.4/boto3/resources/base.py --- old/boto3-1.4.2/boto3/resources/base.py 2016-12-01 22:32:13.000000000 +0100 +++ new/boto3-1.4.4/boto3/resources/base.py 2017-01-16 23:44:08.000000000 +0100 @@ -140,3 +140,9 @@ return False return True + + def __hash__(self): + identifiers = [] + for identifier in self.meta.identifiers: + identifiers.append(getattr(self, identifier)) + return hash((self.__class__.__name__, tuple(identifiers))) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.4.2/boto3/s3/inject.py new/boto3-1.4.4/boto3/s3/inject.py --- old/boto3-1.4.2/boto3/s3/inject.py 2016-12-01 22:32:13.000000000 +0100 +++ new/boto3-1.4.4/boto3/s3/inject.py 2017-01-16 23:44:08.000000000 +0100 @@ -10,10 +10,11 @@ # 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. -from s3transfer.manager import TransferManager, TransferConfig from botocore.exceptions import ClientError -from boto3.s3.transfer import S3Transfer, ProgressCallbackInvoker +from boto3.s3.transfer import create_transfer_manager +from boto3.s3.transfer import TransferConfig, S3Transfer +from boto3.s3.transfer import ProgressCallbackInvoker from boto3 import utils @@ -258,7 +259,7 @@ if config is None: config = TransferConfig() - with TransferManager(self, config) as manager: + with create_transfer_manager(self, config) as manager: future = manager.copy( copy_source=CopySource, bucket=Bucket, key=Key, extra_args=ExtraArgs, subscribers=subscribers, @@ -419,7 +420,7 @@ if config is None: config = TransferConfig() - with TransferManager(self, config) as manager: + with create_transfer_manager(self, config) as manager: future = manager.upload( fileobj=Fileobj, bucket=Bucket, key=Key, extra_args=ExtraArgs, subscribers=subscribers) @@ -558,7 +559,7 @@ if config is None: config = TransferConfig() - with TransferManager(self, config) as manager: + with create_transfer_manager(self, config) as manager: future = manager.download( bucket=Bucket, key=Key, fileobj=Fileobj, extra_args=ExtraArgs, subscribers=subscribers) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.4.2/boto3/s3/transfer.py new/boto3-1.4.4/boto3/s3/transfer.py --- old/boto3-1.4.2/boto3/s3/transfer.py 2016-12-01 22:32:13.000000000 +0100 +++ new/boto3-1.4.4/boto3/s3/transfer.py 2017-01-16 23:44:08.000000000 +0100 @@ -128,6 +128,7 @@ S3TransferRetriesExceededError from s3transfer.manager import TransferConfig as S3TransferConfig from s3transfer.manager import TransferManager +from s3transfer.futures import NonThreadedExecutor from s3transfer.subscribers import BaseSubscriber from s3transfer.utils import OSUtils @@ -138,6 +139,27 @@ MB = KB * KB +def create_transfer_manager(client, config, osutil=None): + """Creates a transfer manager based on configuration + + :type client: boto3.client + :param client: The S3 client to use + + :type config: boto3.s3.transfer.TransferConfig + :param config: The transfer config to use + + :type osutil: s3transfer.utils.OSUtils + :param osutil: The os utility to use + + :rtype: s3transfer.manager.TransferManager + :returns: A transfer manager based on parameters provided + """ + executor_cls = None + if not config.use_threads: + executor_cls = NonThreadedExecutor + return TransferManager(client, config, osutil, executor_cls) + + class TransferConfig(S3TransferConfig): ALIAS = { 'max_concurrency': 'max_request_concurrency', @@ -150,7 +172,8 @@ multipart_chunksize=8 * MB, num_download_attempts=5, max_io_queue=100, - io_chunksize=256 * KB): + io_chunksize=256 * KB, + use_threads=True): """Configuration object for managed S3 transfers :param multipart_threshold: The transfer size threshold for which @@ -158,7 +181,9 @@ triggered. :param max_concurrency: The maximum number of threads that will be - making requests to perform a transfer. + making requests to perform a transfer. If ``use_threads`` is + set to ``False``, the value provided is ignored as the transfer + will only ever use the main thread. :param multipart_chunksize: The partition size of each part for a multipart transfer. @@ -180,6 +205,10 @@ :param io_chunksize: The max size of each chunk in the io queue. Currently, this is size used when ``read`` is called on the downloaded stream as well. + + :param use_threads: If True, threads will be used when performing + S3 transfers. If False, no threads will be used in + performing transfers: all logic will be ran in the main thread. """ super(TransferConfig, self).__init__( multipart_threshold=multipart_threshold, @@ -194,6 +223,7 @@ # old version of the names. for alias in self.ALIAS: setattr(self, alias, getattr(self, self.ALIAS[alias])) + self.use_threads = use_threads def __setattr__(self, name, value): # If the alias name is used, make sure we set the name that it points @@ -226,7 +256,7 @@ if manager: self._manager = manager else: - self._manager = TransferManager(client, config, osutil) + self._manager = create_transfer_manager(client, config, osutil) def upload_file(self, filename, bucket, key, callback=None, extra_args=None): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.4.2/boto3.egg-info/PKG-INFO new/boto3-1.4.4/boto3.egg-info/PKG-INFO --- old/boto3-1.4.2/boto3.egg-info/PKG-INFO 2016-12-01 22:32:14.000000000 +0100 +++ new/boto3-1.4.4/boto3.egg-info/PKG-INFO 2017-01-16 23:44:08.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: boto3 -Version: 1.4.2 +Version: 1.4.4 Summary: The AWS SDK for Python Home-page: https://github.com/boto/boto3 Author: Amazon Web Services @@ -133,3 +133,4 @@ Classifier: Programming Language :: Python :: 3.3 Classifier: Programming Language :: Python :: 3.4 Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.4.2/boto3.egg-info/requires.txt new/boto3-1.4.4/boto3.egg-info/requires.txt --- old/boto3-1.4.2/boto3.egg-info/requires.txt 2016-12-01 22:32:14.000000000 +0100 +++ new/boto3-1.4.4/boto3.egg-info/requires.txt 2017-01-16 23:44:08.000000000 +0100 @@ -1,3 +1,3 @@ -botocore>=1.4.1,<1.5.0 +botocore>=1.5.0,<1.6.0 jmespath>=0.7.1,<1.0.0 -s3transfer>=0.1.0,<0.2.0 \ No newline at end of file +s3transfer>=0.1.10,<0.2.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.4.2/requirements.txt new/boto3-1.4.4/requirements.txt --- old/boto3-1.4.2/requirements.txt 2016-12-01 22:32:13.000000000 +0100 +++ new/boto3-1.4.4/requirements.txt 2017-01-16 23:44:08.000000000 +0100 @@ -4,3 +4,4 @@ nose==1.3.3 mock==1.3.0 wheel==0.24.0 +unittest2==0.5.1; python_version == '2.6' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.4.2/setup.cfg new/boto3-1.4.4/setup.cfg --- old/boto3-1.4.2/setup.cfg 2016-12-01 22:32:14.000000000 +0100 +++ new/boto3-1.4.4/setup.cfg 2017-01-16 23:44:08.000000000 +0100 @@ -3,12 +3,11 @@ [metadata] requires-dist = - botocore>=1.4.1,<1.5.0 + botocore>=1.5.0,<1.6.0 jmespath>=0.7.1,<1.0.0 - s3transfer>=0.1.0,<0.2.0 + s3transfer>=0.1.10,<0.2.0 [egg_info] tag_build = tag_date = 0 -tag_svn_revision = 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boto3-1.4.2/setup.py new/boto3-1.4.4/setup.py --- old/boto3-1.4.2/setup.py 2016-12-01 22:32:13.000000000 +0100 +++ new/boto3-1.4.4/setup.py 2017-01-16 23:44:08.000000000 +0100 @@ -5,7 +5,6 @@ """ import os import re -import sys from setuptools import setup, find_packages @@ -15,9 +14,9 @@ requires = [ - 'botocore>=1.4.1,<1.5.0', + 'botocore>=1.5.0,<1.6.0', 'jmespath>=0.7.1,<1.0.0', - 's3transfer>=0.1.0,<0.2.0' + 's3transfer>=0.1.10,<0.2.0' ] @@ -56,5 +55,6 @@ 'Programming Language :: Python :: 3.3', 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', + 'Programming Language :: Python :: 3.6', ], )