Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-zope.deferredimport for
openSUSE:Factory checked in at 2022-09-20 19:23:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-zope.deferredimport (Old)
and /work/SRC/openSUSE:Factory/.python-zope.deferredimport.new.2083 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-zope.deferredimport"
Tue Sep 20 19:23:09 2022 rev:3 rq:1004590 version:4.4
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-zope.deferredimport/python-zope.deferredimport.changes
2019-08-13 13:27:17.469323227 +0200
+++
/work/SRC/openSUSE:Factory/.python-zope.deferredimport.new.2083/python-zope.deferredimport.changes
2022-09-20 19:23:11.622406934 +0200
@@ -1,0 +2,7 @@
+Fri Sep 16 19:50:42 UTC 2022 - Yogalakshmi Arunachalam <[email protected]>
+
+- Update to 4.4:
+ * Add support for Python 3.8, 3.9 and 3.10.
+ * Drop support for Python 3.4.
+
+-------------------------------------------------------------------
Old:
----
zope.deferredimport-4.3.1.tar.gz
New:
----
zope.deferredimport-4.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-zope.deferredimport.spec ++++++
--- /var/tmp/diff_new_pack.FiXv21/_old 2022-09-20 19:23:12.086408265 +0200
+++ /var/tmp/diff_new_pack.FiXv21/_new 2022-09-20 19:23:12.094408288 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-zope.deferredimport
#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,12 +18,12 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-zope.deferredimport
-Version: 4.3.1
+Version: 4.4
Release: 0
Summary: On-demand import name resolver
License: ZPL-2.1
Group: Development/Languages/Python
-Url: http://github.com/zopefoundation/zope.deferredimport
+URL: http://github.com/zopefoundation/zope.deferredimport
Source:
https://files.pythonhosted.org/packages/source/z/zope.deferredimport/zope.deferredimport-%{version}.tar.gz
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module zope.proxy}
++++++ zope.deferredimport-4.3.1.tar.gz -> zope.deferredimport-4.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.deferredimport-4.3.1/.coveragerc
new/zope.deferredimport-4.4/.coveragerc
--- old/zope.deferredimport-4.3.1/.coveragerc 2019-08-05 08:11:50.000000000
+0200
+++ new/zope.deferredimport-4.4/.coveragerc 1970-01-01 01:00:00.000000000
+0100
@@ -1,13 +0,0 @@
-[run]
-source = zope.deferredimport
-omit =
- src/zope/deferredimport/samples/sample*.py
-
-[report]
-precision = 2
-exclude_lines =
- pragma: no cover
- if __name__ == '__main__':
- raise NotImplementedError
- self.fail
- raise AssertionError
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.deferredimport-4.3.1/.gitignore
new/zope.deferredimport-4.4/.gitignore
--- old/zope.deferredimport-4.3.1/.gitignore 2019-08-05 08:11:50.000000000
+0200
+++ new/zope.deferredimport-4.4/.gitignore 1970-01-01 01:00:00.000000000
+0100
@@ -1,16 +0,0 @@
-*.pyc
-*.so
-*.dll
-__pycache__
-src/*.egg-info
-
-.installed.cfg
-.tox
-bin
-build
-develop-eggs
-parts
-docs/_build/
-.coverage
-coverage.xml
-htmlcov/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.deferredimport-4.3.1/.travis.yml
new/zope.deferredimport-4.4/.travis.yml
--- old/zope.deferredimport-4.3.1/.travis.yml 2019-08-05 08:11:50.000000000
+0200
+++ new/zope.deferredimport-4.4/.travis.yml 1970-01-01 01:00:00.000000000
+0100
@@ -1,26 +0,0 @@
-language: python
-sudo: false
-python:
- - 2.7
- - 3.4
- - 3.5
- - 3.6
- - pypy
- - pypy3
-matrix:
- include:
- - python: "3.7"
- dist: xenial
- sudo: true
-install:
- - pip install -U pip setuptools
- - pip install -U coverage coveralls
- - pip install -U -e .[test,docs]
-script:
- - coverage run -m zope.testrunner --test-path=src
- - coverage run -a -m sphinx -b doctest -d docs/_build/doctrees docs
docs/_build/doctest
-after_success:
- - coveralls
-notifications:
- email: false
-cache: pip
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.deferredimport-4.3.1/CHANGES.rst
new/zope.deferredimport-4.4/CHANGES.rst
--- old/zope.deferredimport-4.3.1/CHANGES.rst 2019-08-05 08:11:50.000000000
+0200
+++ new/zope.deferredimport-4.4/CHANGES.rst 2021-12-10 09:16:04.000000000
+0100
@@ -2,6 +2,14 @@
Changes
=========
+4.4 (2021-12-10)
+================
+
+- Add support for Python 3.8, 3.9 and 3.10.
+
+- Drop support for Python 3.4.
+
+
4.3.1 (2019-08-05)
==================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.deferredimport-4.3.1/MANIFEST.in
new/zope.deferredimport-4.4/MANIFEST.in
--- old/zope.deferredimport-4.3.1/MANIFEST.in 2019-08-05 08:11:50.000000000
+0200
+++ new/zope.deferredimport-4.4/MANIFEST.in 2021-12-10 09:16:04.000000000
+0100
@@ -1,16 +1,14 @@
+# Generated from:
+# https://github.com/zopefoundation/meta/tree/master/config/pure-python
include *.rst
include *.txt
-include *.py
include buildout.cfg
include tox.ini
-include .travis.yml
-include .coveragerc
-recursive-include src *
-
-global-exclude *.pyc
-
-recursive-include docs *.bat
recursive-include docs *.py
recursive-include docs *.rst
+recursive-include docs *.txt
recursive-include docs Makefile
+
+recursive-include src *.py
+recursive-include docs *.bat
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.deferredimport-4.3.1/PKG-INFO
new/zope.deferredimport-4.4/PKG-INFO
--- old/zope.deferredimport-4.3.1/PKG-INFO 2019-08-05 08:11:51.000000000
+0200
+++ new/zope.deferredimport-4.4/PKG-INFO 2021-12-10 09:16:06.752614000
+0100
@@ -1,138 +1,13 @@
Metadata-Version: 2.1
Name: zope.deferredimport
-Version: 4.3.1
+Version: 4.4
Summary: zope.deferredimport allows you to perform imports names that will
only be resolved when used in the code.
Home-page: http://github.com/zopefoundation/zope.deferredimport
Author: Zope Foundation and Contributors
Author-email: [email protected]
License: ZPL 2.1
-Description: =========================
- ``zope.deferredimport``
- =========================
-
- .. image:: https://img.shields.io/pypi/v/zope.deferredimport.svg
- :target: https://pypi.python.org/pypi/zope.deferredimport/
- :alt: Latest release
-
- .. image::
https://img.shields.io/pypi/pyversions/zope.deferredimport.svg
- :target: https://pypi.org/project/zope.deferredimport/
- :alt: Supported Python versions
-
- .. image::
https://travis-ci.org/zopefoundation/zope.deferredimport.svg?branch=master
- :target:
https://travis-ci.org/zopefoundation/zope.deferredimport
-
- .. image::
https://coveralls.io/repos/github/zopefoundation/zope.deferredimport/badge.svg?branch=master
- :target:
https://coveralls.io/github/zopefoundation/zope.deferredimport?branch=master
-
- .. image::
https://readthedocs.org/projects/zopedeferredimport/badge/?version=latest
- :target: http://zopedeferredimport.readthedocs.io/en/latest/
- :alt: Documentation Status
-
- Often, especially for package modules, you want to import names for
- convenience, but not actually perform the imports until necessary.
- The zope.deferredimport package provided facilities for defining names
- in modules that will be imported from somewhere else when used. You
- can also cause deprecation warnings to be issued when a variable is
- used.
-
- Documentation is hosted at https://zopedeferredimport.readthedocs.io/
-
-
- =========
- Changes
- =========
-
- 4.3.1 (2019-08-05)
- ==================
-
- - Avoid race condition in ``deferredmodule.ModuleProxy.__getattr__``
- `#8
<https://github.com/zopefoundation/zope.deferredimport/issues/8>`_.
-
-
- 4.3 (2018-10-05)
- ================
-
- - Add support for Python 3.7.
-
-
- 4.2.1 (2017-10-24)
- ==================
-
- - Preserve the docstrings of proxied modules created with
- ``deprecatedFrom``, ``deferredFrom``, etc. See `issue 5
- <https://github.com/zopefoundation/zope.deferredimport/issues/5>`_.
-
-
- 4.2.0 (2017-08-08)
- ==================
-
- - Add support for Python 3.5 and 3.6.
-
- - Drop support for Python 2.6 and 3.3.
-
- - Convert doctests to Sphinx documentation, including building docs
- and running doctest snippets under ``tox``.
-
-
- 4.1.0 (2014-12-26)
- ==================
-
- - Add support for PyPy. PyPy3 support is blocked on release of fix
for:
- https://bitbucket.org/pypy/pypy/issue/1946
-
- - Add support for Python 3.4.
-
- - Add support for testing on Travis.
-
-
- 4.0.0 (2013-02-28)
- ==================
-
- - Add support for Python 3.3.
-
- - Drop support for Python 2.4 and 2.5.
-
-
- 3.5.3 (2010-09-25)
- ==================
-
- - Add test extra to declare test dependency on ``zope.testing``.
-
-
- 3.5.2 (2010-05-24)
- ==================
-
- - Fix unit tests broken under Python 2.4 by the switch to the standard
- library ``doctest`` module.
-
-
- 3.5.1 (2010-04-30)
- ==================
-
- - Prefer the standard library's ``doctest`` module to the one from
- ``zope.testing``.
-
-
- 3.5.0 (2009-02-04)
- ==================
-
- - Add support to bootstrap on Jython.
-
- - Add reference documentation.
-
-
- 3.4.0 (2007-07-19)
- ==================
-
- - Finish release of ``zope.deferredimport``.
-
-
- 3.4.0b1 (2007-07-09)
- ====================
-
- - Initial release as a separate project, corresponding to the
- ``zope.deferredimport`` from Zope 3.4.0b1.
-
+Project-URL: Issue Tracker,
https://github.com/zopefoundation/zope.deferredimport/issues
+Project-URL: Sources, https://github.com/zopefoundation/zope.deferredimport
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
@@ -141,15 +16,156 @@
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
+Classifier: Programming Language :: Python :: 3.9
+Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Software Development
-Provides-Extra: docs
+Requires-Python: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*
Provides-Extra: test
+Provides-Extra: docs
+License-File: LICENSE.txt
+
+=========================
+ ``zope.deferredimport``
+=========================
+
+.. image:: https://img.shields.io/pypi/v/zope.deferredimport.svg
+ :target: https://pypi.python.org/pypi/zope.deferredimport/
+ :alt: Latest release
+
+.. image:: https://img.shields.io/pypi/pyversions/zope.deferredimport.svg
+ :target: https://pypi.org/project/zope.deferredimport/
+ :alt: Supported Python versions
+
+.. image::
https://travis-ci.com/zopefoundation/zope.deferredimport.svg?branch=master
+ :target: https://travis-ci.com/zopefoundation/zope.deferredimport
+
+.. image::
https://coveralls.io/repos/github/zopefoundation/zope.deferredimport/badge.svg?branch=master
+ :target:
https://coveralls.io/github/zopefoundation/zope.deferredimport?branch=master
+
+.. image::
https://readthedocs.org/projects/zopedeferredimport/badge/?version=latest
+ :target: http://zopedeferredimport.readthedocs.io/en/latest/
+ :alt: Documentation Status
+
+Often, especially for package modules, you want to import names for
+convenience, but not actually perform the imports until necessary.
+The zope.deferredimport package provided facilities for defining names
+in modules that will be imported from somewhere else when used. You
+can also cause deprecation warnings to be issued when a variable is
+used.
+
+Documentation is hosted at https://zopedeferredimport.readthedocs.io/
+
+
+=========
+ Changes
+=========
+
+4.4 (2021-12-10)
+================
+
+- Add support for Python 3.8, 3.9 and 3.10.
+
+- Drop support for Python 3.4.
+
+
+4.3.1 (2019-08-05)
+==================
+
+- Avoid race condition in ``deferredmodule.ModuleProxy.__getattr__``
+ `#8 <https://github.com/zopefoundation/zope.deferredimport/issues/8>`_.
+
+
+4.3 (2018-10-05)
+================
+
+- Add support for Python 3.7.
+
+
+4.2.1 (2017-10-24)
+==================
+
+- Preserve the docstrings of proxied modules created with
+ ``deprecatedFrom``, ``deferredFrom``, etc. See `issue 5
+ <https://github.com/zopefoundation/zope.deferredimport/issues/5>`_.
+
+
+4.2.0 (2017-08-08)
+==================
+
+- Add support for Python 3.5 and 3.6.
+
+- Drop support for Python 2.6 and 3.3.
+
+- Convert doctests to Sphinx documentation, including building docs
+ and running doctest snippets under ``tox``.
+
+
+4.1.0 (2014-12-26)
+==================
+
+- Add support for PyPy. PyPy3 support is blocked on release of fix for:
+ https://bitbucket.org/pypy/pypy/issue/1946
+
+- Add support for Python 3.4.
+
+- Add support for testing on Travis.
+
+
+4.0.0 (2013-02-28)
+==================
+
+- Add support for Python 3.3.
+
+- Drop support for Python 2.4 and 2.5.
+
+
+3.5.3 (2010-09-25)
+==================
+
+- Add test extra to declare test dependency on ``zope.testing``.
+
+
+3.5.2 (2010-05-24)
+==================
+
+- Fix unit tests broken under Python 2.4 by the switch to the standard
+ library ``doctest`` module.
+
+
+3.5.1 (2010-04-30)
+==================
+
+- Prefer the standard library's ``doctest`` module to the one from
+ ``zope.testing``.
+
+
+3.5.0 (2009-02-04)
+==================
+
+- Add support to bootstrap on Jython.
+
+- Add reference documentation.
+
+
+3.4.0 (2007-07-19)
+==================
+
+- Finish release of ``zope.deferredimport``.
+
+
+3.4.0b1 (2007-07-09)
+====================
+
+- Initial release as a separate project, corresponding to the
+ ``zope.deferredimport`` from Zope 3.4.0b1.
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.deferredimport-4.3.1/README.rst
new/zope.deferredimport-4.4/README.rst
--- old/zope.deferredimport-4.3.1/README.rst 2019-08-05 08:11:50.000000000
+0200
+++ new/zope.deferredimport-4.4/README.rst 2021-12-10 09:16:04.000000000
+0100
@@ -10,8 +10,8 @@
:target: https://pypi.org/project/zope.deferredimport/
:alt: Supported Python versions
-.. image::
https://travis-ci.org/zopefoundation/zope.deferredimport.svg?branch=master
- :target: https://travis-ci.org/zopefoundation/zope.deferredimport
+.. image::
https://travis-ci.com/zopefoundation/zope.deferredimport.svg?branch=master
+ :target: https://travis-ci.com/zopefoundation/zope.deferredimport
.. image::
https://coveralls.io/repos/github/zopefoundation/zope.deferredimport/badge.svg?branch=master
:target:
https://coveralls.io/github/zopefoundation/zope.deferredimport?branch=master
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.deferredimport-4.3.1/bootstrap.py
new/zope.deferredimport-4.4/bootstrap.py
--- old/zope.deferredimport-4.3.1/bootstrap.py 2019-08-05 08:11:50.000000000
+0200
+++ new/zope.deferredimport-4.4/bootstrap.py 1970-01-01 01:00:00.000000000
+0100
@@ -1,210 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2006 Zope Foundation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-"""Bootstrap a buildout-based project
-
-Simply run this script in a directory containing a buildout.cfg.
-The script accepts buildout command-line options, so you can
-use the -c option to specify an alternate configuration file.
-"""
-
-import os
-import shutil
-import sys
-import tempfile
-
-from optparse import OptionParser
-
-__version__ = '2015-07-01'
-# See zc.buildout's changelog if this version is up to date.
-
-tmpeggs = tempfile.mkdtemp(prefix='bootstrap-')
-
-usage = '''\
-[DESIRED PYTHON FOR BUILDOUT] bootstrap.py [options]
-
-Bootstraps a buildout-based project.
-
-Simply run this script in a directory containing a buildout.cfg, using the
-Python that you want bin/buildout to use.
-
-Note that by using --find-links to point to local resources, you can keep
-this script from going over the network.
-'''
-
-parser = OptionParser(usage=usage)
-parser.add_option("--version",
- action="store_true", default=False,
- help=("Return bootstrap.py version."))
-parser.add_option("-t", "--accept-buildout-test-releases",
- dest='accept_buildout_test_releases',
- action="store_true", default=False,
- help=("Normally, if you do not specify a --version, the "
- "bootstrap script and buildout gets the newest "
- "*final* versions of zc.buildout and its recipes and "
- "extensions for you. If you use this flag, "
- "bootstrap and buildout will get the newest releases "
- "even if they are alphas or betas."))
-parser.add_option("-c", "--config-file",
- help=("Specify the path to the buildout configuration "
- "file to be used."))
-parser.add_option("-f", "--find-links",
- help=("Specify a URL to search for buildout releases"))
-parser.add_option("--allow-site-packages",
- action="store_true", default=False,
- help=("Let bootstrap.py use existing site packages"))
-parser.add_option("--buildout-version",
- help="Use a specific zc.buildout version")
-parser.add_option("--setuptools-version",
- help="Use a specific setuptools version")
-parser.add_option("--setuptools-to-dir",
- help=("Allow for re-use of existing directory of "
- "setuptools versions"))
-
-options, args = parser.parse_args()
-if options.version:
- print("bootstrap.py version %s" % __version__)
- sys.exit(0)
-
-
-######################################################################
-# load/install setuptools
-
-try:
- from urllib.request import urlopen
-except ImportError:
- from urllib2 import urlopen
-
-ez = {}
-if os.path.exists('ez_setup.py'):
- exec(open('ez_setup.py').read(), ez)
-else:
- exec(urlopen('https://bootstrap.pypa.io/ez_setup.py').read(), ez)
-
-if not options.allow_site_packages:
- # ez_setup imports site, which adds site packages
- # this will remove them from the path to ensure that incompatible versions
- # of setuptools are not in the path
- import site
- # inside a virtualenv, there is no 'getsitepackages'.
- # We can't remove these reliably
- if hasattr(site, 'getsitepackages'):
- for sitepackage_path in site.getsitepackages():
- # Strip all site-packages directories from sys.path that
- # are not sys.prefix; this is because on Windows
- # sys.prefix is a site-package directory.
- if sitepackage_path != sys.prefix:
- sys.path[:] = [x for x in sys.path
- if sitepackage_path not in x]
-
-setup_args = dict(to_dir=tmpeggs, download_delay=0)
-
-if options.setuptools_version is not None:
- setup_args['version'] = options.setuptools_version
-if options.setuptools_to_dir is not None:
- setup_args['to_dir'] = options.setuptools_to_dir
-
-ez['use_setuptools'](**setup_args)
-import setuptools
-import pkg_resources
-
-# This does not (always?) update the default working set. We will
-# do it.
-for path in sys.path:
- if path not in pkg_resources.working_set.entries:
- pkg_resources.working_set.add_entry(path)
-
-######################################################################
-# Install buildout
-
-ws = pkg_resources.working_set
-
-setuptools_path = ws.find(
- pkg_resources.Requirement.parse('setuptools')).location
-
-# Fix sys.path here as easy_install.pth added before PYTHONPATH
-cmd = [sys.executable, '-c',
- 'import sys; sys.path[0:0] = [%r]; ' % setuptools_path +
- 'from setuptools.command.easy_install import main; main()',
- '-mZqNxd', tmpeggs]
-
-find_links = os.environ.get(
- 'bootstrap-testing-find-links',
- options.find_links or
- ('http://downloads.buildout.org/'
- if options.accept_buildout_test_releases else None)
- )
-if find_links:
- cmd.extend(['-f', find_links])
-
-requirement = 'zc.buildout'
-version = options.buildout_version
-if version is None and not options.accept_buildout_test_releases:
- # Figure out the most recent final version of zc.buildout.
- import setuptools.package_index
- _final_parts = '*final-', '*final'
-
- def _final_version(parsed_version):
- try:
- return not parsed_version.is_prerelease
- except AttributeError:
- # Older setuptools
- for part in parsed_version:
- if (part[:1] == '*') and (part not in _final_parts):
- return False
- return True
-
- index = setuptools.package_index.PackageIndex(
- search_path=[setuptools_path])
- if find_links:
- index.add_find_links((find_links,))
- req = pkg_resources.Requirement.parse(requirement)
- if index.obtain(req) is not None:
- best = []
- bestv = None
- for dist in index[req.project_name]:
- distv = dist.parsed_version
- if _final_version(distv):
- if bestv is None or distv > bestv:
- best = [dist]
- bestv = distv
- elif distv == bestv:
- best.append(dist)
- if best:
- best.sort()
- version = best[-1].version
-if version:
- requirement = '=='.join((requirement, version))
-cmd.append(requirement)
-
-import subprocess
-if subprocess.call(cmd) != 0:
- raise Exception(
- "Failed to execute command:\n%s" % repr(cmd)[1:-1])
-
-######################################################################
-# Import and run buildout
-
-ws.add_entry(tmpeggs)
-ws.require(requirement)
-import zc.buildout.buildout
-
-if not [a for a in args if '=' not in a]:
- args.append('bootstrap')
-
-# if -c was provided, we push it back into args for buildout' main function
-if options.config_file is not None:
- args[0:0] = ['-c', options.config_file]
-
-zc.buildout.buildout.main(args)
-shutil.rmtree(tmpeggs)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.deferredimport-4.3.1/docs/narrative.rst
new/zope.deferredimport-4.4/docs/narrative.rst
--- old/zope.deferredimport-4.3.1/docs/narrative.rst 2019-08-05
08:11:50.000000000 +0200
+++ new/zope.deferredimport-4.4/docs/narrative.rst 2021-12-10
09:16:04.000000000 +0100
@@ -81,17 +81,17 @@
.. doctest::
>>> create_module(sample1 = '''
- ...
... print("Sampe 1 imported!")
...
... x = 1
...
+ ...
... class C:
... y = 2
...
+ ...
... z = 3
... q = 4
- ...
... ''')
Note that the module starts by printing a message. This allows us to
@@ -102,20 +102,20 @@
.. doctest::
>>> create_module(sample2 = '''
- ...
... import zope.deferredimport
...
... zope.deferredimport.define(
- ... sample1 = 'zope.deferredimport.sample1',
- ... one = 'zope.deferredimport.sample1:x',
- ... two = 'zope.deferredimport.sample1:C.y',
+ ... sample1='zope.deferredimport.sample1',
+ ... one='zope.deferredimport.sample1:x',
+ ... two='zope.deferredimport.sample1:C.y',
... )
...
... three = 3
... x = 4
+ ...
+ ...
... def getx():
... return x
- ...
... ''')
@@ -185,28 +185,28 @@
.. doctest::
- >>> create_module(sample3 = '''
- ...
- ... import zope.deferredimport
- ... import zope.deferredimport.sample4
- ...
- ... zope.deferredimport.define(
- ... sample1 = 'zope.deferredimport.sample1',
- ... one = 'zope.deferredimport.sample1:x',
- ... two = 'zope.deferredimport.sample1:C.y',
- ... )
- ...
- ... x = 1
- ...
- ... ''')
-
- >>> create_module(sample4 = '''
- ... import sample3
- ...
- ... def getone():
- ... return sample3.one
- ...
- ... ''')
+ # >>> create_module(sample3 = '''
+ # ...
+ # ... import zope.deferredimport
+ # ... import zope.deferredimport.sample4
+ # ...
+ # ... zope.deferredimport.define(
+ # ... sample1 = 'zope.deferredimport.sample1',
+ # ... one = 'zope.deferredimport.sample1:x',
+ # ... two = 'zope.deferredimport.sample1:C.y',
+ # ... )
+ # ...
+ # ... x = 1
+ # ...
+ # ... ''')
+
+ # >>> create_module(sample4 = '''
+ # ... import sample3
+ # ...
+ # ... def getone():
+ # ... return sample3.one
+ # ...
+ # ... ''')
Here, we have a circular import between sample3 and sample4. When
sample3 is imported, it imports sample 4, which then imports sample3.
@@ -216,6 +216,7 @@
.. code-block:: python
# XXX: Relative imports like this are not possible on Python 3 anymore.
+ # PY2
#
# >>> import zope.deferredimport.sample3
# >>> import zope.deferredimport.sample4
@@ -246,29 +247,26 @@
.. doctest::
>>> create_module(sample5 = '''
- ...
... import zope.deferredimport
... zope.deferredimport.initialize()
...
- ... import zope.deferredimport.sample6
+ ... import zope.deferredimport.sample6 # noqa: E402 import not at top
...
... zope.deferredimport.define(
- ... sample1 = 'zope.deferredimport.sample1',
- ... one = 'zope.deferredimport.sample1:x',
- ... two = 'zope.deferredimport.sample1:C.y',
+ ... sample1='zope.deferredimport.sample1',
+ ... one='zope.deferredimport.sample1:x',
+ ... two='zope.deferredimport.sample1:C.y',
... )
...
... x = 1
- ...
... ''')
>>> create_module(sample6 = '''
- ...
... import zope.deferredimport.sample5
...
+ ...
... def getone():
... return zope.deferredimport.sample5.one
- ...
... ''')
>>> import zope.deferredimport.sample5
@@ -290,17 +288,15 @@
.. doctest::
>>> create_module(sample7 = '''
- ...
... import zope.deferredimport
... zope.deferredimport.initialize()
...
... zope.deferredimport.deprecated(
... "Import from sample1 instead",
- ... x = 'zope.deferredimport.sample1:x',
- ... y = 'zope.deferredimport.sample1:C.y',
- ... z = 'zope.deferredimport.sample1:z',
+ ... x='zope.deferredimport.sample1:x',
+ ... y='zope.deferredimport.sample1:C.y',
+ ... z='zope.deferredimport.sample1:z',
... )
- ...
... ''')
Now, if we use one of these variables, we'll get a deprecation
@@ -332,25 +328,23 @@
.. doctest::
>>> create_module(sample8 = '''
- ...
... import zope.deferredimport
...
... zope.deferredimport.deprecatedFrom(
... "Import from sample1 instead",
... 'zope.deferredimport.sample1',
... 'x', 'z', 'q',
- ... )
+ ... )
...
... zope.deferredimport.defineFrom(
... 'zope.deferredimport.sample9',
... 'a', 'b', 'c',
- ... )
- ...
+ ... )
... ''')
>>> create_module(sample9 = '''
... print('Imported sample 9')
- ... a, b, c = range(10,13)
+ ... a, b, c = range(10, 13)
... ''')
>>> import zope.deferredimport.sample8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.deferredimport-4.3.1/setup.cfg
new/zope.deferredimport-4.4/setup.cfg
--- old/zope.deferredimport-4.3.1/setup.cfg 2019-08-05 08:11:51.000000000
+0200
+++ new/zope.deferredimport-4.4/setup.cfg 2021-12-10 09:16:06.754081000
+0100
@@ -1,6 +1,16 @@
[bdist_wheel]
universal = 1
+[flake8]
+doctests = 1
+
+[check-manifest]
+ignore =
+ .editorconfig
+ .meta.toml
+ docs/_build/html/_sources/*
+ docs/_build/doctest/*
+
[egg_info]
tag_build =
tag_date = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.deferredimport-4.3.1/setup.py
new/zope.deferredimport-4.4/setup.py
--- old/zope.deferredimport-4.3.1/setup.py 2019-08-05 08:11:50.000000000
+0200
+++ new/zope.deferredimport-4.4/setup.py 2021-12-10 09:16:04.000000000
+0100
@@ -26,6 +26,7 @@
with open(os.path.join(os.path.dirname(__file__), *rnames)) as f:
return f.read()
+
TESTS_REQUIRE = [
'zope.testrunner',
]
@@ -37,11 +38,17 @@
setup(
name='zope.deferredimport',
- version='4.3.1',
+ version='4.4',
url='http://github.com/zopefoundation/zope.deferredimport',
license='ZPL 2.1',
description=('zope.deferredimport allows you to perform imports names '
'that will only be resolved when used in the code.'),
+ project_urls={
+ 'Issue Tracker': ('https://github.com/zopefoundation/'
+ 'zope.deferredimport/issues'),
+ 'Sources': 'https://github.com/zopefoundation/zope.deferredimport',
+ },
+
author='Zope Foundation and Contributors',
author_email='[email protected]',
long_description=(
@@ -57,10 +64,12 @@
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
- 'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
+ 'Programming Language :: Python :: 3.8',
+ 'Programming Language :: Python :: 3.9',
+ 'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: Implementation :: CPython',
'Programming Language :: Python :: Implementation :: PyPy',
'Natural Language :: English',
@@ -71,6 +80,7 @@
packages=find_packages('src'),
package_dir={'': 'src'},
namespace_packages=['zope'],
+ python_requires='>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*',
install_requires=[
'setuptools',
'zope.proxy',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.deferredimport-4.3.1/src/zope/__init__.py
new/zope.deferredimport-4.4/src/zope/__init__.py
--- old/zope.deferredimport-4.3.1/src/zope/__init__.py 2019-08-05
08:11:50.000000000 +0200
+++ new/zope.deferredimport-4.4/src/zope/__init__.py 2021-12-10
09:16:04.000000000 +0100
@@ -1 +1 @@
-__import__('pkg_resources').declare_namespace(__name__) # pragma: no cover
+__import__('pkg_resources').declare_namespace(__name__) # pragma: no cover
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zope.deferredimport-4.3.1/src/zope/deferredimport/__init__.py
new/zope.deferredimport-4.4/src/zope/deferredimport/__init__.py
--- old/zope.deferredimport-4.3.1/src/zope/deferredimport/__init__.py
2019-08-05 08:11:50.000000000 +0200
+++ new/zope.deferredimport-4.4/src/zope/deferredimport/__init__.py
2021-12-10 09:16:04.000000000 +0100
@@ -2,4 +2,11 @@
from zope.deferredimport.deferredmodule import define, defineFrom
from zope.deferredimport.deferredmodule import deprecated, deprecatedFrom
-__all__ = tuple(name for name in globals() if not name.startswith('_'))
+
+__all__ = (
+ 'initialize',
+ 'define',
+ 'defineFrom',
+ 'deprecated',
+ 'deprecatedFrom',
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zope.deferredimport-4.3.1/src/zope/deferredimport/deferredmodule.py
new/zope.deferredimport-4.4/src/zope/deferredimport/deferredmodule.py
--- old/zope.deferredimport-4.3.1/src/zope/deferredimport/deferredmodule.py
2019-08-05 08:11:50.000000000 +0200
+++ new/zope.deferredimport-4.4/src/zope/deferredimport/deferredmodule.py
2021-12-10 09:16:04.000000000 +0100
@@ -40,6 +40,7 @@
v = getattr(v, n)
return v
+
class DeferredAndDeprecated(Deferred):
def __init__(self, name, specifier, message):
@@ -75,6 +76,7 @@
pass
return v
+
def initialize(level=1):
"""Prepare a module to support deferred imports.
@@ -104,6 +106,7 @@
return
return module
+
def define(**names):
"""Define deferred imports using keyword parameters.
@@ -116,6 +119,7 @@
for name, specifier in names.items():
__deferred_definitions__[name] = Deferred(name, specifier)
+
def defineFrom(from_name, *names):
"""Define deferred imports from a particular module.
@@ -128,6 +132,7 @@
specifier = from_name + ':' + name
__deferred_definitions__[name] = Deferred(name, specifier)
+
def deprecated(message, **names):
"""Define deferred and deprecated imports using keyword parameters.
@@ -144,6 +149,7 @@
__deferred_definitions__[name] = DeferredAndDeprecated(
name, specifier, message)
+
def deprecatedFrom(message, from_name, *names):
"""Define deferred and deprecated imports from a particular module.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zope.deferredimport-4.3.1/src/zope/deferredimport/samples/sample1.py
new/zope.deferredimport-4.4/src/zope/deferredimport/samples/sample1.py
--- old/zope.deferredimport-4.3.1/src/zope/deferredimport/samples/sample1.py
2019-08-05 08:11:50.000000000 +0200
+++ new/zope.deferredimport-4.4/src/zope/deferredimport/samples/sample1.py
2021-12-10 09:16:04.000000000 +0100
@@ -1,12 +1,12 @@
-
print("Sampe 1 imported!")
x = 1
+
class C:
y = 2
+
z = 3
q = 4
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zope.deferredimport-4.3.1/src/zope/deferredimport/samples/sample2.py
new/zope.deferredimport-4.4/src/zope/deferredimport/samples/sample2.py
--- old/zope.deferredimport-4.3.1/src/zope/deferredimport/samples/sample2.py
2019-08-05 08:11:50.000000000 +0200
+++ new/zope.deferredimport-4.4/src/zope/deferredimport/samples/sample2.py
2021-12-10 09:16:04.000000000 +0100
@@ -1,15 +1,15 @@
-
import zope.deferredimport
zope.deferredimport.define(
- sample1 = 'zope.deferredimport.sample1',
- one = 'zope.deferredimport.sample1:x',
- two = 'zope.deferredimport.sample1:C.y',
+ sample1='zope.deferredimport.sample1',
+ one='zope.deferredimport.sample1:x',
+ two='zope.deferredimport.sample1:C.y',
)
three = 3
x = 4
+
+
def getx():
return x
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zope.deferredimport-4.3.1/src/zope/deferredimport/samples/sample3.py
new/zope.deferredimport-4.4/src/zope/deferredimport/samples/sample3.py
--- old/zope.deferredimport-4.3.1/src/zope/deferredimport/samples/sample3.py
2019-08-05 08:11:50.000000000 +0200
+++ new/zope.deferredimport-4.4/src/zope/deferredimport/samples/sample3.py
1970-01-01 01:00:00.000000000 +0100
@@ -1,13 +0,0 @@
-
-
-import zope.deferredimport
-import zope.deferredimport.sample4
-
-zope.deferredimport.define(
- sample1 = 'zope.deferredimport.sample1',
- one = 'zope.deferredimport.sample1:x',
- two = 'zope.deferredimport.sample1:C.y',
- )
-
-x = 1
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zope.deferredimport-4.3.1/src/zope/deferredimport/samples/sample4.py
new/zope.deferredimport-4.4/src/zope/deferredimport/samples/sample4.py
--- old/zope.deferredimport-4.3.1/src/zope/deferredimport/samples/sample4.py
2019-08-05 08:11:50.000000000 +0200
+++ new/zope.deferredimport-4.4/src/zope/deferredimport/samples/sample4.py
1970-01-01 01:00:00.000000000 +0100
@@ -1,6 +0,0 @@
-
-import sample3
-
-def getone():
- return sample3.one
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zope.deferredimport-4.3.1/src/zope/deferredimport/samples/sample5.py
new/zope.deferredimport-4.4/src/zope/deferredimport/samples/sample5.py
--- old/zope.deferredimport-4.3.1/src/zope/deferredimport/samples/sample5.py
2019-08-05 08:11:50.000000000 +0200
+++ new/zope.deferredimport-4.4/src/zope/deferredimport/samples/sample5.py
2021-12-10 09:16:04.000000000 +0100
@@ -1,15 +1,13 @@
-
import zope.deferredimport
zope.deferredimport.initialize()
-import zope.deferredimport.sample6
+import zope.deferredimport.sample6 # noqa: E402 import not at top
zope.deferredimport.define(
- sample1 = 'zope.deferredimport.sample1',
- one = 'zope.deferredimport.sample1:x',
- two = 'zope.deferredimport.sample1:C.y',
+ sample1='zope.deferredimport.sample1',
+ one='zope.deferredimport.sample1:x',
+ two='zope.deferredimport.sample1:C.y',
)
x = 1
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zope.deferredimport-4.3.1/src/zope/deferredimport/samples/sample6.py
new/zope.deferredimport-4.4/src/zope/deferredimport/samples/sample6.py
--- old/zope.deferredimport-4.3.1/src/zope/deferredimport/samples/sample6.py
2019-08-05 08:11:50.000000000 +0200
+++ new/zope.deferredimport-4.4/src/zope/deferredimport/samples/sample6.py
2021-12-10 09:16:04.000000000 +0100
@@ -1,7 +1,6 @@
-
import zope.deferredimport.sample5
+
def getone():
return zope.deferredimport.sample5.one
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zope.deferredimport-4.3.1/src/zope/deferredimport/samples/sample7.py
new/zope.deferredimport-4.4/src/zope/deferredimport/samples/sample7.py
--- old/zope.deferredimport-4.3.1/src/zope/deferredimport/samples/sample7.py
2019-08-05 08:11:50.000000000 +0200
+++ new/zope.deferredimport-4.4/src/zope/deferredimport/samples/sample7.py
2021-12-10 09:16:04.000000000 +0100
@@ -1,12 +1,10 @@
-
import zope.deferredimport
zope.deferredimport.initialize()
zope.deferredimport.deprecated(
"Import from sample1 instead",
- x = 'zope.deferredimport.sample1:x',
- y = 'zope.deferredimport.sample1:C.y',
- z = 'zope.deferredimport.sample1:z',
+ x='zope.deferredimport.sample1:x',
+ y='zope.deferredimport.sample1:C.y',
+ z='zope.deferredimport.sample1:z',
)
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zope.deferredimport-4.3.1/src/zope/deferredimport/samples/sample8.py
new/zope.deferredimport-4.4/src/zope/deferredimport/samples/sample8.py
--- old/zope.deferredimport-4.3.1/src/zope/deferredimport/samples/sample8.py
2019-08-05 08:11:50.000000000 +0200
+++ new/zope.deferredimport-4.4/src/zope/deferredimport/samples/sample8.py
2021-12-10 09:16:04.000000000 +0100
@@ -1,15 +1,13 @@
-
import zope.deferredimport
zope.deferredimport.deprecatedFrom(
"Import from sample1 instead",
'zope.deferredimport.sample1',
'x', 'z', 'q',
- )
+)
zope.deferredimport.defineFrom(
'zope.deferredimport.sample9',
'a', 'b', 'c',
- )
-
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zope.deferredimport-4.3.1/src/zope/deferredimport/samples/sample9.py
new/zope.deferredimport-4.4/src/zope/deferredimport/samples/sample9.py
--- old/zope.deferredimport-4.3.1/src/zope/deferredimport/samples/sample9.py
2019-08-05 08:11:50.000000000 +0200
+++ new/zope.deferredimport-4.4/src/zope/deferredimport/samples/sample9.py
2021-12-10 09:16:04.000000000 +0100
@@ -1,3 +1,3 @@
print('Imported sample 9')
-a, b, c = range(10,13)
+a, b, c = range(10, 13)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zope.deferredimport-4.3.1/src/zope.deferredimport.egg-info/PKG-INFO
new/zope.deferredimport-4.4/src/zope.deferredimport.egg-info/PKG-INFO
--- old/zope.deferredimport-4.3.1/src/zope.deferredimport.egg-info/PKG-INFO
2019-08-05 08:11:50.000000000 +0200
+++ new/zope.deferredimport-4.4/src/zope.deferredimport.egg-info/PKG-INFO
2021-12-10 09:16:06.000000000 +0100
@@ -1,138 +1,13 @@
Metadata-Version: 2.1
Name: zope.deferredimport
-Version: 4.3.1
+Version: 4.4
Summary: zope.deferredimport allows you to perform imports names that will
only be resolved when used in the code.
Home-page: http://github.com/zopefoundation/zope.deferredimport
Author: Zope Foundation and Contributors
Author-email: [email protected]
License: ZPL 2.1
-Description: =========================
- ``zope.deferredimport``
- =========================
-
- .. image:: https://img.shields.io/pypi/v/zope.deferredimport.svg
- :target: https://pypi.python.org/pypi/zope.deferredimport/
- :alt: Latest release
-
- .. image::
https://img.shields.io/pypi/pyversions/zope.deferredimport.svg
- :target: https://pypi.org/project/zope.deferredimport/
- :alt: Supported Python versions
-
- .. image::
https://travis-ci.org/zopefoundation/zope.deferredimport.svg?branch=master
- :target:
https://travis-ci.org/zopefoundation/zope.deferredimport
-
- .. image::
https://coveralls.io/repos/github/zopefoundation/zope.deferredimport/badge.svg?branch=master
- :target:
https://coveralls.io/github/zopefoundation/zope.deferredimport?branch=master
-
- .. image::
https://readthedocs.org/projects/zopedeferredimport/badge/?version=latest
- :target: http://zopedeferredimport.readthedocs.io/en/latest/
- :alt: Documentation Status
-
- Often, especially for package modules, you want to import names for
- convenience, but not actually perform the imports until necessary.
- The zope.deferredimport package provided facilities for defining names
- in modules that will be imported from somewhere else when used. You
- can also cause deprecation warnings to be issued when a variable is
- used.
-
- Documentation is hosted at https://zopedeferredimport.readthedocs.io/
-
-
- =========
- Changes
- =========
-
- 4.3.1 (2019-08-05)
- ==================
-
- - Avoid race condition in ``deferredmodule.ModuleProxy.__getattr__``
- `#8
<https://github.com/zopefoundation/zope.deferredimport/issues/8>`_.
-
-
- 4.3 (2018-10-05)
- ================
-
- - Add support for Python 3.7.
-
-
- 4.2.1 (2017-10-24)
- ==================
-
- - Preserve the docstrings of proxied modules created with
- ``deprecatedFrom``, ``deferredFrom``, etc. See `issue 5
- <https://github.com/zopefoundation/zope.deferredimport/issues/5>`_.
-
-
- 4.2.0 (2017-08-08)
- ==================
-
- - Add support for Python 3.5 and 3.6.
-
- - Drop support for Python 2.6 and 3.3.
-
- - Convert doctests to Sphinx documentation, including building docs
- and running doctest snippets under ``tox``.
-
-
- 4.1.0 (2014-12-26)
- ==================
-
- - Add support for PyPy. PyPy3 support is blocked on release of fix
for:
- https://bitbucket.org/pypy/pypy/issue/1946
-
- - Add support for Python 3.4.
-
- - Add support for testing on Travis.
-
-
- 4.0.0 (2013-02-28)
- ==================
-
- - Add support for Python 3.3.
-
- - Drop support for Python 2.4 and 2.5.
-
-
- 3.5.3 (2010-09-25)
- ==================
-
- - Add test extra to declare test dependency on ``zope.testing``.
-
-
- 3.5.2 (2010-05-24)
- ==================
-
- - Fix unit tests broken under Python 2.4 by the switch to the standard
- library ``doctest`` module.
-
-
- 3.5.1 (2010-04-30)
- ==================
-
- - Prefer the standard library's ``doctest`` module to the one from
- ``zope.testing``.
-
-
- 3.5.0 (2009-02-04)
- ==================
-
- - Add support to bootstrap on Jython.
-
- - Add reference documentation.
-
-
- 3.4.0 (2007-07-19)
- ==================
-
- - Finish release of ``zope.deferredimport``.
-
-
- 3.4.0b1 (2007-07-09)
- ====================
-
- - Initial release as a separate project, corresponding to the
- ``zope.deferredimport`` from Zope 3.4.0b1.
-
+Project-URL: Issue Tracker,
https://github.com/zopefoundation/zope.deferredimport/issues
+Project-URL: Sources, https://github.com/zopefoundation/zope.deferredimport
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
@@ -141,15 +16,156 @@
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
+Classifier: Programming Language :: Python :: 3.9
+Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Software Development
-Provides-Extra: docs
+Requires-Python: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*
Provides-Extra: test
+Provides-Extra: docs
+License-File: LICENSE.txt
+
+=========================
+ ``zope.deferredimport``
+=========================
+
+.. image:: https://img.shields.io/pypi/v/zope.deferredimport.svg
+ :target: https://pypi.python.org/pypi/zope.deferredimport/
+ :alt: Latest release
+
+.. image:: https://img.shields.io/pypi/pyversions/zope.deferredimport.svg
+ :target: https://pypi.org/project/zope.deferredimport/
+ :alt: Supported Python versions
+
+.. image::
https://travis-ci.com/zopefoundation/zope.deferredimport.svg?branch=master
+ :target: https://travis-ci.com/zopefoundation/zope.deferredimport
+
+.. image::
https://coveralls.io/repos/github/zopefoundation/zope.deferredimport/badge.svg?branch=master
+ :target:
https://coveralls.io/github/zopefoundation/zope.deferredimport?branch=master
+
+.. image::
https://readthedocs.org/projects/zopedeferredimport/badge/?version=latest
+ :target: http://zopedeferredimport.readthedocs.io/en/latest/
+ :alt: Documentation Status
+
+Often, especially for package modules, you want to import names for
+convenience, but not actually perform the imports until necessary.
+The zope.deferredimport package provided facilities for defining names
+in modules that will be imported from somewhere else when used. You
+can also cause deprecation warnings to be issued when a variable is
+used.
+
+Documentation is hosted at https://zopedeferredimport.readthedocs.io/
+
+
+=========
+ Changes
+=========
+
+4.4 (2021-12-10)
+================
+
+- Add support for Python 3.8, 3.9 and 3.10.
+
+- Drop support for Python 3.4.
+
+
+4.3.1 (2019-08-05)
+==================
+
+- Avoid race condition in ``deferredmodule.ModuleProxy.__getattr__``
+ `#8 <https://github.com/zopefoundation/zope.deferredimport/issues/8>`_.
+
+
+4.3 (2018-10-05)
+================
+
+- Add support for Python 3.7.
+
+
+4.2.1 (2017-10-24)
+==================
+
+- Preserve the docstrings of proxied modules created with
+ ``deprecatedFrom``, ``deferredFrom``, etc. See `issue 5
+ <https://github.com/zopefoundation/zope.deferredimport/issues/5>`_.
+
+
+4.2.0 (2017-08-08)
+==================
+
+- Add support for Python 3.5 and 3.6.
+
+- Drop support for Python 2.6 and 3.3.
+
+- Convert doctests to Sphinx documentation, including building docs
+ and running doctest snippets under ``tox``.
+
+
+4.1.0 (2014-12-26)
+==================
+
+- Add support for PyPy. PyPy3 support is blocked on release of fix for:
+ https://bitbucket.org/pypy/pypy/issue/1946
+
+- Add support for Python 3.4.
+
+- Add support for testing on Travis.
+
+
+4.0.0 (2013-02-28)
+==================
+
+- Add support for Python 3.3.
+
+- Drop support for Python 2.4 and 2.5.
+
+
+3.5.3 (2010-09-25)
+==================
+
+- Add test extra to declare test dependency on ``zope.testing``.
+
+
+3.5.2 (2010-05-24)
+==================
+
+- Fix unit tests broken under Python 2.4 by the switch to the standard
+ library ``doctest`` module.
+
+
+3.5.1 (2010-04-30)
+==================
+
+- Prefer the standard library's ``doctest`` module to the one from
+ ``zope.testing``.
+
+
+3.5.0 (2009-02-04)
+==================
+
+- Add support to bootstrap on Jython.
+
+- Add reference documentation.
+
+
+3.4.0 (2007-07-19)
+==================
+
+- Finish release of ``zope.deferredimport``.
+
+
+3.4.0b1 (2007-07-09)
+====================
+
+- Initial release as a separate project, corresponding to the
+ ``zope.deferredimport`` from Zope 3.4.0b1.
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zope.deferredimport-4.3.1/src/zope.deferredimport.egg-info/SOURCES.txt
new/zope.deferredimport-4.4/src/zope.deferredimport.egg-info/SOURCES.txt
--- old/zope.deferredimport-4.3.1/src/zope.deferredimport.egg-info/SOURCES.txt
2019-08-05 08:11:51.000000000 +0200
+++ new/zope.deferredimport-4.4/src/zope.deferredimport.egg-info/SOURCES.txt
2021-12-10 09:16:06.000000000 +0100
@@ -1,12 +1,8 @@
-.coveragerc
-.gitignore
-.travis.yml
CHANGES.rst
COPYRIGHT.txt
LICENSE.txt
MANIFEST.in
README.rst
-bootstrap.py
buildout.cfg
setup.cfg
setup.py
@@ -31,8 +27,6 @@
src/zope/deferredimport/samples/__init__.py
src/zope/deferredimport/samples/sample1.py
src/zope/deferredimport/samples/sample2.py
-src/zope/deferredimport/samples/sample3.py
-src/zope/deferredimport/samples/sample4.py
src/zope/deferredimport/samples/sample5.py
src/zope/deferredimport/samples/sample6.py
src/zope/deferredimport/samples/sample7.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.deferredimport-4.3.1/tox.ini
new/zope.deferredimport-4.4/tox.ini
--- old/zope.deferredimport-4.3.1/tox.ini 2019-08-05 08:11:50.000000000
+0200
+++ new/zope.deferredimport-4.4/tox.ini 2021-12-10 09:16:04.000000000 +0100
@@ -1,29 +1,81 @@
+# Generated from:
+# https://github.com/zopefoundation/meta/tree/master/config/pure-python
[tox]
+minversion = 3.18
envlist =
- py27,py34,py35,py36,py37,pypy,pypy3,coverage
+ lint
+ py27
+ py35
+ py36
+ py37
+ py38
+ py39
+ py310
+ pypy
+ pypy3
+ docs
+ coverage
[testenv]
-commands =
- zope-testrunner --test-path=src []
- sphinx-build -b doctest -d {envdir}/.cache/doctrees docs
{envdir}/.cache/doctest
-deps =
- .[test,docs]
-
-[testenv:coverage]
usedevelop = true
-basepython =
- python3.7
+deps =
commands =
- coverage run -m zope.testrunner --test-path=src
- coverage run -a -m sphinx -b doctest -d {envdir}/.cache/doctrees docs
{envdir}/.cache/doctest
- coverage report --fail-under=100
+ zope-testrunner --test-path=src {posargs:-vc}
+ !py27-!pypy: sphinx-build -b doctest -d {envdir}/.cache/doctrees docs
{envdir}/.cache/doctest
+extras =
+ test
+ docs
+
+[testenv:lint]
+basepython = python3
+skip_install = true
deps =
- {[testenv]deps}
- coverage
+ flake8
+ check-manifest
+ check-python-versions >= 0.19.1
+ wheel
+commands =
+ flake8 src setup.py
+ check-manifest
+ check-python-versions
[testenv:docs]
-basepython =
- python3.6
+basepython = python3
+skip_install = false
+commands_pre =
commands =
sphinx-build -b html -d docs/_build/doctrees docs docs/_build/html
sphinx-build -b doctest -d docs/_build/doctrees docs docs/_build/doctest
+
+[testenv:coverage]
+basepython = python3
+allowlist_externals =
+ mkdir
+deps =
+ coverage
+ coverage-python-version
+commands =
+ mkdir -p {toxinidir}/parts/htmlcov
+ coverage run -m zope.testrunner --test-path=src {posargs:-vc}
+ coverage run -a -m sphinx -b doctest -d {envdir}/.cache/doctrees docs
{envdir}/.cache/doctest
+ coverage html
+ coverage report -m --fail-under=100
+
+[coverage:run]
+branch = True
+plugins = coverage_python_version
+source = zope.deferredimport
+
+[coverage:report]
+precision = 2
+exclude_lines =
+ pragma: no cover
+ pragma: nocover
+ except ImportError:
+ raise NotImplementedError
+ if __name__ == '__main__':
+ self.fail
+ raise AssertionError
+
+[coverage:html]
+directory = parts/htmlcov