5dollarwhitebox.org - theboxownsyou

  • blog
  • projects
  • articles
  • tech wiki
  • about
  • login
Home › Cement CLI Application Framework for Python 0.7.2dev - Testers Welcome

RSS Feed

Reply to comment

Cement CLI Application Framework for Python 0.7.2dev - Testers Welcome

drks — Sat, 2010-03-06 11:06

Hello hello. I've spent quite a bit of time cleaning up The Cement CLI Application Framework and pushing it closer to a one-point-oh release. For the most part I'm completely happy with the code, but I know there will be some things that pop up. Also, before a true 1.0 release I really need to add test cases. Dunnnn dunnnnnnnnnn.

The 0.7 development branch is quite an improvement to the previous stable, and is also very close to becoming the next stable after a bit more testing. I've added a few enhancements to the layout of a generated application making it easier for new comers to understand what their working with. Json support has been enhanced by switching to using jsonpickle. Plugin support got a lot of enhancements, and is now less like a plugin framework than it is simply a way of making code optionally loadable. Taking a plugin and making it part of the core code (or vice versa) is now just a matter of adding or removing a single line of code.

I've spent a bit of time in the documentation and feel that it is nearly 90% where it needs to be with regards to covering 'the full picture' from the perspective of someone who knows nothing of the project.

The following is the full ChangeLog:

0.7.2 - Mar 06, 2010
-----------------------------------------------------------------------------
 
 + Branching to portland, API incompatible changes.
 + Namespace config dictionaries are overwritten by [namespace] section of
    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 dictionary.
 + cli_opts and cli_args are now passed to the controllers __init__ rather
    than to each function.
 + 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).

Check out the latest documentation and download the latest development release. Any and all feedback is very welcome.

  • drks's blog

Reply

The content of this field is kept private and will not be shown publicly.
Input format
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
  • Lines and paragraphs break automatically.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <bash>, <c>, <cpp>, <diff>, <drupal5>, <drupal6>, <java>, <javascript>, <mysql>, <perl>, <php>, <python>, <ruby>. Beside the tag style "<foo>" it is also possible to use "[foo]".

More information about formatting options



Who's online

There are currently 0 users and 1 guest online.
  • blog
  • projects
  • articles
  • tech wiki
  • about
  • login

5dollarwhitebox.org is not responsible in anyway for actions performed based on information found on this site.