Package: sdrf
Simple Django Rest Framework - sdrfSimple Django Rest Framework (sdrf) is django based app used to provide abstraction that combines both django rest framework with drf_yasg a swagger generator to implement good looking and  well documented apis using djangQuick StartInstallassuming you already have a django project that you need to add this app to you need to start with installing the package usingpip install sdrfinstall required apps to INSTALLED_APPS in django settingsINSTALLED_APPS=[..."rest_framework","drf_yasg",'sdrf',]add swagger docs url to your project urlsfromdjango.contribimportadminfromdjango.urlsimportpath,includeurlpatterns=[...path('',include('sdrf.urls'))]check out if everything is okay by visting default swagger docs url athttp://<your-project-url>/restConfigurenow you have an rest app up and running you can configure it as you want. addtionally for django rest framework configuration and drf_yasg configuration you have our sdrf configs you can make with these default valuesconfig variable namedefault valuedescriptionREST_APP_NAMEWeather APIthe app name used in swagger docs viewREST_APP_VERSIONv1the api version used in swagger docs viewREST_APP_CREATOR{'name': '','email': '','url': ''}the contact information for communicating the rest app creator used in swagger docs viewREST_APP_BASE_URLrest/the base url that the swagger docs will be viewd on and a prefix for default api endpointUsageBuild Single Method API Endpointsassuming you have an django app that already exsist create and an API endpoint class that inheiret APIEndPoint class for example see out hello world herefromsdrf.api_endpointimportAPIEndpointfromsdrf.endpoint_configimportAPIEndpointConfigclassHelloEndPoint(APIEndpoint):defconfigure(self,config:APIEndpointConfig)->APIEndpointConfig:...returnconfig@staticmethoddefexecute(request:Request,*args,**kwargs)->Response:name=request.query_params.get('name')returnHttpResponse(f'Hello{name}')configure your api endpoint using configure method, in this method you have all sort of configuration that you can configure for your rest api even the auhentication and authorization configurations, http method, routing, and swagger view configs simplified with easy and nice looking config codefromsdrf.api_endpointimportAPIEndpointfromsdrf.endpoint_configimportAPIEndpointConfigclassHelloEndPoint(APIEndpoint):defconfigure(self,config:APIEndpointConfig)->APIEndpointConfig:config.name='Hello Rest!'config.description="""First Well documented API endpoint that says hello to name that you send"""config.endpoint='hello'config.http_method='GET'config.set_response(200,'hello [name]')config.add_parameter('name',self.DataType.STRING,self.ParameterTypes.QUERY_PARAM)config.add_tag('First API')returnconfig@staticmethoddefexecute(request:Request,*args,**kwargs)->Response:name=request.query_params.get('name')returnHttpResponse(f'Hello{name}')finally add your api endpoint to your app urls using as_url static methodfrom.viewsimportHelloEndPointurlpatterns=[HelloEndPoint.as_url()]check your output and test your api in the swagger viewBuild Model API EndPointjust like you would do in normal django rest framework and makeViewSetyou dont need to learn anything new to that but instead of inhertingrest_framework.viewsets.ModelViewSetyou will inherit ourModelEndPoint`like thatfrom.modelsimportPerson,PersonSeralizerfromsdrf.model_endpointimportModelEndPoint...classPersonEndPoint(ModelEndPoint):queryset=Person.objects.all()serializer_class=PersonSeralizerthen simply make  it as urls inurls.pyfrom.viewsimportPersonEndPointurlpatterns=[...PersonEndPoint.as_urls(),]