<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/zope-interface.git/src/zope/interface/tests, branch issue157</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>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://git.baserock.org/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://git.baserock.org/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>Use tp_members in SpecificationBase and ClassProvidesBase.</title>
<updated>2020-01-23T12:39:48+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2020-01-22T15:32:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=ddf670afb792b7f7849d6383f31cac3273811edf'/>
<id>ddf670afb792b7f7849d6383f31cac3273811edf</id>
<content type='text'>
Instead of storing 1 and 2 attributes, respectively, in __dict__. This lets us eliminate inst_attr and its use of an undocumented API.

It also helps reign in the size of these objects. Before, on CPython 8, a ClassProvides object that subclasses both SpecificationBase and ClassProvidesBase required 408 bytes: 48 for the object, 360 for the dict.

Now it requires 72 + 232 = 304.

With a bit of work on defining __slots__ in Python, that can be brought much lower still, I think.

zope.security tests pass with this installed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of storing 1 and 2 attributes, respectively, in __dict__. This lets us eliminate inst_attr and its use of an undocumented API.

It also helps reign in the size of these objects. Before, on CPython 8, a ClassProvides object that subclasses both SpecificationBase and ClassProvidesBase required 408 bytes: 48 for the object, 360 for the dict.

Now it requires 72 + 232 = 304.

With a bit of work on defining __slots__ in Python, that can be brought much lower still, I think.

zope.security tests pass with this installed.
</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://git.baserock.org/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>Remove unused test files.</title>
<updated>2020-01-21T15:38:45+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2020-01-21T11:25:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=efc83ea76655733d56e8b5b4a6ad9971776a8611'/>
<id>efc83ea76655733d56e8b5b4a6ad9971776a8611</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</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://git.baserock.org/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://git.baserock.org/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>
<entry>
<title>Fix coverage.</title>
<updated>2018-10-23T15:45:01+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2018-10-23T15:45:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=705bad3d86a876132578b7ae7c85e94179267061'/>
<id>705bad3d86a876132578b7ae7c85e94179267061</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix 'verifyObject' for class objects with staticmethods on Python 3.</title>
<updated>2018-10-23T13:42:47+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2018-10-23T13:42:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=7b67a79a8c2cb3ed4b35590f1d75ed1b97dc353d'/>
<id>7b67a79a8c2cb3ed4b35590f1d75ed1b97dc353d</id>
<content type='text'>
Fixes #126
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #126
</pre>
</div>
</content>
</entry>
<entry>
<title>Allow Registering and unregistering instance methods as listeners (#102)</title>
<updated>2017-11-28T07:28:40+00:00</updated>
<author>
<name>‮rekcäH nitraM‮</name>
<email>spamfaenger@gmx.de</email>
</author>
<published>2017-11-28T07:28:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=d50e3d4bed1cecb8b308656ca509824fd379c6cc'/>
<id>d50e3d4bed1cecb8b308656ca509824fd379c6cc</id>
<content type='text'>
* Fixes #12 - registering instance methods as listeners doesn’t allow to easily unregister them as the registry tries to find the handler with 'is' but it should use '==' to allow the python BoundMethod wrapper (which is a new instance every time instance.$methodname is accessed).</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Fixes #12 - registering instance methods as listeners doesn’t allow to easily unregister them as the registry tries to find the handler with 'is' but it should use '==' to allow the python BoundMethod wrapper (which is a new instance every time instance.$methodname is accessed).</pre>
</div>
</content>
</entry>
</feed>
