Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Bishwas-py/djapy
No bullshit, Django Rest API Framework
https://github.com/Bishwas-py/djapy
django django-api django-rest-framework
Last synced: 3 months ago
JSON representation
No bullshit, Django Rest API Framework
- Host: GitHub
- URL: https://github.com/Bishwas-py/djapy
- Owner: Bishwas-py
- Created: 2023-09-06T07:40:10.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-13T02:37:02.000Z (5 months ago)
- Last Synced: 2024-09-14T03:28:02.950Z (3 months ago)
- Topics: django, django-api, django-rest-framework
- Language: Python
- Homepage: https://djapy.io
- Size: 1.27 MB
- Stars: 60
- Watchers: 2
- Forks: 3
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-python-web-frameworks - Djapy - Django coupled with Pydantic, RestAPI framework (REST frameworks / Dead Frameworks (kept for reference))
README
# Introduction
This is the documentation for the `Djapy` library, which is designed to let you make RESTful APIs
within Django with as no boilerplate, using plain Python and Django, with the supremacy of Pydantic.Djapy is molded according to `Django`'s philosophy of "batteries included", and is designed to
be as simple as possible to use, while still being powerful enough to handle most use cases.```python
@djapify
def get_user(request) -> {200: UserSchema, 404: str}:
return request.user
```> It's that simple!
## Features
- Complete input/output data flow control
- Extensible and extremely customizable auth; SessionAuth provided in-built
- Hyper type checking, pydantic-based, and swagger integrated
- CursorPagination, OffsetLimitPagination and PageNumber out of the box; with ability to create custom pagination
- Validation, validation messages, with complete control over each validation process
- Customizable error handling, and error messages
- Completely Django friendly, and can be used with any Django project## Installation
Djapy is available on PyPI, and can be installed with `pip`:
```bash
pip install djapy
# or pip install git+https://github.com/Bishwas-py/djapy.git@main
```## Creating a new project
To create a new project, run the following command:
```bash
django-admin startproject
```> See sample: [project](https://github.com/Bishwas-py/djapy-todo).
> Fork project: [bishwas-py/djapy](https://github.com/Bishwas-py/djapy).More on this in the [Usage](https://djapy.io/usage/) section.
## Contribution Guidelines
We welcome all contributions to Djapy, and have a set of guidelines to ensure that the process is as smooth as possible.
Please read the [Contribution Guidelines](https://djapy.io/contribution/) before contributing.