<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/zope-interface.git/docs, branch issue193</title>
<subtitle>github.com: zopefoundation/zope.interface.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/'/>
<entry>
<title>Make Declaration.__add__ try harder to produce consistent resolution orders.</title>
<updated>2021-04-01T12:11:26+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2021-04-01T11:59:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=eb542a8a75f93de7f1accbb448820c533bdb4ee3'/>
<id>eb542a8a75f93de7f1accbb448820c533bdb4ee3</id>
<content type='text'>
By moving things from the RHS to the front of the list if they already extend something from the LHS.

Fixes #193
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
By moving things from the RHS to the front of the list if they already extend something from the LHS.

Fixes #193
</pre>
</div>
</content>
</entry>
<entry>
<title>Update repr() and str() of some common objects.</title>
<updated>2021-03-25T15:30:47+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2021-03-25T15:30:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=ce8f66f8bf4ebffca7cdf95dbb8c5add02251e91'/>
<id>ce8f66f8bf4ebffca7cdf95dbb8c5add02251e91</id>
<content type='text'>
Only InterfaceClass got a str, so it now has a distinction. Other objects only got updated reprs.

Note: This may potentially break some doctests.

In many cases, the ``repr()`` is now something that can be evaluated
to produce an equal object. For example, what was previously printed
as ``&lt;implementedBy builtins.list&gt;`` is now shown as
``classImplements(list, IMutableSequence, IIterable)``.

Fixes #236

Here's a before with ZOPE_INTERFACE_LOG_CHANGED_IRO=1 in BTrees:
```
Object &lt;implementedBy builtins.list&gt; has different legacy and C3 MROs:
  Legacy RO (len=11)                                                        C3 RO (len=11; inconsistent=no)
  ==================================================================================================================================================
    &lt;implementedBy builtins.list&gt;                                             &lt;implementedBy builtins.list&gt;
    &lt;ABCInterfaceClass zope.interface.common.collections.IMutableSequence&gt;    &lt;ABCInterfaceClass zope.interface.common.collections.IMutableSequence&gt;
    &lt;ABCInterfaceClass zope.interface.common.collections.ISequence&gt;           &lt;ABCInterfaceClass zope.interface.common.collections.ISequence&gt;
    &lt;ABCInterfaceClass zope.interface.common.collections.IReversible&gt;         &lt;ABCInterfaceClass zope.interface.common.collections.IReversible&gt;
    &lt;ABCInterfaceClass zope.interface.common.collections.ICollection&gt;         &lt;ABCInterfaceClass zope.interface.common.collections.ICollection&gt;
    &lt;ABCInterfaceClass zope.interface.common.collections.ISized&gt;              &lt;ABCInterfaceClass zope.interface.common.collections.ISized&gt;
                                                                            + &lt;ABCInterfaceClass zope.interface.common.collections.IIterable&gt;
    &lt;ABCInterfaceClass zope.interface.common.collections.IContainer&gt;          &lt;ABCInterfaceClass zope.interface.common.collections.IContainer&gt;
  - &lt;ABCInterfaceClass zope.interface.common.collections.IIterable&gt;
    &lt;ABCInterfaceClass zope.interface.common.ABCInterface&gt;                    &lt;ABCInterfaceClass zope.interface.common.ABCInterface&gt;
                                                                            + &lt;implementedBy builtins.object&gt;
    &lt;InterfaceClass zope.interface.Interface&gt;                                 &lt;InterfaceClass zope.interface.Interface&gt;
  - &lt;implementedBy builtins.object&gt;
Object &lt;ABCInterfaceClass zope.interface.common.mapping.IFullMapping&gt; has different legacy and C3 MROs:
  Legacy RO (len=18)                                                       C3 RO (len=18; inconsistent=no)
  ================================================================================================================================================
    &lt;ABCInterfaceClass zope.interface.common.mapping.IFullMapping&gt;           &lt;ABCInterfaceClass zope.interface.common.mapping.IFullMapping&gt;
    &lt;ABCInterfaceClass zope.interface.common.collections.IMutableMapping&gt;    &lt;ABCInterfaceClass zope.interface.common.collections.IMutableMapping&gt;
    &lt;ABCInterfaceClass zope.interface.common.collections.IMapping&gt;           &lt;ABCInterfaceClass zope.interface.common.collections.IMapping&gt;
    &lt;ABCInterfaceClass zope.interface.common.collections.ICollection&gt;        &lt;ABCInterfaceClass zope.interface.common.collections.ICollection&gt;
  - &lt;ABCInterfaceClass zope.interface.common.collections.IIterable&gt;
    &lt;InterfaceClass zope.interface.common.mapping.IExtendedReadMapping&gt;      &lt;InterfaceClass zope.interface.common.mapping.IExtendedReadMapping&gt;
    &lt;InterfaceClass zope.interface.common.mapping.IIterableMapping&gt;          &lt;InterfaceClass zope.interface.common.mapping.IIterableMapping&gt;
    &lt;InterfaceClass zope.interface.common.mapping.IExtendedWriteMapping&gt;     &lt;InterfaceClass zope.interface.common.mapping.IExtendedWriteMapping&gt;
    &lt;InterfaceClass zope.interface.common.mapping.IClonableMapping&gt;          &lt;InterfaceClass zope.interface.common.mapping.IClonableMapping&gt;
    &lt;InterfaceClass zope.interface.common.mapping.IMapping&gt;                  &lt;InterfaceClass zope.interface.common.mapping.IMapping&gt;
    &lt;InterfaceClass zope.interface.common.mapping.IWriteMapping&gt;             &lt;InterfaceClass zope.interface.common.mapping.IWriteMapping&gt;
    &lt;InterfaceClass zope.interface.common.mapping.IEnumerableMapping&gt;        &lt;InterfaceClass zope.interface.common.mapping.IEnumerableMapping&gt;
    &lt;ABCInterfaceClass zope.interface.common.collections.ISized&gt;             &lt;ABCInterfaceClass zope.interface.common.collections.ISized&gt;
                                                                           + &lt;ABCInterfaceClass zope.interface.common.collections.IIterable&gt;
    &lt;InterfaceClass zope.interface.common.mapping.IReadMapping&gt;              &lt;InterfaceClass zope.interface.common.mapping.IReadMapping&gt;
    &lt;ABCInterfaceClass zope.interface.common.collections.IContainer&gt;         &lt;ABCInterfaceClass zope.interface.common.collections.IContainer&gt;
    &lt;ABCInterfaceClass zope.interface.common.ABCInterface&gt;                   &lt;ABCInterfaceClass zope.interface.common.ABCInterface&gt;
    &lt;InterfaceClass zope.interface.common.mapping.IItemMapping&gt;              &lt;InterfaceClass zope.interface.common.mapping.IItemMapping&gt;
    &lt;InterfaceClass zope.interface.Interface&gt;                                &lt;InterfaceClass zope.interface.Interface&gt;
Object &lt;InterfaceClass BTrees.Interfaces.ISet&gt; has different legacy and C3 MROs:
  Legacy RO (len=7)                                  C3 RO (len=7; inconsistent=no)
  ====================================================================================================
    &lt;InterfaceClass BTrees.Interfaces.ISet&gt;            &lt;InterfaceClass BTrees.Interfaces.ISet&gt;
    &lt;InterfaceClass BTrees.Interfaces.IKeySequence&gt;    &lt;InterfaceClass BTrees.Interfaces.IKeySequence&gt;
  - &lt;InterfaceClass BTrees.Interfaces.ISized&gt;
    &lt;InterfaceClass BTrees.Interfaces.ISetMutable&gt;     &lt;InterfaceClass BTrees.Interfaces.ISetMutable&gt;
    &lt;InterfaceClass BTrees.Interfaces.IKeyed&gt;          &lt;InterfaceClass BTrees.Interfaces.IKeyed&gt;
    &lt;InterfaceClass BTrees.Interfaces.ICollection&gt;     &lt;InterfaceClass BTrees.Interfaces.ICollection&gt;
                                                     + &lt;InterfaceClass BTrees.Interfaces.ISized&gt;
    &lt;InterfaceClass zope.interface.Interface&gt;          &lt;InterfaceClass zope.interface.Interface&gt;
```

And here's after:

```
Object classImplements(list, IMutableSequence, IIterable) has different legacy and C3 MROs:
  Legacy RO (len=11)                                    C3 RO (len=11; inconsistent=no)
  ==========================================================================================================
    classImplements(list, IMutableSequence, IIterable)    classImplements(list, IMutableSequence, IIterable)
    zope.interface.common.collections.IMutableSequence    zope.interface.common.collections.IMutableSequence
    zope.interface.common.collections.ISequence           zope.interface.common.collections.ISequence
    zope.interface.common.collections.IReversible         zope.interface.common.collections.IReversible
    zope.interface.common.collections.ICollection         zope.interface.common.collections.ICollection
    zope.interface.common.collections.ISized              zope.interface.common.collections.ISized
                                                        + zope.interface.common.collections.IIterable
    zope.interface.common.collections.IContainer          zope.interface.common.collections.IContainer
  - zope.interface.common.collections.IIterable
    zope.interface.common.ABCInterface                    zope.interface.common.ABCInterface
                                                        + classImplements(object)
    zope.interface.Interface                              zope.interface.Interface
  - classImplements(object)
Object &lt;ABCInterfaceClass zope.interface.common.mapping.IFullMapping&gt; has different legacy and C3 MROs:
  Legacy RO (len=18)                                     C3 RO (len=18; inconsistent=no)
  ============================================================================================================
    zope.interface.common.mapping.IFullMapping             zope.interface.common.mapping.IFullMapping
    zope.interface.common.collections.IMutableMapping      zope.interface.common.collections.IMutableMapping
    zope.interface.common.collections.IMapping             zope.interface.common.collections.IMapping
    zope.interface.common.collections.ICollection          zope.interface.common.collections.ICollection
  - zope.interface.common.collections.IIterable
    zope.interface.common.mapping.IExtendedReadMapping     zope.interface.common.mapping.IExtendedReadMapping
    zope.interface.common.mapping.IIterableMapping         zope.interface.common.mapping.IIterableMapping
    zope.interface.common.mapping.IExtendedWriteMapping    zope.interface.common.mapping.IExtendedWriteMapping
    zope.interface.common.mapping.IClonableMapping         zope.interface.common.mapping.IClonableMapping
    zope.interface.common.mapping.IMapping                 zope.interface.common.mapping.IMapping
    zope.interface.common.mapping.IWriteMapping            zope.interface.common.mapping.IWriteMapping
    zope.interface.common.mapping.IEnumerableMapping       zope.interface.common.mapping.IEnumerableMapping
    zope.interface.common.collections.ISized               zope.interface.common.collections.ISized
                                                         + zope.interface.common.collections.IIterable
    zope.interface.common.mapping.IReadMapping             zope.interface.common.mapping.IReadMapping
    zope.interface.common.collections.IContainer           zope.interface.common.collections.IContainer
    zope.interface.common.ABCInterface                     zope.interface.common.ABCInterface
    zope.interface.common.mapping.IItemMapping             zope.interface.common.mapping.IItemMapping
    zope.interface.Interface                               zope.interface.Interface
Object &lt;InterfaceClass BTrees.Interfaces.ISet&gt; has different legacy and C3 MROs:
  Legacy RO (len=7)                 C3 RO (len=7; inconsistent=no)
  ==================================================================
    BTrees.Interfaces.ISet            BTrees.Interfaces.ISet
    BTrees.Interfaces.IKeySequence    BTrees.Interfaces.IKeySequence
  - BTrees.Interfaces.ISized
    BTrees.Interfaces.ISetMutable     BTrees.Interfaces.ISetMutable
    BTrees.Interfaces.IKeyed          BTrees.Interfaces.IKeyed
    BTrees.Interfaces.ICollection     BTrees.Interfaces.ICollection
                                    + BTrees.Interfaces.ISized
    zope.interface.Interface          zope.interface.Interface
```
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Only InterfaceClass got a str, so it now has a distinction. Other objects only got updated reprs.

Note: This may potentially break some doctests.

In many cases, the ``repr()`` is now something that can be evaluated
to produce an equal object. For example, what was previously printed
as ``&lt;implementedBy builtins.list&gt;`` is now shown as
``classImplements(list, IMutableSequence, IIterable)``.

Fixes #236

Here's a before with ZOPE_INTERFACE_LOG_CHANGED_IRO=1 in BTrees:
```
Object &lt;implementedBy builtins.list&gt; has different legacy and C3 MROs:
  Legacy RO (len=11)                                                        C3 RO (len=11; inconsistent=no)
  ==================================================================================================================================================
    &lt;implementedBy builtins.list&gt;                                             &lt;implementedBy builtins.list&gt;
    &lt;ABCInterfaceClass zope.interface.common.collections.IMutableSequence&gt;    &lt;ABCInterfaceClass zope.interface.common.collections.IMutableSequence&gt;
    &lt;ABCInterfaceClass zope.interface.common.collections.ISequence&gt;           &lt;ABCInterfaceClass zope.interface.common.collections.ISequence&gt;
    &lt;ABCInterfaceClass zope.interface.common.collections.IReversible&gt;         &lt;ABCInterfaceClass zope.interface.common.collections.IReversible&gt;
    &lt;ABCInterfaceClass zope.interface.common.collections.ICollection&gt;         &lt;ABCInterfaceClass zope.interface.common.collections.ICollection&gt;
    &lt;ABCInterfaceClass zope.interface.common.collections.ISized&gt;              &lt;ABCInterfaceClass zope.interface.common.collections.ISized&gt;
                                                                            + &lt;ABCInterfaceClass zope.interface.common.collections.IIterable&gt;
    &lt;ABCInterfaceClass zope.interface.common.collections.IContainer&gt;          &lt;ABCInterfaceClass zope.interface.common.collections.IContainer&gt;
  - &lt;ABCInterfaceClass zope.interface.common.collections.IIterable&gt;
    &lt;ABCInterfaceClass zope.interface.common.ABCInterface&gt;                    &lt;ABCInterfaceClass zope.interface.common.ABCInterface&gt;
                                                                            + &lt;implementedBy builtins.object&gt;
    &lt;InterfaceClass zope.interface.Interface&gt;                                 &lt;InterfaceClass zope.interface.Interface&gt;
  - &lt;implementedBy builtins.object&gt;
Object &lt;ABCInterfaceClass zope.interface.common.mapping.IFullMapping&gt; has different legacy and C3 MROs:
  Legacy RO (len=18)                                                       C3 RO (len=18; inconsistent=no)
  ================================================================================================================================================
    &lt;ABCInterfaceClass zope.interface.common.mapping.IFullMapping&gt;           &lt;ABCInterfaceClass zope.interface.common.mapping.IFullMapping&gt;
    &lt;ABCInterfaceClass zope.interface.common.collections.IMutableMapping&gt;    &lt;ABCInterfaceClass zope.interface.common.collections.IMutableMapping&gt;
    &lt;ABCInterfaceClass zope.interface.common.collections.IMapping&gt;           &lt;ABCInterfaceClass zope.interface.common.collections.IMapping&gt;
    &lt;ABCInterfaceClass zope.interface.common.collections.ICollection&gt;        &lt;ABCInterfaceClass zope.interface.common.collections.ICollection&gt;
  - &lt;ABCInterfaceClass zope.interface.common.collections.IIterable&gt;
    &lt;InterfaceClass zope.interface.common.mapping.IExtendedReadMapping&gt;      &lt;InterfaceClass zope.interface.common.mapping.IExtendedReadMapping&gt;
    &lt;InterfaceClass zope.interface.common.mapping.IIterableMapping&gt;          &lt;InterfaceClass zope.interface.common.mapping.IIterableMapping&gt;
    &lt;InterfaceClass zope.interface.common.mapping.IExtendedWriteMapping&gt;     &lt;InterfaceClass zope.interface.common.mapping.IExtendedWriteMapping&gt;
    &lt;InterfaceClass zope.interface.common.mapping.IClonableMapping&gt;          &lt;InterfaceClass zope.interface.common.mapping.IClonableMapping&gt;
    &lt;InterfaceClass zope.interface.common.mapping.IMapping&gt;                  &lt;InterfaceClass zope.interface.common.mapping.IMapping&gt;
    &lt;InterfaceClass zope.interface.common.mapping.IWriteMapping&gt;             &lt;InterfaceClass zope.interface.common.mapping.IWriteMapping&gt;
    &lt;InterfaceClass zope.interface.common.mapping.IEnumerableMapping&gt;        &lt;InterfaceClass zope.interface.common.mapping.IEnumerableMapping&gt;
    &lt;ABCInterfaceClass zope.interface.common.collections.ISized&gt;             &lt;ABCInterfaceClass zope.interface.common.collections.ISized&gt;
                                                                           + &lt;ABCInterfaceClass zope.interface.common.collections.IIterable&gt;
    &lt;InterfaceClass zope.interface.common.mapping.IReadMapping&gt;              &lt;InterfaceClass zope.interface.common.mapping.IReadMapping&gt;
    &lt;ABCInterfaceClass zope.interface.common.collections.IContainer&gt;         &lt;ABCInterfaceClass zope.interface.common.collections.IContainer&gt;
    &lt;ABCInterfaceClass zope.interface.common.ABCInterface&gt;                   &lt;ABCInterfaceClass zope.interface.common.ABCInterface&gt;
    &lt;InterfaceClass zope.interface.common.mapping.IItemMapping&gt;              &lt;InterfaceClass zope.interface.common.mapping.IItemMapping&gt;
    &lt;InterfaceClass zope.interface.Interface&gt;                                &lt;InterfaceClass zope.interface.Interface&gt;
Object &lt;InterfaceClass BTrees.Interfaces.ISet&gt; has different legacy and C3 MROs:
  Legacy RO (len=7)                                  C3 RO (len=7; inconsistent=no)
  ====================================================================================================
    &lt;InterfaceClass BTrees.Interfaces.ISet&gt;            &lt;InterfaceClass BTrees.Interfaces.ISet&gt;
    &lt;InterfaceClass BTrees.Interfaces.IKeySequence&gt;    &lt;InterfaceClass BTrees.Interfaces.IKeySequence&gt;
  - &lt;InterfaceClass BTrees.Interfaces.ISized&gt;
    &lt;InterfaceClass BTrees.Interfaces.ISetMutable&gt;     &lt;InterfaceClass BTrees.Interfaces.ISetMutable&gt;
    &lt;InterfaceClass BTrees.Interfaces.IKeyed&gt;          &lt;InterfaceClass BTrees.Interfaces.IKeyed&gt;
    &lt;InterfaceClass BTrees.Interfaces.ICollection&gt;     &lt;InterfaceClass BTrees.Interfaces.ICollection&gt;
                                                     + &lt;InterfaceClass BTrees.Interfaces.ISized&gt;
    &lt;InterfaceClass zope.interface.Interface&gt;          &lt;InterfaceClass zope.interface.Interface&gt;
```

And here's after:

```
Object classImplements(list, IMutableSequence, IIterable) has different legacy and C3 MROs:
  Legacy RO (len=11)                                    C3 RO (len=11; inconsistent=no)
  ==========================================================================================================
    classImplements(list, IMutableSequence, IIterable)    classImplements(list, IMutableSequence, IIterable)
    zope.interface.common.collections.IMutableSequence    zope.interface.common.collections.IMutableSequence
    zope.interface.common.collections.ISequence           zope.interface.common.collections.ISequence
    zope.interface.common.collections.IReversible         zope.interface.common.collections.IReversible
    zope.interface.common.collections.ICollection         zope.interface.common.collections.ICollection
    zope.interface.common.collections.ISized              zope.interface.common.collections.ISized
                                                        + zope.interface.common.collections.IIterable
    zope.interface.common.collections.IContainer          zope.interface.common.collections.IContainer
  - zope.interface.common.collections.IIterable
    zope.interface.common.ABCInterface                    zope.interface.common.ABCInterface
                                                        + classImplements(object)
    zope.interface.Interface                              zope.interface.Interface
  - classImplements(object)
Object &lt;ABCInterfaceClass zope.interface.common.mapping.IFullMapping&gt; has different legacy and C3 MROs:
  Legacy RO (len=18)                                     C3 RO (len=18; inconsistent=no)
  ============================================================================================================
    zope.interface.common.mapping.IFullMapping             zope.interface.common.mapping.IFullMapping
    zope.interface.common.collections.IMutableMapping      zope.interface.common.collections.IMutableMapping
    zope.interface.common.collections.IMapping             zope.interface.common.collections.IMapping
    zope.interface.common.collections.ICollection          zope.interface.common.collections.ICollection
  - zope.interface.common.collections.IIterable
    zope.interface.common.mapping.IExtendedReadMapping     zope.interface.common.mapping.IExtendedReadMapping
    zope.interface.common.mapping.IIterableMapping         zope.interface.common.mapping.IIterableMapping
    zope.interface.common.mapping.IExtendedWriteMapping    zope.interface.common.mapping.IExtendedWriteMapping
    zope.interface.common.mapping.IClonableMapping         zope.interface.common.mapping.IClonableMapping
    zope.interface.common.mapping.IMapping                 zope.interface.common.mapping.IMapping
    zope.interface.common.mapping.IWriteMapping            zope.interface.common.mapping.IWriteMapping
    zope.interface.common.mapping.IEnumerableMapping       zope.interface.common.mapping.IEnumerableMapping
    zope.interface.common.collections.ISized               zope.interface.common.collections.ISized
                                                         + zope.interface.common.collections.IIterable
    zope.interface.common.mapping.IReadMapping             zope.interface.common.mapping.IReadMapping
    zope.interface.common.collections.IContainer           zope.interface.common.collections.IContainer
    zope.interface.common.ABCInterface                     zope.interface.common.ABCInterface
    zope.interface.common.mapping.IItemMapping             zope.interface.common.mapping.IItemMapping
    zope.interface.Interface                               zope.interface.Interface
Object &lt;InterfaceClass BTrees.Interfaces.ISet&gt; has different legacy and C3 MROs:
  Legacy RO (len=7)                 C3 RO (len=7; inconsistent=no)
  ==================================================================
    BTrees.Interfaces.ISet            BTrees.Interfaces.ISet
    BTrees.Interfaces.IKeySequence    BTrees.Interfaces.IKeySequence
  - BTrees.Interfaces.ISized
    BTrees.Interfaces.ISetMutable     BTrees.Interfaces.ISetMutable
    BTrees.Interfaces.IKeyed          BTrees.Interfaces.IKeyed
    BTrees.Interfaces.ICollection     BTrees.Interfaces.ICollection
                                    + BTrees.Interfaces.ISized
    zope.interface.Interface          zope.interface.Interface
```
</pre>
</div>
</content>
</entry>
<entry>
<title>Update docs/README.rst: Two expressions need two lines</title>
<updated>2021-03-17T16:42:18+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2021-03-17T16:42:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=686760eb268a073b277ccfaf9aab3e7d33f6f300'/>
<id>686760eb268a073b277ccfaf9aab3e7d33f6f300</id>
<content type='text'>
Co-authored-by: Michael Howitz &lt;mh@gocept.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: Michael Howitz &lt;mh@gocept.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Update the Adaptation docs to be more concrete.</title>
<updated>2021-03-17T12:39:49+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2021-03-17T12:35:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=488a317abdfa2a1fa04efd2f2d8d22a433beaaf8'/>
<id>488a317abdfa2a1fa04efd2f2d8d22a433beaaf8</id>
<content type='text'>
This should help provide better motivating use cases. Examples inspired by https://glyph.twistedmatrix.com/2021/03/interfaces-and-protocols.html

Also some minor typo fixes and updates to comments.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This should help provide better motivating use cases. Examples inspired by https://glyph.twistedmatrix.com/2021/03/interfaces-and-protocols.html

Also some minor typo fixes and updates to comments.
</pre>
</div>
</content>
</entry>
<entry>
<title>Move itertools import to module scope.</title>
<updated>2021-03-15T11:32:02+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2021-03-15T11:32:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=a8d56b9d3cd84593c0d6c6fe509b5c60058f01a8'/>
<id>a8d56b9d3cd84593c0d6c6fe509b5c60058f01a8</id>
<content type='text'>
Also tweak docs.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also tweak docs.
</pre>
</div>
</content>
</entry>
<entry>
<title>Let subclasses of BaseAdapterRegistry customize the data structures.</title>
<updated>2021-03-03T11:07:41+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2021-02-26T21:34:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=8a8285133b6f8ddc93ac54f1af84775e1ba6f698'/>
<id>8a8285133b6f8ddc93ac54f1af84775e1ba6f698</id>
<content type='text'>
Add extensive tests for this. Fixes #224.

Also adds test for, and fixes #227

Add BAR.rebuild() to fix the refcount issue, and to change datatypes.

It works by using the new methods allRegistrations() and allSubscriptions() to re-create the data in new data structures.

This makes fresh calls to subscribe() and register(). I went this way instead of trying to manually walk the data structures and create them because the logic in those methods is fully tested.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add extensive tests for this. Fixes #224.

Also adds test for, and fixes #227

Add BAR.rebuild() to fix the refcount issue, and to change datatypes.

It works by using the new methods allRegistrations() and allSubscriptions() to re-create the data in new data structures.

This makes fresh calls to subscribe() and register(). I went this way instead of trying to manually walk the data structures and create them because the logic in those methods is fully tested.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add more persistence examples.</title>
<updated>2020-10-23T20:32:46+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2020-10-23T20:32:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=34085388b34738c094b30a65c7d0abbcd05ee421'/>
<id>34085388b34738c094b30a65c7d0abbcd05ee421</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Explore more details of persistence and expand on the motivation for how this relates to equality/hashing/sorting.</title>
<updated>2020-10-23T20:18:55+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2020-10-23T20:18:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=2ae267b9101efef4913d4875b8fd2c3ffa74beb8'/>
<id>2ae267b9101efef4913d4875b8fd2c3ffa74beb8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add example from #220 to the specification docs and expand it.</title>
<updated>2020-10-23T20:18:16+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2020-10-23T20:18:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=27347de8773b42cb3b9c33b2cd95b72b9d31487c'/>
<id>27347de8773b42cb3b9c33b2cd95b72b9d31487c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>cosmetics</title>
<updated>2020-10-19T06:28:18+00:00</updated>
<author>
<name>dieter</name>
<email>dieter@handshake.de</email>
</author>
<published>2020-10-19T06:28:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=4f76a54239ee1537040238c5af4a35dd189fbc4c'/>
<id>4f76a54239ee1537040238c5af4a35dd189fbc4c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
