Skip to content

Commit

Permalink
Lint the code.
Browse files Browse the repository at this point in the history
Add support for Python 3.8, 3.9 and 3.10.
Drop support for Python 3.4.
  • Loading branch information
Michael Howitz committed Dec 10, 2021
1 parent f4a7b29 commit c3be170
Show file tree
Hide file tree
Showing 12 changed files with 80 additions and 76 deletions.
4 changes: 3 additions & 1 deletion CHANGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
4.4 (unreleased)
================

- Nothing changed yet.
- Add support for Python 3.8, 3.9 and 3.10.

- Drop support for Python 3.4.


4.3.1 (2019-08-05)
Expand Down
87 changes: 40 additions & 47 deletions docs/narrative.rst
Original file line number Diff line number Diff line change
Expand Up @@ -81,17 +81,17 @@ that defined some things to be imported:
.. 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
Expand All @@ -102,20 +102,20 @@ that imports some names from this module:
.. 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
...
... ''')


Expand Down Expand Up @@ -185,28 +185,28 @@ more complicated example.

.. 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.
Expand All @@ -216,6 +216,7 @@ order:
.. code-block:: python
# XXX: Relative imports like this are not possible on Python 3 anymore.
# PY2
#
# >>> import zope.deferredimport.sample3
# >>> import zope.deferredimport.sample4
Expand Down Expand Up @@ -246,29 +247,25 @@ modules, as in:
.. 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
Expand All @@ -290,17 +287,15 @@ deferred imports:
.. 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
Expand Down Expand Up @@ -332,25 +327,23 @@ can use :func:`~.defineFrom` or :func:`~.deprecatedFrom` to do that:
.. 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
Expand Down
12 changes: 11 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ def read(*rnames):
with open(os.path.join(os.path.dirname(__file__), *rnames)) as f:
return f.read()


TESTS_REQUIRE = [
'zope.testrunner',
]
Expand All @@ -42,6 +43,12 @@ def read(*rnames):
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='zope-dev@zope.org',
long_description=(
Expand All @@ -57,10 +64,12 @@ def read(*rnames):
'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',
Expand All @@ -71,6 +80,7 @@ def read(*rnames):
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',
Expand Down
2 changes: 1 addition & 1 deletion src/zope/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__import__('pkg_resources').declare_namespace(__name__) # pragma: no cover
__import__('pkg_resources').declare_namespace(__name__) # pragma: no cover
9 changes: 8 additions & 1 deletion src/zope/deferredimport/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -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',
)
4 changes: 2 additions & 2 deletions src/zope/deferredimport/samples/sample1.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@


print("Sampe 1 imported!")

x = 1


class C:
y = 2


z = 3
q = 4

10 changes: 5 additions & 5 deletions src/zope/deferredimport/samples/sample2.py
Original file line number Diff line number Diff line change
@@ -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

10 changes: 4 additions & 6 deletions src/zope/deferredimport/samples/sample5.py
Original file line number Diff line number Diff line change
@@ -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

2 changes: 0 additions & 2 deletions src/zope/deferredimport/samples/sample6.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@


import zope.deferredimport.sample5

def getone():
return zope.deferredimport.sample5.one

8 changes: 3 additions & 5 deletions src/zope/deferredimport/samples/sample7.py
Original file line number Diff line number Diff line change
@@ -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',
)

6 changes: 2 additions & 4 deletions src/zope/deferredimport/samples/sample8.py
Original file line number Diff line number Diff line change
@@ -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',
)

)
2 changes: 1 addition & 1 deletion src/zope/deferredimport/samples/sample9.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@

print('Imported sample 9')
a, b, c = range(10,13)
a, b, c = range(10, 13)

0 comments on commit c3be170

Please sign in to comment.