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
File details
Details for the file dolmen.builtins-0.3.1.tar.gz
.
File metadata
- Download URL: dolmen.builtins-0.3.1.tar.gz
- Upload date:
- Size: 3.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d15c376a20da39537d65d8fcc66ea4ae9d017f962999718ddabfeccf0e43fe03 |
|
MD5 | 0d2c703a6ef1a710f6a269b687e52e78 |
|
BLAKE2b-256 | 496aa4a1a8cd384450b445fc321b3c3e6de5463fef857ed9164a1fdff0a2138a |