Just API docs for now, but I'll try to add more soonish.
This should nicely fix up the previous issue of reference cycles being created when storing bound Panglers. Of course, adding a bunch of tests. I should also add a test against reference cycles, later. Maybe. Also fixing a minor style thing.
lvh pointed out that caching is a bad word to use, since cached values are ephemeral and bound Panglers in this case are not, so this is changing `cache` to `store` everywhere. Also changing back to `dict` from `WeakValueDictionary` for the persistence because it doesn't actually *work* otherwise.
* Adding a manifest. * Fixing up gitignore. * Getting setup.py stuff more right.
Renaming add_hook to subscribe and maintaining backwards compatibility with the old method name while also showing a DeprecationWarning.
Both classes in question also now have a cache key which is used for determining if a Pangler has been bound to a particular instance before. The caching API is also partly exposed to user code. Closes #2.
* Returning a callable that returns a pangler instead of a pangler from PanglerAggregate's __get__, and updated the tests accordingly. * Changed the README; we'll worry about exocet later.
* Allowed PanglerAggregates to be created without an attribute name. * Added Pangler.combine and respective tests. * Changed PanglerAggregate to work using Pangler.combine. * Fixed Pangler.clone to clone bound instances too.
* 100% coverage now! Yaaay. * Fixed a bug that testing revealed. Double yaaay.
* Added PanglerAggregate and respective tests. * Fixed classes to all be using appropriate super() calls. * Refactored Pangler.__get__ a bit. * Added Pangler.clone and respective tests.
* Minor code cleanup. * Panglers can now be used as class attributes and automatically bind to instances as well. Corresponding test added too.
* Raising an exception when hooking nothing. * Added tests for hooking nothing, receiving parameters, and modifying parameters.
* Adding in tests and implementation. * Added a .gitignore to ignore generated python files.