==============================How to use Django with Uvicorn==============================.. highlight:: bashUvicorn_ is an ASGI server based on ``uvloop`` and ``httptools``, with anemphasis on speed.Installing Uvicorn==================You can install Uvicorn with ``pip``::python -m pip install uvicornRunning Django in Uvicorn=========================When Uvicorn is installed, a ``uvicorn`` command is available which runs ASGIapplications. Uvicorn needs to be called with the location of a modulecontaining an ASGI application object, followed by what the application iscalled (separated by a colon).For a typical Django project, invoking Uvicorn would look like::python -m uvicorn myproject.asgi:applicationThis will start one process listening on ``127.0.0.1:8000``. It requires thatyour project be on the Python path; to ensure that run this command from thesame directory as your ``manage.py`` file.In development mode, you can add ``--reload`` to cause the server to reload anytime a file is changed on disk.For more advanced usage, please read the `Uvicorn documentation <Uvicorn_>`_.Deploying Django using Uvicorn and Gunicorn===========================================Gunicorn_ is a robust web server that implements process monitoring and automaticrestarts. This can be useful when running Uvicorn in a production environment.To install Uvicorn and Gunicorn, use the following::python -m pip install uvicorn gunicornThen start Gunicorn using the Uvicorn worker class like this::python -m gunicorn myproject.asgi:application -k uvicorn.workers.UvicornWorker.. _Uvicorn: https://www.uvicorn.org/.. _Gunicorn: https://gunicorn.org/