Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-zope.proxy for
openSUSE:Factory checked in at 2024-03-13 22:17:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-zope.proxy (Old)
and /work/SRC/openSUSE:Factory/.python-zope.proxy.new.1770 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-zope.proxy"
Wed Mar 13 22:17:05 2024 rev:17 rq:1157516 version:5.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-zope.proxy/python-zope.proxy.changes
2023-12-17 21:28:59.970338321 +0100
+++
/work/SRC/openSUSE:Factory/.python-zope.proxy.new.1770/python-zope.proxy.changes
2024-03-13 22:17:56.538867382 +0100
@@ -1,0 +2,6 @@
+Wed Mar 13 10:15:43 UTC 2024 - Dirk Müller <[email protected]>
+
+- update to 5.2:
+ * Add preliminary support for Python 3.13 as of 3.13a3.
+
+-------------------------------------------------------------------
Old:
----
zope.proxy-5.1.tar.gz
New:
----
zope.proxy-5.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-zope.proxy.spec ++++++
--- /var/tmp/diff_new_pack.B3FDux/_old 2024-03-13 22:17:57.054886365 +0100
+++ /var/tmp/diff_new_pack.B3FDux/_new 2024-03-13 22:17:57.054886365 +0100
@@ -1,7 +1,7 @@
#
-# spec file
+# spec file for package python-zope.proxy
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2013 LISA GmbH, Bingen, Germany.
#
# All modifications and additions to the file contributed by third parties
@@ -28,7 +28,7 @@
%{?sle15_python_module_pythons}
Name: python-zope.proxy%{psuffix}
-Version: 5.1
+Version: 5.2
Release: 0
Summary: Generic Transparent Proxies
License: ZPL-2.1
++++++ zope.proxy-5.1.tar.gz -> zope.proxy-5.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.proxy-5.1/.manylinux-install.sh
new/zope.proxy-5.2/.manylinux-install.sh
--- old/zope.proxy-5.1/.manylinux-install.sh 2023-10-05 16:39:39.000000000
+0200
+++ new/zope.proxy-5.2/.manylinux-install.sh 2024-02-09 08:25:19.000000000
+0100
@@ -28,6 +28,7 @@
tox_env_map() {
case $1 in
+ *"cp313"*) echo 'py313';;
*"cp37"*) echo 'py37';;
*"cp38"*) echo 'py38';;
*"cp39"*) echo 'py39';;
@@ -41,14 +42,20 @@
# Compile wheels
for PYBIN in /opt/python/*/bin; do
if \
+ [[ "${PYBIN}" == *"cp313"* ]] || \
[[ "${PYBIN}" == *"cp311"* ]] || \
[[ "${PYBIN}" == *"cp312"* ]] || \
[[ "${PYBIN}" == *"cp37"* ]] || \
[[ "${PYBIN}" == *"cp38"* ]] || \
[[ "${PYBIN}" == *"cp39"* ]] || \
[[ "${PYBIN}" == *"cp310"* ]] ; then
- "${PYBIN}/pip" install -e /io/
- "${PYBIN}/pip" wheel /io/ -w wheelhouse/
+ if [[ "${PYBIN}" == *"cp313"* ]] ; then
+ "${PYBIN}/pip" install --pre -e /io/
+ "${PYBIN}/pip" wheel /io/ --pre -w wheelhouse/
+ else
+ "${PYBIN}/pip" install -e /io/
+ "${PYBIN}/pip" wheel /io/ -w wheelhouse/
+ fi
if [ `uname -m` == 'aarch64' ]; then
cd /io/
${PYBIN}/pip install tox
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.proxy-5.1/CHANGES.rst
new/zope.proxy-5.2/CHANGES.rst
--- old/zope.proxy-5.1/CHANGES.rst 2023-10-05 16:39:39.000000000 +0200
+++ new/zope.proxy-5.2/CHANGES.rst 2024-02-09 08:25:19.000000000 +0100
@@ -2,6 +2,12 @@
Changes
=========
+5.2 (2024-02-09)
+================
+
+- Add preliminary support for Python 3.13 as of 3.13a3.
+
+
5.1 (2023-10-05)
================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.proxy-5.1/PKG-INFO new/zope.proxy-5.2/PKG-INFO
--- old/zope.proxy-5.1/PKG-INFO 2023-10-05 16:59:54.543065000 +0200
+++ new/zope.proxy-5.2/PKG-INFO 2024-02-09 08:25:20.116096500 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: zope.proxy
-Version: 5.1
+Version: 5.2
Summary: Generic Transparent Proxies
Home-page: http://github.com/zopefoundation/zope.proxy
Author: Zope Foundation and Contributors
@@ -80,6 +80,12 @@
Changes
=========
+5.2 (2024-02-09)
+================
+
+- Add preliminary support for Python 3.13 as of 3.13a3.
+
+
5.1 (2023-10-05)
================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.proxy-5.1/appveyor.yml
new/zope.proxy-5.2/appveyor.yml
--- old/zope.proxy-5.1/appveyor.yml 2023-10-05 16:39:39.000000000 +0200
+++ new/zope.proxy-5.2/appveyor.yml 2024-02-09 08:25:19.000000000 +0100
@@ -15,6 +15,9 @@
- python: 310-x64
- python: 311-x64
- python: 312-x64
+ # `multibuild` cannot install non-final versions as they are not on
+ # ftp.python.org, so we skip Python 3.13 until its final release:
+ # - python: 313-x64
install:
- "SET PYTHONVERSION=%PYTHON%"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.proxy-5.1/docs/_build/doctest/output.txt
new/zope.proxy-5.2/docs/_build/doctest/output.txt
--- old/zope.proxy-5.1/docs/_build/doctest/output.txt 2023-10-05
12:40:24.000000000 +0200
+++ new/zope.proxy-5.2/docs/_build/doctest/output.txt 1970-01-01
01:00:00.000000000 +0100
@@ -1,25 +0,0 @@
-Results of doctest builder run on 2023-10-05 12:40:24
-=====================================================
-
-Document: narr
---------------
-1 items passed all tests:
- 37 tests in default
-37 tests in 1 items.
-37 passed and 0 failed.
-Test passed.
-
-Document: api
--------------
-1 items passed all tests:
- 23 tests in default
-23 tests in 1 items.
-23 passed and 0 failed.
-Test passed.
-
-Doctest summary
-===============
- 60 tests
- 0 failures in tests
- 0 failures in setup code
- 0 failures in cleanup code
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.proxy-5.1/docs/_build/html/_sources/api.rst.txt
new/zope.proxy-5.2/docs/_build/html/_sources/api.rst.txt
--- old/zope.proxy-5.1/docs/_build/html/_sources/api.rst.txt 2022-11-02
11:12:52.000000000 +0100
+++ new/zope.proxy-5.2/docs/_build/html/_sources/api.rst.txt 1970-01-01
01:00:00.000000000 +0100
@@ -1,95 +0,0 @@
-:mod:`zope.proxy` API
-=====================
-
-:mod:`zope.proxy.interfaces`
-----------------------------
-
-.. automodule:: zope.proxy.interfaces
-
- .. autointerface:: IProxyIntrospection
- :members:
- :member-order: bysource
-
-
-:mod:`zope.proxy`
------------------
-
-.. automodule:: zope.proxy
- :members:
-
-
-:mod:`zope.proxy.decorator`
----------------------------
-
-.. automodule:: zope.proxy.decorator
-
- .. doctest::
-
- >>> from zope.interface import Interface
- >>> from zope.interface import directlyProvides
- >>> from zope.interface import implementer
- >>> class I1(Interface):
- ... pass
- >>> class I2(Interface):
- ... pass
- >>> class I3(Interface):
- ... pass
- >>> class I4(Interface):
- ... pass
- >>> from zope.proxy.decorator import SpecificationDecoratorBase
- >>> @implementer(I1)
- ... class D1(SpecificationDecoratorBase):
- ... pass
- >>> @implementer(I2)
- ... class D2(SpecificationDecoratorBase):
- ... pass
- >>> @implementer(I3)
- ... class X(object):
- ... pass
- >>> x = X()
- >>> directlyProvides(x, I4)
-
- Interfaces of X are ordered with the directly-provided interfaces first.
-
- .. doctest::
-
- >>> from zope.interface import providedBy
- >>> [interface.getName() for interface in list(providedBy(x))]
- ['I4', 'I3']
-
- When we decorate objects, what order should the interfaces come
- in? One could argue that decorators are less specific, so they
- should come last.
-
- .. doctest::
-
- >>> [interface.getName() for interface in list(providedBy(D1(x)))]
- ['I4', 'I3', 'I1']
-
- >>> [interface.getName() for interface in list(providedBy(D2(D1(x))))]
- ['I4', 'I3', 'I1', 'I2']
-
- SpecificationDecorators also work with old-style classes:
-
- .. doctest::
-
- >>> @implementer(I3)
- ... class X:
- ... pass
-
- >>> x = X()
- >>> directlyProvides(x, I4)
-
- >>> [interface.getName() for interface in list(providedBy(x))]
- ['I4', 'I3']
-
- >>> [interface.getName() for interface in list(providedBy(D1(x)))]
- ['I4', 'I3', 'I1']
-
- >>> [interface.getName() for interface in list(providedBy(D2(D1(x))))]
- ['I4', 'I3', 'I1', 'I2']
-
- .. autoclass:: DecoratorSpecificationDescriptor
- :members:
-
- .. autoclass:: SpecificationDecoratorBase
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zope.proxy-5.1/docs/_build/html/_sources/changes.rst.txt
new/zope.proxy-5.2/docs/_build/html/_sources/changes.rst.txt
--- old/zope.proxy-5.1/docs/_build/html/_sources/changes.rst.txt
2022-11-02 11:12:52.000000000 +0100
+++ new/zope.proxy-5.2/docs/_build/html/_sources/changes.rst.txt
1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-.. include:: ../CHANGES.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zope.proxy-5.1/docs/_build/html/_sources/hacking.rst.txt
new/zope.proxy-5.2/docs/_build/html/_sources/hacking.rst.txt
--- old/zope.proxy-5.1/docs/_build/html/_sources/hacking.rst.txt
2022-11-02 11:12:52.000000000 +0100
+++ new/zope.proxy-5.2/docs/_build/html/_sources/hacking.rst.txt
1970-01-01 01:00:00.000000000 +0100
@@ -1,311 +0,0 @@
-Hacking on :mod:`zope.proxy`
-============================
-
-
-Getting the Code
-################
-
-The main repository for :mod:`zope.proxy` is in the Zope Foundation
-Github repository:
-
- https://github.com/zopefoundation/zope.proxy
-
-You can get a read-only checkout from there:
-
-.. code-block:: sh
-
- $ git clone https://github.com/zopefoundation/zope.proxy.git
-
-or fork it and get a writeable checkout of your fork:
-
-.. code-block:: sh
-
- $ git clone [email protected]/jrandom/zope.proxy.git
-
-The project also mirrors the trunk from the Github repository as a
-Bazaar branch on Launchpad:
-
-https://code.launchpad.net/zope.proxy
-
-You can branch the trunk from there using Bazaar:
-
-.. code-block:: sh
-
- $ bzr branch lp:zope.proxy
-
-
-Working in a ``virtualenv``
-###########################
-
-Installing
-----------
-
-If you use the ``virtualenv`` package to create lightweight Python
-development environments, you can run the tests using nothing more
-than the ``python`` binary in a virtualenv. First, create a scratch
-environment:
-
-.. code-block:: sh
-
- $ /path/to/virtualenv --no-site-packages /tmp/hack-zope.proxy
-
-Next, get this package registered as a "development egg" in the
-environment:
-
-.. code-block:: sh
-
- $ /tmp/hack-zope.proxy/bin/python setup.py develop
-
-Running the tests
------------------
-
-Then, you canrun the tests using the build-in ``setuptools`` testrunner:
-
-.. code-block:: sh
-
- $ /tmp/hack-zope.proxy/bin/python setup.py test -q
-
...................................................................................................................................................
- ----------------------------------------------------------------------
- Ran 147 tests in 0.010s
-
- OK
-
-
-If you have the :mod:`nose` package installed in the virtualenv, you can
-use its testrunner too:
-
-.. code-block:: sh
-
- $ /tmp/hack-zope.proxy/bin/easy_install nose
- ...
- $ /tmp/hack-zope.proxy/bin/nosetests
-
.....................................................................................................................................................
- ----------------------------------------------------------------------
- Ran 149 tests in 0.107s
-
- OK
-
-If you have the :mod:`coverage` pacakge installed in the virtualenv,
-you can see how well the tests cover the code:
-
-.. code-block:: sh
-
- $ /tmp/hack-zope.proxy/bin/easy_install nose coverage
- ...
- $ /tmp/hack-zope.proxy/bin/nosetests --with coverage
-
.....................................................................................................................................................
- Name Stmts Miss Cover Missing
- -----------------------------------------------------
- zope.proxy 271 0 100%
- zope.proxy._compat 2 0 100%
- zope.proxy.decorator 18 0 100%
- zope.proxy.interfaces 10 0 100%
- -----------------------------------------------------
- TOTAL 301 0 100%
- ----------------------------------------------------------------------
- Ran 149 tests in 0.148s
-
- OK
-
-
-Building the documentation
---------------------------
-
-:mod:`zope.proxy` uses the nifty :mod:`Sphinx` documentation system
-for building its docs. Using the same virtualenv you set up to run the
-tests, you can build the docs:
-
-.. code-block:: sh
-
- $ /tmp/hack-zope.proxy/bin/easy_install Sphinx
- ...
- $ cd docs
- $ /tmp/hack-zope.proxy/bin/sphinx-build \
- -b html -d _build/doctrees . _build/html
- ...
- build succeeded.
-
-You can also test the code snippets in the documentation:
-
-.. code-block:: sh
-
- $ /tmp/hack-zope.proxy/bin/sphinx-build \
- -b doctest -d _build/doctrees . _build/doctest
- ...
- running tests...
-
- Document: api
- -------------
- 1 items passed all tests:
- 23 tests in default
- 23 tests in 1 items.
- 23 passed and 0 failed.
- Test passed.
-
- Document: narr
- --------------
- 1 items passed all tests:
- 37 tests in default
- 37 tests in 1 items.
- 37 passed and 0 failed.
- Test passed.
-
- Doctest summary
- ===============
- 60 tests
- 0 failures in tests
- 0 failures in setup code
- 0 failures in cleanup code
- build succeeded.
-
-
-
-Using :mod:`zc.buildout`
-########################
-
-Setting up the buildout
------------------------
-
-:mod:`zope.proxy` ships with its own :file:`buildout.cfg` file and
-:file:`bootstrap.py` for setting up a development buildout:
-
-.. code-block:: sh
-
- $ /path/to/python2.6 bootstrap.py
- ...
- Generated script '.../bin/buildout'
- $ bin/buildout
- Develop: '/home/jrandom/projects/Zope/BTK/event/.'
- ...
- Generated script '.../bin/test'.
-
-Running the tests
------------------
-
-You can now run the tests:
-
-.. code-block:: sh
-
- $ bin/test --all
- Running zope.testing.testrunner.layer.UnitTests tests:
- Set up zope.testing.testrunner.layer.UnitTests in 0.000 seconds.
- Ran 147 tests with 0 failures and 0 errors in 0.000 seconds.
- Tearing down left over layers:
- Tear down zope.testing.testrunner.layer.UnitTests in 0.000 seconds.
-
-
-
-Using :mod:`tox`
-################
-
-Running Tests on Multiple Python Versions
------------------------------------------
-
-`tox <http://tox.testrun.org/latest/>`_ is a Python-based test automation
-tool designed to run tests against multiple Python versions. It creates
-a ``virtualenv`` for each configured version, installs the current package
-and configured dependencies into each ``virtualenv``, and then runs the
-configured commands.
-
-:mod:`zope.proxy` configures the following :mod:`tox` environments via
-its ``tox.ini`` file:
-
-- The ``py26``, ``py27``, ``py33``, ``py34``, and ``pypy`` environments
- builds a ``virtualenv`` with ``pypy``,
- installs :mod:`zope.proxy` and dependencies, and runs the tests
- via ``python setup.py test -q``.
-
-- The ``coverage`` environment builds a ``virtualenv`` with ``python2.6``,
- installs :mod:`zope.proxy`, installs
- :mod:`nose` and :mod:`coverage`, and runs ``nosetests`` with statement
- coverage.
-
-- The ``docs`` environment builds a virtualenv with ``python2.6``, installs
- :mod:`zope.proxy`, installs ``Sphinx`` and
- dependencies, and then builds the docs and exercises the doctest snippets.
-
-This example requires that you have a working ``python2.6`` on your path,
-as well as installing ``tox``:
-
-.. code-block:: sh
-
- $ tox -e py26
- GLOB sdist-make: .../zope.proxy/setup.py
- py26 sdist-reinst: .../zope.proxy/.tox/dist/zope.proxy-4.0.2dev.zip
- py26 runtests: commands[0]
- ...
- ----------------------------------------------------------------------
- Ran 147 tests in 0.000s
-
- OK
- ___________________________________ summary
____________________________________
- py26: commands succeeded
- congratulations :)
-
-Running ``tox`` with no arguments runs all the configured environments,
-including building the docs and testing their snippets:
-
-.. code-block:: sh
-
- $ tox
- GLOB sdist-make: .../zope.proxy/setup.py
- py26 sdist-reinst: .../zope.proxy/.tox/dist/zope.proxy-4.0.2dev.zip
- py26 runtests: commands[0]
- ...
- Doctest summary
- ===============
- 60 tests
- 0 failures in tests
- 0 failures in setup code
- 0 failures in cleanup code
- build succeeded.
- ___________________________________ summary
____________________________________
- py26: commands succeeded
- py27: commands succeeded
- py32: commands succeeded
- pypy: commands succeeded
- coverage: commands succeeded
- docs: commands succeeded
- congratulations :)
-
-
-Contributing to :mod:`zope.proxy`
-#################################
-
-Submitting a Bug Report
------------------------
-
-:mod:`zope.proxy` tracks its bugs on Github:
-
- https://github.com/zopefoundation/zope.proxy/issues
-
-Please submit bug reports and feature requests there.
-
-
-Sharing Your Changes
---------------------
-
-.. note::
-
- Please ensure that all tests are passing before you submit your code.
- If possible, your submission should include new tests for new features
- or bug fixes, although it is possible that you may have tested your
- new code by updating existing tests.
-
-If have made a change you would like to share, the best route is to fork
-the Githb repository, check out your fork, make your changes on a branch
-in your fork, and push it. You can then submit a pull request from your
-branch:
-
- https://github.com/zopefoundation/zope.proxy/pulls
-
-If you branched the code from Launchpad using Bazaar, you have another
-option: you can "push" your branch to Launchpad:
-
-.. code-block:: sh
-
- $ bzr push lp:~jrandom/zope.proxy/cool_feature
-
-After pushing your branch, you can link it to a bug report on Github,
-or request that the maintainers merge your branch using the Launchpad
-"merge request" feature.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zope.proxy-5.1/docs/_build/html/_sources/index.rst.txt
new/zope.proxy-5.2/docs/_build/html/_sources/index.rst.txt
--- old/zope.proxy-5.1/docs/_build/html/_sources/index.rst.txt 2022-11-02
11:12:52.000000000 +0100
+++ new/zope.proxy-5.2/docs/_build/html/_sources/index.rst.txt 1970-01-01
01:00:00.000000000 +0100
@@ -1,20 +0,0 @@
-:mod:`zope.proxy`
-=================
-
-Contents:
-
-.. toctree::
- :maxdepth: 2
-
- narr
- api
- hacking
- changes
-
-
-Indices and tables
-==================
-
-* :ref:`genindex`
-* :ref:`modindex`
-* :ref:`search`
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zope.proxy-5.1/docs/_build/html/_sources/narr.rst.txt
new/zope.proxy-5.2/docs/_build/html/_sources/narr.rst.txt
--- old/zope.proxy-5.1/docs/_build/html/_sources/narr.rst.txt 2022-11-02
11:12:52.000000000 +0100
+++ new/zope.proxy-5.2/docs/_build/html/_sources/narr.rst.txt 1970-01-01
01:00:00.000000000 +0100
@@ -1,153 +0,0 @@
-:mod:`zope.proxy` Narrative Documentation
-=========================================
-
-Subclassing :class:`ProxyBase`
-------------------------------
-
-If you subclass a proxy, instances of the subclass have access to
-data defined in the class, including descriptors.
-
-Your subclass instances don't get instance dictionaries, but they
-can have slots.
-
-.. doctest::
-
- >>> from zope.proxy import ProxyBase
- >>> class MyProxy(ProxyBase):
- ... __slots__ = 'x', 'y'
- ...
- ... def f(self):
- ... return self.x
-
- >>> l = [1, 2, 3]
- >>> p = MyProxy(l)
-
-You can use attributes defined by the class, including slots:
-
-.. doctest::
-
- >>> p.x = 'x'
- >>> p.x
- 'x'
- >>> p.f()
- 'x'
-
-You can also use attributes of the proxied object:
-
-.. doctest::
-
- >>> p
- [1, 2, 3]
- >>> p.pop()
- 3
- >>> p
- [1, 2]
-
-
-Using get descriptors in proxy classes
---------------------------------------
-
-A non-data descriptor in a proxy class doesn't hide an attribute on
-a proxied object or prevent writing the attribute.
-
-.. doctest::
-
- >>> class ReadDescr(object):
- ... def __get__(self, i, c):
- ... return 'read'
-
- >>> from zope.proxy import ProxyBase
- >>> class MyProxy(ProxyBase):
- ... __slots__ = ()
- ...
- ... z = ReadDescr()
- ... q = ReadDescr()
-
- >>> class MyOb:
- ... q = 1
-
- >>> o = MyOb()
- >>> p = MyProxy(o)
- >>> p.q
- 1
-
- >>> p.z
- 'read'
-
- >>> p.z = 1
- >>> o.z, p.z
- (1, 1)
-
-
-Marking proxy attributes as non-overridable
--------------------------------------------
-
-Normally, methods defined in proxies are overridden by
-methods of proxied objects. This applies to all non-data
-descriptors. The non_overridable function can be used to
-convert a non-data descriptor to a data descriptor that disallows
-writes. This function can be used as a decorator to make functions
-defined in proxy classes take precedence over functions defined
-in proxied objects.
-
-.. doctest::
-
- >>> from zope.proxy import ProxyBase
- >>> from zope.proxy import non_overridable
- >>> class MyProxy(ProxyBase):
- ... __slots__ = ()
- ...
- ... @non_overridable
- ... def foo(self):
- ... return 'MyProxy foo'
-
- >>> class MyOb:
- ... def foo(self):
- ... return 'MyOb foo'
-
- >>> o = MyOb()
- >>> p = MyProxy(o)
- >>> p.foo()
- 'MyProxy foo'
-
-
-Changing the proxied object
----------------------------
-
-.. doctest::
-
- >>> from zope.proxy import ProxyBase
- >>> from zope.proxy import setProxiedObject, getProxiedObject
-
- >>> class C(object):
- ... pass
-
- >>> c1 = C()
- >>> c2 = C()
-
- >>> p = ProxyBase(c1)
-
-`setProxiedObject()` allows us to change the object a proxy refers to,
-returning the previous referent:
-
-.. doctest::
-
- >>> old = setProxiedObject(p, c2)
- >>> old is c1
- True
-
- >>> getProxiedObject(p) is c2
- True
-
-The first argument to `setProxiedObject()` must be a proxy; other objects
-cause it to raise an exception:
-
-.. doctest::
-
- >>> try:
- ... setProxiedObject(c1, None)
- ... except TypeError:
- ... print("TypeError raised")
- ... else:
- ... print("Expected TypeError not raised")
- TypeError raised
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.proxy-5.1/setup.py new/zope.proxy-5.2/setup.py
--- old/zope.proxy-5.1/setup.py 2023-10-05 16:39:39.000000000 +0200
+++ new/zope.proxy-5.2/setup.py 2024-02-09 08:25:19.000000000 +0100
@@ -79,7 +79,7 @@
headers = [os.path.join('src', 'zope', 'proxy', 'proxy.h')]
setup(name='zope.proxy',
- version='5.1',
+ version='5.2',
author='Zope Foundation and Contributors',
author_email='[email protected]',
description='Generic Transparent Proxies',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.proxy-5.1/src/zope/proxy/_zope_proxy_proxy.c
new/zope.proxy-5.2/src/zope/proxy/_zope_proxy_proxy.c
--- old/zope.proxy-5.1/src/zope/proxy/_zope_proxy_proxy.c 2023-01-18
09:02:16.000000000 +0100
+++ new/zope.proxy-5.2/src/zope/proxy/_zope_proxy_proxy.c 2024-02-09
08:25:19.000000000 +0100
@@ -321,8 +321,7 @@
wrap_call(PyObject *self, PyObject *args, PyObject *kw)
{
if (kw)
- return PyEval_CallObjectWithKeywords(Proxy_GET_OBJECT(self),
- args, kw);
+ return PyObject_Call(Proxy_GET_OBJECT(self), args, kw);
else
return PyObject_CallObject(Proxy_GET_OBJECT(self), args);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.proxy-5.1/src/zope/proxy/tests/test_proxy.py
new/zope.proxy-5.2/src/zope/proxy/tests/test_proxy.py
--- old/zope.proxy-5.1/src/zope/proxy/tests/test_proxy.py 2023-01-18
09:02:16.000000000 +0100
+++ new/zope.proxy-5.2/src/zope/proxy/tests/test_proxy.py 2024-02-09
08:25:19.000000000 +0100
@@ -44,12 +44,6 @@
getslice = '__getitem__'
setslice = '__setitem__'
- # Avoid DeprecationWarning for assertRaisesRegexp on Python 3 while
- # coping with Python 2 not having the Regex spelling variant
- assertRaisesRegex = getattr(
- unittest.TestCase, 'assertRaisesRegex',
- getattr(unittest.TestCase, 'assertRaisesRegexp', None))
-
def _getTargetClass(self):
from zope.proxy import PyProxyBase
return PyProxyBase
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.proxy-5.1/src/zope.proxy.egg-info/PKG-INFO
new/zope.proxy-5.2/src/zope.proxy.egg-info/PKG-INFO
--- old/zope.proxy-5.1/src/zope.proxy.egg-info/PKG-INFO 2023-10-05
16:59:54.000000000 +0200
+++ new/zope.proxy-5.2/src/zope.proxy.egg-info/PKG-INFO 2024-02-09
08:25:20.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: zope.proxy
-Version: 5.1
+Version: 5.2
Summary: Generic Transparent Proxies
Home-page: http://github.com/zopefoundation/zope.proxy
Author: Zope Foundation and Contributors
@@ -80,6 +80,12 @@
Changes
=========
+5.2 (2024-02-09)
+================
+
+- Add preliminary support for Python 3.13 as of 3.13a3.
+
+
5.1 (2023-10-05)
================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.proxy-5.1/src/zope.proxy.egg-info/SOURCES.txt
new/zope.proxy-5.2/src/zope.proxy.egg-info/SOURCES.txt
--- old/zope.proxy-5.1/src/zope.proxy.egg-info/SOURCES.txt 2023-10-05
16:59:54.000000000 +0200
+++ new/zope.proxy-5.2/src/zope.proxy.egg-info/SOURCES.txt 2024-02-09
08:25:20.000000000 +0100
@@ -22,12 +22,6 @@
docs/make.bat
docs/narr.rst
docs/requirements.txt
-docs/_build/doctest/output.txt
-docs/_build/html/_sources/api.rst.txt
-docs/_build/html/_sources/changes.rst.txt
-docs/_build/html/_sources/hacking.rst.txt
-docs/_build/html/_sources/index.rst.txt
-docs/_build/html/_sources/narr.rst.txt
src/zope/__init__.py
src/zope.proxy.egg-info/PKG-INFO
src/zope.proxy.egg-info/SOURCES.txt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.proxy-5.1/tox.ini new/zope.proxy-5.2/tox.ini
--- old/zope.proxy-5.1/tox.ini 2023-10-05 16:39:39.000000000 +0200
+++ new/zope.proxy-5.2/tox.ini 2024-02-09 08:25:19.000000000 +0100
@@ -10,14 +10,17 @@
py310,py310-pure
py311,py311-pure
py312,py312-pure
+ py313,py313-pure
pypy3
docs
coverage
[testenv]
usedevelop = true
+pip_pre = py313: true
deps =
py37: urllib3 < 2
+ Sphinx
setenv =
pure: PURE_PYTHON=1
!pure-!pypy3: PURE_PYTHON=0
@@ -44,21 +47,32 @@
coverage run -m zope.testrunner --test-path=src {posargs:-vc}
coverage html -i
coverage report -i -m --fail-under=99
-
-[testenv:lint]
+[testenv:release-check]
+description = ensure that the distribution is ready to release
basepython = python3
skip_install = true
+deps =
+ twine
+ build
+ check-manifest
+ check-python-versions >= 0.20.0
+ wheel
+commands_pre =
commands =
- isort --check-only --diff {toxinidir}/src {toxinidir}/setup.py
- flake8 src setup.py
check-manifest
check-python-versions
+ python -m build --sdist --no-isolation
+ twine check dist/*
+
+[testenv:lint]
+basepython = python3
+skip_install = true
deps =
- check-manifest
- check-python-versions >= 0.19.1
- wheel
- flake8
isort
+ flake8
+commands =
+ isort --check-only --diff {toxinidir}/src {toxinidir}/setup.py
+ flake8 src setup.py
[testenv:isort-apply]
basepython = python3