Metadata-Version: 2.0
Name: django-private-chat
Version: 0.1.4
Summary: Django one-to-one Websocket-based Asyncio-handled chat, developed by Bearle team
Home-page: https://github.com/Bearle/django-private-chat
Author: Bearle
Author-email: tech@bearle.ru
License: ISCL
Keywords: django-private-chat
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Framework :: Django
Classifier: Framework :: Django :: 1.8
Classifier: Framework :: Django :: 1.9
Classifier: Framework :: Django :: 1.10
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: ISC License (ISCL)
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Requires-Dist: django-model-utils (>=2.6.1)
Requires-Dist: django-braces (>=1.10.0)
Requires-Dist: websockets (==3.2)

===================
django-private-chat
===================

.. image:: https://badge.fury.io/py/django-private-chat.svg
    :target: https://badge.fury.io/py/django-private-chat

.. image:: https://travis-ci.org/Bearle/django-private-chat.svg?branch=master
    :target: https://travis-ci.org/Bearle/django-private-chat

.. image:: https://codecov.io/gh/Bearle/django-private-chat/branch/master/graph/badge.svg
    :target: https://codecov.io/gh/Bearle/django-private-chat

Django one-to-one Websocket-based Asyncio-handled chat, developed by Bearle team

.. image:: https://github.com/Bearle/django-private-chat/blob/dev/screenshots/screen_1.jpg?raw=true

Documentation
-------------

The full documentation is at https://django-private-chat.readthedocs.io.

Quickstart
----------

Install django-private-chat::

    pip install django-private-chat

Migrate::

    python manage.py migrate django-private-chat

Note: you can use this package with or without uvloop, just run either

.. code-block:: python

    python manage.py run_chat_server

or run

.. code-block:: python

    python manage.py run_chat_server_uvloop



Add it to your `INSTALLED_APPS`:

.. code-block:: python

    INSTALLED_APPS = (
        ...
        'django_private_chat',
        ...
    )

Add the server & port for your asyncio server to settings:

.. code-block:: python

    CHAT_WS_SERVER_HOST = 'localhost'
    CHAT_WS_SERVER_PORT = 5002

It is possible to change messages datetime format using

.. code-block:: python

    DATETIME_FORMAT

Add django-private-chat's URL patterns:

.. code-block:: python

    from django_private_chat import urls as django_private_chat_urls


    urlpatterns = [
        ...
        url(r'^', include('django_private_chat.urls')),
        ...
    ]


Now you can start a dialog using ::

    /dialogs/some_existing_username



Features
--------

* Uses current app model (get_user_model() and settings.AUTH_USER_MODEL)
* Translatable (uses ugettext and {% trans %} )
* One-to-one user chat
* Works using WebSockets
* Displays online/offline status
* Display typing/not typing status
* Soft deletable message model - be sure to keep messages to comply with message-keeping laws
* TODO: add a dialog to the list when new one started
* TODO: add user-not-found and other alerts
* TODO: possible Redis backend intergration


Running Tests
-------------

Does the code actually work?

::

    source <YOURVIRTUALENV>/bin/activate
    (myenv) $ pip install tox
    (myenv) $ tox

Credits
-------

Tools used in rendering this package:

*  Cookiecutter_
*  `cookiecutter-djangopackage`_

.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`cookiecutter-djangopackage`: https://github.com/pydanny/cookiecutter-djangopackage




History
-------
0.1.4 (2017-02-12)
++++++++++++++++++

* Added support for django 1.8,1.9

0.1.3 (2017-02-11)
++++++++++++++++++

* Removed uvloop from requirements


0.1.2 (2017-02-11)
++++++++++++++++++

* Fixed i18n not loaded in dialogs template bug

0.1.1 (2017-02-10)
++++++++++++++++++

* Added migrations.

0.1.0 (2017-02-10)
++++++++++++++++++

* First release on PyPI.


