Quickest way to build powerful HTTP APIs in Python
Project 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
$ pip3 install kwikapi[django]
Usage
Create a Django project
(Ref: https://docs.djangoproject.com/en/1.11/intro/tutorial01/)
$ django-admin startproject django_kwikapi
Create an app in Django
$ python3 manage.py startapp polls
Add your app name to settings.py
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
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
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
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(log=Logger, default_version='v1') api.register(BaseCalc(), 'v1') api.register(StandardCalc(), "v2")
Start Django
$ python3 manage.py makemigrations
$ python3 manage.py migrate
$ python3 manage.py runserver 8888
Make API request
$ 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
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size kwikapi_django-0.2.8-py3-none-any.whl (4.5 kB) | File type Wheel | Python version py3 | Upload date | Hashes View hashes |
Filename, size kwikapi-django-0.2.8.tar.gz (3.4 kB) | File type Source | Python version None | Upload date | Hashes View hashes |
Close
Hashes for kwikapi_django-0.2.8-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 507b2d1a48f06ce06080e81e4c2e5e46d47dfaeff53b5d92a3f376e0e62f2175 |
|
MD5 | c90e5592d9b42534b34dc169a5c816cf |
|
BLAKE2-256 | 5dd38e177acd7aff58b42531c0d54323e14279ff97f89fae86cb02171212c8c9 |