<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/zope-interface.git/src/zope/interface/tests/test_interface.py, branch issue21</title>
<subtitle>github.com: zopefoundation/zope.interface.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/zope-interface.git/'/>
<entry>
<title>Use C3 (mostly) to compute IRO.</title>
<updated>2020-03-15T14:56:14+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2020-03-05T20:38:39+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/zope-interface.git/commit/?id=024f6432270afd021da2d9fff5c3f496f788e54d'/>
<id>024f6432270afd021da2d9fff5c3f496f788e54d</id>
<content type='text'>
Fixes #21

The 'mostly' is because interfaces are used in cases that C3 forbids;
when there's a conflict, we fallback to the legacy algorithm. It turns
out there are few conflicts (13K out of 149K total orderings in Plone).

I hoped the fix for #8 might shake out automatically, but it didn't.

Optimize the extremely common case of a __bases__ of length one.

In the benchmark, 4/5 of the interfaces and related objects have a base of length one.

Fix the bad IROs in the bundled ABC interfaces, and implement a way to get warnings or errors.

In running plone/buildout.coredev and tracking the RO requests, the
stats for equal, not equal, and inconsistent-so-fallback, I got
{'ros': 148868, 'eq': 138461, 'ne': 10407, 'inconsistent': 12934}

Add the interface module to the Attribute str.

This was extremely helpful tracking down the Plone problem; IDate is defined in multiple modules.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #21

The 'mostly' is because interfaces are used in cases that C3 forbids;
when there's a conflict, we fallback to the legacy algorithm. It turns
out there are few conflicts (13K out of 149K total orderings in Plone).

I hoped the fix for #8 might shake out automatically, but it didn't.

Optimize the extremely common case of a __bases__ of length one.

In the benchmark, 4/5 of the interfaces and related objects have a base of length one.

Fix the bad IROs in the bundled ABC interfaces, and implement a way to get warnings or errors.

In running plone/buildout.coredev and tracking the RO requests, the
stats for equal, not equal, and inconsistent-so-fallback, I got
{'ros': 148868, 'eq': 138461, 'ne': 10407, 'inconsistent': 12934}

Add the interface module to the Attribute str.

This was extremely helpful tracking down the Plone problem; IDate is defined in multiple modules.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #177 from zopefoundation/fix-signature</title>
<updated>2020-02-16T15:04:00+00:00</updated>
<author>
<name>Jens W. Klein</name>
<email>jk@kleinundpartner.at</email>
</author>
<published>2020-02-16T15:04:00+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/zope-interface.git/commit/?id=7f6f60e824ac34e2bf9ec890e6c361f57bfc823b'/>
<id>7f6f60e824ac34e2bf9ec890e6c361f57bfc823b</id>
<content type='text'>
Fix repr of "Attribute" to look like before</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix repr of "Attribute" to look like before</pre>
</div>
</content>
</entry>
<entry>
<title>Fix repr of "Attribute" to look like before</title>
<updated>2020-02-16T14:49:31+00:00</updated>
<author>
<name>Jens W. Klein</name>
<email>jk@kleinundpartner.at</email>
</author>
<published>2020-02-15T22:04:01+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/zope-interface.git/commit/?id=823faaaea1d4e508aa799cf9f893457d2f4acb11'/>
<id>823faaaea1d4e508aa799cf9f893457d2f4acb11</id>
<content type='text'>
and as usual in Python.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
and as usual in Python.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add test case for #6.</title>
<updated>2020-02-14T12:12:27+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2020-02-14T12:12:27+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/zope-interface.git/commit/?id=d49f8e205d36f1a3dceca228b3bc19d9cca57624'/>
<id>d49f8e205d36f1a3dceca228b3bc19d9cca57624</id>
<content type='text'>
It seems to be working now, so this fixes #6
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It seems to be working now, so this fixes #6
</pre>
</div>
</content>
</entry>
<entry>
<title>Make verification errors more readable and useful.</title>
<updated>2020-02-07T16:59:11+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2020-02-06T16:48:04+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/zope-interface.git/commit/?id=a825e5f29e98c8c84076600323ffe791531ac765'/>
<id>a825e5f29e98c8c84076600323ffe791531ac765</id>
<content type='text'>
Eliminate the trailing newlines and blank spaces (the code called them
"a stupid artifact").

Include the name of the defining interface (so the user can easily look up
any requirements on the attribute) and, for methods, the expected
signature (no more guessing about how many arguments are required!).

This is implemented by giving Attribute and Method useful reprs and strs.
Previously, they just had the defaults.

Fixes #170
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Eliminate the trailing newlines and blank spaces (the code called them
"a stupid artifact").

Include the name of the defining interface (so the user can easily look up
any requirements on the attribute) and, for methods, the expected
signature (no more guessing about how many arguments are required!).

This is implemented by giving Attribute and Method useful reprs and strs.
Previously, they just had the defaults.

Fixes #170
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove support for hashing uninitialized interfaces.</title>
<updated>2020-01-27T15:31:30+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2020-01-27T15:31:30+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/zope-interface.git/commit/?id=f41ebfdb0b432fd99e1c44c0a1d7fd54a637bdf8'/>
<id>f41ebfdb0b432fd99e1c44c0a1d7fd54a637bdf8</id>
<content type='text'>
Fixes #157
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #157
</pre>
</div>
</content>
</entry>
<entry>
<title>Move Declaration, Specification and ClassProvides to __slots__.</title>
<updated>2020-01-27T13:40:35+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2020-01-23T16:24:12+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/zope-interface.git/commit/?id=ab0466e56c6328407c3839a3a392cb127dbdb282'/>
<id>ab0466e56c6328407c3839a3a392cb127dbdb282</id>
<content type='text'>
In a test of 6000 modules that load 2245 InterfaceClass objects and produce 2233 ClassProvides instances, this saves about 1% total memory usage in Python 2.7.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In a test of 6000 modules that load 2245 InterfaceClass objects and produce 2233 ClassProvides instances, this saves about 1% total memory usage in Python 2.7.
</pre>
</div>
</content>
</entry>
<entry>
<title>Test PURE_PYTHON at runtime.</title>
<updated>2020-01-21T15:38:45+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2020-01-21T13:59:31+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/zope-interface.git/commit/?id=e76d03f51909c2b3f8cdad38eb91fa5f523b5e2e'/>
<id>e76d03f51909c2b3f8cdad38eb91fa5f523b5e2e</id>
<content type='text'>
Turns out that the C extensions build and work fine with PyPy, but don't use them by default. Let them
be forced, though.

Tests needed some refactoring to account for the various permutations.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Turns out that the C extensions build and work fine with PyPy, but don't use them by default. Let them
be forced, though.

Tests needed some refactoring to account for the various permutations.
</pre>
</div>
</content>
</entry>
<entry>
<title>key order doesn't matter</title>
<updated>2019-10-08T22:53:40+00:00</updated>
<author>
<name>mauro</name>
<email>mauro.amico@unibo.it</email>
</author>
<published>2019-10-08T22:53:40+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/zope-interface.git/commit/?id=487ee622cbc8bfd5e40d8bcc78d4bedcec18cb0d'/>
<id>487ee622cbc8bfd5e40d8bcc78d4bedcec18cb0d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>taggedvalue inheritance</title>
<updated>2019-10-08T22:35:51+00:00</updated>
<author>
<name>mauro</name>
<email>mauro.amico@unibo.it</email>
</author>
<published>2019-10-08T22:35:51+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/zope-interface.git/commit/?id=42bb9881cd83321e6e5b520ba4b196252c07a628'/>
<id>42bb9881cd83321e6e5b520ba4b196252c07a628</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
