Zope interfaces applied to Python builtins
Project description
dolmen.builtins provides a collection of interfaces representing the commonly used Python built-ins. It aims to make the component architecture useable with the most basic objects and to defines the types in order to extend them conveniently.
>>> from zope.interface import verify >>> from dolmen.builtins import interfaces as base>>> macduff = "Tis' a very nice string." >>> base.IString.providedBy(macduff) True>>> macbeth = u"Aye, indeed my friend." >>> base.IUnicode.providedBy(macbeth) True>>> is_usurper = True >>> base.IBoolean.providedBy(is_usurper) True>>> crown = 1 >>> base.INumeric.providedBy(crown) True>>> king = 0.1 >>> base.INumeric.providedBy(king) True>>> opposants = 1L >>> base.INumeric.providedBy(opposants) True
More complex types have more information defined in their interfaces. It’s the case for iterables and file-like classes.
>>> murderers = ('MacBeth', 'Lady MacBeth') >>> base.ITuple.providedBy(murderers) True>>> victims = ['Banco', 'Duncan'] >>> base.IList.providedBy(victims) True>>> thanes = {"Glamis": "MacBeth", "Fife": "MacDuff"} >>> base.IDict.providedBy(thanes) True>>> base.IIterable.providedBy(victims) True >>> base.IIterable.providedBy(murderers) True >>> base.IIterable.providedBy(thanes) True>>> verify.verifyObject(base.IDict, thanes) True>>> base.IFile.implementedBy(file) True >>> verify.verifyClass(base.IFile, file) True
Changelog
0.3.1 (2010-02-27)
Remove zope.testing dependency.
0.3 (2010-02-27)
Cleaned code. It’s now pep8 compliant.
Cleaned dependencies. We no longer depend on zope.app.
0.2 (2009-10-16)
Added file to the marked built-ins, using a detailed interface.
0.1 (2009-10-15)
Initial release
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
dolmen.builtins-0.3.1.tar.gz
(3.6 kB
view hashes)