{ "info": { "author": "Elliot Nunn", "author_email": "elliotnunn@me.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3 :: Only", "Topic :: System :: Filesystems" ], "description": "This is a library for creating and inspecting\n[HFS](https://en.wikipedia.org/wiki/Hierarchical_File_System)-format\ndisk images. Mac-specific concepts like [resource\nforks](https://en.wikipedia.org/wiki/Resource_fork) and\n[type](https://en.wikipedia.org/wiki/Type_code)/[creator\ncodes](https://en.wikipedia.org/wiki/Creator_code) are first-class\ncitizens.\n\nPython interface\n----------------\nThe Python API is simple. The contents of a `Volume` or a `Folder` are\naccessed using the index operator `[]`. While working on a filesystem,\nits entire high-level contents are stored in memory as a Python object.\n\n```\nfrom machfs import Volume, Folder, File\n\nv = Volume()\n\nv['Folder'] = Folder()\n\nv['Folder']['File'] = File()\nv['Folder']['File'].data = b'Hello from Python!\\r'\nv['Folder']['File'].rsrc = b'' # Use the macresources library to work with resource forks\nv['Folder']['File'].type = b'TEXT'\nv['Folder']['File'].creator = b'ttxt' # Teach Text/SimpleText\n\nwith open('FloppyImage.dsk', 'wb') as f:\n flat = v.write(\n size=1440*1024, # \"High Density\" floppy\n align=512, # Allocation block alignment modulus (2048 for CDs)\n desktopdb=True, # Create a dummy Desktop Database to prevent a rebuild on boot\n bootable=True, # This requires a folder with a ZSYS and a FNDR file\n startapp=('Folder','File'), # Path (as tuple) to an app to open at boot\n )\n f.write(flat)\n\nwith open('FloppyImage.dsk', 'rb') as f:\n flat = f.read()\n v = Volume()\n v.read(flat) # And you can read an image back!\n```\n\nCommand-line interface\n----------------------\nThis package also installs the `MakeHFS` and `DumpHFS` utilities, for\nworking with folders on your native filesystem. Briefly, resource forks\nare stored in Rez-formatted `.rdump` files, and type and creator codes\nare stored in 8-byte `.idump` files. Admittedly this method of storage\nis not pretty, but it exposes changes to resource files without\nrequiring Mac-specific software. For example, Git can track the addition\nand removal of resources. Files with a `TEXT` type are assumed to be\nUTF-8 encoded with Unix-style (LF) line endings, and are converted to\nMac OS Roman encoding with Mac-style (CR) line endings.\n\nBoth commands have a `--help` argument to display their options.\n\nWhy?\n----\nI want an automated, reproducible way to compile legacy MacOS software.\nWithout any current operating system fully supporting HFS,\n[libhfs/hfsutils](https://www.mars.org/home/rob/proj/hfs/) (a C library\nand command-line wrapper) is the most capable implementation. The\nimplementor chose to emulate POSIX I/O on a fake \"mounted\" filesystem.\nWhile this is important for machines with very limited RAM, the\nmaintenance of consistent HFS data structures across incremental\noperations is a complicated task requiring a large amount of low-level\ncode. Frequent I/O to the real filesystem also occurs. Current machines\nhave memory and cycles to burn, so an in-memory implementation in a\nhigh-level programming language seemed like a reasonable tradeoff. As a\nresult, `machfs` has nearly an order of magnitude fewer lines than\n`libhfs`, and is more maintainable, at a nearly negligible cost in\nperformance.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/elliotnunn/machfs", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "machfs", "package_url": "https://pypi.org/project/machfs/", "platform": "", "project_url": "https://pypi.org/project/machfs/", "project_urls": { "Homepage": "https://github.com/elliotnunn/machfs" }, "release_url": "https://pypi.org/project/machfs/1.2.4/", "requires_dist": [ "macresources" ], "requires_python": "", "summary": "Library for reading and writing Macintosh HFS volumes", "version": "1.2.4" }, "last_serial": 5694645, "releases": { "0.1dev": [ { "comment_text": "", "digests": { "md5": "a9d6401d412d8ed7c97affd0807451a9", "sha256": "837f2843e2d63b895578da2733e27d7dba4ae3e5a9f8bc45ff63a0d973b30366" }, "downloads": -1, "filename": "machfs-0.1dev.tar.gz", "has_sig": false, "md5_digest": "a9d6401d412d8ed7c97affd0807451a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8446, "upload_time": "2018-10-08T01:47:47", "url": "https://files.pythonhosted.org/packages/6c/f2/5d542ca37a106dfa1ba85ced3a4355a8511c5ff16ee1da9dd755c63d4e9b/machfs-0.1dev.tar.gz" } ], "0.2dev": [ { "comment_text": "", "digests": { "md5": "6f909d7e71868abee4d521f84add9cd4", "sha256": "9b58b237ab89829f6c3a6bb61ae98ceb1d019abe5ed687659038da3158c07e76" }, "downloads": -1, "filename": "machfs-0.2dev.tar.gz", "has_sig": false, "md5_digest": "6f909d7e71868abee4d521f84add9cd4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8443, "upload_time": "2018-10-08T01:50:47", "url": "https://files.pythonhosted.org/packages/38/c8/477677c89c92f38aab50ac28244c08022177fe289314fca29b6c57868135/machfs-0.2dev.tar.gz" } ], "0.3dev": [ { "comment_text": "", "digests": { "md5": "25d5872da7768f92c64701121bf537d0", "sha256": "85d20b8c184d61c353d801b29c771142257e0dcb817ea99e08aeff37dd9a32fc" }, "downloads": -1, "filename": "machfs-0.3.dev0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "25d5872da7768f92c64701121bf537d0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10876, "upload_time": "2018-10-08T02:08:18", "url": "https://files.pythonhosted.org/packages/52/4a/08c9825a827df0545c8a6de215e5621bbcbe4c7da86a7632d942ee55bd31/machfs-0.3.dev0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1508eb2deb93f2290ad1f85af0600351", "sha256": "404a631a4a5b33ff620139aa5d27947be74b9e2d99537310d2a917e6eddf7851" }, "downloads": -1, "filename": "machfs-0.3dev.tar.gz", "has_sig": false, "md5_digest": "1508eb2deb93f2290ad1f85af0600351", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8443, "upload_time": "2018-10-08T01:54:06", "url": "https://files.pythonhosted.org/packages/46/27/499d80240e8378664effb3afd9617cedd1bdc1267338d33639acbc7227cb/machfs-0.3dev.tar.gz" } ], "0.4.dev0": [ { "comment_text": "", "digests": { "md5": "5315de34f346d72df639ce98e179f7ae", "sha256": "bcf293f012c47781881f1d436c8c63ed0577d9d597ae2ef442b90fcea510ef61" }, "downloads": -1, "filename": "machfs-0.4.dev0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5315de34f346d72df639ce98e179f7ae", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10877, "upload_time": "2018-10-08T02:08:40", "url": "https://files.pythonhosted.org/packages/79/43/2dac394b2795c2d1f1e5265e7eaa53b7da5ab947be6e03ef32c4dc297ced/machfs-0.4.dev0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "94878a7ee30fe097bc8ce781d1ab37af", "sha256": "3d4660c4818687b24332c6348f7f67d003515373182cbd342c0b70f91fddc0f9" }, "downloads": -1, "filename": "machfs-0.4.dev0.tar.gz", "has_sig": false, "md5_digest": "94878a7ee30fe097bc8ce781d1ab37af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9115, "upload_time": "2018-10-08T02:08:41", "url": "https://files.pythonhosted.org/packages/9a/61/4ec49478ec8a9e280893d09ae9af02bec763715beb5de392d0a3f1026b5c/machfs-0.4.dev0.tar.gz" } ], "0.5.dev0": [ { "comment_text": "", "digests": { "md5": "bd744670c66adbaa6a459d93a4cb4de5", "sha256": "dbe48ae7cc131575eaea386c79080b99d9756a8d2c02778b863b273dd6b99b2d" }, "downloads": -1, "filename": "machfs-0.5.dev0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bd744670c66adbaa6a459d93a4cb4de5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11106, "upload_time": "2018-10-16T09:29:01", "url": "https://files.pythonhosted.org/packages/20/f8/066dc217431363b14cb5c731e695bdd3060036ce269612683324455d0d68/machfs-0.5.dev0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4020f613edec555e588f6ca7f1cd7015", "sha256": "0f2db5584b0ffd03b3d3487b3037bda7258a72179ed02ca132154fcb7554a306" }, "downloads": -1, "filename": "machfs-0.5.dev0.tar.gz", "has_sig": false, "md5_digest": "4020f613edec555e588f6ca7f1cd7015", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9344, "upload_time": "2018-10-16T09:29:13", "url": "https://files.pythonhosted.org/packages/76/2b/f558b62cd6335ab0e3b19d2cc31c0ec8a73e92b20795508c4ad1d4eb629b/machfs-0.5.dev0.tar.gz" } ], "0.6.dev0": [ { "comment_text": "", "digests": { "md5": "93d26bbadfe3c0881b66d949402f6c2c", "sha256": "de5ca244f09383b1e321da3b93be0898bde54f78a0b555d35e9c1460b9e809de" }, "downloads": -1, "filename": "machfs-0.6.dev0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "93d26bbadfe3c0881b66d949402f6c2c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11141, "upload_time": "2018-10-18T06:05:29", "url": "https://files.pythonhosted.org/packages/54/9f/c530c12941513c7edfeb4e2511fb65c22258d119f9b5f93d96781d9c45ec/machfs-0.6.dev0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e3527b7f1e3062a0b958ff7aedec1d65", "sha256": "19c65406642702dfa64ae7433d4f72e9cbc4ced63b4bcd37c1c3c7c34597c721" }, "downloads": -1, "filename": "machfs-0.6.dev0.tar.gz", "has_sig": false, "md5_digest": "e3527b7f1e3062a0b958ff7aedec1d65", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9373, "upload_time": "2018-10-18T06:05:31", "url": "https://files.pythonhosted.org/packages/c6/f4/8e4bdac33c5959b93aff7ebe953ac41ab981a2d1068b0c69cb1ff58dd70c/machfs-0.6.dev0.tar.gz" } ], "0.7.dev0": [ { "comment_text": "", "digests": { "md5": "d6e39dfb86a360a5cf296a391e0578e3", "sha256": "e4c5902583bdf342e62376621699ee3379b481e02da07dff1e517315dfc86259" }, "downloads": -1, "filename": "machfs-0.7.dev0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d6e39dfb86a360a5cf296a391e0578e3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11386, "upload_time": "2018-10-23T09:52:02", "url": "https://files.pythonhosted.org/packages/e5/e1/2aa13cc427b50f780918957d28a7c87935821e8b19009442b00e4faf2861/machfs-0.7.dev0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fac09c34b35d9793e2b0f2451d7b49f8", "sha256": "c8bf06a4686bece86e2eed8f95be4898370bacdab1127fd820484dcdcd8d3c1b" }, "downloads": -1, "filename": "machfs-0.7.dev0.tar.gz", "has_sig": false, "md5_digest": "fac09c34b35d9793e2b0f2451d7b49f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9912, "upload_time": "2018-10-23T09:52:04", "url": "https://files.pythonhosted.org/packages/60/db/ba515ba7565eb962d73f476d1bbafdc4919c9101e7c38f0108bc1b3027f6/machfs-0.7.dev0.tar.gz" } ], "0.8.dev0": [ { "comment_text": "", "digests": { "md5": "89e55c6d0c55269d8107143944d778ba", "sha256": "b0c6d1a810e5bd90a1874f99d84447e7b8c609ee2f9ff985aefc258e09146068" }, "downloads": -1, "filename": "machfs-0.8.dev0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "89e55c6d0c55269d8107143944d778ba", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14396, "upload_time": "2018-10-23T11:01:34", "url": "https://files.pythonhosted.org/packages/e8/0e/be8cd70b9d83fb949e1c0ad865c3767ff17d01b4e7eb5f1aca33bdae15b0/machfs-0.8.dev0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "647816986c17fa7a5a17dfd058da6161", "sha256": "8fbc925e720c3afec13ce0b38c8138bc05922fa9a4cd15e8cb257ff7eb83ac80" }, "downloads": -1, "filename": "machfs-0.8.dev0.tar.gz", "has_sig": false, "md5_digest": "647816986c17fa7a5a17dfd058da6161", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12201, "upload_time": "2018-10-23T11:01:36", "url": "https://files.pythonhosted.org/packages/28/57/3eab5c6ce003a5dc3ae86d7e4eabf23ca2ff7e5048498244b2b7eb3be0fd/machfs-0.8.dev0.tar.gz" } ], "1.0": [ { "comment_text": "", "digests": { "md5": "c94b8cccb7f4e13c25d23576c42c5b6b", "sha256": "70d85099bd299e36e383607be8d15d230b9dc25bd090879a8749935fcb6822e8" }, "downloads": -1, "filename": "machfs-1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c94b8cccb7f4e13c25d23576c42c5b6b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16147, "upload_time": "2018-11-05T23:29:31", "url": "https://files.pythonhosted.org/packages/d2/e1/44f8d2fcfd58cc968596c08eff95a55e2866320c1d8733e7c1118295f380/machfs-1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "538b822ede02febc5b58ee5d31d6e9ef", "sha256": "aea89c7225db47a52c4623ff32e45b567212b6a6b7691667dbf685bc8c450a2e" }, "downloads": -1, "filename": "machfs-1.0.tar.gz", "has_sig": false, "md5_digest": "538b822ede02febc5b58ee5d31d6e9ef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15169, "upload_time": "2018-11-05T23:29:34", "url": "https://files.pythonhosted.org/packages/42/2d/037308bcf7c63a3fa1c8857c9deb560b19e77467efad52cd9270b20edee5/machfs-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "62422047ee6d2104d73788711da7fe4c", "sha256": "5171ee310d0c95aaf0af185abb75114db98cbba2a975a941b07bfdf6ccfc0f9a" }, "downloads": -1, "filename": "machfs-1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "62422047ee6d2104d73788711da7fe4c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16027, "upload_time": "2018-11-17T14:26:07", "url": "https://files.pythonhosted.org/packages/07/27/2e22c819267904ff1d8f36606fbdc1bd9f2b15760c5a26f9acce24e2ceae/machfs-1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cfd8dffe07d7e5c8e58ea20144f7c467", "sha256": "1c3ec2dbd56e2426e6883b81455b706eaaf3540d01908be79e164dc4810870ad" }, "downloads": -1, "filename": "machfs-1.1.tar.gz", "has_sig": false, "md5_digest": "cfd8dffe07d7e5c8e58ea20144f7c467", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15224, "upload_time": "2018-11-17T14:26:09", "url": "https://files.pythonhosted.org/packages/47/80/96e7dc7b8c89e83bf666da08daae521b8fb54e450110486f35b6936b3464/machfs-1.1.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "d635d9ac2fb3e22128583724bfa70fbe", "sha256": "eaca1c278c267c0de8d247fc8f304cee820d2ad91be29e80597c78aea23ea83d" }, "downloads": -1, "filename": "machfs-1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d635d9ac2fb3e22128583724bfa70fbe", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16872, "upload_time": "2018-12-10T08:14:17", "url": "https://files.pythonhosted.org/packages/de/30/67ba1c8cca4e457629b6dfb82263c0b6e744afb882fd5427c29119521bf1/machfs-1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6d6ca14bee0352b18eac86a3423799d9", "sha256": "e334a867e6a94af2c5540125aa76b1792a15fdf7c38dc2bb5f44a3d7c30720c9" }, "downloads": -1, "filename": "machfs-1.2.tar.gz", "has_sig": false, "md5_digest": "6d6ca14bee0352b18eac86a3423799d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15855, "upload_time": "2018-12-10T08:14:19", "url": "https://files.pythonhosted.org/packages/52/e2/fc7b689fb67b9665f996a99f26b5bdbcbbf21f90aa8af7f7175a7ff87a61/machfs-1.2.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "c454f9ee301ea3fa59e457a668c151cd", "sha256": "ee3e3e20e591bee4c4558dc7ca7ed36179af022874b099cdcdd447e61b32498d" }, "downloads": -1, "filename": "machfs-1.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c454f9ee301ea3fa59e457a668c151cd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17481, "upload_time": "2019-02-22T07:49:54", "url": "https://files.pythonhosted.org/packages/07/b4/26b80a47e2f2683b608946ad86d68dda87901c8061387488631d690f4693/machfs-1.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a692e969d8597abec6ca4398078eca26", "sha256": "d5660c56686ba9c2b49f95b6ff0e51c50750be63d9fabed00825bd4d0012f224" }, "downloads": -1, "filename": "machfs-1.2.1.tar.gz", "has_sig": false, "md5_digest": "a692e969d8597abec6ca4398078eca26", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16365, "upload_time": "2019-02-22T07:49:56", "url": "https://files.pythonhosted.org/packages/f8/07/3ecd0e0be2c539bc21ba79262192261560de77890ff10b89dc9d5ffccff6/machfs-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "1408eaa65b87e23ad553f4efe94e7d36", "sha256": "4e4a2faa546832704cf77c6aece3afe18f0b2f68b6c4e6eebb64a68604073c44" }, "downloads": -1, "filename": "machfs-1.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1408eaa65b87e23ad553f4efe94e7d36", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17483, "upload_time": "2019-02-22T08:25:35", "url": "https://files.pythonhosted.org/packages/5b/b6/4be55df2fcdd885edf09d3576d8a2e10de6bc19fef9ab56c2a6558e35e07/machfs-1.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b0117d8b77744a4e2bbfa77963d41657", "sha256": "17199acc38ac09cd1f9558dbebe063a7d8e05c47b86910ea2dd7a60a836ec852" }, "downloads": -1, "filename": "machfs-1.2.2.tar.gz", "has_sig": false, "md5_digest": "b0117d8b77744a4e2bbfa77963d41657", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16364, "upload_time": "2019-02-22T08:25:36", "url": "https://files.pythonhosted.org/packages/89/42/4773301e77035fd8405d0a93cee1523b1c2d13f1bf69084d71c10b1e9c0c/machfs-1.2.2.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "170603da589fa0c862db159439abaec8", "sha256": "d4f80e8f57eae190a33820e7cb85337aaa91e7eb2f1b4780657421a40761d117" }, "downloads": -1, "filename": "machfs-1.2.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "170603da589fa0c862db159439abaec8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17532, "upload_time": "2019-08-18T13:41:05", "url": "https://files.pythonhosted.org/packages/2b/b2/c7860e7e050ba4a185cf406b8f36cf0c3ae36827c858e9de95dfbed74ff6/machfs-1.2.3-py2.py3-none-any.whl" } ], "1.2.4": [ { "comment_text": "", "digests": { "md5": "0879aa5e8f0d96ff2b58c0e8d3c190ea", "sha256": "adf33b30409cbd2d7ae083826637788f519b76ab3afd33e82c4335aa36f582c6" }, "downloads": -1, "filename": "machfs-1.2.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0879aa5e8f0d96ff2b58c0e8d3c190ea", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17531, "upload_time": "2019-08-18T13:41:36", "url": "https://files.pythonhosted.org/packages/7a/31/a846f29c14aa7c4a71d0ee41a5f89361853a5b90b16d72c380fa7f6f3e91/machfs-1.2.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6e52c8683617136e2678732645a4412c", "sha256": "c5b39773ad4ec73e18c1768b427e45a96b2b0162ee85939e435d48741a38c473" }, "downloads": -1, "filename": "machfs-1.2.4.tar.gz", "has_sig": false, "md5_digest": "6e52c8683617136e2678732645a4412c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16380, "upload_time": "2019-08-18T13:41:37", "url": "https://files.pythonhosted.org/packages/65/14/02853cf6c98ec5c7cd44b1ff939d018337ebb33047128c9e656a331865ff/machfs-1.2.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0879aa5e8f0d96ff2b58c0e8d3c190ea", "sha256": "adf33b30409cbd2d7ae083826637788f519b76ab3afd33e82c4335aa36f582c6" }, "downloads": -1, "filename": "machfs-1.2.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0879aa5e8f0d96ff2b58c0e8d3c190ea", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17531, "upload_time": "2019-08-18T13:41:36", "url": "https://files.pythonhosted.org/packages/7a/31/a846f29c14aa7c4a71d0ee41a5f89361853a5b90b16d72c380fa7f6f3e91/machfs-1.2.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6e52c8683617136e2678732645a4412c", "sha256": "c5b39773ad4ec73e18c1768b427e45a96b2b0162ee85939e435d48741a38c473" }, "downloads": -1, "filename": "machfs-1.2.4.tar.gz", "has_sig": false, "md5_digest": "6e52c8683617136e2678732645a4412c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16380, "upload_time": "2019-08-18T13:41:37", "url": "https://files.pythonhosted.org/packages/65/14/02853cf6c98ec5c7cd44b1ff939d018337ebb33047128c9e656a331865ff/machfs-1.2.4.tar.gz" } ] }