Metadata-Version: 2.1
Name: baka-tenshi
Version: 1.0.3.dev8
Summary: Baka: Skeleton framework built top of pyramid, baka_tenshi for sqlalchemy
Home-page: https://github.com/baka-framework/baka_tenshi
Author: Nanang Suryadi
Author-email: nanang.jobs@gmail.com
License: MIT
Download-URL: https://github.com/baka-framework/baka_tenshi/archive/1.0.0.tar.gz
Keywords: model,sqlalchemy,framework
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Web Environment
Classifier: Framework :: Pyramid
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Operating System :: OS Independent
Requires-Dist: setuptools
Requires-Dist: trafaret
Requires-Dist: pyramid
Requires-Dist: sqlalchemy
Requires-Dist: zope.sqlalchemy
Requires-Dist: transaction
Requires-Dist: pyramid-retry
Requires-Dist: pyramid-tm
Requires-Dist: awesome-slugify
Requires-Dist: passlib
Requires-Dist: argon2-cffi

Baka model add-ons
==================

`Baka_tenshi <https://github.com/suryakencana/Baka_tenshi>`_ is add-ons baka framework built top of pyramid that provides an SQLAlchemy declarative ``Base`` alias model.Model and a add method on ``request.db``.


Usage
=====

You can use these as base classes for declarative model definitions, e.g.

.. code:: python

   from base_model.model import Model

   class MyModel(Model):
       """Example model class."""

       __tablename__ = 'base.mymodel'

       @classmethod
       def do_first(cls, session):
       instance = session.query(cls).first()


Register Model
==============

using Baka_tenshi, you can apply dependency injection method for model that has been created.

.. code:: python

   def includeme(config):
       config.register_model('base.MyModel')


   # in view handler request
   @route('/my.model', renderer='json')
   def view_mymodel(request):
       MyModel = request.find_model('base.mymodel')
       mymodel = MyModel()
       mymodel.name = 'user model'
       mymodel.address = 'user address'
       mymodel.phone = '0089800-998'
       request.db.add(mymodel)

       return {'success': True}


Install
=======

Install with ``.ini`` file

.. code:: bash

   pyramid.includes =
      Baka_tenshi
      pyramid_debugtoolbar
      pyramid_mailer


Install with code

.. code:: python

   def includeme(config):
       config.include('Baka_tenshi')


