Metadata-Version: 2.1
Name: camus-chat
Version: 0.1.dev5
Summary: Peer-to-peer video chat using WebRTC
Home-page: https://github.com/mrgnr/camus
Author: Morgan Robertson
Author-email: mrgnr@pm.me
License: GPL-3.0
Description: # Camus
        
        [![Build Status](https://travis-ci.org/mrgnr/camus.svg?branch=master)](https://travis-ci.org/mrgnr/camus)
        [![PyPI](https://img.shields.io/pypi/v/camus-chat)](https://pypi.org/project/camus-chat)
        [![License](https://img.shields.io/github/license/mrgnr/camus)](LICENSE)
        
        [![Donate using Liberapay](https://liberapay.com/assets/widgets/donate.svg)](https://liberapay.com/mrgnr/donate)
        
        Camus is a video chat app that uses [WebRTC][webrtc-api] for direct peer-to-peer communication.
        Users can create public or private rooms, optionally protected by a password.
        In addition to streaming audio and video from a webcam and microphone, Camus also provides screen
        sharing and text chat.
        
        
        ## Features
        - Webcam streaming
        - Desktop sharing
        - Text chat
        - Room management (public/private, password/no password, guest limits)
        
        
        ## Demo
        
        You can find a live demo at [https://camus.chat](https://camus.chat).
        
        
        ## Running
        
        ### Using Python
        
        Camus requires [Python 3.7][python-37-whatsnew] or higher since it makes use of [Quart][quart-gitlab] and async syntax.
        As usual, it's best to use a virtual environment.
        
        Install Camus:
        
        ```
        $ pip install camus-chat
        ```
        
        Run Camus:
        
        ```
        $ camus
        ```
        
        Go to `localhost:5000` in your browser. For local testing, you can visit the same room in multiple tabs and each tab
        will act as a separate client.
        
        ### Using Docker
        
        You can find a [pre-built Docker image][camus-dockerhub] on Docker Hub.
        Use the following command to pull the image and run a container:
        
        ```
        $ docker run -d -p 5000:5000 mrgnr/camus
        ```
        
        Go to `localhost:5000` in your browser. For local testing, you can visit the same room in multiple tabs and each tab
        will act as a separate client.
        
        
        ## How it works
        
        See the [technical overview][technical-docs] to understand how Camus works.
        
        
        ## Development
        
        See the [development documentation][development-docs] for build & test instructions.
        
        
        ## Roadmap
        
        ### v0.1
        - [x] Audio/video streaming
        - [x] Desktop sharing
        - [x] Text chat
        - [x] Cross-browser support (using [Babel][babel-github], [Adapter][adapter-github])
          - [x] Chromium/Chrome/Brave
          - [x] Firefox
          - [x] Safari
        - [x] Support [TURN][webrtc-turn] server
        
        ### v0.2
        - [ ] Rewrite the UI using [React][react-github]
        - [ ] Configurable TURN server in the client
        - [ ] Debian package
        
        ### v0.3+
        - [ ] Persistent storage (SQLite, Redis, and/or PostgreSQL)
        - [ ] User accounts, persistent user settings
        - [ ] Support [SFU][sfu-webrtcglossary] for client scalability
        
        
        [webrtc-api]: https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API
        [quart-gitlab]: https://gitlab.com/pgjones/quart
        [python-37-whatsnew]: https://docs.python.org/3.7/whatsnew/3.7.html
        [camus-dockerhub]: https://hub.docker.com/r/mrgnr/camus
        [technical-docs]: https://github.com/mrgnr/camus/blob/master/docs/technical-overview.md
        [development-docs]: https://github.com/mrgnr/camus/blob/master/docs/development.md
        [babel-github]: https://github.com/babel/babel
        [adapter-github]: https://github.com/webrtcHacks/adapter
        [webrtc-turn]: https://webrtc.org/getting-started/turn-server
        [react-github]: https://github.com/facebook/react
        [sfu-webrtcglossary]: https://webrtcglossary.com/sfu/
        
Platform: UNKNOWN
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Environment :: Web Environment
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Topic :: Communications :: Conferencing
Classifier: Topic :: Multimedia :: Video
Requires-Python: >=3.7
Description-Content-Type: text/markdown
