{"id":13398376,"url":"https://github.com/sunscrapers/djoser","last_synced_at":"2025-05-16T01:00:21.773Z","repository":{"id":21325368,"uuid":"24642075","full_name":"sunscrapers/djoser","owner":"sunscrapers","description":"REST implementation of Django authentication system.","archived":false,"fork":false,"pushed_at":"2025-05-08T15:38:36.000Z","size":1915,"stargazers_count":2639,"open_issues_count":194,"forks_count":462,"subscribers_count":38,"default_branch":"master","last_synced_at":"2025-05-09T00:53:52.452Z","etag":null,"topics":["authentication","developer-tools","djoser","python","rest-api"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sunscrapers.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2014-09-30T14:50:08.000Z","updated_at":"2025-05-08T13:12:28.000Z","dependencies_parsed_at":"2024-01-11T17:47:20.231Z","dependency_job_id":"f63c7da6-64f3-4aed-954f-fff5590782ac","html_url":"https://github.com/sunscrapers/djoser","commit_stats":{"total_commits":723,"total_committers":104,"mean_commits":6.951923076923077,"dds":0.7883817427385892,"last_synced_commit":"2fb2b4dfa2f6800db17bb32af5c8a532fda44e5f"},"previous_names":[],"tags_count":50,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunscrapers%2Fdjoser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunscrapers%2Fdjoser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunscrapers%2Fdjoser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunscrapers%2Fdjoser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sunscrapers","download_url":"https://codeload.github.com/sunscrapers/djoser/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254448578,"owners_count":22072764,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["authentication","developer-tools","djoser","python","rest-api"],"created_at":"2024-07-30T19:00:24.233Z","updated_at":"2025-05-16T01:00:21.729Z","avatar_url":"https://github.com/sunscrapers.png","language":"Python","funding_links":[],"categories":["Third-Party Packages","Authentication","Python","Packages","Authorization \u0026 Authentication","Best Django Admin Interface Resources","D"],"sub_categories":["APIs","Authentication","**🖥️ Django REST Framework \u0026 API-Related Packages**","Podcasts"],"readme":"======\ndjoser\n======\n\n.. image:: https://img.shields.io/pypi/v/djoser.svg\n   :target: https://pypi.org/project/djoser\n\n.. image:: https://github.com/sunscrapers/djoser/actions/workflows/test-suite.yml/badge.svg?branch=master\n    :target: https://github.com/sunscrapers/djoser/actions?query=branch%3Amaster\n    :alt: Build Status\n\n.. image:: https://codecov.io/gh/sunscrapers/djoser/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/sunscrapers/djoser\n\n.. image:: https://img.shields.io/pypi/dm/djoser\n   :target: https://img.shields.io/pypi/dm/djoser\n\n.. image:: https://readthedocs.org/projects/djoser/badge/?version=latest\n    :target: https://djoser.readthedocs.io/en/latest/\n    :alt: Docs\n\nREST implementation of `Django \u003chttps://www.djangoproject.com/\u003e`_ authentication\nsystem. **djoser** library provides a set of `Django Rest Framework \u003chttps://www.django-rest-framework.org/\u003e`_\nviews to handle basic actions such as registration, login, logout, password\nreset and account activation. It works with\n`custom user model \u003chttps://docs.djangoproject.com/en/dev/topics/auth/customizing/\u003e`_.\n\nSupported features include:\n\n- Token-based authentication\n- JWT authentication\n- Social authentication\n- WebAuthn support\n\nInstead of reusing Django code (e.g. ``PasswordResetForm``), we reimplemented\nfew things to fit better into `Single Page App \u003chttps://en.wikipedia.org/wiki/Single-page_application\u003e`_\narchitecture.\n\nDeveloped by `SUNSCRAPERS \u003chttp://sunscrapers.com/\u003e`_ with passion \u0026 patience.\n\n.. image:: https://asciinema.org/a/94J4eG2tSBD2iEfF30a6vGtXw.png\n  :target: https://asciinema.org/a/94J4eG2tSBD2iEfF30a6vGtXw\n\nRequirements\n============\n\nTo be able to run **djoser** you have to meet the following requirements:\n\n- Python\u003e=3.9,\u003c4.0 (including 3.10, 3.11, and 3.12)\n- Django\u003e=3.0.0 (supporting Django 3.2 through 5.1)\n- Django REST Framework\u003e=3.12\n\nInstallation\n============\n\nSimply install using ``pip``:\n\n.. code-block:: bash\n\n    $ pip install djoser\n\nAnd continue with the steps described at\n`configuration \u003chttps://djoser.readthedocs.io/en/latest/getting_started.html#configuration\u003e`_\nguide.\n\nDocumentation\n=============\n\nDocumentation is available to study at\n`https://djoser.readthedocs.io \u003chttps://djoser.readthedocs.io\u003e`_\nand in ``docs`` directory.\n\nContributing and development\n============================\n\nTo start developing on **djoser**, clone the repository:\n\n.. code-block:: bash\n\n    $ git clone git@github.com:sunscrapers/djoser.git\n\nWe use `poetry \u003chttps://python-poetry.org/\u003e`_ as dependency management and packaging tool.\n\n.. code-block:: bash\n\n    $ cd djoser\n    $ poetry install --all-extras\n\nThis will create a virtualenv with all development dependencies.\n\nTo run the test just type:\n\n.. code-block:: bash\n\n    $ poetry run pytest\n\nWe also prepared a convenient ``Makefile`` to automate commands above:\n\n.. code-block:: bash\n\n    $ make init\n    $ make test\n\nTo activate the virtual environment run\n\n.. code-block:: bash\n\n    $ poetry shell\n\nWithout poetry\n--------------\n\nNew versions of ``pip`` can use ``pyproject.toml`` to build the package and install its dependencies.\n\n.. code-block:: bash\n\n    $ pip install .[test]\n\n.. code-block:: bash\n\n    $ cd testproject\n    $ ./manage.py test\n\nExample project\n---------------\n\nYou can also play with test project by running following commands:\n\n.. code-block:: bash\n\n    $ make migrate\n    $ make runserver\n\nCommiting your code\n-------------------\n\nBefore sending patches please make sure you have `pre-commit \u003chttps://pre-commit.com/\u003e`_ activated in your local git repository:\n\n.. code-block:: bash\n\n    $ poetry run pre-commit install\n\nThis will ensure that your code is cleaned before you commit it. The pre-commit hooks will run:\n\n- Black (code formatting)\n- Ruff (linting)\n- Docformatter (docstring formatting)\n- Other quality checks\n\nSimilar projects\n================\n\nList of projects related to Django, REST and authentication:\n\n- `django-rest-registration \u003chttps://github.com/apragacz/django-rest-registration\u003e`_\n- `django-oauth-toolkit \u003chttps://github.com/evonove/django-oauth-toolkit\u003e`_\n\nPlease, keep in mind that while using custom authentication and TokenCreateSerializer\nvalidation, there is a path that **ignores intentional return of None** from authenticate()\nand try to find User using parameters. Probably, that will be changed in the future.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsunscrapers%2Fdjoser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsunscrapers%2Fdjoser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsunscrapers%2Fdjoser/lists"}