{ "info": { "author": "Walter Doekes, OSSO B.V.", "author_email": "wjdoekes+dutree@osso.nl", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: End Users/Desktop", "Intended Audience :: System Administrators", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: System :: Filesystems", "Topic :: Utilities" ], "description": "dutree :: Disk usage summary\n============================\n\n*dutree* shows a summary of the directories/files which take up the most\nspace.\n\nInstead of showing *only the root of the files* with sizes, or the\ndetails of *every file*, it shows *only the paths taking up the most\nspace*.\n\nExample usage::\n\n $ dutree /srv\n\nAnnotated output, where only paths of >5% of the total size are shown\n(which is about 4GB for this dataset)::\n\n 12.1 G /srv/data/audiofiles/\n ^-- audiofiles contains files/dirs with a total of 12.1G\n but it does NOT contain a single dir or file larger\n than 4G.\n 4.3 G /srv/data/callrecordings/unmatched/\n 4.5 G /srv/data/fax/\n 17.5 G /srv/data/playlists/\n 34.4 G /srv/data/twinfield_invoices/1/\n 7.8 G /srv/data/*\n ^-- data contains more files/directories than shown above\n but those that don't total above 4G are merged into\n this \"leftover\" node. that includes everything in\n /twinfield_invoices/ except for the /1/ subdirectory\n which has its individual listing above.\n 32 B /srv/*\n ^-- only /data/ is in /srv/, but the directory itself also\n takes up a tiny bit of space\n -----\n 80.6 G TOTAL (86558511658)\n\n**NOTE**: The directories do not count the size of themselves, only of\ntheir contents. This explains any discrepancies with ``du -sb`` output.\n\n**NOTE**: On filesystems with built-in compression (like ZFS) or with many\nsparse files, you may want to check the --count-blocks option. This\nshould better reflect the actual used size (and align with ``du -sh``).\n\n\nLibrary usage::\n\n >>> from dutree import Scanner\n >>> scanner = Scanner('/srv')\n >>> tree = scanner.scan(use_apparent_size=True)\n >>> tree.app_size()\n 86558511658\n\n >>> len(tree.get_leaves())\n 7\n\n >>> leaf0 = tree.get_leaves()[0]\n >>> leaf0.name()\n '/srv/data/audiofiles/'\n\n >>> leaf0.app_size() / (1024.0 * 1024 * 1024)\n 12.092280263081193\n\n\nHistory\n-------\n\n* v1.6\n\n - **Fix so the tests work with Python 3 as well.**\n - **Fix grave bugs with real size.**\n The real size calculation was wrong sometimes, it raised assertion\n sometimes and the leaf count would be off sometimes.\n\n* v1.5\n\n - **Add apparent vs. real size.**\n Deprecates ``node.size()``. Use ``node.app_size()`` instead.\n Get the real used size using ``node.use_size()``.\n Group by real used size by passing ``use_apparent_size=False`` to\n ``scan()``.\n - **Don't die if we cannot enter directories.**", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ossobv/dutree", "keywords": "", "license": "GPLv3+", "maintainer": "", "maintainer_email": "", "name": "dutree", "package_url": "https://pypi.org/project/dutree/", "platform": "", "project_url": "https://pypi.org/project/dutree/", "project_urls": { "Homepage": "https://github.com/ossobv/dutree" }, "release_url": "https://pypi.org/project/dutree/1.6/", "requires_dist": null, "requires_python": "", "summary": "Disk usage summary, showing large dirs/files", "version": "1.6" }, "last_serial": 5735680, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "0d9a432008e905032c936aa7f4cd1b68", "sha256": "31c7ab4b4fded99cb26f9e130acc825b058aa310dc290df734fcfaadcf1e6b3e" }, "downloads": -1, "filename": "dutree-1.0.tar.gz", "has_sig": false, "md5_digest": "0d9a432008e905032c936aa7f4cd1b68", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5102, "upload_time": "2017-12-21T10:05:57", "url": "https://files.pythonhosted.org/packages/0a/b6/5512ca1e176a8cf048acac5954e6f43e77e629b255b0616827578196359c/dutree-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "40ef3f8a96f4f525184f81560b7a6949", "sha256": "c0177dc50e804883a99e22c09d9e907ae5fe2f6ba0c4e51beeccd2a938815f0b" }, "downloads": -1, "filename": "dutree-1.1.tar.gz", "has_sig": false, "md5_digest": "40ef3f8a96f4f525184f81560b7a6949", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5302, "upload_time": "2017-12-21T10:14:55", "url": "https://files.pythonhosted.org/packages/7e/bc/442a4a0833e05d58d8ffe8bf2d35036182a5f248d68944a188141528a03f/dutree-1.1.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "555eb412e65c14bc274f0fac56d8629b", "sha256": "5b1bf4a97fb415fd21aaa1c24812499c78a4923a4bbb4868b1252d1f1267329f" }, "downloads": -1, "filename": "dutree-1.2.tar.gz", "has_sig": false, "md5_digest": "555eb412e65c14bc274f0fac56d8629b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8430, "upload_time": "2018-01-14T16:44:47", "url": "https://files.pythonhosted.org/packages/01/ca/c8d9f4780fd2b9da7e2933a820b0610cab83082127c6152654e7b5476cff/dutree-1.2.tar.gz" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "cc18ced92ea1d8dbaa8c470769dcb036", "sha256": "b7e956b11d86c180efe44fc7ac174ffe34f2a93cbc6fef2a6f4656fc00727e31" }, "downloads": -1, "filename": "dutree-1.3.tar.gz", "has_sig": false, "md5_digest": "cc18ced92ea1d8dbaa8c470769dcb036", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8873, "upload_time": "2018-01-16T23:15:50", "url": "https://files.pythonhosted.org/packages/2f/b3/570d39d145e0c22ca8119cbc5ed93d3e4b9fca46faf22551e0c656f69b63/dutree-1.3.tar.gz" } ], "1.4": [ { "comment_text": "", "digests": { "md5": "97e03733a3df7b6edccccb5504921b84", "sha256": "367adf8a284307d8c5617a0945e4b4f9198efdc1357aee883e0def90509cba26" }, "downloads": -1, "filename": "dutree-1.4.tar.gz", "has_sig": false, "md5_digest": "97e03733a3df7b6edccccb5504921b84", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9339, "upload_time": "2018-02-16T18:56:43", "url": "https://files.pythonhosted.org/packages/c7/20/b96242dc8183be6c075b2a30d8c5d6a1f48fdbdb362f8076d7940fffb1f5/dutree-1.4.tar.gz" } ], "1.5": [ { "comment_text": "", "digests": { "md5": "154cf45851c33268564eaedc18d2d2e5", "sha256": "d05bdaa26f5c59dd03622e7c0317b3017503743b3769f2deac3572006d4b8db5" }, "downloads": -1, "filename": "dutree-1.5.tar.gz", "has_sig": false, "md5_digest": "154cf45851c33268564eaedc18d2d2e5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11191, "upload_time": "2019-01-31T14:39:45", "url": "https://files.pythonhosted.org/packages/49/29/b455844726316ee1689814a27f5e162caf5101f3e5512a588034af67a6aa/dutree-1.5.tar.gz" } ], "1.6": [ { "comment_text": "", "digests": { "md5": "210d46531855f07261b82033d94fe0dc", "sha256": "d6656d172489ddc36018fa2bb2f4ee98a73b581e2a7c65be7a50e0b02a9d274e" }, "downloads": -1, "filename": "dutree-1.6.tar.gz", "has_sig": false, "md5_digest": "210d46531855f07261b82033d94fe0dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12830, "upload_time": "2019-08-27T09:05:09", "url": "https://files.pythonhosted.org/packages/db/0b/e82de404537af7e8513310247a5e1902215e6c5ebb9e89f027d79fb61e2e/dutree-1.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "210d46531855f07261b82033d94fe0dc", "sha256": "d6656d172489ddc36018fa2bb2f4ee98a73b581e2a7c65be7a50e0b02a9d274e" }, "downloads": -1, "filename": "dutree-1.6.tar.gz", "has_sig": false, "md5_digest": "210d46531855f07261b82033d94fe0dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12830, "upload_time": "2019-08-27T09:05:09", "url": "https://files.pythonhosted.org/packages/db/0b/e82de404537af7e8513310247a5e1902215e6c5ebb9e89f027d79fb61e2e/dutree-1.6.tar.gz" } ] }