[Twisted-Python] PEAK 0.5a3 released

After several months of feature creep, the third alpha release of PEAK 0.5 is now available for download at: http://peak.telecommunity.com/dist/ Some highlights of the changes since 0.5a2 include: * A simplified and consolidated binding API: there are now only four kinds of bindings (Make, Obtain, Require, and Delegate) that provide a wider variety of functionality than the old API. You can also now create your own IRecipe or IComponentKey implementations for use with Make and Obtain. * The 'n2' (namespace navigator) tool provides a handy, extensible shell (with completion and history) for exploring PEAK naming systems and SQL connections. * A greatly enhanced configuration file parser, with lots of new convenience features such as [Import on Demand], [Named Services], and [Component Factories] sections, based on its new extensible parsing framework. You can define new section types of your own, even from inside an .ini file. * New configuration key features, such as multi-keys (similar to some of Zope X3's "adaptergeddon" features), the ability to iterate over defined keys in a hierarchy (useful for finding/registering various kinds of "plugins"), new convenience features for defining wildcard property rules, * A new 'peak.events' framework that supports event sources, listeners, subscriptions, generator-based pseudothreads ("tasks"), scheduling, and I/O events. Using 'peak.events', you can write event-driven code in a more natural, sequential, "untwisted" style, but without giving up access to Twisted's many great features. 'peak.events' can use PEAK's built-in event loop, or adapt a Twisted reactor for use as an event loop. You can also use Twisted's "Deferred" objects as event sources, which means you can use them in your Tasks (pseudothreads). * A new 'peak.ddt' "document-driven testing" framework, similar in form and function to the FIT ( http://fit.c2.com/ ) framework, but in Python and well-integrated with the rest of PEAK. 'peak.ddt' lets you write test data as tables in HTML documents (created with Word, Open Office, Mozilla, or virtually any other tool), and then view the results in your browser. Correct results are highlighted in green, incorrect answers are highlighted in red, and errors are highlighted in yellow, with a small-font traceback added to the table cell. It's a great way to do data-driven acceptance testing, or to manage a project's progress using example data as part of a requirements document. * Many, many more features, both large and small, like a pre-forking multiprocess supervisor for FastCGI and other forking servers. Quick access to documentation via the 'peak help' command, which uses pydoc to display reference documentation. Early versions of the 'peak.security' (access control), 'peak.web' (Zope X3-based web publishing), and 'peak.query' (declarative relational and conceptual queries w/SQL generation) packages. The 'whenImported()' function that lets you call a hook when a named module is first used. "Mock" DBAPI and socket implementations for testing. Hooks for "thunking" database-specific SQL and functions. And many, many more examples of unbelievably blatant feature creep! There is also now a nice "Hello World" introduction to PEAK available at: http://peak.telecommunity.com/DevCenter/IntroToPeak that presents a guided tour of some of PEAK's "vertical" frameworks, like command-line application support, database access, and so on. For more information about PEAK, and access to community resources including documentation, the Wiki, mailing list archives, IRC channel logs, CVS access, and more, please visit: http://peak.telecommunity.com/
participants (1)
-
Phillip J. Eby