[Subversion] / Contextual / setup.py |
No default branch
Bookmark a link to HEAD:
(view)
(download)
(as text)
Use development snapshots so SVN isn't required
Use ``classy`` metaclass
Packaging cleanups for Cheeseshop registration.
Get rid of ``namespace``, and make all settings namespaces. Settings are now objects that pretend to be functions, instead of actually being functions. This is slightly slower, but the simplification and extended syntax capabilities are worth it. This thing is getting really close to being usable now.
Another major refactoring -- merged Config and App into State, and implemented dynamic state propagation that eliminates the need to explicitly define ServiceAreas the way the PEAK core does. This new system is 100% lock-free and thread-safe (assuming that your own code is, too!) and has a smaller, friendlier API than the previous half-dozen attempts. The core state management system is now rock-solid, but there are a few minor areas where protocol changes may occur. See the "TODO" section in README.txt for details.
Misc. cleanups, more API doc and tests
Major API overhaul. Service classes now act like peak.binding.Singletons, in that the class itself is a proxy for the current instance. This eliminates the need for two names to refer to the "same" object. Settings are now created with decorators, the module is peak.context instead of peak.util.context, and many many other changes. And there are still more to come, but mostly additions and some tweaks to how the App context works.
Use ProxyTypes' proxy types instead of defining local ones.
Make README testable, add new files that 'context.txt' will be refactored into. Add 'context.replaces()' class decorator to make it easier to define an alternative service implementation.
Refactor class hiearchy slightly, and add a README that presents the library as it should be seen on PyPI. Still a lot of cleanup to do and tests to add, though.
Use SymbolType instead of creating a custom Symbol type.
Initial draft of the "Contextual" library, peak.util.context. This library offers a variety of tools for dynamic context management, roughly equivalent to a subset of peak.config and peak.binding, but with far less code, complexity, and coupling. The contextual tools can be used without interfaces, components, or component hierarchies, and provide a more dynamic concept of operations than ServiceArea. In addition, the Context tools are thread-safe, even for generator-based pseudothreads. Python 2.4 is required.
cvs-admin@eby-sarna.com Powered by ViewCVS 1.0-dev |
ViewCVS and CVS Help |