{ "info": { "author": "deadc0de6", "author_email": "deadc0de6@foo.bar", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "CATCLI\n======\n\n|Build Status| |License: GPL v3| |Coverage Status| |PyPI version| |AUR|\n|Python|\n\n*The command line catalog tool for your offline data*\n\nDid you ever wanted to find back that specific file that should be on\none of your backup DVDs or one of your external hard drives? You usually\ngo through all of them hoping to find the right one on the first try?\n`Catcli `__ indexes external media\nin a catalog file and allows to quickly find specific files or even\nnavigate in the catalog of indexed files while these are not connected\nto your host.\n\nFeatures:\n\n- Index any directories in a catalog\n- Ability to search for files by name in the catalog\n- Ability to navigate through indexed data \u00e0 la ``ls``\n- Handle archive files (zip, tar, \u2026) and index their content\n- Save catalog to json for easy versioning with git\n- Command line interface FTW\n- Store files and directories sizes\n- Store md5 hash of files\n- Ability to update the catalog\n- Tag your different storages with additional information\n\nQuick start:\n\n.. code:: bash\n\n # install catcli with pip\n sudo pip3 install catcli\n # index a directory in the catalog\n catcli index -u --meta='some description' log /var/log\n # display the content\n catcli tree\n # navigate\n catcli ls log\n # find files/directories named '*log*'\n catcli find log\n\nsee `usage <#usage>`__ for specific info\n\nWhy catcli?\n-----------\n\n`Catcli `__ gives the ability to\nnavigate, explore and find your files that are stored on external media\n(DVDs, hard drives, USB sticks, etc) when those are not connected.\nCatcli can just as easily index any arbitrary directories.\n\nSee the `examples <#examples>`__ for an overview of the available\nfeatures.\n\n--------------\n\n**Table of Contents**\n\n- `Installation <#installation>`__\n\n- `Usage <#usage>`__\n\n - `Index data <#index-data>`__\n - `Index archive files <#index-archive-files>`__\n - `Walk indexed files with ls <#walk-indexed-files-with-ls>`__\n - `Find files <#find-files>`__\n - `Display entire tree <#display-entire-tree>`__\n - `Catalog graph <#catalog-graph>`__\n - `Edit storage <#edit-storage>`__\n - `Update catalog <#update-catalog>`__\n\n- `Examples <#examples>`__\n\n- `Contribution <#contribution>`__\n\nInstallation\n============\n\nTo install run:\n\n.. code:: bash\n\n $ sudo pip3 install catcli\n\nOr from github directly\n\n.. code:: bash\n\n $ cd /tmp; git clone https://github.com/deadc0de6/catcli && cd catcli\n $ sudo python3 setup.py install\n $ catcli --help\n\nTo work with catcli without installing it, you can do the following\n\n.. code:: bash\n\n $ cd /tmp; git clone https://github.com/deadc0de6/catcli && cd catcli\n $ sudo pip3 install -r requirements.txt\n $ python3 -m catcli.catcli --help\n\nor install it in a virtualenv\n\n.. code:: bash\n\n $ cd /tmp; git clone https://github.com/deadc0de6/catcli && cd catcli\n $ virtualenv -p python3 env\n $ source env/bin/activate\n $ python setup.py install\n $ catcli --help\n\nCatcli is also available on aur:\nhttps://aur.archlinux.org/packages/catcli-git/\n\nUsage\n=====\n\nEach indexed directory is stored in the catalog. Multiple directories\ncan be indexed and they are all available through the command line\ninterface of catcli.\n\nFive different types of entry are present in a catalog:\n\n- **top node**: this is the root of the tree\n- **storage node**: this represents an indexed storage (a DVD, an\n external hard drive, an USB drive, some arbitrary directory, etc).\n- **dir node**: this is a directory\n- **file node**: this is a file\n- **archive node**: this is a file contained in an archive (tar, zip,\n etc)\n\nIndex data\n----------\n\nLet\u2019s say the DVD or external hard drive that needs to be indexed is\nmounted on ``/media/mnt``. The following command will index the entire\ndirectory ``/media/mnt`` and store that in your catalog under the name\n````.\n\n.. code:: bash\n\n $ catcli index --meta= -u /media/mnt\n\nIf not specified otherwise (with the switch ``--catalog``), the catalog\nis saved in the current directory under ``catcli.catalog``.\n\nThe ``--meta`` switch allows to add any additional information to store\nalong in the catalog like for example ``the blue disk in my office``.\n\nCatcli will calculate and store the total size of each node\n(directories, storages, etc) unless the ``-n --no-subsize`` switch is\nused.\n\nUsing the ``-a --archive`` switch allows to also index archive files as\nexplained `below <#index-archive-files>`__.\n\nIndex archive files\n-------------------\n\nCatcli is able to index and explore the content of archive files.\nFollowing archive formats are supported: *tar*, *tar.gz*, *tar.xz*,\n*lzma*, *tar.bz2*, *zip*. Catcli is also able to find files within\nindexed archive files.\n\nSee the `archive example <#archive-example>`__ for more.\n\nWalk indexed files with ls\n--------------------------\n\nA catalog can be walked using the command ``ls`` as if the media is\nmounted (File/directories separator is ``/``).\n\n.. code:: bash\n\n $ catcli ls tmp/a/b/c\n\nResulting files can be sorted by size using ``-S --sortsize``. See the\n`examples <#examples>`__ for more.\n\nFind files\n----------\n\nFiles and directories can be found based on their names using the\n``find`` command. See the `examples <#examples>`__ for more.\n\nDisplay entire tree\n-------------------\n\nThe entire catalog can be shown using the ``tree`` command. Resulting\nfiles can be sorted by size using the ``-S --sortsize`` switch.\n\nSee the `examples <#examples>`__ for more.\n\nCatalog graph\n-------------\n\nThe catalog can be exported in a dot file that can be used to generate a\ngraph of the indexed files.\n\n.. code:: bash\n\n $ catcli graph\n dot file created under \"/tmp/catcli.dot\"\n create graph with \"dot /tmp/catcli.dot -T png -o /tmp/tree.png\" (you need graphviz)\n $ dot /tmp/catcli.dot -T png -o /tmp/tree.png\n\nEdit storage\n------------\n\nStorage entry can be edited with following catcli commands:\n\n- ``rename`` - rename the storage\n- ``edit`` - edit storage metadata\n\nUpdate catalog\n--------------\n\nThe catalog can be updated with the ``update`` command. Updates are\nbased on the access time of each of the files. If using ``-c --hash``,\nonly new files are re-hashed.\n\nExamples\n========\n\nSimple example\n--------------\n\nLet\u2019s first create some files and directories:\n\n.. code:: bash\n\n $ mkdir -p /tmp/test/{a,b,c}\n $ echo 'something in files in a' > /tmp/test/a/{1,2,3}\n $ echo 'something else in files in b' > /tmp/test/b/{4,5,6}\n $ echo 'some bytes' > /tmp/test/c/{7,8,9}\n $ tree /tmp/test\n /tmp/test\n \u251c\u2500\u2500 a\n \u2502\u00a0\u00a0 \u251c\u2500\u2500 1\n \u2502\u00a0\u00a0 \u251c\u2500\u2500 2\n \u2502\u00a0\u00a0 \u2514\u2500\u2500 3\n \u251c\u2500\u2500 b\n \u2502\u00a0\u00a0 \u251c\u2500\u2500 4\n \u2502\u00a0\u00a0 \u251c\u2500\u2500 5\n \u2502\u00a0\u00a0 \u2514\u2500\u2500 6\n \u2514\u2500\u2500 c\n \u251c\u2500\u2500 7\n \u251c\u2500\u2500 8\n \u2514\u2500\u2500 9\n\n 3 directories, 9 files\n\nFirst this directory is indexed with ``catcli`` as if it was some kind\nof external storage:\n\n.. code:: bash\n\n $ catcli index --meta='my test directory' tmptest /tmp/test\n\nCatcli creates its catalog file in the current directory as\n``catcli.catalog``.\n\nPrinting the entire catalog as a tree is done with the command ``tree``\n\n::\n\n $ catcli tree\n top\n \u2514\u2500\u2500 storage: tmptest (my test directory) (nbfiles:3, free:3.7G/3.7G, date:2019-01-26 19:59:47)\n \u251c\u2500\u2500 a [nbfiles:3, totsize:72]\n \u2502 \u251c\u2500\u2500 1 [size:24]\n \u2502 \u251c\u2500\u2500 2 [size:24]\n \u2502 \u2514\u2500\u2500 3 [size:24]\n \u251c\u2500\u2500 b [nbfiles:3, totsize:87]\n \u2502 \u251c\u2500\u2500 4 [size:29]\n \u2502 \u251c\u2500\u2500 5 [size:29]\n \u2502 \u2514\u2500\u2500 6 [size:29]\n \u2514\u2500\u2500 c [nbfiles:3, totsize:33]\n \u251c\u2500\u2500 7 [size:11]\n \u251c\u2500\u2500 8 [size:11]\n \u2514\u2500\u2500 9 [size:11]\n\nThe catalog can be walked with ``ls`` as if it was a normal directory\n\n::\n\n $ catcli ls\n top\n - storage: tmptest (my test directory) (nbfiles:3, free:3.7G/3.7G, date:2019-01-26 19:59:47)\n\n $ catcli ls tmptest\n storage: tmptest (my test directory) (nbfiles:3, free:3.7G/3.7G, date:2019-01-26 19:59:47)\n - a [nbfiles:3, totsize:72]\n - b [nbfiles:3, totsize:87]\n - c [nbfiles:3, totsize:33]\n\n $ catcli ls tmptest/b\n b [nbfiles:3, totsize:87]\n - 4 [size:29]\n - 5 [size:29]\n - 6 [size:29]\n\nAnd files can be found using the command ``find``\n\n.. code:: bash\n\n $ catcli find 9\n\n c/9 [size:11, storage:tmptest]\n\nWhen using the ``-b --script`` switch, a one-liner is generated that\nallows to handle the found file(s)\n\n::\n\n $ catcli find 9 --script\n\n c/9 [size:11, storage:tmptest]\n op=file; source=/media/mnt; $op ${source}/c/9\n\nArchive example\n---------------\n\nLet\u2019s consider a directory containing archive files:\n\n.. code:: bash\n\n $ ls -1 /tmp/catcli\n catcli-0.3.1\n v0.3.1.tar.gz\n v0.3.1.zip\n\nTo enable the indexing of archive contents use the ``-a --archive``\nswitch\n\n.. code:: bash\n\n $ catcli index -au some-name /tmp/catcli\n\nThen any command can be used to explore the catalog as for normal files\nbut, by providing the ``-a --archive`` switch, archive content are\ndisplayed.\n\n.. code:: bash\n\n $ catcli ls some-name\n\n storage: some-name (free:800G, total:1T)\n - catcli-0.3.1 [nbfiles:11, totsize:80.5K]\n - v0.3.1.tar.gz [size:24.2K]\n - v0.3.1.zip [size:31.2K]\n\n $ catcli ls -r some-name/v0.3.1.zip\n\n v0.3.1.zip [size:31.2K]\n\n $ catcli ls -ar some-name/v0.3.1.zip\n\n v0.3.1.zip [size:31.2K]\n \u251c\u2500\u2500 catcli-0.3.1 [archive:v0.3.1.zip]\n \u2502 \u251c\u2500\u2500 catcli [archive:v0.3.1.zip]\n \u2502 \u2502 \u251c\u2500\u2500 __init__.py [archive:v0.3.1.zip]\n \u2502 \u2502 \u251c\u2500\u2500 catalog.py [archive:v0.3.1.zip]\n \u2502 \u2502 \u251c\u2500\u2500 catcli.py [archive:v0.3.1.zip]\n \u2502 \u2502 \u251c\u2500\u2500 logger.py [archive:v0.3.1.zip]\n \u2502 \u2502 \u251c\u2500\u2500 noder.py [archive:v0.3.1.zip]\n \u2502 \u2502 \u251c\u2500\u2500 utils.py [archive:v0.3.1.zip]\n \u2502 \u2502 \u2514\u2500\u2500 walker.py [archive:v0.3.1.zip]\n \u2502 \u251c\u2500\u2500 .gitignore [archive:v0.3.1.zip]\n \u2502 \u251c\u2500\u2500 LICENSE [archive:v0.3.1.zip]\n \u2502 \u251c\u2500\u2500 MANIFEST.in [archive:v0.3.1.zip]\n \u2502 \u251c\u2500\u2500 README.md [archive:v0.3.1.zip]\n \u2502 \u251c\u2500\u2500 requirements.txt [archive:v0.3.1.zip]\n \u2502 \u251c\u2500\u2500 setup.cfg [archive:v0.3.1.zip]\n \u2502 \u251c\u2500\u2500 setup.py [archive:v0.3.1.zip]\n \u2502 \u251c\u2500\u2500 tests [archive:v0.3.1.zip]\n \u2502 \u2502 \u251c\u2500\u2500 __init__.py [archive:v0.3.1.zip]\n \u2502 \u2502 \u251c\u2500\u2500 helpers.py [archive:v0.3.1.zip]\n \u2502 \u2502 \u251c\u2500\u2500 test_find.py [archive:v0.3.1.zip]\n \u2502 \u2502 \u251c\u2500\u2500 test_graph.py [archive:v0.3.1.zip]\n \u2502 \u2502 \u251c\u2500\u2500 test_index.py [archive:v0.3.1.zip]\n \u2502 \u2502 \u251c\u2500\u2500 test_ls.py [archive:v0.3.1.zip]\n \u2502 \u2502 \u251c\u2500\u2500 test_rm.py [archive:v0.3.1.zip]\n \u2502 \u2502 \u2514\u2500\u2500 test_tree.py [archive:v0.3.1.zip]\n \u2502 \u251c\u2500\u2500 tests.sh [archive:v0.3.1.zip]\n \u2502 \u2514\u2500\u2500 .travis.yml [archive:v0.3.1.zip]\n \u2514\u2500\u2500 catcli-0.3.1/ [archive:v0.3.1.zip]\n\nAll commands handle archive files (like ``tree`` or ``find``).\n\nContribution\n============\n\nIf you are having trouble installing or using catcli, open an issue.\n\nIf you want to contribute, feel free to do a PR (please follow PEP8).\n\nThe ``tests.sh`` script can be run to check the code.\n\nLicense\n=======\n\nThis project is licensed under the terms of the GPLv3 license.\n\n.. |Build Status| image:: https://travis-ci.org/deadc0de6/catcli.svg?branch=master\n :target: https://travis-ci.org/deadc0de6/catcli\n.. |License: GPL v3| image:: https://img.shields.io/badge/License-GPL%20v3-blue.svg\n :target: http://www.gnu.org/licenses/gpl-3.0\n.. |Coverage Status| image:: https://coveralls.io/repos/github/deadc0de6/catcli/badge.svg?branch=master\n :target: https://coveralls.io/github/deadc0de6/catcli?branch=master\n.. |PyPI version| image:: https://badge.fury.io/py/catcli.svg\n :target: https://badge.fury.io/py/catcli\n.. |AUR| image:: https://img.shields.io/aur/version/catcli-git.svg\n :target: https://aur.archlinux.org/packages/catcli-git\n.. |Python| image:: https://img.shields.io/pypi/pyversions/catcli.svg\n :target: https://pypi.python.org/pypi/catcli\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/deadc0de6/catcli/archive/v0.5.11.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/deadc0de6/catcli", "keywords": "catalog commandline indexer offline", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "catcli", "package_url": "https://pypi.org/project/catcli/", "platform": "", "project_url": "https://pypi.org/project/catcli/", "project_urls": { "Download": "https://github.com/deadc0de6/catcli/archive/v0.5.11.tar.gz", "Homepage": "https://github.com/deadc0de6/catcli" }, "release_url": "https://pypi.org/project/catcli/0.5.11/", "requires_dist": [ "docopt", "anytree", "psutil", "check-manifest; extra == 'dev'", "coverage; extra == 'test'", "pytest; extra == 'test'", "pytest-cov; extra == 'test'" ], "requires_python": ">=3", "summary": "The command line catalog tool for your offline data", "version": "0.5.11" }, "last_serial": 5137957, "releases": { "0.1.3": [ { "comment_text": "", "digests": { "md5": "c33f532b1e5a84057c34c9190cbb176d", "sha256": "4ef3ce8a4c89e94773d80e50a9d3a4ecb82839740c40c93a8ba03728617604b3" }, "downloads": -1, "filename": "catcli-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "c33f532b1e5a84057c34c9190cbb176d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27740, "upload_time": "2017-12-15T16:30:02", "url": "https://files.pythonhosted.org/packages/01/74/6c4baffb5d55bf22a08db5637113b0d07efd3e72e410d419fe708ed47ec5/catcli-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6a562faad02bee5b4f528800db7069d2", "sha256": "46abc4c78c6834213493d825e2dffbfcd938bd3c1cca98f72d8b08f9224a175f" }, "downloads": -1, "filename": "catcli-0.1.3.tar.gz", "has_sig": false, "md5_digest": "6a562faad02bee5b4f528800db7069d2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25804, "upload_time": "2017-12-15T16:30:03", "url": "https://files.pythonhosted.org/packages/50/e6/4840b1a766f310f74578d3068d55bbb2d265cbeca6ed2a5c14648075817a/catcli-0.1.3.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "02f00bbe4c9144cd41b87894bbd113e9", "sha256": "715ded9941009d239025493638f9d8e5c886918e4545e1e0bfc9b075f7b28ee9" }, "downloads": -1, "filename": "catcli-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "02f00bbe4c9144cd41b87894bbd113e9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27868, "upload_time": "2017-12-16T17:09:49", "url": "https://files.pythonhosted.org/packages/a1/8c/0d200855d8bf84618116a0e067a40b10d01e5c605f53c9e283bc7c664356/catcli-0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5c53bafe58cc00de21485b2c4ac50c5f", "sha256": "a738f571f0a8ac932dc638d73cdc53f60e7fa12e8b8c4787bb7286b36c3631d3" }, "downloads": -1, "filename": "catcli-0.2.tar.gz", "has_sig": false, "md5_digest": "5c53bafe58cc00de21485b2c4ac50c5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25729, "upload_time": "2017-12-16T17:09:50", "url": "https://files.pythonhosted.org/packages/f0/2a/b3420d872628936f73e77e50f3b25bf53fe56602fef1b6115fc38d7b8e95/catcli-0.2.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "d8dd58aa6b71f9374d81a602fca249a1", "sha256": "e6b43afcbf7ea35029b509da1e88d146a0d44de0abdb5f05a0692d75b8708a73" }, "downloads": -1, "filename": "catcli-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "d8dd58aa6b71f9374d81a602fca249a1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 28952, "upload_time": "2017-12-17T15:51:54", "url": "https://files.pythonhosted.org/packages/21/5a/1ca67ac0c369ae0ff08bdd796342c8090e6aac636d4efbefe723dfa3dc8d/catcli-0.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a0a762528dc594a129c7a4f791c7708d", "sha256": "c75167a8917e20e7dfb4f0639571ae04f95395bf4604fe044c3915d4cc8c161e" }, "downloads": -1, "filename": "catcli-0.3.1.tar.gz", "has_sig": false, "md5_digest": "a0a762528dc594a129c7a4f791c7708d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26782, "upload_time": "2017-12-17T15:51:55", "url": "https://files.pythonhosted.org/packages/55/38/7db60fe2e058cd8e772b4ded80b71e300636b5ff149199b45da6bd7b0e23/catcli-0.3.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "7fae0a9b8c4d29bb9e83dab9ad10c7f1", "sha256": "6c3b4a8e67ba89de2d5a581454c3a57c14870e382be1bbf9def84465a438b9dc" }, "downloads": -1, "filename": "catcli-0.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "7fae0a9b8c4d29bb9e83dab9ad10c7f1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 31229, "upload_time": "2017-12-20T09:30:26", "url": "https://files.pythonhosted.org/packages/08/98/b4a8bf187b6d8f0aa7a86af6454d55582cdf904cd4852bd8bce8ce8205ce/catcli-0.4.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6c42c4c84eeb46fe1a7844bd20d1ae40", "sha256": "b34ebd671d10d23c4ca8fc73d636b9517ce1e10f93ebc32d0c716519b860d8e6" }, "downloads": -1, "filename": "catcli-0.4.2.tar.gz", "has_sig": false, "md5_digest": "6c42c4c84eeb46fe1a7844bd20d1ae40", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30917, "upload_time": "2017-12-20T09:30:27", "url": "https://files.pythonhosted.org/packages/b3/3d/3cfe0e0a70ecdfaa8492938385eb7c56f5c168c61ef40b03f859bd4bdcce/catcli-0.4.2.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "efb99c6826ad1ef4dd57b25759976168", "sha256": "e9cedbd74f5ac0531044e2c1e22fcc92ff6f8677d6e8a1f892992fc1b8c05e8b" }, "downloads": -1, "filename": "catcli-0.4.3-py3-none-any.whl", "has_sig": false, "md5_digest": "efb99c6826ad1ef4dd57b25759976168", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 31229, "upload_time": "2017-12-20T10:15:05", "url": "https://files.pythonhosted.org/packages/8c/a6/e51065f7ed2ee0f4969f5e3629bbbf603d331c823fd3467b8144885857c6/catcli-0.4.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "24b6124aa18f4e54b59f0484be4f218f", "sha256": "526a2180792a8fd5f353f397dbb7c9942aaa7f505087d0e097638cc050670a1f" }, "downloads": -1, "filename": "catcli-0.4.3.tar.gz", "has_sig": false, "md5_digest": "24b6124aa18f4e54b59f0484be4f218f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30923, "upload_time": "2017-12-20T10:15:07", "url": "https://files.pythonhosted.org/packages/b9/f9/65a78d7c238b701505b428a9d72d0c99f3f45ceb24706ad7b36e63cb25f1/catcli-0.4.3.tar.gz" } ], "0.4.5": [ { "comment_text": "", "digests": { "md5": "81c80eb4694c5b0d95139e486192fef0", "sha256": "0b95891ebbdd1d693294f7a911eb2a4020aa1bec598e845a0b75e6e77461b422" }, "downloads": -1, "filename": "catcli-0.4.5-py3-none-any.whl", "has_sig": false, "md5_digest": "81c80eb4694c5b0d95139e486192fef0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 26925, "upload_time": "2018-04-11T08:58:32", "url": "https://files.pythonhosted.org/packages/fb/65/87bf2abc66143b05945b3ab7f819f21bac77cd44ce68c8ac1e83ef9826cf/catcli-0.4.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fc5e4d4cabc0f15cd2ec6a86bcc69d44", "sha256": "371689a7ab329184b82d7f307a4b1e1098a83f4c2a7721cc700005be795a3743" }, "downloads": -1, "filename": "catcli-0.4.5.tar.gz", "has_sig": false, "md5_digest": "fc5e4d4cabc0f15cd2ec6a86bcc69d44", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31290, "upload_time": "2018-04-11T08:58:33", "url": "https://files.pythonhosted.org/packages/55/ec/a80d9ba9d37370a7bfc2dd66d7d88ef2768fcec52ef39f7d844edf40f016/catcli-0.4.5.tar.gz" } ], "0.4.6": [ { "comment_text": "", "digests": { "md5": "6dcaa5650d903331e027f44dbd5eb0d5", "sha256": "61937515b112b0eb87d470d8bec4f3be04ec3ea88de2d5938d9a5d1791bebc46" }, "downloads": -1, "filename": "catcli-0.4.6-py3-none-any.whl", "has_sig": false, "md5_digest": "6dcaa5650d903331e027f44dbd5eb0d5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 31427, "upload_time": "2018-04-19T20:22:36", "url": "https://files.pythonhosted.org/packages/96/64/8fda3ea68be288c9afc4df838d16510bf8ce709447453c08ddf61f6a6d4f/catcli-0.4.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "14daa9c2d6bc582d660f73ace8b0872f", "sha256": "a9709548bfff67b0f4ce8d692b6541de8aed252d3807ea372b0859cf1eb7e392" }, "downloads": -1, "filename": "catcli-0.4.6.tar.gz", "has_sig": false, "md5_digest": "14daa9c2d6bc582d660f73ace8b0872f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29398, "upload_time": "2018-04-19T20:22:38", "url": "https://files.pythonhosted.org/packages/f6/03/a1cffc4f8480dc0eacae08fc79d7882757b2068a45bdf980d8b18d0a48fd/catcli-0.4.6.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "ee746926570d3a7fd132659836f6bafd", "sha256": "4d1212e961f8f79c6d7accf7a6f9cf0812b30a4774ccfe1787f0fb7ecf912f64" }, "downloads": -1, "filename": "catcli-0.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ee746926570d3a7fd132659836f6bafd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27086, "upload_time": "2018-09-14T08:11:03", "url": "https://files.pythonhosted.org/packages/e9/98/1eaea4c69968f9e7067c9fa7c9d4e61d3593d2dbceef9deb743760036cca/catcli-0.5.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7a5ef13e2353c68c41f77cf17a634693", "sha256": "e112db0af46e0866efcdf0104ae2698e5fa9b8f3943d00134b6e6d475fdfbc9c" }, "downloads": -1, "filename": "catcli-0.5.0.tar.gz", "has_sig": false, "md5_digest": "7a5ef13e2353c68c41f77cf17a634693", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29577, "upload_time": "2018-09-14T08:11:05", "url": "https://files.pythonhosted.org/packages/d4/22/7c944329590bd82868688492dd1d5bb506bf124379dc49c3e0522f699b51/catcli-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "5c584ec526c94d885a6aed2846159043", "sha256": "9ee1bbcac6a579caa3d8de3fadee9c16cdf538e237972cad7ef965144b8c49b3" }, "downloads": -1, "filename": "catcli-0.5.1-py3-none-any.whl", "has_sig": false, "md5_digest": "5c584ec526c94d885a6aed2846159043", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27808, "upload_time": "2018-09-20T07:44:03", "url": "https://files.pythonhosted.org/packages/f1/06/0253f58a67a143c5bdbeffa8c36574e9c16f4ab0703b42682b02cab3cba4/catcli-0.5.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dda717ce0a8e15ee15a350bb87c24f74", "sha256": "6a031b34a47c639c707d4b2ab705cb6f62c4babbe6803150143e4b293d310091" }, "downloads": -1, "filename": "catcli-0.5.1.tar.gz", "has_sig": false, "md5_digest": "dda717ce0a8e15ee15a350bb87c24f74", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32033, "upload_time": "2018-09-20T07:44:05", "url": "https://files.pythonhosted.org/packages/fb/df/0b4e9f677a6605da34a81e5a7e3faad495b66d5c62c3d019a2c1654e5c80/catcli-0.5.1.tar.gz" } ], "0.5.11": [ { "comment_text": "", "digests": { "md5": "98ff4f2d55abe6d779bfae131ff64716", "sha256": "e9b40198f78b43417faf8a832415e33f469c443b9a6bf876860fe5e17877eb8d" }, "downloads": -1, "filename": "catcli-0.5.11-py3-none-any.whl", "has_sig": false, "md5_digest": "98ff4f2d55abe6d779bfae131ff64716", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 29240, "upload_time": "2019-04-13T12:04:21", "url": "https://files.pythonhosted.org/packages/c4/93/2cc26756e21432114e34746c0fc667c701e9eb8d393609059d9d85df6d78/catcli-0.5.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7be453defee7a7a2480c2c41998e4808", "sha256": "ca4760612e71f87b2c625d455e7a96aec358009754a828d8449a3ab18a249d95" }, "downloads": -1, "filename": "catcli-0.5.11.tar.gz", "has_sig": false, "md5_digest": "7be453defee7a7a2480c2c41998e4808", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 32012, "upload_time": "2019-04-13T12:04:23", "url": "https://files.pythonhosted.org/packages/3e/c9/35c3b8c406e22f7c17b98d7b2a090f8d49d3bdc1dd21dd056855482c7b0c/catcli-0.5.11.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "42583d3ddadc2ceb3deec0f73448a248", "sha256": "7dbd99a556eed18fdc26deff1e6a2c3ec9a5e0fd12dc2a2a95c4625c5a1c82f2" }, "downloads": -1, "filename": "catcli-0.5.2-py3-none-any.whl", "has_sig": false, "md5_digest": "42583d3ddadc2ceb3deec0f73448a248", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27800, "upload_time": "2018-09-24T10:53:58", "url": "https://files.pythonhosted.org/packages/9d/92/dd0a2146888ba8a417e521a1dd9200368d88eaacd7b06d71bab7806a682c/catcli-0.5.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "626b74f38b186bb5e4848dede7d01231", "sha256": "1bb15284e5e3ed420b084dca1c88fd34554e58377c90d531ba14bfd1d16aba04" }, "downloads": -1, "filename": "catcli-0.5.2.tar.gz", "has_sig": false, "md5_digest": "626b74f38b186bb5e4848dede7d01231", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32030, "upload_time": "2018-09-24T10:54:00", "url": "https://files.pythonhosted.org/packages/ea/ed/093f9a4afabca2fa5526147887dfbc9a8da0cfedebe0f27804dbd9a9ca04/catcli-0.5.2.tar.gz" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "60e7cad0c975aca2f9feb0c24b53ab32", "sha256": "89270f2eae0ae3b824caa7e35f6e60c4ba2c54a57ee1d745a89ada90f9d76886" }, "downloads": -1, "filename": "catcli-0.5.3-py3-none-any.whl", "has_sig": false, "md5_digest": "60e7cad0c975aca2f9feb0c24b53ab32", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27922, "upload_time": "2018-09-26T07:16:57", "url": "https://files.pythonhosted.org/packages/85/b8/906557ced66bb64d3844136969a0ef173cc2f795ea86046589ebb12ca629/catcli-0.5.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "629f021625dd7fb7d517e000742270be", "sha256": "8ffa8602aa1b5ce7ddd096aa548adfc2d65ba31309a290da9f93f8a3f38e85df" }, "downloads": -1, "filename": "catcli-0.5.3.tar.gz", "has_sig": false, "md5_digest": "629f021625dd7fb7d517e000742270be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32144, "upload_time": "2018-09-26T07:16:59", "url": "https://files.pythonhosted.org/packages/13/c0/6fd53c9153c1cf4168b8339e2e421a15409b4e4c229df7be20c739b7da3a/catcli-0.5.3.tar.gz" } ], "0.5.4": [ { "comment_text": "", "digests": { "md5": "09d787f970d7795c1f8ac7468d343262", "sha256": "b1cb0bee2a38fb332e41bff6c003e5a2148ac7ab25c8aef0d5001ee67dfbefa2" }, "downloads": -1, "filename": "catcli-0.5.4-py3-none-any.whl", "has_sig": false, "md5_digest": "09d787f970d7795c1f8ac7468d343262", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 28205, "upload_time": "2018-09-27T16:16:49", "url": "https://files.pythonhosted.org/packages/c3/dd/3aa7e2b3980d150e0727db1666a6dcb23e754ce675c428bbd6ebe2e3f46e/catcli-0.5.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "827ac97e1e27fbf364da6d2eee424875", "sha256": "5541b5822062570e0eb0e8da897b76323be58f578e0f59ab5c7b83249bdea5dd" }, "downloads": -1, "filename": "catcli-0.5.4.tar.gz", "has_sig": false, "md5_digest": "827ac97e1e27fbf364da6d2eee424875", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32392, "upload_time": "2018-09-27T16:16:50", "url": "https://files.pythonhosted.org/packages/b3/7a/a9d6f664903c3dea0aa6897dbf363040e53094ac44c57ac309cbf668f0c7/catcli-0.5.4.tar.gz" } ], "0.5.6": [ { "comment_text": "", "digests": { "md5": "5cbc1ed303b821b1d6a1fc7400748c52", "sha256": "4a8bf210316b6315d146e5870bb7fcfc309b85254b58e8de8b50411fd3c81924" }, "downloads": -1, "filename": "catcli-0.5.6-py3-none-any.whl", "has_sig": false, "md5_digest": "5cbc1ed303b821b1d6a1fc7400748c52", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 28387, "upload_time": "2018-10-20T17:12:07", "url": "https://files.pythonhosted.org/packages/71/56/c9f59c930fba636b6aac11e574ba739e3f38f7a6f90fb3793ef168026d7d/catcli-0.5.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "44980bf9567ad3133c03f3d0d7512c89", "sha256": "1d7f8ab0d5d7b19b094ef903dfee90ba756171e3d5914cde075221aaa1231043" }, "downloads": -1, "filename": "catcli-0.5.6.tar.gz", "has_sig": false, "md5_digest": "44980bf9567ad3133c03f3d0d7512c89", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 30933, "upload_time": "2018-10-20T17:12:09", "url": "https://files.pythonhosted.org/packages/18/4f/72123c5e66d54e0b58b23bdd48a97a9b23ffb702d0ff323b2679c26995b9/catcli-0.5.6.tar.gz" } ], "0.5.7": [ { "comment_text": "", "digests": { "md5": "321d5208bd42263efe5a981c749b10b7", "sha256": "43292614f9e0a8c9758a225e1cc35c4c65597ee47e3a4e4446683122e31d60a3" }, "downloads": -1, "filename": "catcli-0.5.7-py3-none-any.whl", "has_sig": false, "md5_digest": "321d5208bd42263efe5a981c749b10b7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 28713, "upload_time": "2018-11-21T14:09:19", "url": "https://files.pythonhosted.org/packages/d5/49/81bdc71e48aa0a05fcb7f75f07241347a3dfc7dc56bce8cab1215a52cc68/catcli-0.5.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4d0487d75493cb4e43e96eef8dfadd16", "sha256": "f1451e23c710bb8f5ae68118d171f925321e7814c8a5cfec262755bd7143a22c" }, "downloads": -1, "filename": "catcli-0.5.7.tar.gz", "has_sig": false, "md5_digest": "4d0487d75493cb4e43e96eef8dfadd16", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 31265, "upload_time": "2018-11-21T14:09:21", "url": "https://files.pythonhosted.org/packages/4d/36/93846f0b8dda083ab7cc615dfa8f897f454fe8f2732bf104bd82057bd371/catcli-0.5.7.tar.gz" } ], "0.5.8": [ { "comment_text": "", "digests": { "md5": "2e667a072bd6fb319adeacc0b09d8972", "sha256": "c3840ef12a891e592b9636fb74928cf76212ea33aa799c023280836cef754858" }, "downloads": -1, "filename": "catcli-0.5.8-py3-none-any.whl", "has_sig": false, "md5_digest": "2e667a072bd6fb319adeacc0b09d8972", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 28847, "upload_time": "2019-01-26T17:40:19", "url": "https://files.pythonhosted.org/packages/5e/9c/5271be8e994dcb89361bd97a2e93426701253c86575e9107877fe6ccc962/catcli-0.5.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7bf77bdffdf2d5b5791c84466e97d7ad", "sha256": "7a5f93f3e17d7d8dcea9a89be62a34ed780b46ad82c3dd4438fba6d0c188250a" }, "downloads": -1, "filename": "catcli-0.5.8.tar.gz", "has_sig": false, "md5_digest": "7bf77bdffdf2d5b5791c84466e97d7ad", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 31385, "upload_time": "2019-01-26T17:40:21", "url": "https://files.pythonhosted.org/packages/6d/a4/0b8cddaa803bd2e76ac2cf16fda94c7460b97b9c05ea624d4954f1d2ec2b/catcli-0.5.8.tar.gz" } ], "0.5.9": [ { "comment_text": "", "digests": { "md5": "376aac0df1aca0bdd35c943f9a0b1e43", "sha256": "a48d33e7a5836da83ec5e1f57f5f50f421be0b966e60e9205a9c474432d3aaed" }, "downloads": -1, "filename": "catcli-0.5.9-py3-none-any.whl", "has_sig": false, "md5_digest": "376aac0df1aca0bdd35c943f9a0b1e43", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 29082, "upload_time": "2019-02-16T13:06:24", "url": "https://files.pythonhosted.org/packages/4a/39/24de6ab765f420ef1e419823cc8405e068c12b636fc2c65ce94639861830/catcli-0.5.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a426f0916268ab5663517e4b6575db85", "sha256": "1de9c2574be36677543c61ba9413046fd8cab0df566843a86629a23bd81c9e47" }, "downloads": -1, "filename": "catcli-0.5.9.tar.gz", "has_sig": false, "md5_digest": "a426f0916268ab5663517e4b6575db85", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 31807, "upload_time": "2019-02-16T13:06:26", "url": "https://files.pythonhosted.org/packages/ed/6c/a5c14dd985aa0eeecf193267e140f500a1f3e8615faf37f077805f59282f/catcli-0.5.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "98ff4f2d55abe6d779bfae131ff64716", "sha256": "e9b40198f78b43417faf8a832415e33f469c443b9a6bf876860fe5e17877eb8d" }, "downloads": -1, "filename": "catcli-0.5.11-py3-none-any.whl", "has_sig": false, "md5_digest": "98ff4f2d55abe6d779bfae131ff64716", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 29240, "upload_time": "2019-04-13T12:04:21", "url": "https://files.pythonhosted.org/packages/c4/93/2cc26756e21432114e34746c0fc667c701e9eb8d393609059d9d85df6d78/catcli-0.5.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7be453defee7a7a2480c2c41998e4808", "sha256": "ca4760612e71f87b2c625d455e7a96aec358009754a828d8449a3ab18a249d95" }, "downloads": -1, "filename": "catcli-0.5.11.tar.gz", "has_sig": false, "md5_digest": "7be453defee7a7a2480c2c41998e4808", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 32012, "upload_time": "2019-04-13T12:04:23", "url": "https://files.pythonhosted.org/packages/3e/c9/35c3b8c406e22f7c17b98d7b2a090f8d49d3bdc1dd21dd056855482c7b0c/catcli-0.5.11.tar.gz" } ] }