0
I Use This!
Activity Not Available

Project Summary

Why is Bondi different?Bondi is not a web framework. It is written out of frustration at the myopia of other framework projects.

In contrast to the main python framework contenders:

Why not DjangoDjango has a stupid ORM and I must define my models using it. Django's admin forms are not up to snuff Assumes the Web Is The Only Interface Why not ZopeToo big ZODB is dumb: I need interop with other tools Why not PylonsSilly design: thread-locals for pseudo-global variables Practically no model support Still too much boilerplate controller code Design goalsI should be able to produce any arbitrary enterprisish application by concentrating on the domain models and these only. I should not have to waste my time gluing AJAX javascript to arbitrary controller methods, distinguish GETs from POSTs, etc. etc.

The Utopian ideal is to produce a compiler for a DSL that expresses the domain model and logic and the framework does the rest.

Cross-cutting concernsSome concerns to be provided by the framework across all pertinent models:

Auto-saving forms (drafts) Concurrency control (object locks) Transactions Auditing Asynchronous actions Undo Implementation notesGiven a set of domain models, one defines the interactions on them as a set of Screens, Forms and Actions.

Screen: read-only view, with links to other models Form: allows updating the fields on a model Action: perform some arbitrary action on the domain model. These are the controllers, and they each take as a parameter the appropriate Factory to load a model. Additionally, an Action controller needs to know which method to call on the object.

So, consider the proverbial CRUD actions, and call them View, Create, Update and Delete.

View is a Screen(Model.load) Create is a Form(Model.create) Update is a Form(Model.load) Delete is an Action(Model.load, 'delete') These are the controller primitives, from which we can build other interesting actions:

Login: Form(Session.create) Logout: Action(Session.load, 'delete') Clone: Screen(clone_factory) Notify: Action(load_factory, 'notify')

Tags

database framework mvc python wsgi

In a Nutshell, bondi...

 No code available to analyze

Open Hub computes statistics on FOSS projects by examining source code and commit history in source code management systems. This project has no code locations, and so Open Hub cannot perform this analysis

Is this project's source code hosted in a publicly available repository? Do you know the URL? If you do, click the button below and tell us so that Open Hub can generate statistics! It's fast and easy - try it and see!

Add a code location

MIT License
Permitted

Commercial Use

Modify

Distribute

Private Use

Sub-License

Forbidden

Hold Liable

Required

Include Copyright

Include License

These details are provided for information only. No information here is legal advice and should not be used as such.

All Licenses

This Project has No vulnerabilities Reported Against it

Did You Know...

  • ...
    Black Duck offers a free trial so you can discover if there are open source vulnerabilities in your code
  • ...
    anyone with an Open Hub account can update a project's tags
  • ...
    55% of companies leverage OSS for production infrastructure
  • ...
    you can subscribe to e-mail newsletters to receive update from the Open Hub blog

 No code available to analyze

Open Hub computes statistics on FOSS projects by examining source code and commit history in source code management systems. This project has no code locations, and so Open Hub cannot perform this analysis

Is this project's source code hosted in a publicly available repository? Do you know the URL? If you do, click the button below and tell us so that Open Hub can generate statistics! It's fast and easy - try it and see!

Add a code location

Community Rating

Be the first to rate this project
Click to add your rating
   Spinner
Review this Project!
Sample ohloh analysis