Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/metaperl/python-oop
Catalog of Python object-oriented programming articles and links
https://github.com/metaperl/python-oop
Last synced: about 1 month ago
JSON representation
Catalog of Python object-oriented programming articles and links
- Host: GitHub
- URL: https://github.com/metaperl/python-oop
- Owner: metaperl
- License: artistic-2.0
- Created: 2015-10-25T13:31:14.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2021-06-14T19:36:57.000Z (over 3 years ago)
- Last Synced: 2024-08-01T15:15:30.421Z (3 months ago)
- Language: Python
- Homepage:
- Size: 46.9 KB
- Stars: 97
- Watchers: 4
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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.