{ "info": { "author": "Mark R. Gollnick ✝", "author_email": "mark.r.gollnick@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "\ufeff\n=======\ndeepest\n=======\n\n.. image:: https://travis-ci.org/markgollnick/deepest.svg?branch=master\n :target: https://travis-ci.org/markgollnick/deepest\n :alt: Build Status\n\n.. image:: https://coveralls.io/repos/markgollnick/deepest/badge.svg?branch=master\n :target: https://coveralls.io/r/markgollnick/deepest?branch=master\n :alt: Coverage Status\n\n|\n\n.. image:: https://raw.githubusercontent.com/markgollnick/deepest/master/deep.jpg\n :alt: Diavik Diamond Mine, Canada\n\n..\n\n *\u201cThere are older and fouler things than Orcs in the deep places of the\n world.\u201d*\n\n *\u2014 Gandalf, from \u201cThe Lord of the Rings: The Fellowship of the Ring\u201d, by\n J.R.R. Tolkien*\n\n**deepest** \u2014 A cross-platform (and cross-language) command-line utility used\nto determine the maximum depth of the current (or a specified) directory tree.\n\nAvailable in both Python and C++ flavors (via the `ShedSkin`_ libraries).\n\n.. _ShedSkin: https://code.google.com/p/shedskin/\n\n\nRationale\n---------\n\n* Needed a way to determine how close a project was getting to the\n 8-subdirectory limit defined by ISO-9660.\n\n* Needed a way to determine how close to ``MAX_PATH`` directories were\n getting.\n\n * ``MAX_PATH`` is defined as 260 characters on Windows: 3 for the drive\n (``C:\\``), 1 for the terminating ``NULL`` character at the end, and 256\n for directories, back-slashes, filenames, and extensions in the middle.\n\n* \u201cYes, but\u2026 Why Python?\u201d\n\n * It\u2019s faster for prototyping. (Bias\u2026 I\u2019m just more familiar with it.)\n * It gave me an excuse to try out `ShedSkin`_. :-)\n\n\nRequirements\n------------\n\n* Python >= 2.7, 3.2, 3.3, 3.4, 3.5, 3.6\n* ShedSkin >= 0.9.3, 0.9.4 \u2014 *optional*\n* g++ >= 4.6.2 or clang++ >= 3.2 \u2014 *optional*\n* MinGW/MSYS (2012-04-26 catalog) \u2014 *optional*\n\n\nInstallation\n------------\n\n**Python (Users)**::\n\n pip install deepest\n\n**Python (Developers)**::\n\n git clone git@github.com:markgollnick/deepest.git\n cd deepest\n python setup.py build install\n # Alternatively...\n make python\n pip install dist/deepest-*.tar.gz\n\n**C++**:\n\n1. Download and install `ShedSkin`_ (`instructions`_).\n2. Run the following::\n\n ./3to2 # Make some minor adjustments for ShedSkin compatibility\n cd deepest # This is the dir INSIDE the project's root dir\n shedskin deepest.py\n make\n # Alternatively, from the project's root dir...\n make cpp\n\n.. _instructions: https://code.google.com/p/shedskin/wiki/docs#Installation\n\n\nUsage\n-----\n\n**Python:**\n\nOnce installed, you can use it as a script\u2026\n\n::\n\n $ deepest .\n breadth of dirs examined longest pathname deepest directory\n 13 58 7\n\n longest file: ./workspace/dwarves/digging/deep/deeper/deepest/balrog.log\n deepest path: ./workspace/some/really/long/directory/chain/here\n\n\u2026or, you can use it as a library::\n\n >>> import deepest\n >>> deepest.get_depth('c:\\\\workspace')\n ('c:\\\\workspace\\\\some\\\\really\\\\long\\\\directory\\\\chain\\\\here', 7)\n >>> deepest.get_length('c:\\\\workspace')\n ('c:\\\\workspace\\\\dwarves\\\\digging\\\\deep\\\\deeper\\\\deepest\\\\balrog.log', 59)\n\n**C++:**\n\nOnce compiled, it is a (notably faster) alternative to the Python script::\n\n $ deepest c:\\\\workspace\n breadth of dirs examined longest pathname deepest directory\n 13 59 7\n\n longest file: c:\\workspace\\dwarves\\digging\\deep\\deeper\\deepest\\balrog.log\n deepest path: c:\\workspace\\some\\really\\long\\directory\\chain\\here\n\n\nSpeed\n-----\n\nIn a project containing well over 5000 directories with a max depth of 13, the\nPython and C++ versions (compiled with clang-503.0.40) were pitted against each\nother. Both versions were run three times each on a Late 2013 Mac Book Pro.\n\nThese are the averaged results::\n\n $ time deepest # Python script\n ...\n real 0m0.423s\n user 0m0.244s\n sys 0m0.160s\n\n $ time deepest # C++ binary\n ...\n real 0m0.169s\n user 0m0.063s\n sys 0m0.101s\n\nIn practical observation, using the compiled C++ version may gain you anywhere\nfrom a 10% to a whopping 60% boost in speed. :-)\n\n\nLicense\n-------\n\nBoost Software License, Version 1.0: \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/markgollnick/deepest", "keywords": "deep", "license": "Boost Software License - Version 1.0 - August 17th, 2003\n\nPermission is hereby granted, free of charge, to any person or organization\nobtaining a copy of the software and accompanying documentation covered by\nthis license (the \"Software\") to use, reproduce, display, distribute,\nexecute, and transmit the Software, and to prepare derivative works of the\nSoftware, and to permit third-parties to whom the Software is furnished to\ndo so, all subject to the following:\n\nThe copyright notices in the Software and this entire statement, including\nthe above license grant, this restriction and the following disclaimer,\nmust be included in all copies of the Software, in whole or in part, and\nall derivative works of the Software, unless such copies or derivative\nworks are solely in the form of machine-executable object code generated by\na source language processor.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT\nSHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE\nFOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,\nARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\nDEALINGS IN THE SOFTWARE.\n", "maintainer": "", "maintainer_email": "", "name": "deepest", "package_url": "https://pypi.org/project/deepest/", "platform": "", "project_url": "https://pypi.org/project/deepest/", "project_urls": { "Homepage": "https://github.com/markgollnick/deepest" }, "release_url": "https://pypi.org/project/deepest/2.0.1/", "requires_dist": null, "requires_python": "", "summary": "Determine the maximum depth and path length within the current (or a specified) directory tree.", "version": "2.0.1" }, "last_serial": 3487653, "releases": { "2.0.0": [ { "comment_text": "", "digests": { "md5": "3daad3ea818df2773a35369631584b4a", "sha256": "f585e42596bb533355ea52a0a655c198fc1e366ce3f0eb2fac8e567d6507184d" }, "downloads": -1, "filename": "deepest-2.0.0.tar.gz", "has_sig": true, "md5_digest": "3daad3ea818df2773a35369631584b4a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7947, "upload_time": "2015-01-17T07:38:46", "url": "https://files.pythonhosted.org/packages/24/aa/3e898bb7a1701365302712e41df72bd28086d08be2744f1e043cbf74dda8/deepest-2.0.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "2f134a480e34a82c7451d15150a6de77", "sha256": "9f06e126b0e852c8135dea5e72c7f0de3037d925eab15145156eceacef025aa6" }, "downloads": -1, "filename": "deepest-2.0.1.tar.gz", "has_sig": true, "md5_digest": "2f134a480e34a82c7451d15150a6de77", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8028, "upload_time": "2018-01-13T23:11:46", "url": "https://files.pythonhosted.org/packages/f6/a4/a8f707e64d9ee6953b7eb62929e8c285d6ce2130533b4e996a8c4f714646/deepest-2.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2f134a480e34a82c7451d15150a6de77", "sha256": "9f06e126b0e852c8135dea5e72c7f0de3037d925eab15145156eceacef025aa6" }, "downloads": -1, "filename": "deepest-2.0.1.tar.gz", "has_sig": true, "md5_digest": "2f134a480e34a82c7451d15150a6de77", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8028, "upload_time": "2018-01-13T23:11:46", "url": "https://files.pythonhosted.org/packages/f6/a4/a8f707e64d9ee6953b7eb62929e8c285d6ce2130533b4e996a8c4f714646/deepest-2.0.1.tar.gz" } ] }