REST version of Django authentication system.
[![Build Status](https://travis-ci.org/sunscrapers/djoser.svg?branch=master)](https://travis-ci.org/sunscrapers/djoser) [![Coverage Status](https://coveralls.io/repos/sunscrapers/djoser/badge.png?branch=master)](https://coveralls.io/r/sunscrapers/djoser?branch=master)
REST implementation of [Django](https://www.djangoproject.com/) authentication system. Djoser library provides a set of [Django Rest Framework](http://www.django-rest-framework.org/) views to handle basic actions such as registration, login, logout, password reset and account activation. It works with [custom user model](https://docs.djangoproject.com/en/dev/topics/auth/customizing/).
Instead of reusing Django code (e.g. \(PasswordResetForm\)), we reimplemented few things to fit better into [Single Page App](http://en.wikipedia.org/wiki/Single-page_application) architecture.
Developed by [SUNSCRAPERS](http://sunscrapers.com/) with passion & patience.
Documentation is available to study at [http://djoser.readthedocs.io](http://djoser.readthedocs.io) and in \(docs\) directory.
## Contributing and development
To start developing on djoser, clone the repository:
\($ git clone firstname.lastname@example.org:sunscrapers/djoser.git\)
If you are a pipenv user you can quickly setup testing environment by using Make commands:
\($ make init\) \($ make test\)
You do not need to create virtualenv in this case - it’s automatically created for you.
Otherwise, if you cannot use Make commands, please create virtualenv and install requirements manually:
\($ pip install django djangorestframework\) \($ pip install -r requirements.txt\)
If you are running djoser tests on Python 2.7 you also need to install \(mock\) library.
\($ pip install mock # only on Python 2.7\) \($ cd testproject\) \($ ./manage.py test\)
If you need to run tests against all supported Python and Django versions then invoke:
\($ pip install tox\) \($ tox\)
You can also play with test project by running following commands:
\($ ./manage.py migrate\) \($ ./manage.py runserver\)
## Similar projects
List of projects related to Django, REST and authentication: