summaryrefslogtreecommitdiff
path: root/docs/api
Commit message (Collapse)AuthorAgeFilesLines
* Use C3 (mostly) to compute IRO.issue21Jason Madden2020-03-153-31/+157
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* Update documentation and clarify the relationship of the older mapping and ↵Jason Madden2020-02-171-15/+17
| | | | sequence interfaces.
* Add interfaces for builtins and the io ABCs.Jason Madden2020-02-171-0/+10
|
* Add numbers ABC interfaces.Jason Madden2020-02-171-0/+5
|
* Add z.i.common.collections to parallel the collections.abc classes.Jason Madden2020-02-171-0/+5
| | | | | | | | Register implemented standard library types on import. Derive the interface methods and documentation from the ABC automatically. I hope to use this for numbers too. Part of #138
* Use .. caution:: to warn about the the old class-advice based APIsdocs-in-py3Marius Gedminas2019-11-111-3/+3
|
* Move the @provider example into the right sectionMarius Gedminas2019-11-111-9/+8
| | | | | | | | | Explain that implements()/implementsOnly()/classProvides() not only should not be "preferred", but are entirely not functional on Python 3. (These notes should probably use some Sphinx directive to stand out better, but I'm not well versed in Sphinx and I don't know which one I should use.)
* Port the documentation examples to Python 3Marius Gedminas2019-11-112-55/+79
|
* Cross ref from ISpecification to IDeclaration.Jason Madden2018-07-191-13/+14
|
* Reorganize the 'declarations' document by functional group.Jason Madden2018-07-191-489/+401
| | | | Add cross references and some formatting fixes.
* Formatting and cross refs for the 'Interface Specification' docJason Madden2018-07-191-12/+28
|
* Formatting and cross refs for IComponents.Jason Madden2018-07-191-1/+8
|
* Basic API reference documentation reorg: split into four functional parts.Jason Madden2018-07-196-0/+1230
Add some missing documentation for the events component registries create.