-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathREADME.md
More file actions
65 lines (37 loc) · 2.61 KB
/
Copy pathREADME.md
File metadata and controls
65 lines (37 loc) · 2.61 KB
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
# python-oop: Python object-oriented programming
## See the wiki for all new data!!!
https://github.com/metaperl/python-oop/wiki
## Core but nonetheless an add-on
[collections.namedtuple](https://docs.python.org/2/library/collections.html#collections.namedtuple) is often forgotten about. However, it is preferable to the use of dictionaries in many cases. [Discusssion](https://www.reddit.com/r/Python/comments/3qw7m4/improving_your_code_readability_with_namedtuples/)
# Add-ons
* [TypeSystem](https://www.encode.io/typesystem/)
* [Schematics](http://schematics.readthedocs.io)
* [attrs](https://attrs.readthedocs.io/en/stable/) - [Tutorial article](https://glyph.twistedmatrix.com/2016/08/attrs.html)
* [traitlets](https://github.com/ipython/traitlets)
* traitlite - yes this differs from traitlets! [discussion](https://www.reddit.com/r/Python/comments/bu2la4/traitlite_dependencyfree_traits_without/) and [github](https://github.com/lejar/traitlite).
* [Elk](https://github.com/frasertweedale/elk)
* [Enthought's Traits Package](https://docs.enthought.com/traits/)
* [Atom](https://github.com/nucleic/atom)
* [Yuppy](https://github.com/kuujo/yuppy)
* [strait](https://pypi.python.org/pypi/strait)
* [BasicProperty](http://basicproperty.sourceforge.net/)
* [PEAK Rules](https://pypi.python.org/pypi/PEAK-Rules)
* [metaparams](https://github.com/mementum/metaparams)
* [Zope interfaces](https://pypi.python.org/pypi/zope.interface)
* [catlizor](https://github.com/BTaskaya/catlizor)
# Method Munging
* [pyhooks](https://github.com/Shir0kamii/pyhooks) - pre and post hooks for your methods.
* [Connectible](https://github.com/timothycrosley/connectable#readme) - the Observer pattern
* [forwardable](https://pypi.python.org/pypi/forwardable/) - delegation
# Dependency Injection
https://github.com/metaperl/python-oop/wiki/Dependency-Injection--&--Inversion-of-Control
## Design Patterns
# Web Development / HTML Generation
https://github.com/metaperl/python-oop/wiki/Web-Application-Development
# Data Querying and Dictionary Wrappers
https://github.com/metaperl/python-oop/wiki/Data-Querying-and-Dictionary-Wrappers
# Literature
https://github.com/metaperl/python-oop/wiki - search for literature in the Pages textbox
# History
I intially made [a reddit post](https://www.reddit.com/r/Python/comments/2d9f7i/survey_of_python_object_systems/) followed by [a post to comp.lang.python](https://groups.google.com/forum/#!topic/comp.lang.python/vW9JTTI1GBA) on this subject.
When [metaparams was posted to the Python reddit](https://github.com/mementum/metaparams) I figured it was about time to have a central directory of such systems.