Reply to comment
Cement CLI Application Framework for Python 0.8 Stable Released
drks — Tue, 2010-03-23 17:57
The latest version of Cement is now available for direct download from PyPI. The version includes the following changes from the previously stable 0.6:
0.8 - Mar 24, 2010
-----------------------------------------------------------------------------
+ 0.8 Stable Release
0.7.3 - unreleased
-----------------------------------------------------------------------------
+ Paster now creates 'yourapp-plugin-yourplugin' rather than a plural
'-plugins-' which is more standard.
- Removed bogus hooks: bootstrap_plugins_hook
+ Added some tests (very few)
- Set application exception classes based on package name, not project name
+ Added 'post_bootstrap_hook'
- Fixed exception names in appmain.py.
0.7.2 - Mar 06, 2010
-----------------------------------------------------------------------------
+ Branching to portland, API incompatible changes.
+ Namespace config settings are overwritten by [namespace] sections of the
primary applications configuration files. Meaning, a namespace called
'example' reads configurations from [example] in the applications config
files. Additionally, Plugin configs can now exist in main application
configs under [plugin], as well as the typical plugins.d directory.
+ Added new 'bootstrap' directory where all application setup happens for
each namespace, and refactored 'plugins' around this bootstrap layout.
Along with that, discarded the 'plugins' directory. Plugins are now
simply optional namespaces.
+ Plugins can now be enabled by the [root] 'enabled_plugins' list, or under
a [plugin] config by setting 'enable_plugin=true'.
+ All namespace configs are merged into the root config object as an
embedded object. I.e. root_config['example'] is an embedded ConfigObj for
the example namespaces config.
+ cli_opts and cli_args are now passed to the controllers __init__ rather
than to each function. Functions now call 'self.cli_opts' or
'self.cli_args'.
+ Added default exception classes for new projects.
+ Use jsonpickle instead of straight json.
+ Moved appmain.py/config.py to new 'core' directory.
+ Updated documentation a lot!
+ Changed register_hook to a class decorator, and added 'name' parameter to
override the name of the hook to register too (still uses name of func
otherwise).
- The 'options_hook' has become post_options_hook.Though stable, Cement is still very young and has tons of potential to expand from being just a single coders ideal framework to becoming so versatile that every coder can make the framework serve them to their exact preference and needs. That is all in the future, for now I hope to bring Cement as near a 1.0 release without making to many drastic changes... and save the major stuff for post 1.0.
RSS Feed