-
Notifications
You must be signed in to change notification settings - Fork 0
PEAK-Legacy/RuleDispatch
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Please Use PEAK-Rules Instead Of This Package ============================================= RuleDispatch is no longer maintained; if you are actively developing code that uses generic functions, you should switch to PEAK-Rules, if you can. If you are porting existing code, PEAK-Rules now includes a ``peak.rules.dispatch`` module that provides a partial API emulation for RuleDispatch. If your code won't run simply by replacing "import dispatch" with "from peak.rules import dispatch", please let me know via the PEAK `mailing list`_, and I'll provide porting assistance or updates to the emulation API, as appropriate. RuleDispatch ============ RuleDispatch is a prototype implementation of the Chambers and Chen "efficient multiple and predicate dispatch" algorithm for Python. It lets you specify a function in terms of a collection of arbitrary rules, including Lisp-style "before/after/around" methods. Although it is used by various projects, including ``peak.security.rules`` and TurboGears, it is no longer being actively developed; it is being replaced by the more extensible PEAK-Rules package, which is currently in development (with snapshot and SVN releases available in PyPI). Please note that if you are starting new development, you are almost certainly better off using PEAK-Rules instead. It is smaller, has a simpler API, and for certain use cases can be significantly faster than RuleDispatch. It was also developed from the ground up using TDD, which means that every single line of its code is tested. In contrast, the central core of RuleDispatch was developed many years ago using a hack, slash, and burn methodology, with only some functional tests and very few unit tests. The consequences of this can be seen in the number of RuleDispatch bugs that have occurred over the last few years that involve the core engine in some way. So, although I will continue to accept bug reports and apply fixes to RuleDispatch, it is absolutely a dead parrot, and there are no plans to update its documentation, tests, or anything else. Use it at your own risk. Python 2.5+ Issues ------------------ RuleDispatch has not been updated for certain additions to the Python 2.5 grammar. It does not support any kind of loops, generator expressions or "y if x else z" conditional expressions in rules, and its behavior if you use them is undefined. Mailing List ------------ Please direct questions regarding this package to the PEAK mailing list; see http://www.eby-sarna.com/mailman/listinfo/PEAK/ for details.
About
Status: REPLACED, ARCHIVED
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published