From 28f7055ba52a18b8202549f7d9f72e5b1f86b431 Mon Sep 17 00:00:00 2001 From: Michael Howitz Date: Tue, 1 Feb 2022 09:01:30 +0100 Subject: [PATCH 1/2] Switch package to src-layout. --- CHANGES.rst | 2 +- MANIFEST.in | 4 +- setup.py | 40 +++++++++---------- {persistent => src/persistent}/__init__.py | 0 {persistent => src/persistent}/_compat.h | 0 {persistent => src/persistent}/_compat.py | 0 {persistent => src/persistent}/_ring_build.py | 0 {persistent => src/persistent}/_timestamp.c | 0 {persistent => src/persistent}/cPersistence.c | 0 {persistent => src/persistent}/cPersistence.h | 0 {persistent => src/persistent}/cPickleCache.c | 0 {persistent => src/persistent}/dict.py | 0 {persistent => src/persistent}/interfaces.py | 0 {persistent => src/persistent}/list.py | 0 {persistent => src/persistent}/mapping.py | 0 {persistent => src/persistent}/persistence.py | 0 {persistent => src/persistent}/picklecache.py | 0 {persistent => src/persistent}/ring.c | 0 {persistent => src/persistent}/ring.h | 0 {persistent => src/persistent}/ring.py | 0 .../persistent}/tests/__init__.py | 0 .../persistent}/tests/attrhooks.py | 0 .../persistent}/tests/cucumbers.py | 0 .../persistent}/tests/test__compat.py | 0 .../persistent}/tests/test_docs.py | 0 .../persistent}/tests/test_list.py | 0 .../persistent}/tests/test_mapping.py | 0 .../persistent}/tests/test_persistence.py | 0 .../persistent}/tests/test_picklecache.py | 0 .../persistent}/tests/test_ring.py | 0 .../persistent}/tests/test_timestamp.py | 0 .../persistent}/tests/test_wref.py | 0 {persistent => src/persistent}/tests/utils.py | 0 {persistent => src/persistent}/timestamp.py | 0 {persistent => src/persistent}/wref.py | 0 tox.ini | 8 ++-- 36 files changed, 25 insertions(+), 29 deletions(-) rename {persistent => src/persistent}/__init__.py (100%) rename {persistent => src/persistent}/_compat.h (100%) rename {persistent => src/persistent}/_compat.py (100%) rename {persistent => src/persistent}/_ring_build.py (100%) rename {persistent => src/persistent}/_timestamp.c (100%) rename {persistent => src/persistent}/cPersistence.c (100%) rename {persistent => src/persistent}/cPersistence.h (100%) rename {persistent => src/persistent}/cPickleCache.c (100%) rename {persistent => src/persistent}/dict.py (100%) rename {persistent => src/persistent}/interfaces.py (100%) rename {persistent => src/persistent}/list.py (100%) rename {persistent => src/persistent}/mapping.py (100%) rename {persistent => src/persistent}/persistence.py (100%) rename {persistent => src/persistent}/picklecache.py (100%) rename {persistent => src/persistent}/ring.c (100%) rename {persistent => src/persistent}/ring.h (100%) rename {persistent => src/persistent}/ring.py (100%) rename {persistent => src/persistent}/tests/__init__.py (100%) rename {persistent => src/persistent}/tests/attrhooks.py (100%) rename {persistent => src/persistent}/tests/cucumbers.py (100%) rename {persistent => src/persistent}/tests/test__compat.py (100%) rename {persistent => src/persistent}/tests/test_docs.py (100%) rename {persistent => src/persistent}/tests/test_list.py (100%) rename {persistent => src/persistent}/tests/test_mapping.py (100%) rename {persistent => src/persistent}/tests/test_persistence.py (100%) rename {persistent => src/persistent}/tests/test_picklecache.py (100%) rename {persistent => src/persistent}/tests/test_ring.py (100%) rename {persistent => src/persistent}/tests/test_timestamp.py (100%) rename {persistent => src/persistent}/tests/test_wref.py (100%) rename {persistent => src/persistent}/tests/utils.py (100%) rename {persistent => src/persistent}/timestamp.py (100%) rename {persistent => src/persistent}/wref.py (100%) diff --git a/CHANGES.rst b/CHANGES.rst index 48dfd7a..5df9337 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,7 +5,7 @@ 4.7.1 (unreleased) ================== -- Nothing changed yet. +- Switch package to src-layout. 4.7.0 (2021-04-13) diff --git a/MANIFEST.in b/MANIFEST.in index 43b2718..318451e 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -6,7 +6,7 @@ include *.sh include *.yml recursive-include docs * -recursive-include persistent * +recursive-include src * recursive-include .github *.yml global-exclude *.dll @@ -16,7 +16,7 @@ global-exclude *.so global-exclude coverage.xml prune docs/_build -prune persistent/__pycache__ +prune src/persistent/__pycache__ include .coveragerc diff --git a/setup.py b/setup.py index 6e585b0..d2e65e9 100644 --- a/setup.py +++ b/setup.py @@ -42,33 +42,33 @@ def _read_file(filename): Extension( name='persistent.cPersistence', sources=[ - 'persistent/cPersistence.c', - 'persistent/ring.c', + 'src/persistent/cPersistence.c', + 'src/persistent/ring.c', ], depends=[ - 'persistent/cPersistence.h', - 'persistent/ring.h', - 'persistent/ring.c', + 'src/persistent/cPersistence.h', + 'src/persistent/ring.h', + 'src/persistent/ring.c', ], define_macros=list(define_macros), ), Extension( name='persistent.cPickleCache', sources=[ - 'persistent/cPickleCache.c', - 'persistent/ring.c', + 'src/persistent/cPickleCache.c', + 'src/persistent/ring.c', ], depends=[ - 'persistent/cPersistence.h', - 'persistent/ring.h', - 'persistent/ring.c', + 'src/persistent/cPersistence.h', + 'src/persistent/ring.h', + 'src/persistent/ring.c', ], define_macros=list(define_macros), ), Extension( name='persistent._timestamp', sources=[ - 'persistent/_timestamp.c', + 'src/persistent/_timestamp.c', ], define_macros=list(define_macros), ), @@ -81,8 +81,8 @@ def _read_file(filename): headers = [] else: headers = [ - 'persistent/cPersistence.h', - 'persistent/ring.h', + 'src/persistent/cPersistence.h', + 'src/persistent/ring.h', ] setup(name='persistent', @@ -109,18 +109,16 @@ def _read_file(filename): "Operating System :: Microsoft :: Windows", "Operating System :: Unix", ], - author="Zope Corporation", + author="Zope Foundation and Contributors", author_email="zodb-dev@zope.org", url="https://github.com/zopefoundation/persistent/", license="ZPL 2.1", - platforms=["any"], - # Make sure we don't get 'terryfy' included in wheels - # created on macOS CI - packages=find_packages(include=("persistent",)), + packages=find_packages('src'), + package_dir={'': 'src'}, include_package_data=True, zip_safe=False, ext_modules=ext_modules, - cffi_modules=['persistent/_ring_build.py:ffi'], + cffi_modules=['src/persistent/_ring_build.py:ffi'], headers=headers, extras_require={ 'test': [ @@ -129,9 +127,7 @@ def _read_file(filename): ], 'testing': (), 'docs': [ - # Until repoze.sphinx.autointerface supports Sphinx 4.x we cannot use it: - # https://github.com/repoze/repoze.sphinx.autointerface/issues/16 - 'Sphinx < 4', + 'Sphinx', 'repoze.sphinx.autointerface', ], }, diff --git a/persistent/__init__.py b/src/persistent/__init__.py similarity index 100% rename from persistent/__init__.py rename to src/persistent/__init__.py diff --git a/persistent/_compat.h b/src/persistent/_compat.h similarity index 100% rename from persistent/_compat.h rename to src/persistent/_compat.h diff --git a/persistent/_compat.py b/src/persistent/_compat.py similarity index 100% rename from persistent/_compat.py rename to src/persistent/_compat.py diff --git a/persistent/_ring_build.py b/src/persistent/_ring_build.py similarity index 100% rename from persistent/_ring_build.py rename to src/persistent/_ring_build.py diff --git a/persistent/_timestamp.c b/src/persistent/_timestamp.c similarity index 100% rename from persistent/_timestamp.c rename to src/persistent/_timestamp.c diff --git a/persistent/cPersistence.c b/src/persistent/cPersistence.c similarity index 100% rename from persistent/cPersistence.c rename to src/persistent/cPersistence.c diff --git a/persistent/cPersistence.h b/src/persistent/cPersistence.h similarity index 100% rename from persistent/cPersistence.h rename to src/persistent/cPersistence.h diff --git a/persistent/cPickleCache.c b/src/persistent/cPickleCache.c similarity index 100% rename from persistent/cPickleCache.c rename to src/persistent/cPickleCache.c diff --git a/persistent/dict.py b/src/persistent/dict.py similarity index 100% rename from persistent/dict.py rename to src/persistent/dict.py diff --git a/persistent/interfaces.py b/src/persistent/interfaces.py similarity index 100% rename from persistent/interfaces.py rename to src/persistent/interfaces.py diff --git a/persistent/list.py b/src/persistent/list.py similarity index 100% rename from persistent/list.py rename to src/persistent/list.py diff --git a/persistent/mapping.py b/src/persistent/mapping.py similarity index 100% rename from persistent/mapping.py rename to src/persistent/mapping.py diff --git a/persistent/persistence.py b/src/persistent/persistence.py similarity index 100% rename from persistent/persistence.py rename to src/persistent/persistence.py diff --git a/persistent/picklecache.py b/src/persistent/picklecache.py similarity index 100% rename from persistent/picklecache.py rename to src/persistent/picklecache.py diff --git a/persistent/ring.c b/src/persistent/ring.c similarity index 100% rename from persistent/ring.c rename to src/persistent/ring.c diff --git a/persistent/ring.h b/src/persistent/ring.h similarity index 100% rename from persistent/ring.h rename to src/persistent/ring.h diff --git a/persistent/ring.py b/src/persistent/ring.py similarity index 100% rename from persistent/ring.py rename to src/persistent/ring.py diff --git a/persistent/tests/__init__.py b/src/persistent/tests/__init__.py similarity index 100% rename from persistent/tests/__init__.py rename to src/persistent/tests/__init__.py diff --git a/persistent/tests/attrhooks.py b/src/persistent/tests/attrhooks.py similarity index 100% rename from persistent/tests/attrhooks.py rename to src/persistent/tests/attrhooks.py diff --git a/persistent/tests/cucumbers.py b/src/persistent/tests/cucumbers.py similarity index 100% rename from persistent/tests/cucumbers.py rename to src/persistent/tests/cucumbers.py diff --git a/persistent/tests/test__compat.py b/src/persistent/tests/test__compat.py similarity index 100% rename from persistent/tests/test__compat.py rename to src/persistent/tests/test__compat.py diff --git a/persistent/tests/test_docs.py b/src/persistent/tests/test_docs.py similarity index 100% rename from persistent/tests/test_docs.py rename to src/persistent/tests/test_docs.py diff --git a/persistent/tests/test_list.py b/src/persistent/tests/test_list.py similarity index 100% rename from persistent/tests/test_list.py rename to src/persistent/tests/test_list.py diff --git a/persistent/tests/test_mapping.py b/src/persistent/tests/test_mapping.py similarity index 100% rename from persistent/tests/test_mapping.py rename to src/persistent/tests/test_mapping.py diff --git a/persistent/tests/test_persistence.py b/src/persistent/tests/test_persistence.py similarity index 100% rename from persistent/tests/test_persistence.py rename to src/persistent/tests/test_persistence.py diff --git a/persistent/tests/test_picklecache.py b/src/persistent/tests/test_picklecache.py similarity index 100% rename from persistent/tests/test_picklecache.py rename to src/persistent/tests/test_picklecache.py diff --git a/persistent/tests/test_ring.py b/src/persistent/tests/test_ring.py similarity index 100% rename from persistent/tests/test_ring.py rename to src/persistent/tests/test_ring.py diff --git a/persistent/tests/test_timestamp.py b/src/persistent/tests/test_timestamp.py similarity index 100% rename from persistent/tests/test_timestamp.py rename to src/persistent/tests/test_timestamp.py diff --git a/persistent/tests/test_wref.py b/src/persistent/tests/test_wref.py similarity index 100% rename from persistent/tests/test_wref.py rename to src/persistent/tests/test_wref.py diff --git a/persistent/tests/utils.py b/src/persistent/tests/utils.py similarity index 100% rename from persistent/tests/utils.py rename to src/persistent/tests/utils.py diff --git a/persistent/timestamp.py b/src/persistent/timestamp.py similarity index 100% rename from persistent/timestamp.py rename to src/persistent/timestamp.py diff --git a/persistent/wref.py b/src/persistent/wref.py similarity index 100% rename from persistent/wref.py rename to src/persistent/wref.py diff --git a/tox.ini b/tox.ini index a84aab1..88c599b 100644 --- a/tox.ini +++ b/tox.ini @@ -6,7 +6,7 @@ envlist = extras = test commands = - zope-testrunner --test-path=. [] + zope-testrunner --test-path=src [] [testenv:py27-pure] basepython = @@ -25,9 +25,9 @@ usedevelop = true basepython = python3.6 commands = - coverage run -m zope.testrunner --test-path=. - python -c 'import os, subprocess; subprocess.check_call("coverage run -a -m zope.testrunner --test-path=.", env=dict(os.environ, PURE_PYTHON="1"), shell=True)' - python -c 'import os, subprocess; subprocess.check_call("coverage run -a -m zope.testrunner --test-path=.", env=dict(os.environ, PURE_PYTHON="0"), shell=True)' + coverage run -m zope.testrunner --test-path=src + python -c 'import os, subprocess; subprocess.check_call("coverage run -a -m zope.testrunner --test-path=src", env=dict(os.environ, PURE_PYTHON="1"), shell=True)' + python -c 'import os, subprocess; subprocess.check_call("coverage run -a -m zope.testrunner --test-path=src", env=dict(os.environ, PURE_PYTHON="0"), shell=True)' coverage report --fail-under=100 deps = coverage From ea09894c0b3ee6774459c950c68eb42849103102 Mon Sep 17 00:00:00 2001 From: Michael Howitz Date: Wed, 2 Feb 2022 08:27:38 +0100 Subject: [PATCH 2/2] Update changelog. --- CHANGES.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGES.rst b/CHANGES.rst index 5df9337..5b90bfb 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,7 +5,8 @@ 4.7.1 (unreleased) ================== -- Switch package to src-layout. +- Switch package to src-layout, this is a packaging only change. + (`#168 `_) 4.7.0 (2021-04-13)