Skip to main content

The library of simple helpers to build API with Django. Not aimed at implementing REST.

Requirements: Python 2.7-3.12+ and Django 2.1-5.0+. Installation:

$ pip install djapi

Setup

Most of the library needs no configuration, but if you want to use token authentication:

INSTALLED_APPS += ['djapi.authtoken']
DJAPI_AUTH = ['djapi.authtoken.use_token']

# Or add default django auth for e.g. debugging purposes
DJAPI_AUTH = ['djapi.authtoken.use_token', 'djapi.auth.use_contribauth']

Usage

import djapi as api


posts_qs = api.queryset(Post).filter(visible=True) \
    .values_but('visible', 'modified_on')          \
    .values_add(category='category__title')        \
    .map_types(Image, lambda img: img.url)


@api.catch(Post.DoesNotExist, status=404)
def post(request, pk):
    return api.json(posts_qs.get(pk=pk))


def posts_list(request):
    return api.json(api.paginate(request, posts_qs, per_page=20))

@api.auth_required
@api.user_passes_test(lambda user: user.is_staff)
@api.validate(PostForm)
def posts_create(request, post):
    post.created_by = request.user
    post.save()
    return api.json(201, created=post.pk)

posts = api.route(get=posts_list, post=posts_create)

Metadata

Release files for djapi 0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for djapi 0.3
File Size Uploaded
djapi-0.3.tar.gz 9.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for djapi 0.3
File Interpreter ABI Platform
djapi-0.3-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 19.8 kB

Release files / djapi-0.3.tar.gz

Download URL djapi-0.3.tar.gz
Size 9.3 kB
Tags Source
SHA-256 checksum
How to use checksums
c4b49d29981297df2b457d8a55345cc5bb376fce5500b4bbb41d14731f59c785
BLAKE2b-256 checksum
How to use checksums
0ffa883c786a2e1c5271d353a4dbca8b8c09ef34e678121aa88e6dfa51728784
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.11.8

Release files / djapi-0.3-py2.py3-none-any.whl

Download URL djapi-0.3-py2.py3-none-any.whl
Size 10.5 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
8c5f27e2d704c625a96db517a4cde9abd7cb2d49f0038f978354a37e586076ce
BLAKE2b-256 checksum
How to use checksums
a68c98d22ce78904035b6c0ceaa0ad381d550bb9eeb6461e58baeca25a9df176
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.11.8

Release history Release notifications | RSS feed

This release

0.3 This release

2 release files

0.2

1 release file

0.1.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page