This file is indexed.

/usr/lib/python3/dist-packages/zope.interface-4.0.5.egg-info/PKG-INFO is in python3-zope.interface 4.0.5-1ubuntu4.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
Metadata-Version: 1.1
Name: zope.interface
Version: 4.0.5
Summary: Interfaces for Python
Home-page: http://pypi.python.org/pypi/zope.interface
Author: Zope Foundation and Contributors
Author-email: zope-dev@zope.org
License: ZPL 2.1
Description: ``zope.interface`` README
        =========================
        
        This package is intended to be independently reusable in any Python
        project. It is maintained by the `Zope Toolkit project
        <http://docs.zope.org/zopetoolkit/>`_.
        
        This package provides an implementation of "object interfaces" for Python.
        Interfaces are a mechanism for labeling objects as conforming to a given
        API or contract. So, this package can be considered as implementation of
        the `Design By Contract`_ methodology support in Python.
        
        .. _Design By Contract: http://en.wikipedia.org/wiki/Design_by_contract
        
        For detailed documentation, please see http://docs.zope.org/zope.interface
        
        ``zope.interface Changelog``
        ============================
        
        4.0.5 (2013-02-28)
        ------------------
        
        - Fixed a bug where a decorated method caused false positive failures on
          ``verifyClass()``.
        
        
        4.0.4 (2013-02-21)
        ------------------
        
        - Fixed a bug that was revealed by porting zope.traversing. During a loop, the
          loop body modified a weakref dict causing a ``RuntimeError`` error.
        
        4.0.3 (2012-12-31)
        ------------------
        
        - Fleshed out PyPI Trove classifiers.
        
        4.0.2 (2012-11-21)
        ------------------
        
        - Added support for Python 3.3.
        
        - Restored ability to install the package in the absence of ``setuptools``.
        
        - LP #1055223:  Fix test which depended on dictionary order and failed randomly
          in Python 3.3.
        
        4.0.1 (2012-05-22)
        ------------------
        
        - Dropped explicit ``DeprecationWarnings`` for "class advice" APIS (these
          APIs are still deprecated under Python 2.x, and still raise an exception
          under Python 3.x, but no longer cause a warning to be emitted under
          Python 2.x).
        
        4.0.0 (2012-05-16)
        ------------------
        
        - Automated build of Sphinx HTML docs and running doctest snippets via tox.
        
        - Deprecated the "class advice" APIs from ``zope.interface.declarations``:
          ``implements``, ``implementsOnly``, and ``classProvides``.  In their place,
          prefer the equivalent class decorators: ``@implementer``,
          ``@implementer_only``, and ``@provider``.  Code which uses the deprecated
          APIs will not work as expected under Py3k.
        
        - Removed use of '2to3' and associated fixers when installing under Py3k.
          The code is now in a "compatible subset" which supports Python 2.6, 2.7,
          and 3.2, including PyPy 1.8 (the version compatible with the 2.7 language
          spec).
        
        - Dropped explicit support for Python 2.4 / 2.5 / 3.1.
        
        - Added support for PyPy.
        
        - Added support for continuous integration using ``tox`` and ``jenkins``.
        
        - Added 'setup.py dev' alias (runs ``setup.py develop`` plus installs
          ``nose`` and ``coverage``).
        
        - Added 'setup.py docs' alias (installs ``Sphinx`` and dependencies).
        
        - Replaced all unittest coverage previously accomplished via doctests with
          unittests.  The doctests have been moved into a ``docs`` section, managed
          as a Sphinx collection.
        
        - LP #910987:  Ensure that the semantics of the ``lookup`` method of
          ``zope.interface.adapter.LookupBase`` are the same in both the C and
          Python implementations.
        
        - LP #900906:  Avoid exceptions due to tne new ``__qualname__`` attribute
          added in Python 3.3 (see PEP 3155 for rationale).  Thanks to Antoine
          Pitrou for the patch.
        
        3.8.0 (2011-09-22)
        ------------------
        
        - New module ``zope.interface.registry``.  This is code moved from
          ``zope.component.registry`` which implements a basic nonperistent component
          registry as ``zope.interface.registry.Components``.  This class was moved
          from ``zope.component`` to make porting systems (such as Pyramid) that rely
          only on a basic component registry to Python 3 possible without needing to
          port the entirety of the ``zope.component`` package.  Backwards
          compatibility import shims have been left behind in ``zope.component``, so
          this change will not break any existing code.
        
        - New ``tests_require`` dependency: ``zope.event`` to test events sent by
          Components implementation.  The ``zope.interface`` package does not have a
          hard dependency on ``zope.event``, but if ``zope.event`` is importable, it
          will send component registration events when methods of an instance of
          ``zope.interface.registry.Components`` are called.
        
        - New interfaces added to support ``zope.interface.registry.Components``
          addition: ``ComponentLookupError``, ``Invalid``, ``IObjectEvent``,
          ``ObjectEvent``, ``IComponentLookup``, ``IRegistration``,
          ``IUtilityRegistration``, ``IAdapterRegistration``,
          ``ISubscriptionAdapterRegistration``, ``IHandlerRegistration``,
          ``IRegistrationEvent``, ``RegistrationEvent``, ``IRegistered``,
          ``Registered``, ``IUnregistered``, ``Unregistered``,
          ``IComponentRegistry``, and ``IComponents``.
        
        - No longer Python 2.4 compatible (tested under 2.5, 2.6, 2.7, and 3.2).
        
        3.7.0 (2011-08-13)
        ------------------
        
        - Move changes from 3.6.2 - 3.6.5 to a new 3.7.x release line.
        
        3.6.7 (2011-08-20)
        ------------------
        
        - Fix sporadic failures on x86-64 platforms in tests of rich comparisons
          of interfaces.
        
        3.6.6 (2011-08-13)
        ------------------
        
        - LP #570942:  Now correctly compare interfaces  from different modules but
          with the same names.
          
          N.B.: This is a less intrusive / destabilizing fix than the one applied in
          3.6.3:  we only fix the underlying cmp-alike function, rather than adding
          the other "rich comparison" functions.
        
        - Revert to software as released with 3.6.1 for "stable" 3.6 release branch.
        
        3.6.5 (2011-08-11)
        ------------------
        
        - LP #811792:  work around buggy behavior in some subclasses of
          ``zope.interface.interface.InterfaceClass``, which invoke ``__hash__``
          before initializing ``__module__`` and ``__name__``.  The workaround
          returns a fixed constant hash in such cases, and issues a ``UserWarning``.
        
        - LP #804832:  Under PyPy, ``zope.interface`` should not build its C
          extension.  Also, prevent attempting to build it under Jython.
        
        - Add a tox.ini for easier xplatform testing.
        
        - Fix testing deprecation warnings issued when tested under Py3K.
        
        3.6.4 (2011-07-04)
        ------------------
        
        - LP 804951:  InterfaceClass instances were unhashable under Python 3.x.
        
        3.6.3 (2011-05-26)
        ------------------
        
        - LP #570942:  Now correctly compare interfaces  from different modules but
          with the same names.
        
        3.6.2 (2011-05-17)
        ------------------
        
        - Moved detailed documentation out-of-line from PyPI page, linking instead to
          http://docs.zope.org/zope.interface .
        
        - Fixes for small issues when running tests under Python 3.2 using
          ``zope.testrunner``.
        
        - LP # 675064:  Specify return value type for C optimizations module init
          under Python 3:  undeclared value caused warnings, and segfaults on some
          64 bit architectures.
        
        - setup.py now raises RuntimeError if you don't have Distutils installed when
          running under Python 3.
        
        3.6.1 (2010-05-03)
        ------------------
        
        - A non-ASCII character in the changelog made 3.6.0 uninstallable on
          Python 3 systems with another default encoding than UTF-8.
        
        - Fixed compiler warnings under GCC 4.3.3.
        
        3.6.0 (2010-04-29)
        ------------------
        
        - LP #185974:  Clear the cache used by ``Specificaton.get`` inside
          ``Specification.changed``.  Thanks to Jacob Holm for the patch.
        
        - Added support for Python 3.1. Contributors:
        
            Lennart Regebro
            Martin v Loewis
            Thomas Lotze
            Wolfgang Schnerring
        
          The 3.1 support is completely backwards compatible. However, the implements
          syntax used under Python 2.X does not work under 3.X, since it depends on
          how metaclasses are implemented and this has changed. Instead it now supports
          a decorator syntax (also under Python 2.X)::
        
            class Foo:
                implements(IFoo)
                ...
        
          can now also be written::
        
            @implementer(IFoo):
            class Foo:
                ...
        
          There are 2to3 fixers available to do this change automatically in the
          zope.fixers package.
        
        - Python 2.3 is no longer supported.
        
        
        3.5.4 (2009-12-23)
        ------------------
        
        - Use the standard Python doctest module instead of zope.testing.doctest, which
          has been deprecated.
        
        
        3.5.3 (2009-12-08)
        ------------------
        
        - Fix an edge case: make providedBy() work when a class has '__provides__' in
          its __slots__ (see http://thread.gmane.org/gmane.comp.web.zope.devel/22490)
        
        
        3.5.2 (2009-07-01)
        ------------------
        
        - BaseAdapterRegistry.unregister, unsubscribe: Remove empty portions of
          the data structures when something is removed.  This avoids leaving
          references to global objects (interfaces) that may be slated for
          removal from the calling application.
        
        
        3.5.1 (2009-03-18)
        ------------------
        
        - verifyObject: use getattr instead of hasattr to test for object attributes
          in order to let exceptions other than AttributeError raised by properties
          propagate to the caller
        
        - Add Sphinx-based documentation building to the package buildout
          configuration. Use the ``bin/docs`` command after buildout.
        
        - Improve package description a bit. Unify changelog entries formatting.
        
        - Change package's mailing list address to zope-dev at zope.org as
          zope3-dev at zope.org is now retired.
        
        
        3.5.0 (2008-10-26)
        ------------------
        
        - Fixed declaration of _zope_interface_coptimizations, it's not a top level
          package.
        
        - Add a DocTestSuite for odd.py module, so their tests are run.
        
        - Allow to bootstrap on Jython.
        
        - Fix https://bugs.launchpad.net/zope3/3.3/+bug/98388: ISpecification
          was missing a declaration for __iro__.
        
        - Added optional code optimizations support, which allows the building
          of C code optimizations to fail (Jython).
        
        - Replaced `_flatten` with a non-recursive implementation, effectively making
          it 3x faster.
        
        
        3.4.1 (2007-10-02)
        ------------------
        
        - Fixed a setup bug that prevented installation from source on systems
          without setuptools.
        
        
        3.4.0 (2007-07-19)
        ------------------
        
        - Final release for 3.4.0.
        
        
        3.4.0b3 (2007-05-22)
        --------------------
        
        
        - Objects with picky custom comparison methods couldn't be added to
          component registries.  Now, when checking whether an object is
          already registered, identity comparison is used.
        
        
        3.3.0.1 (2007-01-03)
        --------------------
        
        - Made a reference to OverflowWarning, which disappeared in Python
          2.5, conditional.
        
        
        3.3.0 (2007/01/03)
        ------------------
        
        New Features
        ++++++++++++
        
        - The adapter-lookup algorithim was refactored to make it
          much simpler and faster.  
        
          Also, more of the adapter-lookup logic is implemented in C, making
          debugging of application code easier, since there is less
          infrastructre code to step through.
        
        - We now treat objects without interface declarations as if they
          declared that they provide zope.interface.Interface.
        
        - There are a number of richer new adapter-registration interfaces
          that provide greater control and introspection.
        
        - Added a new interface decorator to zope.interface that allows the
          setting of tagged values on an interface at definition time (see
          zope.interface.taggedValue).
        
        Bug Fixes
        +++++++++
        
        - A bug in multi-adapter lookup sometimes caused incorrect adapters to
          be returned.
        
        
        3.2.0.2 (2006-04-15)
        --------------------
        
        - Fix packaging bug:  'package_dir' must be a *relative* path.
        
        
        3.2.0.1 (2006-04-14)
        --------------------
        
        - Packaging change:  suppress inclusion of 'setup.cfg' in 'sdist' builds.
        
        
        3.2.0 (2006-01-05)
        ------------------
        
        - Corresponds to the verison of the zope.interface package shipped as part of
          the Zope 3.2.0 release.
        
        
        3.1.0 (2005-10-03)
        ------------------
        
        - Corresponds to the verison of the zope.interface package shipped as part of
          the Zope 3.1.0 release.
        
        - Made attribute resolution order consistent with component lookup order,
          i.e. new-style class MRO semantics.
        
        - Deprecated 'isImplementedBy' and 'isImplementedByInstancesOf' APIs in
          favor of 'implementedBy' and 'providedBy'.
        
        
        3.0.1 (2005-07-27)
        ------------------
        
        - Corresponds to the verison of the zope.interface package shipped as part of
          the Zope X3.0.1 release.
        
        - Fixed a bug reported by James Knight, which caused adapter registries
          to fail occasionally to reflect declaration changes.
        
        
        3.0.0 (2004-11-07)
        ------------------
        
        - Corresponds to the verison of the zope.interface package shipped as part of
          the Zope X3.0.0 release.
        
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Zope Public License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Framework :: Zope3
Classifier: Topic :: Software Development :: Libraries :: Python Modules