Project Summary

  Analyzed 1 day ago based on code collected 1 day ago.

DBSprocketsThe goal of DBSprockets is to give the developer the power to simply generate web content from available database definitions. Because DBSprockets relies heavily on Toscawidgets, it is framework-independent. It is easy to implement forms on TG, TG2, Pylons, Zope, and Grok using DBSprockets' primitives.

DBSprockets is mainly supporting SQLAlchemy, so any application you have that uses SQLAlchemy will be well supported. Support for other ORMs will be available in the future.

Every component of DBSprockets is extensible so that the developer can override a form or a set of forms to his or her liking.

One of the important implementations using DBSprockets is DBMechanic, which acts as a control board for your database crud.

Current Version0.2.2, 0.5dev

Dependent ongenshi>=0.5 sqlalchemy >=0.5 toscawidgets >=0.9.2 Supported FrameworksTurbogears 1.0 Turbogears 2.0 Grok InstallationIf you don't already have easy_install setup download ez_setup here. And execute it.

With easy_install:

easy_install dbsprockets

more details.

DeclarativesDeclaratives are the easiest way to get going with DBSprockets.

FormBaseTake a look a the simplest example, a login form:

from dbsprockets.declaratives import FormBase
from myProject.myModel import User

class LoginForm(FormBase):
__model__ = User
__limit_fields__ = 'username', 'password'

login_form = LoginForm()In your template, you would render the form like this:

${login_form()}Here is what the form looks like:

More information about the model that created this form.

TableBaseAnd here is an example showing what it looks like to display a list of users:

from dbsprockets.declaratives import TableBase
from dbsprockets.primitives import get_table_value
from myProject import User

class UserTable(TableBase):
__model__ = User

user_table = UserTable()
value = get_table_value(User)

user_table(value=value)Which when rendered through a web framework looks something like this:

Notice that the town name (Arvada) has been automatically added.

Extensible APIThe power of DBSprockets is that every part of it is extensible so customizing forms, widget templates and other portions of your database view is made easier. Simply override the fields you want to change by name or type with what you want. Want a whole set of sprockets that have the same modification? No problem, create a Sprockets cache with your new defaults.

more on DBSprocketsAPI

DBMechanic

Started as a replacement for Catwalk that works with Sqlalchemy.

DBMechanic is a stand-alone TG2 controller for database viewing.

UsageDBMechanic is easy to use! Here is an example of how to use it in TG 1.0:

from myproject.model import metadata
from dbsprockets.dbmechanic.frameworks.tg import DBMechanic
from dbsprockets.saprovider import SAProvider

dbmechanic = DBMechanic(SAProvider(metadata), '/dbmechanic')more on DBMechanic

Share

In a Nutshell, dbsprockets...

 

Activity

30 Day Summary

Jun 3 2015 — Jul 3 2015

12 Month Summary

Jul 3 2014 — Jul 3 2015

Community

Ratings

Be the first to rate this project
 
Click to add your rating
 
Review this Project!