Metadata-Version: 1.1
Name: kwikapi-django
Version: 0.2.5
Summary: Quickest way to build powerful HTTP APIs in Python
Home-page: https://github.com/deep-compute/kwikapi.django
Author: Deep Compute, LLC
Author-email: contact@deepcompute.com
License: MIT License
Download-URL: https://github.com/deep-compute/kwikapi.django/tarball/0.2.5
Description: # kwikapi.django
        
        Quickly build API services to expose functionality in Python. `kwikapi.django` was built by using the functionality of KwikAPI and Django web server.
        
        ## Installation
        
        ```bash
        $ pip3 install kwikapi[django]
        ```
        
        ## Usage
        
        ### Create a Django project
        
        (Ref: https://docs.djangoproject.com/en/1.11/intro/tutorial01/)
        
        ```bash
        $ django-admin startproject django_kwikapi
        ```
        
        ### Create an app in Django
        
        ```bash
        $ python3 manage.py startapp polls
        ```
        
        ### Add your app name to settings.py
        
        ```python
        INSTALLED_APPS = [
            'django.contrib.admin',
            'django.contrib.auth',
            'django.contrib.contenttypes',
            'django.contrib.sessions',
            'django.contrib.messages',
            'django.contrib.staticfiles',
            'polls',
        ]
        ```
        ### Make sure the contents of files be like this
        
        /django_kwikapi/django_kwikapi/urls.py
        
        ```python
        from django.conf.urls import url, include
        from django.contrib import admin
        
        urlpatterns = [
            url(r'^admin/', admin.site.urls),
            url(r'^', include('polls.urls'))
        ]
        ```
        
        /django_kwikapi/polls/urls.py
        
        ```python
        from django.conf.urls import url, include
        
        from . import views
        from kwikapi.django import RequestHandler
        
        urlpatterns = [
            url(r'api/', RequestHandler(views.api).handle_request),
        ]
        ```
        
        ### Example of django views
        
        /django_kwikapi/polls/views.py
        
        ```python
        from django.http import HttpResponse
        from kwikapi import API
        from logging import Logger
        
        class BaseCalc():
            def add(self, a: int, b: int) -> int:
                return a + b
        
            def subtract(self, a: int, b: int) -> int:
                return a - b
        
        class StandardCalc():
            def multiply(self, a: int, b: int) -> int:
                return a * b
        
            def divide(self, a: int, b: int) -> float:
                return a / b
        
        api = API(Logger, default_version='v1')
        api.register(BaseCalc(), 'v1')
        api.register(StandardCalc(), "v2")
        ```
        
        ### Start Django
        
        ```bash
        $ python3 manage.py makemigrations
        $ python3 manage.py migrate
        $ python3 manage.py runserver 8888
        ```
        
        ### Make API request
        
        ```bash
        $ curl "http://localhost:8888/api/v1/add?a=10&b=10"
        ```
        
        > To know how to use all features, please refer KwikAPI documentation https://github.com/deep-compute/kwikapi/blob/master/README.md
        
Platform: UNKNOWN
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
