{ "info": { "author": "Will Breaden Madden", "author_email": "wbm@protonmail.ch", "bugtrack_url": null, "classifiers": [], "description": ".. figure:: https://raw.githubusercontent.com/wdbm/dendrotox/master/media/dendrotox.png\n :alt: \n\n``dendrotox`` is a Python module designed to enable Python code to\ninteract with the `Tox `__ distributed communications\nnetwork, including for the purposes of scripts communicating with people\nor other scripts. It uses a 2015 version of\n`ToxCore `__\nand `ratox `__ for interfacing with\nthe Tox network and `megaparsex `__\nfor parsing.\n\nIn particular, ``dendrotox`` interacts with the filesystem provided by\nthe FIFO Tox client `ratox `__.\n``dendrotox`` also provides functionality to send and receive messages,\nto parse input, to send files, to request confirmations, to provide\ninformation such as IP address and weather information, and to run\narbitrary commands, including functionality to launch reverse-SSH\nconnections and to restart a script.\n\nTox\n===\n\nTox is a peer-to-peer instant-messaging and video-calling protocol that\nhas end-to-end encryption.\n\nThe following is a typical Tox ID that one contact can give to another\ncontact in order to connect:\n\n::\n\n 56A1ADE4B65B86BCD51CC73E2CD4E542179F47959FE3E0E21B4B0ACDADE5185520B3E6FC5D64\n <--------------------------------------------------------------><------><-->\n ^ ^ ^\n | | |\n | | |\n PUBLIC KEY NOSPAM CHECKSUM\n\nThe Tox ID is a public key (64 characters), a nospam value (8\ncharacters) and a checksum (4 characters) concatenated in hexadecimal\nformat. The result is a 76 character string.\n\nThe public key is generated by the NaCl (Networking and Cryptographic\nlibrary) ``crypto_box_keypair`` function. It is 32 bytes (64 hexadecimal\ncharacters). The nospam value is a generated pseudorandom number\nappended to the public key. A connect request sent without the correct\nnospam value is ignored. The nospam value can be changed at any time\nwithout affecting the public key, stopping all requests to the current\nID, in order to fight spam. The checksum is a simple XOR checksum of the\npublic key and the nospam value. It is used to quickly verify the\nintegrity of the Tox ID.\n\nBecause Tox has no central servers, it is necessary to know a node that\nis already in the network before a client can be connected suffessfully.\nSome nodes are listed `here `__.\n\nsetup\n=====\n\n.. code:: bash\n\n sudo apt install \\\n autoconf \\\n autotools-dev \\\n automake \\\n build-essential \\\n checkinstall \\\n check \\\n cmake \\\n festival \\\n git \\\n libtool \\\n libsodium-dev \\\n sox \\\n yasm\n\n.. code:: bash\n\n mkdir ~/Tox\n cd ~/Tox\n\nInstall FFmpeg.\n\n.. code:: bash\n\n sudo apt install lame libmp3lame-dev\n wget http://ffmpeg.org/releases/ffmpeg-3.3.2.tar.bz2\n tar -xvf ffmpeg-3.3.2.tar.bz2\n cd ffmpeg-3.3.2\n ./configure --enable-libmp3lame\n make -j$(nproc)\n sudo make install\n cd ..\n rm ffmpeg-3.3.2.tar.bz2\n rm -rf ffmpeg-3.3.2\n\nSet up `Festival `__,\n`eSpeak `__, Pico TTS and\n`deep\\_throat `__ for speech\ncapabilities.\n\n.. code:: bash\n\n sudo apt install \\\n festival \\\n espeak \\\n libttspico0 \\\n libttspico-utils \\\n libttspico-data\n sudo pip install deep_throat\n\nInstall the Sodium crypto library.\n\n.. code:: bash\n\n git clone https://github.com/jedisct1/libsodium.git\n cd libsodium\n git checkout tags/1.0.3\n ./autogen.sh\n ./configure\n make check\n sudo checkinstall --install --pkgname libsodium --pkgversion 1.0.0 --nodoc\n sudo ldconfig\n cd ..\n\nInstall the libvpx codec.\n\n.. code:: bash\n\n git clone https://chromium.googlesource.com/webm/libvpx\n cd libvpx\n git checkout tags/v1.4.0\n ./configure --enable-shared --disable-static\n make -j$(nproc)\n sudo make install\n cd ..\n\nInstall ToxCore.\n\n.. code:: bash\n\n wget --content-disposition https://codeload.github.com/irungentoo/toxcore/tar.gz/api_old_version\n tar -xvf toxcore-api_old_version.tar.gz\n cd toxcore-api_old_version\n autoreconf --install --force\n mkdir _build\n cd _build\n ../configure\n make -j$(nproc)\n sudo make install\n sudo ldconfig\n cd ../..\n\nInstall ``ratox``.\n\n.. code:: bash\n\n git clone https://github.com/wdbm/ratox.git\n cd ratox\n make -j$(nproc)\n sudo make install\n\nInstall dendrotox.\n\n.. code:: bash\n\n sudo pip install dentrodox\n\nWhen ``ratox`` is launched for the first time, it creates a Tox profile\nfile ``.ratox.tox`` at the working directory to store Tox profile\ndetails. While running, the file ``id`` contains the Tox ID.\n\nexamples\n========\n\n``dendrotox`` is imported and launched in the following way:\n\n.. code:: python\n\n import dendrotox\n dendrotox.start_messaging()\n print(\"Tox ID: \" + dendrotox.self_ID())\n\nsending messages\n----------------\n\nA message can be sent to a contact in the following way, where a contact\nis specified using a string containing their Tox ID:\n\n.. code:: python\n\n dendrotox.send_message(contact = contact, text = \"oohai\")\n\nA message can be sent to multiple contacts in the following way, where\ncontacts are specified as a list of strings containing contacts' Tox\nIDs.\n\n.. code:: python\n\n dendrotox.send_message(contacts = [contact_1, contact_2], text = \"sup\")\n\nA message can be sent to all contacts in the following way.\n\n.. code:: python\n\n dendrotox.send_message(contacts = \"all\", text = \"yo yo yo\")\n\nreceiving messages\n------------------\n\nA list of unseen messages received recently can be accessed in the\nfollowing ways:\n\n.. code:: python\n\n messages = dendrotox.received_messages()\n print(messages[0].sender())\n\n.. code:: python\n\n message = dendrotox.last_received_message()\n print(message)\n\nsending sound calls\n-------------------\n\nA sound call can be sent to a contact in a few ways. One way is by\nsending a sound file:\n\n.. code:: python\n\n dendrotox.send_call(contact = contact, filepath = \"alert.wav\")\n\nAnother way is by using synthesized speech:\n\n.. code:: python\n\n dendrotox.send_call_synthesized_speech(contact = contact, text = \"This is an alert.\")\n\nAnother way is by using a microphone:\n\n.. code:: python\n\n dendrotox.send_call(contact = contact, record = True)\n\nSending a sound call by using a microphone can feature a record duration\nspecification in order to ensure that the process does not hang:\n\n.. code:: python\n\n dendrotox.send_call(contact = contact, record = True, duration_record = 30)\n\nreceiving sound calls\n---------------------\n\nA sound call can be received from a contact in a few ways. One way is by\nusing speakers:\n\n.. code:: python\n\n dendrotox.receive_call(contact = contact)\n\nIf a contact is not specified, the first contacted identified as calling\nis used to receive a call:\n\n.. code:: python\n\n dendrotox.receive_call()\n\nAnother way is by receiving a sound file:\n\n.. code:: python\n\n dendrotox.receive_call(filepath = \"call.wav\")\n\nSee module code and example bot code for more advanced usage, including\ncalls, message parsing, confirmations and running commands.\n\ndendrotox\\_alert.py\n===================\n\nThe script ``dendrotox_alert.py`` is a command line script that can be\nused to send a message to contacts. It attempts to connect with any\nspecified contacts before attempting to send a message to them. If no\ncontacts are specified, it attempts to send a message to all known\ncontacts.\n\n.. code:: bash\n\n dendrotox_alert.py --text=\"alert\"\n\nfuture\n======\n\nUnder consideration is speech-to-text for receiving calls.\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/wdbm/dendrotox", "keywords": "", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "dendrotox", "package_url": "https://pypi.org/project/dendrotox/", "platform": "", "project_url": "https://pypi.org/project/dendrotox/", "project_urls": { "Homepage": "https://github.com/wdbm/dendrotox" }, "release_url": "https://pypi.org/project/dendrotox/2018.3.3.125/", "requires_dist": null, "requires_python": "", "summary": "Python interface to Tox distributed communications", "version": "2018.3.3.125" }, "last_serial": 3633528, "releases": { "2017.10.19.2341": [ { "comment_text": "", "digests": { "md5": "80f78525240a6511499973cc831497f3", "sha256": "1290dcf628c0e486128fc93f961971388b6fc6b83b93924705964ec8cfad8a20" }, "downloads": -1, "filename": "dendrotox-2017.10.19.2341.tar.gz", "has_sig": false, "md5_digest": "80f78525240a6511499973cc831497f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22036, "upload_time": "2017-10-19T23:53:29", "url": "https://files.pythonhosted.org/packages/3b/84/4cc238f4823f1eef625e20bd315a3499112a581d88238cf7238b34d5b199/dendrotox-2017.10.19.2341.tar.gz" } ], "2017.10.2.2150": [ { "comment_text": "", "digests": { "md5": "5231f09253011447b97df9e7750d5801", "sha256": "4244313ac69eccb8fb75ad5453f1fcbc21ecc45918f4d80d8525db9703184674" }, "downloads": -1, "filename": "dendrotox-2017.10.2.2150.tar.gz", "has_sig": false, "md5_digest": "5231f09253011447b97df9e7750d5801", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21308, "upload_time": "2017-10-02T22:18:43", "url": "https://files.pythonhosted.org/packages/c1/70/f55ec22bc9032344437d03a3329c59510b5ff69390c120c41aebb1ca2075/dendrotox-2017.10.2.2150.tar.gz" } ], "2017.10.20.10": [ { "comment_text": "", "digests": { "md5": "6fd97e56d698538b3e57ea2f88d1c62c", "sha256": "6a2c24f84bb7c2f9cf7998c62f4d4403759b65ffb4e5655b9d3960ce55d5eb22" }, "downloads": -1, "filename": "dendrotox-2017.10.20.10.tar.gz", "has_sig": false, "md5_digest": "6fd97e56d698538b3e57ea2f88d1c62c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22045, "upload_time": "2017-10-20T00:13:33", "url": "https://files.pythonhosted.org/packages/0f/cd/3320e7497d52621ab43727d55a3dd515b3d1b650dd48de129f8848d24e47/dendrotox-2017.10.20.10.tar.gz" } ], "2017.10.4.1604": [ { "comment_text": "", "digests": { "md5": "df57fdf2aa6935c858e734b2450b41bd", "sha256": "caaa6e72673bd04feec9e013027ac1956314f8c87bb56ec424f81a2ac4ce26a4" }, "downloads": -1, "filename": "dendrotox-2017.10.4.1604.tar.gz", "has_sig": false, "md5_digest": "df57fdf2aa6935c858e734b2450b41bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21286, "upload_time": "2017-10-04T16:08:56", "url": "https://files.pythonhosted.org/packages/17/38/ea201590df0659add147cf99f91a2e85ba2f55c8c96d078473458aa60c7f/dendrotox-2017.10.4.1604.tar.gz" } ], "2018.3.3.110": [ { "comment_text": "", "digests": { "md5": "89b435028790d01f1e4e0bfba61160ac", "sha256": "41571228b955214658decc0ab98d07416f719618e218b07613a10692f9c0d5c8" }, "downloads": -1, "filename": "dendrotox-2018.3.3.110.tar.gz", "has_sig": false, "md5_digest": "89b435028790d01f1e4e0bfba61160ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28121, "upload_time": "2018-03-03T01:23:27", "url": "https://files.pythonhosted.org/packages/e4/31/c73decfd98ac6a775220f2aba48893f2b34a523ba315d3eb2d6b6af053fa/dendrotox-2018.3.3.110.tar.gz" } ], "2018.3.3.125": [ { "comment_text": "", "digests": { "md5": "b2818440b9426aaa08a18a4a5e16f189", "sha256": "b63140c3cc191251e5e4e022c41f7c8e652ee6e0e4783a8aecf57c82fcf8b569" }, "downloads": -1, "filename": "dendrotox-2018.3.3.125.tar.gz", "has_sig": false, "md5_digest": "b2818440b9426aaa08a18a4a5e16f189", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28134, "upload_time": "2018-03-03T01:25:05", "url": "https://files.pythonhosted.org/packages/51/fb/ecb17edbe8bd3be09f92cac1da15d82263f17d3142b4a8c39ed6bc584657/dendrotox-2018.3.3.125.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b2818440b9426aaa08a18a4a5e16f189", "sha256": "b63140c3cc191251e5e4e022c41f7c8e652ee6e0e4783a8aecf57c82fcf8b569" }, "downloads": -1, "filename": "dendrotox-2018.3.3.125.tar.gz", "has_sig": false, "md5_digest": "b2818440b9426aaa08a18a4a5e16f189", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28134, "upload_time": "2018-03-03T01:25:05", "url": "https://files.pythonhosted.org/packages/51/fb/ecb17edbe8bd3be09f92cac1da15d82263f17d3142b4a8c39ed6bc584657/dendrotox-2018.3.3.125.tar.gz" } ] }