https://github.com/baka-framework/baka
Baka Framework adalah web application framework yang menggunakan core wsgi dari Pyramid.
https://github.com/baka-framework/baka
baka framework microservice pyramid python
Last synced: about 6 hours ago
JSON representation
Baka Framework adalah web application framework yang menggunakan core wsgi dari Pyramid.
- Host: GitHub
- URL: https://github.com/baka-framework/baka
- Owner: baka-framework
- License: other
- Created: 2017-06-30T20:15:22.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2018-04-08T03:28:29.000Z (about 8 years ago)
- Last Synced: 2026-01-02T21:15:07.239Z (6 months ago)
- Topics: baka, framework, microservice, pyramid, python
- Language: Python
- Homepage:
- Size: 131 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.rst
- Contributing: CONTRIBUTING.rst
- License: LICENSE
Awesome Lists containing this project
README
Baka Framework
==============
|docs| |python| |pypi| |license|
`Baka Framework`_ adalah web application framework yang menggunakan core wsgi dari Pyramid.
Penggunaan
==========
Kamu dapat menggunakan baka framework dengan sangat sederhana seperti ``route handler function``, misalnya.
.. code:: python
from baka import Baka
from baka.log import log
app = Baka(__name__)
# route method
@app.route('/')
def index_page(req):
log.info(req)
return {'Baka': 'Hello World!'}
@app.route('/home')
def home_page(req):
log.info(req)
return {'Route': 'home'}
# root resources routes
class ResourcesPage(object):
def __init__(self, request):
self._name = 'Resource Page'
log.info(request.params)
# GET resource method
@ResourcesPage.GET()
def resources_page_get(root, request):
return {
'hello': 'Get Hello resources from Page root %s ' % page._name
}
Modular Package / Folder
========================
Dengan penggunakan ``baka.include(callable)``, kamu dapat menggabungkan module terpisah dari beberapa file didalam *package module*.
``contoh file: testbaka/view_user.py``
.. code:: python
from .app import app
@app.route('/users')
def user(req):
return {'users': 'all data'}
def includeme(config):
pass
``file: testbaka/app.py``
.. code:: python
from baka import Baka
from baka.log import log
app = Baka(__name__)
app.include('testbaka.view_user') # include module dari file view_user.py
@app.route('/')
def index_page(req):
log.info(req)
return {'Baka': 'Hello World!'}
@app.route('/home')
def home_page(req):
log.info(req)
return {'Route': 'home'}
App Folder
==========
Untuk Struktur Application Folder ``optional``
.. code:: yaml
root
package (AppBaka)
config ``optional, Baka(__name__, config_schema=True)``
config.yaml # digunakan for baka default configuration
__init__.py # the code goes in here
wsgi.py # for running in wsgi container e.g gunicorn
run.py # running development server
Default Configuration Baka from ``config.yaml``
.. code-block:: yaml
package: AppBaka # mandatory for root package
version: 0.1.0 # optional
baka:
debug_all: True # mandatory for debug environment
meta:
version: 0.1.0 # mandatory for json response version
WSGI Container Application Server ``wsgi.py``
.. code:: python
# -*- coding: utf-8 -*-
"""
WSGI Application Server
~~~~~~~~~
:author: nanang.jobs@gmail.com
:copyright: (c) 2017 by Nanang Suryadi.
:license: BSD, see LICENSE for more details.
wsgi.py
"""
from . import app
application = app
Running in Development mode ``run.py``
.. code:: python
# -*- coding: utf-8 -*-
"""
:author: nanang.jobs@gmail.com
:copyright: (c) 2017 by Nanang Suryadi.
:license: BSD, see LICENSE for more details.
run.py.py
"""
from . import app
app.run(use_reloader=True)
Install
=======
.. code:: python
pip install baka
Running
=======
Development mode
.. code::
python run.py
Production mode with Gunicorn
.. code::
gunicorn -w 1 -b 0.0.0.0:5000 AppBaka.wsgi
Contoh Aplikasi
===============
.. code::
git clone https://github.com/baka-framework/baka.git
cd examples
python3 -m venv env
source env/bin/active
pip install baka
python run.py
Saran dan Kontribusi
====================
Qoutes from heroes.
“ Learning without thinking is useless, but thinking without learning is very dangerous! ”
-― Sukarno, Di Bawah Bendera Revolusi : Jilid 1
“ Apabila dalam diri seseorang masih ada rasa malu dan takut untuk berbuat suatu kebaikan, maka jaminan bagi orang tersebut adalah tidak akan bertemunya ia dengan kemajuan selangkah pun ”
-- Sukarno
“ Kurang cerdas dapat diperbaiki dengan belajar, kurang cakap dapat dihilangkan dengan pengalaman. Namun tidak jujur sulit diperbaiki. ”
-- Bung Hatta
“ Keberanian bukan berarti tidak takut, keberanian berarti menaklukan ketakutan. ”
-- Bung Hatta
.. |license| image:: https://img.shields.io/pypi/l/baka.svg
:alt: License
:target: https://pypi.python.org/pypi/baka/0.4.2
.. |pypi| image:: https://img.shields.io/pypi/v/baka.svg
:alt: Pypi package manager
:target: https://pypi.python.org/pypi/baka/0.4.2
.. |python| image:: https://img.shields.io/pypi/pyversions/baka.svg
:alt: Python version
:target: https://pypi.python.org/pypi/baka/0.4.2
.. |docs| image:: https://readthedocs.org/projects/baka-framework/badge/?version=latest
:alt: Documentation Status
:target: https://baka-framework.readthedocs.io/en/latest/?badge=latest
.. |docs_dev| image:: https://readthedocs.org/projects/baka-framework/badge/?version=develop
:alt: Documentation Status
:target: https://baka-framework.readthedocs.io/en/latest/?badge=develop