{ "info": { "author": "Roman Dobosz", "author_email": "gryf73@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Topic :: Communications :: Chat", "Topic :: Database :: Front-Ends", "Topic :: Internet :: WWW/HTTP", "Topic :: Text Processing :: Markup", "Topic :: Text Processing :: Markup :: HTML" ], "description": "Slack backup\n============\n\n.. image:: https://travis-ci.org/gryf/slack-backup.svg?branch=master\n :target: https://travis-ci.org/gryf/slack-backup\n\n.. image:: https://img.shields.io/pypi/v/slack-backup.svg\n :target: https://pypi.python.org/pypi/slack-backup\n\nThe project aim is to collect conversations from Slack using its API and\noptionally user account information, and provides convenient way to represent\nas a log.\n\nRequirements\n------------\n\nThis project is written in Python 3, 3.4 to be precise (currently it works with \nversion 3.6), although it may work on earlier version of Python3. Sorry no \nsupport for Python2.\n\nOther than that, required packages are as follows:\n\n- slackclient 1.0.2\n- SQLAlchemy 1.0.10\n\nInstallation\n------------\n\nYou can install it using ``pip install slack-backup`` command. Recommended way\nis to create virtualenv, like so:\n\n.. code:: shell-session\n\n user@localhost $ virtualenv -p python3 myenv\n Running virtualenv with interpreter /usr/bin/python3\n Using base prefix '/usr'\n New python executable in foobar/bin/python3\n Also creating executable in foobar/bin/python\n Installing setuptools, pip, wheel...done.\n user@localhost $ . myenv/bin/activate\n (myenv)user@localhost $ pip install slack-backup\n\nYou can also get this repository and install from it, like:\n\n.. code:: shell-session\n\n user@localhost ~ $ virtualenv -p python3 myenv\n Running virtualenv with interpreter /usr/bin/python3\n Using base prefix '/usr'\n New python executable in foobar/bin/python3\n Also creating executable in foobar/bin/python\n Installing setuptools, pip, wheel...done.\n user@localhost $ . myenv/bin/activate\n (myenv)user@localhost ~ $ cd myenv\n (myenv)user@localhost ~/myenv $ git clone https://github.com/gryf/slack-backup\n (myenv)user@localhost ~/myenv $ cd slack-backup\n (myenv)user@localhost ~/myenv/slack-backup $ pip install .\n\nUsage\n-----\n\nThere is a commandline tool called `slack-backup`, which typical use would get\nto gather the data and generate logs. Using example from above, here is a\ntypical session:\n\n.. code:: shell-session\n\n (myenv)user@localhost ~/myenv/slack-backup $ mkdir ~/mylogs && cd ~/mylogs\n (myenv)user@localhost ~/mylogs $ slack-backup fetch \\\n --token xxxx-1111111111-222222222222-333333333333-r4nd0ms7uff \\\n --user some@email.address.org --password secret --team myteam \\\n -qq -d mydatabase.sqlite\n\nwhere:\n\n* ``--token`` is generated on `Slack side token`_ for interaction with the API.\n It's required.\n* ``--user`` is your slack account username\u2026\n* ``--password`` \u2026and password. Those two are needed if you care about files\n posted on the channels, which are hosted on Slack servers. They can be\n skipped, if you don't care about such files. Avatars still be downloaded\n though. External resources will not be downloaded - they have URL anyway.\n* ``--team`` team name. It is the part of the URL for your slack team; in other\n words in URL like `http://foobar.slack.com` *foobar* is the team name.\n* ``-q`` (or ``--quiet``) will suppress any messages from program. In contrary\n there can be used ``--verbose`` to increase verbosity. Using this option\n several times (up to three, above the number will have no effect) will amplify\n effectiveness of either be quite or be verbose behaviour.\n* ``-d`` or ``--database`` is the file path for database (which for now at least\n is an sqlite database file). It can be omitted - in-memory db would be\n created, but you'll (obviously) lost all the records. Besides the db file,\n assets directory might be created for downloadable items.\n\nYou can also specify directory, where pure response JSONs from Slack API will\nbe stored by using ``-r/--raw-dir`` or by providing it in config file in\n``fetch`` section as ``raw_dir`` (note the underscore in config file contrary\nto the swith, which have hyphen between ``raw`` and ``dir``). This might be useful for\ndebugging purposes.\n\nThere is one more switch to take into consideration -\n``-f/--url-file-to-attachment`` which influence the way how external file\nshare would be treated. First of all, what is *external* file share from slack\npoint of view, one could ask. Slack have some sort of integration with Google\nservices, like Google Drive, which provide slack users to create or \"upload\"\nfiles from Google Drive. \"Upload\", since no uploading actually takes place,\nand only URL is provided for such \"uploads\". By default `slack-backup` will\ncreate a file which is prefixed ``manual_download_`` which will contain URL and\ndestination path to the file, where user should manual download file to.\nExample file contents:\n\n.. code::\n\n http://foo.bar.com/some/file --> assets/files/83340cbe-fee2-4d2e-bdb1-cace9c82e6d4\n http://foo.bar.com/some/other/file --> assets/files/8a4c873c-1864-4f1b-b515-bbef119f33a3\n http://docs/google.com/some/gdoc/file --> assets/files/ec8752bc-0bf8-4743-a8bd-9756107ab386\n\nBy setting ``--url-file-to-attachment`` flag (or making an option\n``url_file_to_attachment`` set to ``true`` in config file) such \"uploads\" would\nbe internally converted into Slack \"attachment\", which internally is an object\nto store external links, so there is no need for user interaction.\n\nDuring DB creation, all available messages are stored in the database. On the\nnext run, ``fetch`` would only take those records, which are older from\ncurrently oldest in DB. So that it will only fetch a subset of the overall of\nthe messages. As for the channels and users - complete information will be\ndownloaded every time ``fetch`` command would be used.\n\nNext, to generate a log files:\n\n.. code:: shell-session\n\n (myenv)user@localhost ~/mylogs $ slack-backup generate \\\n -v -d mydatabase.sqlite --format text -o logs\n\nwhere:\n\n* ``--format`` is the desired format of the logs. For now only ``text`` format\n of the logs is supported (IRC style format). Format ``none`` will produce\n nothing.\n* ``-o`` or ``--output`` is the destination directory, where logs and possible\n assets will land.\n\nThe rest of the options (``-d`` and ``-v``) have same meaning as in ``fetch``\ncommand.\n\nSee help for the ``slack-backup`` command for complete list of options.\n\nConfiguration\n-------------\n\nFor convenience, you can place all of needed options into configuration file\n(aka .ini), which all options (with their defaults) will look like:\n\n.. code:: ini\n\n [common]\n channels =\n database =\n quiet = 0\n verbose = 0\n\n [generate]\n output =\n format = text\n theme = plain\n\n [fetch]\n url_file_to_attachment = false\n user =\n password =\n team =\n token =\n raw_dir =\n\nNote, that you don't have to put every option. To illustrate ``fetch`` example\nfrom above, here is a corresponding config file:\n\n.. code:: ini\n\n [common]\n database = mydatabase.sqlite\n quiet = 2\n\n [fetch]\n user = some@email.address.org\n password = secret\n team = myteam\n token = xxxx-1111111111-222222222222-333333333333-r4nd0ms7uff\n\nNote, that only ``[common]`` and ``[fetch]`` sections are provided, so it is\nenough to invoke ``slack-backup`` command as:\n\n.. code:: shell-session\n\n (myenv)user@localhost ~/mylogs $ slack-backup fetch\n\nThere are couple of places, where configuration file would be searched for, in\nparticular order:\n\n* file provided via argument ``-i`` or ``--config``\n* ``slack-backup.ini`` in current directory\n* ``$XDG_CONFIG_HOME/slack-backup.ini``, where ``$XDG_CONFIG_HOME`` usually\n defaults to ``$HOME/.config``\n\nDetails\n-------\n\nDuring first run, database with provided name is generated. For ease of use\nsqlite database is used, although it is easy to switch the engine, since there\nis an ORM (SQLAlchemy) used.\n\nSlack users, channels and messages are mapped to SQLAlchemy models, as well as\nother information, like:\n\n- user profiles\n- channel topic\n- channel purpose\n- message reactions\n- message attachments\n- and files\n\nChannels and users are always synchronized in every run, so every modification\nto the user or channels are overwriting old data. During first run, all messages\nare retrieved for all/selected channels. Every other run will only fetch those\nmessages, which are older then newest message in the database - so that we don't\nloose any old messages, which might be automatically removed from Slack servers.\nThe drawback of this behaviour is that all past messages which was altered in\nthe meantime will not be updated.\n\nLicense\n-------\n\nThis work is licensed on 3-clause BSD license. See LICENSE file for details.\n\n.. _Slack side token: https://api.slack.com/docs/oauth-test-tokens\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/gryf/slack-backup", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/gryf/slack-backup", "keywords": "chat,backup,history,slack", "license": "", "maintainer": "", "maintainer_email": "", "name": "slack-backup", "package_url": "https://pypi.org/project/slack-backup/", "platform": "", "project_url": "https://pypi.org/project/slack-backup/", "project_urls": { "Download": "https://github.com/gryf/slack-backup", "Homepage": "https://github.com/gryf/slack-backup" }, "release_url": "https://pypi.org/project/slack-backup/0.8/", "requires_dist": [ "sqlalchemy", "slackclient" ], "requires_python": "", "summary": "Make copy of slack converstaions", "version": "0.8" }, "last_serial": 4663705, "releases": { "0.2": [ { "comment_text": "", "digests": { "md5": "0cafe4e4b65e2c0710d7642936e6cf06", "sha256": "66ea4602becc191bda114df879c6a005972216bbb0f802b4dcf2ba955750f694" }, "downloads": -1, "filename": "slack-backup-0.2.tar.gz", "has_sig": false, "md5_digest": "0cafe4e4b65e2c0710d7642936e6cf06", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26433, "upload_time": "2016-11-26T17:43:20", "url": "https://files.pythonhosted.org/packages/aa/f1/ec4494421559c7b578451b2522be5c9d6651d6563b6a31b73e583676fb36/slack-backup-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "60afaec2e059ccd2360e2939d5e0b0df", "sha256": "5da6c085ca10c6b82ae699c2ffa3b5cb0345381bfb786b035d50d1d931fa8b11" }, "downloads": -1, "filename": "slack_backup-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "60afaec2e059ccd2360e2939d5e0b0df", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 31175, "upload_time": "2016-11-26T18:34:12", "url": "https://files.pythonhosted.org/packages/75/af/bc732deca7c7e3899b9f8e4167eaee9e5ab640e1fdafb3a58cae83fce06b/slack_backup-0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7845e2e858a6f43200cc32aacd120a64", "sha256": "e07114cc1b3582b88e7114a273662c51e1bb7d11d85142379c454f1cabc6c3bd" }, "downloads": -1, "filename": "slack-backup-0.3.tar.gz", "has_sig": false, "md5_digest": "7845e2e858a6f43200cc32aacd120a64", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26465, "upload_time": "2016-11-26T18:34:23", "url": "https://files.pythonhosted.org/packages/e3/49/bc49fa36c378e10511c6629f61275509e3ebf34a0debd346607a3d70500d/slack-backup-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "eccf4c963bb25ae3a7c2a5ccc3bfe968", "sha256": "539e0d12900a98a5670a3a6989cab42ee0eaad70fdf07971935af6ba03f0e96a" }, "downloads": -1, "filename": "slack_backup-0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "eccf4c963bb25ae3a7c2a5ccc3bfe968", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 33388, "upload_time": "2016-11-28T15:56:08", "url": "https://files.pythonhosted.org/packages/ac/dc/ebdd1f288a1ec1d9472d7b61b6adbddd4148e97f93b9f394b69054587040/slack_backup-0.4-py3-none-any.whl" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "fddabe0b8a4640d374e00731ef86f688", "sha256": "4b763fc7aed65e519a2e26582757a0bc6155323488c24c1f5f7da50d50146ca4" }, "downloads": -1, "filename": "slack_backup-0.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "fddabe0b8a4640d374e00731ef86f688", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 33520, "upload_time": "2016-11-28T17:19:11", "url": "https://files.pythonhosted.org/packages/8a/f7/2fef8cc2f252eba2c689a62202613200a533ee850714c844d7553e2c238e/slack_backup-0.4.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "82dcc5c5bd93c72dc2a12f07d20bd26b", "sha256": "272e540b64b6bbb683c505ee0a057f49bbff3286cd9f6a80157d07545187d83e" }, "downloads": -1, "filename": "slack-backup-0.4.2.tar.gz", "has_sig": false, "md5_digest": "82dcc5c5bd93c72dc2a12f07d20bd26b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28188, "upload_time": "2016-11-28T17:19:20", "url": "https://files.pythonhosted.org/packages/d2/6b/7cb5d902a8edcb0a699af6375608b54c0edc14cb0c9a454ccdc9e66ca8bb/slack-backup-0.4.2.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "e6d590b819b1fbf5cdeac680f8c239cf", "sha256": "4356717da48b110a98e232a7089c4ec8a2bf0308942b8ea2e67bf6d3609ce25c" }, "downloads": -1, "filename": "slack_backup-0.4.3-py3-none-any.whl", "has_sig": false, "md5_digest": "e6d590b819b1fbf5cdeac680f8c239cf", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 33518, "upload_time": "2016-11-28T17:29:01", "url": "https://files.pythonhosted.org/packages/d5/a6/b063f2bd36fcea3d493907d63e505ecf6239c671e9cffd67873cc5001b42/slack_backup-0.4.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0c240b494d9758d1c0dd15bda720783d", "sha256": "88f9bba7ec4c3cb20233c1f9766c2ff99bb8c3dedcd7b57e393d31cbaa3773a1" }, "downloads": -1, "filename": "slack-backup-0.4.3.tar.gz", "has_sig": false, "md5_digest": "0c240b494d9758d1c0dd15bda720783d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28178, "upload_time": "2016-11-28T17:29:06", "url": "https://files.pythonhosted.org/packages/51/e5/cb56e9d2348fd6f0c7f5905112acf13e6e6a94511843486db1017cd0188f/slack-backup-0.4.3.tar.gz" } ], "0.4.4": [ { "comment_text": "", "digests": { "md5": "122ebd0c39e1dd1b245cb30ee22d5dc1", "sha256": "9ab5c579edcc59f55dd5cfb18f24e501eea590189d60aef5c61856679ca0ec14" }, "downloads": -1, "filename": "slack_backup-0.4.4-py3-none-any.whl", "has_sig": false, "md5_digest": "122ebd0c39e1dd1b245cb30ee22d5dc1", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 33748, "upload_time": "2016-11-28T18:14:07", "url": "https://files.pythonhosted.org/packages/b8/8a/4988bd8e04238a351b4a5487b73d3fef0f8838f7419381c2aac657862fa7/slack_backup-0.4.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "96b7db8ac91e0c5a1d07be06a0d70947", "sha256": "fbfbcac29cdf26dccfce157f8c6061f48febc6ca94919abe37ea7da8f6007030" }, "downloads": -1, "filename": "slack-backup-0.4.4.tar.gz", "has_sig": false, "md5_digest": "96b7db8ac91e0c5a1d07be06a0d70947", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28220, "upload_time": "2016-11-28T18:14:03", "url": "https://files.pythonhosted.org/packages/12/07/e955cfdb835b26dbe0f7df6154d839d56872d53e0ca2d80005f767c1bf22/slack-backup-0.4.4.tar.gz" } ], "0.4.5": [ { "comment_text": "", "digests": { "md5": "4c6f605230659846fe0996135a51c2e7", "sha256": "1876bd21e70349e87c503e94f7c40f40c68509c07b7d70df2c5221a28c1b6329" }, "downloads": -1, "filename": "slack_backup-0.4.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4c6f605230659846fe0996135a51c2e7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 33821, "upload_time": "2017-08-06T07:21:15", "url": "https://files.pythonhosted.org/packages/15/4b/80c51d11cf65c9a0649adb3e4b6cb853e2f196f11072a6a6610193c25421/slack_backup-0.4.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a67bb027f16c8aae79611a2d48153f0f", "sha256": "4a24a6a94e3c8052e48b9925c4671ad84f4bcd789bcada007407820e6befff6d" }, "downloads": -1, "filename": "slack-backup-0.4.5.tar.gz", "has_sig": false, "md5_digest": "a67bb027f16c8aae79611a2d48153f0f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28341, "upload_time": "2017-02-13T19:02:23", "url": "https://files.pythonhosted.org/packages/2f/8f/89914c3c9882b7286deb1195eda4c15de7986e90627cfc69884b42d27184/slack-backup-0.4.5.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "d1fc2640aa43c24548bf162bcfff3a9e", "sha256": "5e32a9d0eb1eac62010f45a995db388a12dab0c74f47048b2063b5cfd1b5125d" }, "downloads": -1, "filename": "slack_backup-0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d1fc2640aa43c24548bf162bcfff3a9e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 33792, "upload_time": "2017-08-06T07:25:45", "url": "https://files.pythonhosted.org/packages/38/82/154915692917e3ef8f66750ffdd0e445ff9575cfdc5cb6104ee22542c755/slack_backup-0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7523f1f320e838b1079b0b157063836d", "sha256": "6d837393d74056a82682f4be56bf6640d554d380558a8a114f5a4171872e446c" }, "downloads": -1, "filename": "slack-backup-0.5.tar.gz", "has_sig": false, "md5_digest": "7523f1f320e838b1079b0b157063836d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28206, "upload_time": "2017-08-06T07:25:47", "url": "https://files.pythonhosted.org/packages/ed/6b/4612f789f1847151b95dc040999ee713b5c2e61abf7b369ed9addb543907/slack-backup-0.5.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "2cf9755575dfb9f5747c72ed03536c01", "sha256": "69f3a5a96cb3722baf7a672d43404c4ffc5bb267488d26aa9e81339ee26646a0" }, "downloads": -1, "filename": "slack_backup-0.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2cf9755575dfb9f5747c72ed03536c01", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 34719, "upload_time": "2017-11-01T17:49:46", "url": "https://files.pythonhosted.org/packages/a1/b3/044daa384f40dab193dd107161e66d3a69b8160bb859807dd024803a9d92/slack_backup-0.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0ae4a3e97b22a3d60fd8bd300b92e82a", "sha256": "d9565298d9cb8c698175fbb43b065cfb5d26213d7313e7d00c8c2bf77c50850c" }, "downloads": -1, "filename": "slack-backup-0.6.tar.gz", "has_sig": false, "md5_digest": "0ae4a3e97b22a3d60fd8bd300b92e82a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29051, "upload_time": "2017-11-01T17:49:47", "url": "https://files.pythonhosted.org/packages/2e/9e/7e105adbc7cf0627853b65451c8def78d090a82a04ef2a9679cb8912bd6b/slack-backup-0.6.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "e42f288a572dc361923bd3658fa65fba", "sha256": "3f8bf8a2751d23f3ae8f555d7ea7ac7cd4ef59ad927d73bdafcb9608c891c6c1" }, "downloads": -1, "filename": "slack_backup-0.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e42f288a572dc361923bd3658fa65fba", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 34708, "upload_time": "2018-01-25T18:03:23", "url": "https://files.pythonhosted.org/packages/16/e3/e66ca5362adbe57cf6d627578dcae98568d49c38db5ba426e9f1a65f191d/slack_backup-0.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "080b95653cc0efcf475ace3ddd2fa29a", "sha256": "e603ff5c1126eea25eef38d7dca3367cd4255a9049083eb01432d42b70cce199" }, "downloads": -1, "filename": "slack-backup-0.7.tar.gz", "has_sig": false, "md5_digest": "080b95653cc0efcf475ace3ddd2fa29a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29038, "upload_time": "2018-01-25T18:03:25", "url": "https://files.pythonhosted.org/packages/6f/5f/76019dd7416c7f11312b13474eaeeac530bded333220908d2a08fec66978/slack-backup-0.7.tar.gz" } ], "0.8": [ { "comment_text": "", "digests": { "md5": "dbb20d97d01a4798747301983e91c47a", "sha256": "fe7d2a1aa4bceea482b29772316e16f599d4d65ae11ab9f4de074457efae625f" }, "downloads": -1, "filename": "slack_backup-0.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "dbb20d97d01a4798747301983e91c47a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 35588, "upload_time": "2019-01-05T16:45:44", "url": "https://files.pythonhosted.org/packages/c8/df/2725527e501969d2d7f014c36cc3eea350e37e31fee303682e19c3f659db/slack_backup-0.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4c9f51aaf8e9cf56106e45858c41e279", "sha256": "8d6541a191f45a3e94130489cd49e5bb800f35f3380ba82d7f6a8c8ac50665e1" }, "downloads": -1, "filename": "slack-backup-0.8.tar.gz", "has_sig": false, "md5_digest": "4c9f51aaf8e9cf56106e45858c41e279", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32719, "upload_time": "2019-01-05T16:45:45", "url": "https://files.pythonhosted.org/packages/b0/ce/a0d450b77aa13ca858883e7e86cafcadfa9a24f399f76cddd6faf026adbe/slack-backup-0.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "dbb20d97d01a4798747301983e91c47a", "sha256": "fe7d2a1aa4bceea482b29772316e16f599d4d65ae11ab9f4de074457efae625f" }, "downloads": -1, "filename": "slack_backup-0.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "dbb20d97d01a4798747301983e91c47a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 35588, "upload_time": "2019-01-05T16:45:44", "url": "https://files.pythonhosted.org/packages/c8/df/2725527e501969d2d7f014c36cc3eea350e37e31fee303682e19c3f659db/slack_backup-0.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4c9f51aaf8e9cf56106e45858c41e279", "sha256": "8d6541a191f45a3e94130489cd49e5bb800f35f3380ba82d7f6a8c8ac50665e1" }, "downloads": -1, "filename": "slack-backup-0.8.tar.gz", "has_sig": false, "md5_digest": "4c9f51aaf8e9cf56106e45858c41e279", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32719, "upload_time": "2019-01-05T16:45:45", "url": "https://files.pythonhosted.org/packages/b0/ce/a0d450b77aa13ca858883e7e86cafcadfa9a24f399f76cddd6faf026adbe/slack-backup-0.8.tar.gz" } ] }