{ "info": { "author": "Rhet Turnbull", "author_email": "rturnbull+git@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: MacOS X", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: MacOS :: MacOS X", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "osxmetadata [Homepage](https://github.com/RhetTbull/osxmetadata)\n========\n\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/python/black)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n\nWhat is osxmetadata?\n-----------------\n\nosxmetadata provides a simple interface to access various metadata about Mac OS X files. Currently supported metadata includes tags/keywords, Finder comments, and download data (downloaded where from and downloaded data). This module was inspired by [osx-tags](https://github.com/scooby/osx-tags) by \"Ben S / scooby\" and extended for my needs. It is published under the same MIT license.\n\nSupported operating systems\n---------------------------\n\nOnly works on Mac OS X.\n\nInstallation instructions\n-------------------------\n\nosxmetadata uses setuptools, thus simply run:\n\n\tpython setup.py install\n\nCommand Line Usage\n------------------\n\nInstalls command line tool called osxmetadata. This is not full replacement for ```mdls``` and ```xattr``` commands but provides a simple interface to view/edit metadata supported by osxmetadata\n\nCurrently, only supports reading/writing tags and Finder comments and export to text or JSON. Can import metadata from a JSON file to restore tags & Finder comments. I plan to add additional metadata in the future. My use case for import/export to JSON is to backup metadata for use with cloud services such as [backblaze](https://www.backblaze.com) that do not preserve metadata stored in extended attributes. By exporting all metadata to a JSON file which backblaze etc. will backup, you can restore metadata if you ever need to restore files from backup.\n\nIf you only care about the command line tool, I recommend installing with [pipx](https://github.com/pipxproject/pipx)\n\n```\nusage: osxmetadata [-h] [-v] [-j] [-q] [--force] [-o OUTFILE] [-r RESTORE]\n [--addtag ADDTAG] [--cleartags] [--rmtag RMTAG]\n [--setfc SETFC] [--clearfc] [--addfc ADDFC]\n [files [files ...]]\n\nImport and export metadata from files\n\npositional arguments:\n files\n\noptional arguments:\n -h, --help Show this help message\n --version Print version number\n -v, --verbose Print verbose output during processing\n -j, --json Output to JSON, optionally provide output file name:\n --outfile=file.json NOTE: if processing multiple files\n each JSON object is written to a new line as a\n separate object (ie. not a list of objects)\n -q, --quiet Be extra quiet when running.\n --force Force new metadata to be written even if unchanged\n -o OUTFILE, --outfile OUTFILE\n Name of output file. If not specified, output goes to\n STDOUT\n -r RESTORE, --restore RESTORE\n Restore all metadata by reading from JSON file RESTORE\n (previously created with --json --outfile=RESTORE).\n Will overwrite all existing metadata with the metadata\n specified in the restore file. NOTE: JSON file\n expected to have one object per line as written by\n --json\n --addtag ADDTAG add tag/keyword for file. To add multiple tags, use\n multiple --addtag otions. e.g. --addtag foo --addtag\n bar\n --cleartags remove all tags from file\n --rmtag RMTAG remove tag from file\n --setfc SETFC set Finder comment\n --clearfc clear Finder comment\n --addfc ADDFC append a Finder comment, preserving existing comment\n```\n\n\nExample uses of the module\n--------------------------\n\n```python\nfrom osxmetadata import *\n\nfname = 'foo.txt'\n\nmeta = OSXMetaData(fname)\nprint(meta.name)\nprint(meta.finder_comment)\nprint(meta.tags)\nprint(meta.where_from)\nprint(str(meta.download_date))\n\n```\nTags\n----\n\nAccessed via OSXMetaData.tags\n\nBehaves mostly like a set with following methods:\n\n* update (sets multiple tags)\n* add (add a single tag)\n* += (add a single tag)\n* remove (raises error if tag not present)\n* discard (does not raise error if tag not present)\n* clear (removes all tags)\n\nTo replace all tags with a new set of tags, use clear() then update()\n\nDuplicate tags will be ignored.\n\nThe standard OS X Finder color labels are handled via tags. For example, setting a tag name of Gray, Green, Purple, Blue, Yellow, Red, or Orange will also set the equivalent Finder color label. This is consistent with how the Finder works. If a file has a color label, it will be returned as a tag of the corresponding color name when reading from OSXMetaData.tags\n\n```python\n>>> from osxmetadata import OSXMetaData\n>>> md = OSXMetaData('foo.txt')\n>>> md.tags.update('Foo','Gray','Red','Test')\n>>> print(md.tags)\nFoo, Gray, Red, Test\n#Standard Mac Finder color labels are normalized\n>>> md.tags.add('PURPLE')\n>>> print(md.tags)\nFoo, Purple, Red, Test, Gray\n>>> md.tags.add('FOOBAR')\n>>> print(md.tags)\nFoo, Purple, Red, Test, Gray, FOOBAR\n>>> md.tags += 'MyCustomTag'\n>>> print(md.tags)\nFoo, Purple, Red, Test, Gray, MyCustomTag, FOOBAR\n>>> md.tags.remove('Purple')\n>>> print(md.tags)\nFoo, Red, Test, Gray, MyCustomTag, FOOBAR\n>>> md.tags.remove('Purple')\nTraceback (most recent call last):\n File \"\", line 1, in \n File \"osxmetadata/osxmetadata.py\", line 148, in remove\n tags.remove(self.__tag_normalize(tag))\nKeyError: 'Purple\\n3'\n>>> md.tags.discard('Purple')\n>>> md.tags.discard('Red')\n>>> print(md.tags)\nFoo, Test, Gray, MyCustomTag, FOOBAR\n>>> len(md.tags)\n5\n>>> md.tags.clear()\n>>> print(md.tags)\n\n>>> len(md.tags)\n0\n>>>\n```\n\nFinder Comments\n---------------\n\nAccessed via OXMetaData.finder_comment\n\nBehaves mostly like a string. You can assign a string or use +=. To clear, assign None or ''\n\n```python\n>>> md.finder_comment = 'My Comment'\n>>> print(md.finder_comment)\nMy Comment\n>>> md.finder_comment += ', and FooBar!'\n>>> print(md.finder_comment)\nMy Comment, and FooBar!\n>>> md.finder_comment = None\n>>> print(md.finder_comment)\n\n>>>\n```\n\nDownload Data\n-------------\nAccessed via OSXMetaData.download_date (datetime.datetime object) and OSXMetaData.where_from (list of URLs as strings)\n\n\n```python\n>>> import datetime\n>>> md.download_date = datetime.datetime.now()\n>>> print(str(md.download_date))\n2018-12-15 15:45:10.869535\n>>> md.where_from = ['http://wwww.mywebsite.com','https://downloads.mywebsite.com/downloads/foo']\n>>> print(md.where_from)\n['http://wwww.mywebsite.com', 'https://downloads.mywebsite.com/downloads/foo']\n>>> md.where_from=[]\n>>> print(md.where_from)\n[]\n>>>\n```\n\nUsage Notes\n-----------\nChanges are immediately written to the file. For example, OSXMetaData.tags.add('Foo') immediately writes the tag 'Foo' to the file.\n\nMetadata is refreshed from disk every time a class property is accessed.\n\nThis will only work on file systems that support Mac OS X extended attributes.\n\nDependencies\n------------\n[PyObjC](https://pythonhosted.org/pyobjc/)\n\n[xattr](https://github.com/xattr/xattr)\n\nAcknowledgements\n----------------\nThis module was inspired by [osx-tags]( https://github.com/scooby/osx-tags) by \"Ben S / scooby\". I leveraged osx-tags to bootstrap the design of this module. I wanted a more\ngeneral OS X metadata library so I rolled my own.\n\nTo set the Finder comments, I use [py-applescript]( https://github.com/rdhyee/py-applescript) by \"Raymond Yee / rdhyee\". Rather than import this module, I included the entire module\n(which is published as public domain code) in a private module to prevent ambiguity with\nother applescript modules on PyPi. py-applescript uses a native bridge via PyObjC and\nis very fast compared to the other osascript based modules.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/RhetTbull/osxmetadata", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/RhetTbull/osxmetadata", "keywords": "", "license": "License :: OSI Approved :: MIT License", "maintainer": "", "maintainer_email": "", "name": "osxmetadata", "package_url": "https://pypi.org/project/osxmetadata/", "platform": "", "project_url": "https://pypi.org/project/osxmetadata/", "project_urls": { "Download": "https://github.com/RhetTbull/osxmetadata", "GitHub": "https://github.com/RhetTbull/osxmetadata", "Homepage": "https://github.com/RhetTbull/osxmetadata" }, "release_url": "https://pypi.org/project/osxmetadata/0.96.87/", "requires_dist": [ "xattr", "pyobjc" ], "requires_python": ">=3.6", "summary": "Read and write meta data, such as tags/keywords, on Mac OS X files", "version": "0.96.87" }, "last_serial": 5620583, "releases": { "0.95.1": [ { "comment_text": "", "digests": { "md5": "f24886a267c54265892b23a73b79c50b", "sha256": "aa66739222066cef6c7ef96a386aa5c8b03055389ce92ed0b9a5a9de94196e57" }, "downloads": -1, "filename": "osxmetadata-0.95.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f24886a267c54265892b23a73b79c50b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 41747, "upload_time": "2018-12-29T20:39:08", "url": "https://files.pythonhosted.org/packages/b1/c9/e183d8dab56771ac6d46e6e946362ac921c59c7c477273ec3fbb5ffbb981/osxmetadata-0.95.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4c27e26154c66a4fe30eb51f3ed96a66", "sha256": "ae6067e7718dab1333d52f20d8ce0918da912b9239672231118ea72611eb39c2" }, "downloads": -1, "filename": "osxmetadata-0.95.1.tar.gz", "has_sig": false, "md5_digest": "4c27e26154c66a4fe30eb51f3ed96a66", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24463, "upload_time": "2018-12-29T20:39:11", "url": "https://files.pythonhosted.org/packages/83/c5/459d30ac49fc7bb33f48558d2e4a8653d1f8cea2b44d1445022d0554ffb1/osxmetadata-0.95.1.tar.gz" } ], "0.95.2": [ { "comment_text": "", "digests": { "md5": "5f38db970d6f5805260ee9af384eb40d", "sha256": "eabb6075d6506ffd1728acdc649f1d4261e1611a707d20acafd064b5bfc5afdc" }, "downloads": -1, "filename": "osxmetadata-0.95.2-py3-none-any.whl", "has_sig": false, "md5_digest": "5f38db970d6f5805260ee9af384eb40d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 42358, "upload_time": "2018-12-30T06:02:41", "url": "https://files.pythonhosted.org/packages/4f/85/b9c71750343f4df39baf942b6f601b3a74b2eba3b60cacf7fdeef1db383a/osxmetadata-0.95.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ffab2b4c3aae5e0401770b9c3c07bed7", "sha256": "9f48ebfbc00e37cdef931816727b4191c0601147c14c4b958f576a93061f787e" }, "downloads": -1, "filename": "osxmetadata-0.95.2.tar.gz", "has_sig": false, "md5_digest": "ffab2b4c3aae5e0401770b9c3c07bed7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26784, "upload_time": "2018-12-30T06:02:42", "url": "https://files.pythonhosted.org/packages/57/4a/3e8cfccc240d59a40268fd4c1648a692ee71a8d63a6790ab4510eb5557d5/osxmetadata-0.95.2.tar.gz" } ], "0.95.5": [ { "comment_text": "", "digests": { "md5": "39ad634fb891514992aae30ec97503fc", "sha256": "1bf474ad95e071dae58092e3e0c2541f6cb51fac1cd8e2e19058991fec327fcf" }, "downloads": -1, "filename": "osxmetadata-0.95.5-py3-none-any.whl", "has_sig": false, "md5_digest": "39ad634fb891514992aae30ec97503fc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 42686, "upload_time": "2018-12-30T18:01:38", "url": "https://files.pythonhosted.org/packages/e8/ba/7a88797d4390b1520eb8d2c1e0223bb7f9cc65dc61eec2599247e03d0da1/osxmetadata-0.95.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aef3c2bc45e9a8c557410db4a47d8b72", "sha256": "d5129ded70d1d2f85f883f41db851d7d3cbb8f17ffec9059e6027a086a4da70c" }, "downloads": -1, "filename": "osxmetadata-0.95.5.tar.gz", "has_sig": false, "md5_digest": "aef3c2bc45e9a8c557410db4a47d8b72", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25234, "upload_time": "2018-12-30T18:01:39", "url": "https://files.pythonhosted.org/packages/ab/d8/fe5a171c2bd83cdaf1a0443c682ee2cabb48efed2c1ad2cc763aab4a8493/osxmetadata-0.95.5.tar.gz" } ], "0.95.6": [ { "comment_text": "", "digests": { "md5": "b84d861d61edfcdd4d2079a5eb4daf30", "sha256": "5af878e083ea596d9a5eab9ae71f77f6b8c4903f489b76e3f8fa4dccb5c6aa70" }, "downloads": -1, "filename": "osxmetadata-0.95.6-py3-none-any.whl", "has_sig": false, "md5_digest": "b84d861d61edfcdd4d2079a5eb4daf30", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 42682, "upload_time": "2019-01-01T05:19:04", "url": "https://files.pythonhosted.org/packages/29/c5/6ded915d80f236e96d18b1ce279e331300489c3f493bef36a41c01f60db2/osxmetadata-0.95.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ac770445d03596487ce9bd2d0277b124", "sha256": "01631eccaa4be83b49c303ad5a808aed309457a5a72c22542d4ba17e89c787a3" }, "downloads": -1, "filename": "osxmetadata-0.95.6.tar.gz", "has_sig": false, "md5_digest": "ac770445d03596487ce9bd2d0277b124", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25241, "upload_time": "2019-01-01T05:19:06", "url": "https://files.pythonhosted.org/packages/90/be/73d66341561df837b8e0d1cfa1cca8f7a891d21df3d96479b692283ec613/osxmetadata-0.95.6.tar.gz" } ], "0.95.9": [ { "comment_text": "", "digests": { "md5": "21ddcd1dfe738bb8ae1c65a498dd5187", "sha256": "bbaec1fcf092ec8d606154f6964f6f2dc02e397aec3b80cae8ba6a3f15d7e5c8" }, "downloads": -1, "filename": "osxmetadata-0.95.9-py3-none-any.whl", "has_sig": false, "md5_digest": "21ddcd1dfe738bb8ae1c65a498dd5187", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 46041, "upload_time": "2019-05-24T21:40:56", "url": "https://files.pythonhosted.org/packages/65/94/9c31ae568775947c4c6c6762b4fed472b027560c25d3ea1119e1c298a60d/osxmetadata-0.95.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "64ea06afaea9b328abd2e2dd2d323449", "sha256": "94d1596ccde3f8bcfa3a7967b5467a853e8a5d61c01a95e8d2ac28253b13cfec" }, "downloads": -1, "filename": "osxmetadata-0.95.9.tar.gz", "has_sig": false, "md5_digest": "64ea06afaea9b328abd2e2dd2d323449", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30322, "upload_time": "2019-05-24T21:40:58", "url": "https://files.pythonhosted.org/packages/96/a7/c58915ad0c89173636ac5ec83fe3d3167011ce6463ffe05500e082e28861/osxmetadata-0.95.9.tar.gz" } ], "0.96.0": [ { "comment_text": "", "digests": { "md5": "a6aead18894a64e2fd7b195b69c32e4c", "sha256": "394f7718b9acb50587fba1de7a99234e503fdb407e9dba109f4d44778915bc23" }, "downloads": -1, "filename": "osxmetadata-0.96.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a6aead18894a64e2fd7b195b69c32e4c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 45818, "upload_time": "2019-05-28T05:05:20", "url": "https://files.pythonhosted.org/packages/1c/06/5054aa5cbf1e02fe06046f9896cfcf629b6d0c41c34380fd15e498292433/osxmetadata-0.96.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f585d9e24ef100f87950bb7245bb1e94", "sha256": "e2993f97d75e51f93f8f6dd96d396419ade0ed8d160c292f93a9087fce90ec54" }, "downloads": -1, "filename": "osxmetadata-0.96.0.tar.gz", "has_sig": false, "md5_digest": "f585d9e24ef100f87950bb7245bb1e94", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30191, "upload_time": "2019-05-28T05:05:22", "url": "https://files.pythonhosted.org/packages/0c/62/dcd7ac0a0594a977c01e3a71a5abd474afc9abd7e52a76009a1b591f4273/osxmetadata-0.96.0.tar.gz" } ], "0.96.2": [ { "comment_text": "", "digests": { "md5": "e91cc46877ceb35c350b0fb59a9b2cba", "sha256": "4d1e83602933357725c38eda804a81e7c4207f73aa208c4d8bc427b967a87142" }, "downloads": -1, "filename": "osxmetadata-0.96.2-py3-none-any.whl", "has_sig": false, "md5_digest": "e91cc46877ceb35c350b0fb59a9b2cba", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 46784, "upload_time": "2019-06-29T16:29:48", "url": "https://files.pythonhosted.org/packages/59/5a/d981df3fef6669dc3e5861bcae82fa134c4516138669d06ec93e3c2ec9bd/osxmetadata-0.96.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5f4bde0e2d840c1f486b9aefb1accd14", "sha256": "28d92c70031c6dee11d0e2d1dcfae21c9022d1dbf6f91ed72941316f8cd1153c" }, "downloads": -1, "filename": "osxmetadata-0.96.2.tar.gz", "has_sig": false, "md5_digest": "5f4bde0e2d840c1f486b9aefb1accd14", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31638, "upload_time": "2019-06-29T16:29:50", "url": "https://files.pythonhosted.org/packages/6c/c4/9887e941ef19b401e6cb57dcecc4e230f0a3534618900c29b0d2e32f3d72/osxmetadata-0.96.2.tar.gz" } ], "0.96.5": [ { "comment_text": "", "digests": { "md5": "672a07ed79105daed4839aceb783d844", "sha256": "f09efeaf9573c583f7ed59ff9438bba73750b9231a3d5abcfb3cda145dda1eb1" }, "downloads": -1, "filename": "osxmetadata-0.96.5-py3-none-any.whl", "has_sig": false, "md5_digest": "672a07ed79105daed4839aceb783d844", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 30988, "upload_time": "2019-07-28T03:26:19", "url": "https://files.pythonhosted.org/packages/49/88/5b4ec67e4ccc98a2a3fd46baa5ddc7b31a1a7e2abc8531207bf6e9c8c33d/osxmetadata-0.96.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b41c28e345ddc2ab4ecf511df93ecb2a", "sha256": "9e5164ef567d5dd82da113f671b3f7263f6f9e1b94c700d089b4f46f2881ce4c" }, "downloads": -1, "filename": "osxmetadata-0.96.5.tar.gz", "has_sig": false, "md5_digest": "b41c28e345ddc2ab4ecf511df93ecb2a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31667, "upload_time": "2019-07-28T03:26:21", "url": "https://files.pythonhosted.org/packages/7b/ef/39cafbdf19326af3fc6931c5b412d5434da857875d7ccd04afd95db0d906/osxmetadata-0.96.5.tar.gz" } ], "0.96.83": [ { "comment_text": "", "digests": { "md5": "0939fd4ccdb874ff4ac1d974d40a35fc", "sha256": "9faded8b95518a85c3752a7b3a88ed7892c61eb6ea6ae6271137939312020b20" }, "downloads": -1, "filename": "osxmetadata-0.96.83-py3-none-any.whl", "has_sig": false, "md5_digest": "0939fd4ccdb874ff4ac1d974d40a35fc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 31364, "upload_time": "2019-07-28T21:29:48", "url": "https://files.pythonhosted.org/packages/97/57/9519a9f4ffae461605ecd092d11bd879cbdad10bafff687d41b2d99ceb22/osxmetadata-0.96.83-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "da8686255725642f1432319ec4e9d81a", "sha256": "72ee938ee808936114e05b1b2ce24afbde2431d5b4dd99c8feb299c73c700cae" }, "downloads": -1, "filename": "osxmetadata-0.96.83.tar.gz", "has_sig": false, "md5_digest": "da8686255725642f1432319ec4e9d81a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 31480, "upload_time": "2019-07-28T21:29:50", "url": "https://files.pythonhosted.org/packages/38/46/ba241adc1a84f701638c9c727a60de5d2f1f83627916740a0b89536c9be7/osxmetadata-0.96.83.tar.gz" } ], "0.96.85": [ { "comment_text": "", "digests": { "md5": "ad72c417092ffceda5a23feabe96d3c6", "sha256": "0a43c6a4de6c4873b20095eba7f1d4e5ffaadfa90a7c9887cb86826228485d2a" }, "downloads": -1, "filename": "osxmetadata-0.96.85-py3-none-any.whl", "has_sig": false, "md5_digest": "ad72c417092ffceda5a23feabe96d3c6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 31393, "upload_time": "2019-07-30T01:41:43", "url": "https://files.pythonhosted.org/packages/f7/80/1ac2a6a71381fc8490e34c66812847ddf4f909df5ebca43662f7fa7c9708/osxmetadata-0.96.85-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "abed195e01d3a94609f5537e29931e73", "sha256": "20a365909bd65f11eb14d20768e2b8ea0d9835672c9c50e90bc3d301aee398c0" }, "downloads": -1, "filename": "osxmetadata-0.96.85.tar.gz", "has_sig": false, "md5_digest": "abed195e01d3a94609f5537e29931e73", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 31517, "upload_time": "2019-07-30T01:41:44", "url": "https://files.pythonhosted.org/packages/0b/1c/beb8d00003032015ad9724f22ba98658f8b765f466187eccc323d0296038/osxmetadata-0.96.85.tar.gz" } ], "0.96.87": [ { "comment_text": "", "digests": { "md5": "63b8832929de6a9863682a067ce626a8", "sha256": "d061b7115876aa9e236116bd03a64080155580c588925b64fca046ab1530f3eb" }, "downloads": -1, "filename": "osxmetadata-0.96.87-py3-none-any.whl", "has_sig": false, "md5_digest": "63b8832929de6a9863682a067ce626a8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 31392, "upload_time": "2019-08-01T20:20:31", "url": "https://files.pythonhosted.org/packages/7d/fe/ffb3200972bf06135bfd43d923c10c1ca95e02d942631253b06986bd7c1d/osxmetadata-0.96.87-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "67a65d6c79fa8f0285ab3630a958b97f", "sha256": "8e30469226eff2b937f2ece047e3451fe7619b034fdda8b5f2e58dbd1933d400" }, "downloads": -1, "filename": "osxmetadata-0.96.87.tar.gz", "has_sig": false, "md5_digest": "67a65d6c79fa8f0285ab3630a958b97f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 31584, "upload_time": "2019-08-01T20:20:32", "url": "https://files.pythonhosted.org/packages/17/62/66c100c31c9f845e0d9ee5a0edc87fcf103fcc9837a3fe23fc4a9a9b0cfd/osxmetadata-0.96.87.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "63b8832929de6a9863682a067ce626a8", "sha256": "d061b7115876aa9e236116bd03a64080155580c588925b64fca046ab1530f3eb" }, "downloads": -1, "filename": "osxmetadata-0.96.87-py3-none-any.whl", "has_sig": false, "md5_digest": "63b8832929de6a9863682a067ce626a8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 31392, "upload_time": "2019-08-01T20:20:31", "url": "https://files.pythonhosted.org/packages/7d/fe/ffb3200972bf06135bfd43d923c10c1ca95e02d942631253b06986bd7c1d/osxmetadata-0.96.87-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "67a65d6c79fa8f0285ab3630a958b97f", "sha256": "8e30469226eff2b937f2ece047e3451fe7619b034fdda8b5f2e58dbd1933d400" }, "downloads": -1, "filename": "osxmetadata-0.96.87.tar.gz", "has_sig": false, "md5_digest": "67a65d6c79fa8f0285ab3630a958b97f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 31584, "upload_time": "2019-08-01T20:20:32", "url": "https://files.pythonhosted.org/packages/17/62/66c100c31c9f845e0d9ee5a0edc87fcf103fcc9837a3fe23fc4a9a9b0cfd/osxmetadata-0.96.87.tar.gz" } ] }