[Python-modules-commits] [djoser] 01/05: Import djoser_0.6.0.orig.tar.gz

Michael Fladischer fladi at moszumanska.debian.org
Tue Jun 20 19:45:33 UTC 2017


This is an automated email from the git hooks/post-receive script.

fladi pushed a commit to branch master
in repository djoser.

commit a294649eef57aaf30ef05da4080ae93b5b23461f
Author: Michael Fladischer <FladischerMichael at fladi.at>
Date:   Tue Jun 20 20:43:51 2017 +0200

    Import djoser_0.6.0.orig.tar.gz
---
 PKG-INFO                     | 811 +++----------------------------------------
 README.md                    | 669 ++---------------------------------
 djoser.egg-info/PKG-INFO     | 811 +++----------------------------------------
 djoser.egg-info/SOURCES.txt  |   1 -
 djoser.egg-info/requires.txt |   2 -
 djoser/constants.py          |   1 +
 djoser/serializers.py        |  55 ++-
 djoser/utils.py              |  47 ++-
 djoser/views.py              |  30 +-
 requirements.txt             |   5 +-
 setup.cfg                    |   1 -
 setup.py                     |  12 +-
 12 files changed, 212 insertions(+), 2233 deletions(-)

diff --git a/PKG-INFO b/PKG-INFO
index 91e89df..a1cea92 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,801 +1,82 @@
 Metadata-Version: 1.1
 Name: djoser
-Version: 0.5.2
+Version: 0.6.0
 Summary: REST version of Django authentication system.
 Home-page: https://github.com/sunscrapers/djoser
 Author: SUNSCRAPERS
 Author-email: info at sunscrapers.com
 License: MIT
-Description: djoser
-        ======
+Description: # djoser
         
-        |Build Status| |Coverage Status|
+        [![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/>`__.
+        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>`__
+        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.
+        Developed by [SUNSCRAPERS](http://sunscrapers.com/) with passion & patience.
         
-        Features
-        --------
         
-        Here is a list of supported authentication backends:
+        ## Documentation
         
-        -  `HTTP Basic
-           Auth <http://www.django-rest-framework.org/api-guide/authentication/#basicauthentication>`__
-           (Default)
-        -  `Token based authentication from Django Rest
-           Framework <http://www.django-rest-framework.org/api-guide/authentication#tokenauthentication>`__
+        Documentation is available to study at
+        [http://djoser.readthedocs.io](http://djoser.readthedocs.io) and in
+        `docs` directory.
         
-        Available endpoints:
+        ## Contributing and development
         
-        -  ``/me/``
-        -  ``/register/``
-        -  ``/login/`` (token based authentication)
-        -  ``/logout/`` (token based authentication)
-        -  ``/activate/``
-        -  ``/{{ User.USERNAME_FIELD }}/``
-        -  ``/password/``
-        -  ``/password/reset/``
-        -  ``/password/reset/confirm/``
-        
-        Supported Python versions:
-        
-        -  Python 2.7
-        -  Python 3.4
-        -  Python 3.5
-        
-        Supported Django versions:
-        
-        -  Django 1.7
-        -  Django 1.8
-        -  Django 1.9
-        -  Django 1.10
-        
-        Supported Django Rest Framework versions:
-        
-        -  Django Rest Framework 3.x
-        
-        For Django Rest Framework 2.4 support check `djoser
-        0.3.2 <https://github.com/sunscrapers/djoser/tree/0.3.2>`__.
-        
-        Installation
-        ------------
-        
-        Use ``pip``:
-        
-        ::
-        
-            $ pip install djoser
-        
-        Quick Start
-        -----------
-        
-        Configure ``INSTALLED_APPS``:
-        
-        .. code:: python
-        
-            INSTALLED_APPS = (
-                'django.contrib.auth',
-                (...),
-                'rest_framework',
-                'djoser',
-                (...),
-            )
-        
-        Configure ``urls.py``:
-        
-        .. code:: python
-        
-            urlpatterns = patterns('',
-                (...),
-                url(r'^auth/', include('djoser.urls')),
-            )
-        
-        HTTP Basic Auth strategy is assumed by default as Django Rest Framework
-        does it. However you may want to set it explicitly:
-        
-        .. code:: python
-        
-            REST_FRAMEWORK = {
-                'DEFAULT_AUTHENTICATION_CLASSES': (
-                    'rest_framework.authentication.BasicAuthentication',
-                ),
-            }
-        
-        Run migrations - this step will create tables for ``auth`` app:
-        
-        ::
-        
-            $ ./manage.py migrate
-        
-        Customizing authentication backend
-        ----------------------------------
-        
-        Token Based Authentication
-        ~~~~~~~~~~~~~~~~~~~~~~~~~~
-        
-        Add ``'rest_framework.authtoken'`` to ``INSTALLED_APPS``:
-        
-        .. code:: python
-        
-            INSTALLED_APPS = (
-                'django.contrib.auth',
-                (...),
-                'rest_framework',
-                'rest_framework.authtoken',
-                'djoser',
-                (...),
-            )
-        
-        Configure ``urls.py``. Pay attention to ``djoser.url.authtoken`` module
-        path.
-        
-        .. code:: python
-        
-            urlpatterns = patterns('',
-                (...),
-                url(r'^auth/', include('djoser.urls.authtoken')),
-            )
-        
-        Set ``TokenAuthentication`` as default Django Rest Framework
-        authentication strategy:
-        
-        .. code:: python
-        
-            REST_FRAMEWORK = {
-                'DEFAULT_AUTHENTICATION_CLASSES': (
-                    'rest_framework.authentication.TokenAuthentication',
-                ),
-            }
-        
-        Run migrations - this step will create tables for ``auth`` and
-        ``authtoken`` apps:
-        
-        ::
-        
-            $ ./manage.py migrate
-        
-        JSON Web Token Authentication
-        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-        
-        ``djoser`` does not provide support for JSON web token authentication
-        out of the box but can be enabled by using a library like
-        `djangorestframework-jwt <https://github.com/GetBlimp/django-rest-framework-jwt>`__.
-        
-        You simply need to route correctly in your ``settings.ROOT_URLCONF``. An
-        example would be:
-        
-        ::
-        
-            import rest_framework_jwt.views
-            import djoser.views
-        
-            urlpatterns = [
-                url(r'^auth/login', rest_framework_jwt.views.obtain_jwt_token),  # using JSON web token
-                url(r'^auth/register', djoser.views.RegistrationView.as_view()),
-                url(r'^auth/password/reset', djoser.views.PasswordResetView.as_view()),
-                url(r'^auth/password/reset/confirm', djoser.views.PasswordResetConfirmView.as_view()),
-                ...
-            ]
-        
-        Settings
-        --------
-        
-        Optionally add ``DJOSER`` settings:
-        
-        .. code:: python
-        
-            DJOSER = {
-                'DOMAIN': 'frontend.com',
-                'SITE_NAME': 'Frontend',
-                'PASSWORD_RESET_CONFIRM_URL': '#/password/reset/confirm/{uid}/{token}',
-                'ACTIVATION_URL': '#/activate/{uid}/{token}',
-                'SEND_ACTIVATION_EMAIL': True,
-                'PASSWORD_VALIDATORS': [],
-                'SERIALIZERS': {},
-            }
-        
-        Check "Settings" section for more info.
-        
-        Endpoints
-        ---------
-        
-        User
-        ~~~~
-        
-        Use this endpoint to retrieve/update user.
-        
-        ``GET``
-        ^^^^^^^
-        
-        URL: ``/me/``
-        
-        Retrieve user.
-        
-        -  **response**
-        
-           -  status: ``HTTP_200_OK`` (success)
-        
-           -  data:
-        
-              ``{{ User.USERNAME_FIELD }}``
-        
-              ``{{ User._meta.pk.name }}``
-        
-              ``{{ User.REQUIRED_FIELDS }}``
-        
-        ``PUT``
-        ^^^^^^^
-        
-        URL: ``/me/``
-        
-        Update user.
-        
-        -  **request**
-        
-           -  data:
-        
-              ``{{ User.REQUIRED_FIELDS }}``
-        
-        -  **response**
-        
-           -  status: ``HTTP_200_OK`` (success)
-        
-           -  data:
-        
-              ``{{ User.USERNAME_FIELD }}``
-        
-              ``{{ User._meta.pk.name }}``
-        
-              ``{{ User.REQUIRED_FIELDS }}``
-        
-        Register
-        ~~~~~~~~
-        
-        Use this endpoint to register new user. Your user model manager should
-        implement
-        `create\_user <https://docs.djangoproject.com/en/dev/ref/contrib/auth/#django.contrib.auth.models.UserManager.create_user>`__
-        method and have
-        `USERNAME\_FIELD <https://docs.djangoproject.com/en/dev/topics/auth/customizing/#django.contrib.auth.models.CustomUser.USERNAME_FIELD>`__
-        and
-        `REQUIRED\_FIELDS <https://docs.djangoproject.com/en/dev/topics/auth/customizing/#django.contrib.auth.models.CustomUser.REQUIRED_FIELDS>`__
-        fields.
-        
-        ``POST``
-        ^^^^^^^^
-        
-        URL: ``/register/``
-        
-        -  **request**
-        
-           -  data:
-        
-              ``{{ User.USERNAME_FIELD }}``
-        
-              ``{{ User.REQUIRED_FIELDS }}``
-        
-              ``password``
-        
-        -  **response**
-        
-           -  status: ``HTTP_201_CREATED`` (success)
-        
-           -  data:
-        
-              ``{{ User.USERNAME_FIELD }}``
-        
-              ``{{ User._meta.pk.name }}``
-        
-              ``{{ User.REQUIRED_FIELDS }}``
-        
-        Login
-        ~~~~~
-        
-        Use this endpoint to obtain user `authentication
-        token <http://www.django-rest-framework.org/api-guide/authentication#tokenauthentication>`__.
-        This endpoint is available only if you are using token based
-        authentication.
-        
-        ``POST``
-        ^^^^^^^^
-        
-        URL: ``/login/``
-        
-        -  **request**
-        
-           -  data:
-        
-              ``{{ User.USERNAME_FIELD }}``
-        
-              ``password``
-        
-        -  **response**
-        
-           -  status: ``HTTP_200_OK`` (success)
-        
-           -  data:
-        
-              ``auth_token``
-        
-        Logout
-        ~~~~~~
-        
-        Use this endpoint to logout user (remove user authentication token).
-        This endpoint is available only if you are using token based
-        authentication.
-        
-        ``POST``
-        ^^^^^^^^
-        
-        URL: ``/logout/``
-        
-        -  **response**
-        
-           -  status: ``HTTP_204_NO_CONTENT`` (success)
-        
-        Activate
-        ~~~~~~~~
-        
-        Use this endpoint to activate user account. This endpoint is not a URL
-        which will be directly exposed to your users - you should provide site
-        in your frontend application (configured by ``ACTIVATION_URL``) which
-        will send ``POST`` request to activate endpoint.
-        
-        ``POST``
-        ^^^^^^^^
-        
-        URL: ``/activate/``
-        
-        -  **request**
-        
-           -  data:
-        
-              ``uid``
-        
-              ``token``
-        
-        -  **response**
-        
-           -  status: ``HTTP_204_NO_CONTENT`` (success)
-        
-        Set username
-        ~~~~~~~~~~~~
-        
-        Use this endpoint to change user username (``USERNAME_FIELD``).
-        
-        ``POST``
-        ^^^^^^^^
-        
-        URL: ``/{{ User.USERNAME_FIELD }}/``
-        
-        -  **request**
-        
-           -  data:
-        
-              ``new_{{ User.USERNAME_FIELD }}``
-        
-              ``re_new_{{ User.USERNAME_FIELD }}`` (if ``SET_USERNAME_RETYPE``
-              is ``True``)
-        
-              ``current_password``
-        
-        -  **response**
-        
-           -  status: ``HTTP_204_NO_CONTENT`` (success)
-        
-        Set password
-        ~~~~~~~~~~~~
-        
-        Use this endpoint to change user password.
-        
-        ``POST``
-        ^^^^^^^^
-        
-        URL: ``/password/``
-        
-        -  **request**
-        
-           -  data:
-        
-              ``new_password``
-        
-              ``re_new_password`` (if ``SET_PASSWORD_RETYPE`` is ``True``)
-        
-              ``current_password``
-        
-        -  **response**
-        
-           -  status: ``HTTP_204_NO_CONTENT`` (success)
-        
-        Reset password
-        ~~~~~~~~~~~~~~
-        
-        Use this endpoint to send email to user with password reset link. You
-        have to setup ``PASSWORD_RESET_CONFIRM_URL``.
-        
-        ``POST``
-        ^^^^^^^^
-        
-        URL: ``/password/reset/``
-        
-        -  **request**
-        
-           -  data:
-        
-              ``email``
-        
-        -  **response**
-        
-           -  status: ``HTTP_204_NO_CONTENT`` (success), if
-              ``PASSWORD_RESET_SHOW_EMAIL_NOT_FOUND`` is ``False`` (default); or
-           -  status: ``HTTP_400_BAD_REQUEST``, if
-              ``PASSWORD_RESET_SHOW_EMAIL_NOT_FOUND`` is ``True`` and ``email``
-              does not exists in the database.
-        
-        Reset password confirmation
-        ~~~~~~~~~~~~~~~~~~~~~~~~~~~
-        
-        Use this endpoint to finish reset password process. This endpoint is not
-        a URL which will be directly exposed to your users - you should provide
-        site in your frontend application (configured by
-        ``PASSWORD_RESET_CONFIRM_URL``) which will send ``POST`` request to
-        reset password confirmation endpoint.
-        
-        ``POST``
-        ^^^^^^^^
-        
-        URL: ``/password/reset/confirm/``
-        
-        -  **request**
-        
-           -  data:
-        
-              ``uid``
-        
-              ``token``
-        
-              ``new_password``
-        
-              ``re_new_password`` (if ``PASSWORD_RESET_CONFIRM_RETYPE`` is
-              ``True``)
-        
-        -  **response**
-        
-           -  status: ``HTTP_204_NO_CONTENT`` (success)
-        
-        Settings
-        --------
-        
-        DOMAIN
-        ~~~~~~
-        
-        Domain of your frontend app. If not provided, domain of current site
-        will be used.
-        
-        **Required**: ``False``
-        
-        SITE\_NAME
-        ~~~~~~~~~~
-        
-        Name of your frontend app. If not provided, name of current site will be
-        used.
-        
-        **Required**: ``False``
-        
-        PASSWORD\_RESET\_CONFIRM\_URL
-        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-        
-        URL to your frontend password reset page. It should contain ``{uid}``
-        and ``{token}`` placeholders, e.g. ``#/password-reset/{uid}/{token}``.
-        You should pass ``uid`` and ``token`` to reset password confirmation
-        endpoint.
-        
-        **Required**: ``True``
-        
-        SEND\_ACTIVATION\_EMAIL
-        ~~~~~~~~~~~~~~~~~~~~~~~
-        
-        If ``True``, register endpoint will send activation email to user.
-        
-        **Default**: ``False``
-        
-        SEND\_CONFIRMATION\_EMAIL
-        ~~~~~~~~~~~~~~~~~~~~~~~~~
-        
-        If ``True``, register or activation endpoint will send confirmation
-        email to user.
-        
-        **Default**: ``False``
-        
-        ACTIVATION\_URL
-        ~~~~~~~~~~~~~~~
-        
-        URL to your frontend activation page. It should contain ``{uid}`` and
-        ``{token}`` placeholders, e.g. ``#/activate/{uid}/{token}``. You should
-        pass ``uid`` and ``token`` to activation endpoint.
-        
-        **Required**: ``True``
-        
-        SET\_USERNAME\_RETYPE
-        ~~~~~~~~~~~~~~~~~~~~~
-        
-        If ``True``, you need to pass ``re_new_{{ User.USERNAME_FIELD }}`` to
-        ``/{{ User.USERNAME_FIELD }}/`` endpoint, to validate username equality.
-        
-        **Default**: ``False``
-        
-        SET\_PASSWORD\_RETYPE
-        ~~~~~~~~~~~~~~~~~~~~~
-        
-        If ``True``, you need to pass ``re_new_password`` to ``/password/``
-        endpoint, to validate password equality.
-        
-        **Default**: ``False``
-        
-        PASSWORD\_RESET\_CONFIRM\_RETYPE
-        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-        
-        If ``True``, you need to pass ``re_new_password`` to
-        ``/password/reset/confirm/`` endpoint in order to validate password
-        equality.
-        
-        **Default**: ``False``
-        
-        LOGOUT\_ON\_PASSWORD\_CHANGE
-        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-        
-        If ``True``, setting new password will logout the user.
-        
-        **Default**: ``False``
-        
-        PASSWORD\_RESET\_SHOW\_EMAIL\_NOT\_FOUND
-        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-        
-        If ``True``, posting a non-existent ``email`` to ``/password/reset/``
-        will return a ``HTTP_400_BAD_REQUEST`` response with an
-        ``EMAIL_NOT_FOUND`` error message ('User with given email does not
-        exist.').
-        
-        If ``False`` (default), the ``/password/reset/`` endpoint will always
-        return a ``HTTP_204_NO_CONTENT`` response.
-        
-        Please note that setting this to ``True`` will expose information
-        whether an email is registered in the system.
-        
-        **Default**: ``False``
-        
-        PASSWORD\_VALIDATORS
-        ~~~~~~~~~~~~~~~~~~~~
-        
-        List containing `REST Framework
-        Validator <http://www.django-rest-framework.org/api-guide/validators/>`__
-        functions. These validators are run on ``/register/`` and
-        ``/password/reset/confirm/``.
-        
-        **Default**: ``[]``
-        
-        **Example**: ``[my_validator1, my_validator2]``
-        
-        SERIALIZERS
-        ~~~~~~~~~~~
-        
-        This dictionary is used to update the defaults, so by providing, let's
-        say, one key, all the others will still be used.
-        
-        **Examples**
-        
-        ::
-        
-            {
-                'user': 'myapp.serializers.SpecialUserSerializer',
-            }
-        
-        **Default**:
-        
-        ::
-        
-            {
-                'activation': 'djoser.serializers.ActivationSerializer',
-                'login': 'djoser.serializers.LoginSerializer',
-                'password_reset': 'djoser.serializers.PasswordResetSerializer',
-                'password_reset_confirm': 'djoser.serializers.PasswordResetConfirmSerializer',
-                'password_reset_confirm_retype': 'djoser.serializers.PasswordResetConfirmRetypeSerializer',
-                'set_password': 'djoser.serializers.SetPasswordSerializer',
-                'set_password_retype': 'djoser.serializers.SetPasswordRetypeSerializer',
-                'set_username': 'djoser.serializers.SetUsernameSerializer',
-                'set_username_retype': 'djoser.serializers.SetUsernameRetypeSerializer',
-                'user_registration': 'djoser.serializers.UserRegistrationSerializer',
-                'user': 'djoser.serializers.UserSerializer',
-                'token': 'djoser.serializers.TokenSerializer',
-            }
-        
-        Emails
-        ------
-        
-        There are few email templates which you may want to override:
-        
-        -  ``activation_email_body.txt``
-        -  ``activation_email_subject.txt``
-        -  ``password_reset_email_body.txt``
-        -  ``password_reset_email_subject.txt``
-        
-        All of them have following context:
-        
-        -  ``user``
-        -  ``domain``
-        -  ``site_name``
-        -  ``url``
-        -  ``uid``
-        -  ``token``
-        -  ``protocol``
-        
-        Sample usage
-        ------------
-        
-        We provide a standalone test app for you to start easily, see how
-        everything works with basic settings. It might be useful before
-        integrating **djoser** into your backend application.
-        
-        In this extremely short tutorial we are going to mimic the simplest
-        flow: register user, log in and log out. We will also check resource
-        access on each consecutive step. Let's go!
-        
-        -  Clone repository and install **djoser** to your virtualenv:
-        
-           ``$ git clone git at github.com:sunscrapers/djoser.git``
-        
-           ``$ cd djoser``
-        
-           ``$ pip install -e .``
-        
-        -  Go to the ``testproject`` directory, migrate the database and start
-           the development server:
-        
-           ``$ cd testproject``
-        
-           ``$ ./manage.py migrate``
-        
-           ``$ ./manage.py runserver 8088``
-        
-        -  Register a new user:
-        
-           ``$ curl -X POST http://127.0.0.1:8088/auth/register/ --data 'username=djoser&password=djoser'``
-        
-           ``{"email": "", "username": "djoser", "id":1}``
-        
-           So far, so good. We have just created a new user using REST API.
-        
-        -  Let's access user's details:
-        
-           ``$ curl -X GET http://127.0.0.1:8088/auth/me/``
-        
-           ``{"detail": "Authentication credentials were not provided."}``
-        
-           As we can see, we cannot access user profile without logging in.
-           Pretty obvious.
-        
-        -  Let's log in:
-        
-           ``curl -X POST http://127.0.0.1:8088/auth/login/ --data 'username=djoser&password=djoser'``
-        
-           ``{"auth_token": "b704c9fc3655635646356ac2950269f352ea1139"}``
-        
-           We have just obtained an authorization token that we may use later in
-           order to retrieve specific resources.
-        
-        -  Let's access user's details again:
-        
-           ``$ curl -X GET http://127.0.0.1:8088/auth/me/``
-        
-           ``{"detail": "Authentication credentials were not provided."}``
-        
-           Access is still forbidden but let's offer the token we obtained:
-        
-           ``$ curl -X GET http://127.0.0.1:8088/auth/me/ -H 'Authorization: Token b704c9fc3655635646356ac2950269f352ea1139'``
-        
-           ``{"email": "", "username": "djoser", "id": 1}``
-        
-           Yay, it works!
-        
-        -  Now let's log out:
-        
-           ``curl -X POST http://127.0.0.1:8088/auth/logout/ -H 'Authorization: Token b704c9fc3655635646356ac2950269f352ea1139'``
-        
-           And try access user profile again:
-        
-           ``$ curl -X GET http://127.0.0.1:8088/auth/me/ -H 'Authorization: Token b704c9fc3655635646356ac2950269f352ea1139'``
-        
-           ``{"detail": "Invalid token"}``
-        
-           As we can see, user has been logged out successfully and the proper
-           token has been removed.
-        
-        Customization
-        -------------
-        
-        If you need to customize any serializer behaviour you can use the
-        DJOSER['SERIALIZERS'] setting to use your own serializer classes in the
-        built-in views. Or if you need to completely change the default djoser
-        behaviour, you can always override djoser views with your own custom
-        ones.
-        
-        Define custom ``urls`` instead of reusing ``djoser.urls``:
-        
-        .. code:: python
-        
-            urlpatterns = patterns('',
-                (...),
-                url(r'^register/$', views.CustomRegistrationView.as_view()),
-            )
-        
-        Define custom view/serializer (inherit from one of ``djoser`` class) and
-        override necessary method/field:
-        
-        .. code:: python
-        
-            class CustomRegistrationView(djoser.views.RegistrationView):
-        
-                def send_activation_email(self, *args, **kwargs):
-                    your_custom_email_sender(*args, **kwargs)
-        
-        You could check ``djoser`` API in source code:
+        To start developing on **djoser**, clone the repository:
         
-        -  `djoser.views <https://github.com/sunscrapers/djoser/blob/master/djoser/views.py>`__
-        -  `djoser.serializers <https://github.com/sunscrapers/djoser/blob/master/djoser/serializers.py>`__
+        `$ git clone git at github.com:sunscrapers/djoser.git`
         
-        Development
-        -----------
+        If you are a **pipenv** user you can quickly setup testing environment by
+        using Make commands:
         
-        To start developing on **djoser**, clone the repository:
+        `$ make init`  
+        `$ make test`
         
-        ``$ git clone git at github.com:sunscrapers/djoser.git``
+            You do not need to create virtualenv in this case -
+            it's automatically created for you.
         
-        In order to run the tests create virtualenv, go to repo directory and
-        then:
+        Otherwise, if you cannot use Make commands, please create virtualenv and install
+        requirements manually:  
         
-        ``$ pip install -r requirements-test.txt``
+        `$ pip install django djangorestframework`  
+        `$ pip install -r requirements.txt`
         
-        ``$ cd testproject``
+        If you are running djoser tests on Python 2.7 you also need to install `mock` library.
         
-        ``$ ./manage.py migrate``
+        `$ pip install mock  # only on Python 2.7`  
+        `$ cd testproject`  
+        `$ ./manage.py test`
         
-        ``$ ./manage.py test``
+        If you need to run tests against all supported Python and Django versions then invoke:
         
-        If you need to run tests against all supported Python and Django
-        versions then invoke:
+        `$ pip install tox`  
+        `$ tox`
         
-        ``$ pip install tox``
+        You can also play with test project by running following commands:
         
-        ``$ tox``
+        `$ ./manage.py migrate`  
+        `$ ./manage.py runserver`
         
-        Similar projects
-        ----------------
+        ## Similar projects
         
         List of projects related to Django, REST and authentication:
         
-        -  `django-rest-auth <https://github.com/Tivix/django-rest-auth>`__
-        -  `django-rest-framework-digestauth <https://github.com/juanriaza/django-rest-framework-digestauth>`__
-        -  `django-oauth-toolkit <https://github.com/evonove/django-oauth-toolkit>`__
-        -  `doac <https://github.com/Rediker-Software/doac>`__
-        -  `django-rest-framework-jwt <https://github.com/GetBlimp/django-rest-framework-jwt>`__
-        -  `django-rest-framework-httpsignature <https://github.com/etoccalino/django-rest-framework-httpsignature>`__
-        -  `hawkrest <https://github.com/kumar303/hawkrest>`__
-        
-        .. |Build Status| image:: https://travis-ci.org/sunscrapers/djoser.svg?branch=master
-           :target: https://travis-ci.org/sunscrapers/djoser
-        .. |Coverage Status| image:: https://coveralls.io/repos/sunscrapers/djoser/badge.png?branch=master
-           :target: https://coveralls.io/r/sunscrapers/djoser?branch=master
+        - [django-rest-auth](https://github.com/Tivix/django-rest-auth)
+        - [django-rest-framework-digestauth](https://github.com/juanriaza/django-rest-framework-digestauth)
+        - [django-oauth-toolkit](https://github.com/evonove/django-oauth-toolkit)
+        - [doac](https://github.com/Rediker-Software/doac)
+        - [django-rest-framework-jwt](https://github.com/GetBlimp/django-rest-framework-jwt)
+        - [django-rest-framework-httpsignature](https://github.com/etoccalino/django-rest-framework-httpsignature)
+        - [hawkrest](https://github.com/kumar303/hawkrest)
         
 Platform: UNKNOWN
 Classifier: Development Status :: 3 - Alpha
diff --git a/README.md b/README.md
index b43def4..9aff5b0 100644
--- a/README.md
+++ b/README.md
@@ -14,667 +14,50 @@ architecture.
 
 Developed by [SUNSCRAPERS](http://sunscrapers.com/) with passion & patience.
 
-## Features
 
-Here is a list of supported authentication backends:
+## Documentation
 
- * [HTTP Basic Auth](http://www.django-rest-framework.org/api-guide/authentication/#basicauthentication) (Default)
- * [Token based authentication from Django Rest Framework](http://www.django-rest-framework.org/api-guide/authentication#tokenauthentication)
+Documentation is available to study at
+[http://djoser.readthedocs.io](http://djoser.readthedocs.io) and in
+`docs` directory.
 
-Available endpoints:
-
- * `/me/`
- * `/register/`
- * `/login/` (token based authentication)
- * `/logout/` (token based authentication)
- * `/activate/`
- * `/{{ User.USERNAME_FIELD }}/`
- * `/password/`
- * `/password/reset/`
- * `/password/reset/confirm/`
-
-Supported Python versions:
-
- * Python 2.7
- * Python 3.4
- * Python 3.5
-
-Supported Django versions:
-
- * Django 1.7
- * Django 1.8
- * Django 1.9
- * Django 1.10
-
-Supported Django Rest Framework versions:
-
- * Django Rest Framework 3.x
-
-For Django Rest Framework 2.4 support check [djoser 0.3.2](https://github.com/sunscrapers/djoser/tree/0.3.2).
-
-## Installation
-
-Use `pip`:
-
-    $ pip install djoser
-
-## Quick Start
-
-Configure `INSTALLED_APPS`:
-
-```python
-INSTALLED_APPS = (
-    'django.contrib.auth',
-    (...),
-    'rest_framework',
-    'djoser',
-    (...),
-)
-```
-
-Configure `urls.py`:
-
-```python
-urlpatterns = patterns('',
-    (...),
-    url(r'^auth/', include('djoser.urls')),
-)
-```
-
-HTTP Basic Auth strategy is assumed by default as Django Rest Framework does it. However you may want to set it
-explicitly:
-
-```python
-REST_FRAMEWORK = {
-    'DEFAULT_AUTHENTICATION_CLASSES': (
-        'rest_framework.authentication.BasicAuthentication',
-    ),
-}
-```
-
-Run migrations - this step will create tables for `auth` app:
-
-    $ ./manage.py migrate
-
-## Customizing authentication backend
-
-### Token Based Authentication
-
-Add `'rest_framework.authtoken'` to `INSTALLED_APPS`:
-
-```python
-INSTALLED_APPS = (
-    'django.contrib.auth',
-    (...),
-    'rest_framework',
-    'rest_framework.authtoken',
-    'djoser',
-    (...),
-)
-```
-
-Configure `urls.py`. Pay attention to `djoser.url.authtoken` module path.
-
-```python
-urlpatterns = patterns('',
-    (...),
-    url(r'^auth/', include('djoser.urls.authtoken')),
-)
-```
-
-Set `TokenAuthentication` as default Django Rest Framework authentication strategy:
-
-```python
-REST_FRAMEWORK = {
-    'DEFAULT_AUTHENTICATION_CLASSES': (
-        'rest_framework.authentication.TokenAuthentication',
-    ),
-}
... 1833 lines suppressed ...

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/djoser.git



More information about the Python-modules-commits mailing list