{ "info": { "author": "s-ball", "author_email": "s-ball@laposte.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Multimedia :: Graphics" ], "description": "[![Travis-CI Build Status](https://travis-ci.com/s-ball/pyimgren.svg?branch=0.8.0)](https://travis-ci.com/s-ball/pyimgren) [![AppVeyor Build status](https://ci.appveyor.com/api/projects/status/salqj2q1h8mid74t/branch/0.8.0?svg=true)](https://ci.appveyor.com/project/s-ball/pyimgren/branch/0.8.0)\n[![Documentation Status](https://readthedocs.org/projects/pyimgren/badge/?version=latest)](https://pyimgren.readthedocs.io/en/latest/?badge=latest)\n\n# pyimgren\nA python module to rename images according to their exif tags.\n\n## Current status\n\nThis package package is distributed in PyPI since version 0.1.0. It can be used by end users, but should be considered at beta quality because it still lacks extensive testing. Its full source is available from [GitHUB](https://github.com/s-ball/pyimgren).\n\n## Goals\n\nDigital cameras name their pictures in a sequential manner. When you want to put pictures from several cameras in the same folder, they will be sorted by camera instead of by picture date and time.\n\nEven if we can find here and there programs that allow for batch renaming of such pictures, I could not find a portable Python module for that. So the goals of this project are:\n\n* few dependencies: a Python 3 (tested for >= 3.3)\n* few additional module requirements: only [piexif](https://github.com/hMatoba/Piexif) and [i18nparse](https://github.com/s-ball/i18nparse) are required at installation time\n* portability: this is a pure Python package and is tested with Travis-CI (linux) and AppVeyor (Windows) for versions 3.3 to 3.6 (3.7 for AppVeyor only).\n\n## Localization\nThe package supports gettext type localization, and provides a French translation.\n\n## Usage:\n\n#### As a Python module\n\nThe pyimgren package contains one single class `Renamer` with two public methods: `rename` to rename picture files according to their exif date, and `back` to rename them back to their original names.\n\nA Renamer is used to rename image names provided by a camera\n(commonly IMGxxxxx.JPG or DSCFyyyy.JPG into a name based on the time\nwhen the photography had been taken (as smartphones do). That time is\nextracted from the exif tag of the picture. No rename occurs if the\npicture contains no exif time. Optionally, a number of minutes to add to\nthe exif time can be given to process images from a camera that would\nhave a wrong time..\n\nA file named names.log is created in the folder to store the new names\nand the original ones, in order to be able to rename them back.\n\nYou create a Renamer with: \n\n ```\nrenamer = Renamer(folder, src_mask = \"DSCF*.jpg\",\n dst_mask = \"%Y%m%d_%H%M%S\",\n ext_mask = \".jpg\",\n ref_file = \"names.log\",\n delta = 0.0,\n debug = False,\n dummy = False)\n```\n\nParameters:\n\n* folder: the default folder where pictures will be renamed\n* src_mask: a pattern to select the files to be renamed (default\n \"DSCF*.jpg\")\n* dst_mask: a format containing strftime formatting directives, that\n will be used for the new name of a picture (default\n \"%Y%m%d_%H%M%S\")\n* ext_mask: the extension of the new name (default \".jpg\")\n* ref_file: the name of a file that will remember the old names\n (default \"names.log\")\n* delta: a (floating point) number of minutes to add to the exif\n tag time (default 0.0)\n* debug : a boolean flag that will cause a line to be printed for\n each rename when true (default False)\n* dummy : a boolean flag that will cause a \"dry run\", meaning that\n the folder will be scanned, and debug info eventually printed\n but no file will be renamed (default False)\n\nTypical use:\n\n```\nfrom pyimgren import Renamer\n...\nconv = Renamer(path)\nconv.rename() # to convert to \"date\" names\n...\nconv.back() # if you want to revert to original names\n```\n\n#### As a script\n\nThe pip installation install a `pyimgren` script (`pyimgren.exe` on Windows) in the Scripts directory. It can then be directly used (provided the Script directory be in the path) with the following syntax:\n\n```\nusage: pyimgren [-h] [-v] [--folder FOLDER] [-s SRC_MASK] [-d DST_MASK]\n [-e EXT_MASK] [-r REF_FILE] [-x delta] [-D] [-X]\n {rename,back,merge} ...\n\nRename pictures according to their exif timestamp\n\npositional arguments:\n {rename,back,merge} sub-commands\n rename rename files by using their exif timestamp\n back rename files back to their original name\n merge merge files from a different folder\n\noptional arguments:\n -h, --help show this help message and exit\n -v, --version show program's version number and exit\n --folder FOLDER, -f FOLDER\n folder containing files to rename\n -s SRC_MASK, --src_mask SRC_MASK\n pattern to select the files to rename\n -d DST_MASK, --dst_mask DST_MASK\n format for the new file name\n -e EXT_MASK, --ext EXT_MASK\n extension for the new file name\n -r REF_FILE, --ref_file REF_FILE\n a file to remember the old names\n -x delta, --delta delta\n minutes to add to the exif tag time\n -D, --debug print a line per rename\n -X, --dry_run process normally except no rename occurs\n```\n\nThe sub commands have the following syntax:\n\n```\nusage: pyimgren [global_options ...] {back|rename} [-h] [files [files ...]]\n\npositional arguments:\n files files to process (default: content of ref_file)\n\noptional arguments:\n -h, --help show this help message and exit\n```\n\nand\n\n```\nusage: pyimgren [global_options ...] merge [-h] folder [files [files ...]]\n\npositional arguments:\n folder folder from where merge picture files\n files files to process (default: src_mask)\n\noptional arguments:\n -h, --help show this help message and exit\n\nusage: pyimgren [-h] [-v] [-b] [-s SRC_MASK] [-d DST_MASK] [-e EXT_MASK]\n [-r REF_FILE] [-x delta] [-D] [-X]\n folder [files [files ...]]\n\nRename pictures according to their exif timestamp\n\npositional arguments:\n folder folder containing files to rename\n files files of sub folders to process (optional)\n\noptional arguments:\n -h, --help show this help message and exit\n -v, --version show program's version number and exit\n -b, --back restore original names\n -s SRC_MASK, --src_mask SRC_MASK\n pattern to select the files to rename\n -d DST_MASK, --dst_mask DST_MASK\n format for the new file name\n -e EXT_MASK, --ext EXT_MASK\n extension for the new file name\n -r REF_FILE, --ref_file REF_FILE\n a file to remember the old names\n -x delta, --delta delta\n minutes to add to the exif tag time\n -D, --debug print a line per rename\n -X, --dry_run process normally except no rename occurs\n```\n\n#### As a module\n\nIt can be use as a Python module, which allows to use it in Windows even if the Scripts directory is not in the path thanks to the `py` launcher with same syntax as the script:\n\n```\nusage: pyimgren [-h] [-v] [--folder FOLDER] [-s SRC_MASK] [-d DST_MASK]\n [-e EXT_MASK] [-r REF_FILE] [-x delta] [-D] [-X]\n {rename,back,merge} ...\n\n```\n\nor when using the Windows launcher `py -m pyimgren ...`\n\n## Installing\n\n### End user installation\n\nWith pip: `pip install pyimgren`.\n\n### Developper installation\n\nIf you want to contribute or integrate pyimgren in your own code, you should get a copy of the full tree from [GitHUB](https://github.com/s-ball/pyimgren):\n\n```\ngit clone https://github.com/s-ball/pyimgren [your_working_copy_folder]\n```\n\n#### Running the tests\n\nAs the project intends to be PyPI compatible, you can simply run tests from the main folder with:\n\n```\npython setup.py test\n```\n\nThe integration tests depend on [pyfakefs](http://pyfakefs.org), which is automatically intalled from PyPI when you run `python setup.py test`. But it is not require for running `pyimgren`, nor installed by `pip install pyimgren`.\n\n## Contributing\n\nAs this project is developped on my free time, I cannot guarantee very fast feedbacks. Anyway, I shall be glad to receive issues or pull requests on GitHUB. \n\n## Versioning\n\nThis project uses a standard Major.Minor.Patch versioning pattern. Inside a major version, public API stability is expected (at least after 1.0.0 version will be published).\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE.txt file for details\n\n## Acknowledgments\n\n* The hard job of exif data processing was already done in [piexif](https://github.com/hMatoba/Piexif)\n* The excellent [pyfakefs](http://pyfakefs.org), allows integration tests to run on a fake file system\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/s-ball/pyimgren", "keywords": "", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "pyimgren", "package_url": "https://pypi.org/project/pyimgren/", "platform": "", "project_url": "https://pypi.org/project/pyimgren/", "project_urls": { "Changelog": "https://github.com/s-ball/pyimgren/blob/master/CHANGES.txt", "Documentation": "https://pyimgren.readthedocs.io/en/latest/", "Homepage": "https://github.com/s-ball/pyimgren" }, "release_url": "https://pypi.org/project/pyimgren/0.8.0/", "requires_dist": [ "piexif", "i18nparse (>=0.7)" ], "requires_python": ">=3", "summary": "Rename image files according to exif tags", "version": "0.8.0" }, "last_serial": 5169483, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "abc346687acc896b3bbd82b2b0b6c468", "sha256": "ab4f31ff4e6f91e59e7d6f141b69979e22441cb0fa5777ae8f97482cb8896c20" }, "downloads": -1, "filename": "pyimgren-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "abc346687acc896b3bbd82b2b0b6c468", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 5995, "upload_time": "2018-10-09T08:15:06", "url": "https://files.pythonhosted.org/packages/c1/ce/dc1773925443499f36a89dc230018736329185d60c7edbda207657b1526b/pyimgren-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9533b561125b63f25af0961e08ffb240", "sha256": "448b2c5bbfa091540e9dccdbd4fea798dff2aa50474faeecf9dd92781ac7d67f" }, "downloads": -1, "filename": "pyimgren-0.1.0.tar.gz", "has_sig": false, "md5_digest": "9533b561125b63f25af0961e08ffb240", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 4375, "upload_time": "2018-10-09T08:15:07", "url": "https://files.pythonhosted.org/packages/ee/ef/192a1cd6e72b5643a387641f715348a8fab2670e4d4054f7032f44c13c34/pyimgren-0.1.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "dab77434c77f8c33a74d97b26ccfb107", "sha256": "35ad95fa97661c6d673dcbebb9bb00e784af007f291f9f1df91c53fe0e41c221" }, "downloads": -1, "filename": "pyimgren-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "dab77434c77f8c33a74d97b26ccfb107", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 7907, "upload_time": "2018-10-15T17:23:43", "url": "https://files.pythonhosted.org/packages/38/23/1ec9e5b988f56e55d8b4336bf643c1772b16a92bd8992cd4799b9ed64e00/pyimgren-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1a68e311e5dbc24db97a52a5514e4d13", "sha256": "8f094a6037142a781a69e676ccd488e823b9081d50a0eacfa6e26bc11c829747" }, "downloads": -1, "filename": "pyimgren-0.2.1.tar.gz", "has_sig": false, "md5_digest": "1a68e311e5dbc24db97a52a5514e4d13", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 6216, "upload_time": "2018-10-15T17:23:44", "url": "https://files.pythonhosted.org/packages/aa/b3/f079f9bf9aa32032ce1af8a1770a268e27b30bafc4d6140b66a46e9f4021/pyimgren-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "ee6b1233997bceaa556ea3a632dd0225", "sha256": "8cdefb85ddfbebfe793d07b29fb2eb000b155113a6393f51535fae96a37a64f4" }, "downloads": -1, "filename": "pyimgren-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ee6b1233997bceaa556ea3a632dd0225", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 8933, "upload_time": "2018-10-24T18:18:46", "url": "https://files.pythonhosted.org/packages/17/c3/3ccb55f7154625528be7add0295420e4a341fc684c11ec18e98f4f968b27/pyimgren-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bf1833832afeda3d3141cceb65d1bd06", "sha256": "139043b51a1136fbed516693e746bf4307263660079d3e82520452b3b75890a7" }, "downloads": -1, "filename": "pyimgren-0.3.0.tar.gz", "has_sig": false, "md5_digest": "bf1833832afeda3d3141cceb65d1bd06", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 7970, "upload_time": "2018-10-24T18:18:48", "url": "https://files.pythonhosted.org/packages/f5/73/823f4b9a618094dfedb2f03107a8c3b29fbcc586e50930767c534fc82cd9/pyimgren-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "eebeb658845e8bf66531c31c038b8c2e", "sha256": "3608ca3c6f4f8f21431c703a5b73724e26ce727a4f81c4bbbe03483d8c3f6e90" }, "downloads": -1, "filename": "pyimgren-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "eebeb658845e8bf66531c31c038b8c2e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 12705, "upload_time": "2018-10-29T14:50:51", "url": "https://files.pythonhosted.org/packages/f1/67/a194f494709498996a4a81d3b17dc6725658efc2af9101985c8db7acab3c/pyimgren-0.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8d64c59c613f5856470c466bcfb85bd9", "sha256": "6343ac337ff6291fd755afc81e472419c0531adf776b273bdd45d9c1dde12627" }, "downloads": -1, "filename": "pyimgren-0.3.1.tar.gz", "has_sig": false, "md5_digest": "8d64c59c613f5856470c466bcfb85bd9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 9066, "upload_time": "2018-10-29T14:50:51", "url": "https://files.pythonhosted.org/packages/32/9d/b75c3589c02fd6747d3252006f55d1aaa65d28d4ac9e8aa667c66e456619/pyimgren-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "b7d3551e447d684317dff58cbecf8f8d", "sha256": "6ae0ab78a7bf9cd2f80494955432e4f3e53cf472446786f0a9ab953babbae2d5" }, "downloads": -1, "filename": "pyimgren-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b7d3551e447d684317dff58cbecf8f8d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 10433, "upload_time": "2018-10-31T13:58:07", "url": "https://files.pythonhosted.org/packages/67/6b/aba05d0b35b9a461c609d309d902a886b5bd725fdcf1f960c7ff6b594832/pyimgren-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "52949f8e25bf2c83bdbc635bb42614f8", "sha256": "f4cba9fb2b306723305ea0de0c8ad099dc1fc312e86d194d41c8cf46b09f7016" }, "downloads": -1, "filename": "pyimgren-0.4.0.tar.gz", "has_sig": false, "md5_digest": "52949f8e25bf2c83bdbc635bb42614f8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 9332, "upload_time": "2018-10-31T13:58:10", "url": "https://files.pythonhosted.org/packages/ec/34/e088bf15979f38e4fba23fe8b643b52c7b8b6753c1e74a7d85684b668dfa/pyimgren-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "4e3f3f97aa7ef9e8eb47a7bcac3e5d8b", "sha256": "0cec4bf39fbdafe606431f8e2459ae754e939e6c6839faae2609ebfa1e6f8297" }, "downloads": -1, "filename": "pyimgren-0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "4e3f3f97aa7ef9e8eb47a7bcac3e5d8b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 10526, "upload_time": "2018-10-31T14:45:50", "url": "https://files.pythonhosted.org/packages/fe/f6/5f384a575cd03fef17f7c6659b1c19436c97ea91e61ce6d1b1bf463bdb54/pyimgren-0.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5f874b2e45365430ada5088e85158ab6", "sha256": "4e6a8a24a01528e0081587f59022ce30f42de0a82179eb640adc01b073fc28dc" }, "downloads": -1, "filename": "pyimgren-0.4.1.tar.gz", "has_sig": false, "md5_digest": "5f874b2e45365430ada5088e85158ab6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 9535, "upload_time": "2018-10-31T14:45:52", "url": "https://files.pythonhosted.org/packages/2b/cf/aa2646f5031ea3fd4ea5f564f1b157ed69636283e7df8047491a41f0f505/pyimgren-0.4.1.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "d2ec647559c3e4c110d8ea2b2843563b", "sha256": "6343e3d00cf8df1d08c4ef22ee7307dc8dea58c110e5d5cd45e1d038eb5928f8" }, "downloads": -1, "filename": "pyimgren-0.5.1-py3-none-any.whl", "has_sig": false, "md5_digest": "d2ec647559c3e4c110d8ea2b2843563b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 11735, "upload_time": "2018-11-05T07:44:54", "url": "https://files.pythonhosted.org/packages/a3/4e/5ad39ec098438d56c5c24480ce1e9f542d0df2b78b5311dc95bc7ecd8203/pyimgren-0.5.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d785f076085cf3515e5ac7964e590739", "sha256": "dcf101e416442d96f61d1d52def43c5e5a4d907e919771f6b329fe57f211ee63" }, "downloads": -1, "filename": "pyimgren-0.5.1.tar.gz", "has_sig": false, "md5_digest": "d785f076085cf3515e5ac7964e590739", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 11426, "upload_time": "2018-11-05T07:44:56", "url": "https://files.pythonhosted.org/packages/3d/2b/eae3b2c28eec700745d610ce3a716348da09fcb773aff2ce4a65c126f415/pyimgren-0.5.1.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "3d20cb61364afa94eb7442fb40fc3580", "sha256": "66ad39ca938341da5b9bb9a64963150d549bf81bf64b84b0d16c6b79c3ff247a" }, "downloads": -1, "filename": "pyimgren-0.6.0-py3-none-any.whl", "has_sig": false, "md5_digest": "3d20cb61364afa94eb7442fb40fc3580", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 14129, "upload_time": "2018-11-18T22:59:04", "url": "https://files.pythonhosted.org/packages/48/d3/654c0df29194b8d4ec65904494fbf85c9f3ae103b4dd603f95caf5a9af8c/pyimgren-0.6.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bdacf53f09f5c5784b06e6c1d3f0f283", "sha256": "8d0c971d2d78283be37125c57744c5cdf5dac2900f3b74e131219595e782a018" }, "downloads": -1, "filename": "pyimgren-0.6.0.tar.gz", "has_sig": false, "md5_digest": "bdacf53f09f5c5784b06e6c1d3f0f283", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 21811, "upload_time": "2018-11-18T22:59:06", "url": "https://files.pythonhosted.org/packages/89/49/4c593109795ca1cbbe7f98192df1205452556ff9393fcb07b0c5fa1f5d02/pyimgren-0.6.0.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "98f9beac5375b49a0806297bad8804d1", "sha256": "8c2a891aeeda5814ac454dda8950dca74e556ea78e72b773870f814ed5eac872" }, "downloads": -1, "filename": "pyimgren-0.6.1-py3-none-any.whl", "has_sig": false, "md5_digest": "98f9beac5375b49a0806297bad8804d1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 14137, "upload_time": "2018-11-26T07:53:07", "url": "https://files.pythonhosted.org/packages/77/19/70e1a6ee7c8b339cbb09f2024dcc7acaaafdf5ca23cf2986279001bf118d/pyimgren-0.6.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6bcc40544a6539746323fbfec063c3c0", "sha256": "56b07d4b26460585a3ce0134292e5981010f6ad8a2b6ee77c09453b9c695e3c3" }, "downloads": -1, "filename": "pyimgren-0.6.1.tar.gz", "has_sig": false, "md5_digest": "6bcc40544a6539746323fbfec063c3c0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 21860, "upload_time": "2018-11-26T07:53:09", "url": "https://files.pythonhosted.org/packages/e1/aa/21a549b2c3a4c2f2c12c64d76ef197e107c05434fe6a5ea61c1c8af04eaf/pyimgren-0.6.1.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "b45fb974b724ec8a9f03d17491d9b960", "sha256": "575c44f6c2d4c22700528bdfae3da0bfb1e49060af19e6b3d34ede1755d72302" }, "downloads": -1, "filename": "pyimgren-0.7.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b45fb974b724ec8a9f03d17491d9b960", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 14126, "upload_time": "2018-11-26T22:32:10", "url": "https://files.pythonhosted.org/packages/f5/5e/6a51c6a0450f1b1bd33de74c3ecfb95824bcda3af28b9abd078f07bed1bf/pyimgren-0.7.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ab9561733976617fbdd6adc9480a46cb", "sha256": "4775c88902a6ef18e07e9c168d15742c3a05b037179a39795864c7a9ade1c6f7" }, "downloads": -1, "filename": "pyimgren-0.7.0.tar.gz", "has_sig": false, "md5_digest": "ab9561733976617fbdd6adc9480a46cb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 214426, "upload_time": "2018-11-26T22:32:12", "url": "https://files.pythonhosted.org/packages/38/71/a9f09b73a65c21d05388eb368a8d507037eb596fa4c82bf2774d8d9ebc78/pyimgren-0.7.0.tar.gz" } ], "0.7.3": [ { "comment_text": "", "digests": { "md5": "3b6ed01915ee447a890042950c009960", "sha256": "9e64868637b3f4dc83c81dfb30ebe3ad90685a2ebaa6c5032405bf916fb6145e" }, "downloads": -1, "filename": "pyimgren-0.7.3-py3-none-any.whl", "has_sig": false, "md5_digest": "3b6ed01915ee447a890042950c009960", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 14131, "upload_time": "2018-11-28T15:35:21", "url": "https://files.pythonhosted.org/packages/af/58/0c300a8e6d7936920a58e063494e2bf6c20ecedbe1e4fabb1cfe29b56e53/pyimgren-0.7.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f72d429d7900c75747b11557e421aed4", "sha256": "63940dd10afd89e378eaf2c3496046c3bf2b2b3b9df69e8491ebf45188a84038" }, "downloads": -1, "filename": "pyimgren-0.7.3.tar.gz", "has_sig": false, "md5_digest": "f72d429d7900c75747b11557e421aed4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 215846, "upload_time": "2018-11-28T15:35:23", "url": "https://files.pythonhosted.org/packages/de/cd/5af7a6117f1ced86bc82761136a3747f410132e74b56a1f195ec47f16e5e/pyimgren-0.7.3.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "7fcb6e7cf3af3899477127eca9f093b0", "sha256": "d2e3da6abef8d957daf273f2824ec346980402a964b572562b9db98186217ff9" }, "downloads": -1, "filename": "pyimgren-0.8.0-py3-none-any.whl", "has_sig": false, "md5_digest": "7fcb6e7cf3af3899477127eca9f093b0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 13798, "upload_time": "2019-04-21T09:55:21", "url": "https://files.pythonhosted.org/packages/71/13/5db3bb5a7ff5d5aef93e1532a2be66fcc756bbe040fe17694c1885792aae/pyimgren-0.8.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bcb071d24ab784d0486d73f45a618c58", "sha256": "c9d2f3a477eb95fa07dd26b08237768ec4d2973860a522def14af8260dce0fa0" }, "downloads": -1, "filename": "pyimgren-0.8.0.tar.gz", "has_sig": false, "md5_digest": "bcb071d24ab784d0486d73f45a618c58", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 214793, "upload_time": "2019-04-21T09:55:23", "url": "https://files.pythonhosted.org/packages/0b/60/a890de0db47ffa6b1e385a50e89342d110a76a95adbe34c6c47b55879a0d/pyimgren-0.8.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7fcb6e7cf3af3899477127eca9f093b0", "sha256": "d2e3da6abef8d957daf273f2824ec346980402a964b572562b9db98186217ff9" }, "downloads": -1, "filename": "pyimgren-0.8.0-py3-none-any.whl", "has_sig": false, "md5_digest": "7fcb6e7cf3af3899477127eca9f093b0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 13798, "upload_time": "2019-04-21T09:55:21", "url": "https://files.pythonhosted.org/packages/71/13/5db3bb5a7ff5d5aef93e1532a2be66fcc756bbe040fe17694c1885792aae/pyimgren-0.8.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bcb071d24ab784d0486d73f45a618c58", "sha256": "c9d2f3a477eb95fa07dd26b08237768ec4d2973860a522def14af8260dce0fa0" }, "downloads": -1, "filename": "pyimgren-0.8.0.tar.gz", "has_sig": false, "md5_digest": "bcb071d24ab784d0486d73f45a618c58", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 214793, "upload_time": "2019-04-21T09:55:23", "url": "https://files.pythonhosted.org/packages/0b/60/a890de0db47ffa6b1e385a50e89342d110a76a95adbe34c6c47b55879a0d/pyimgren-0.8.0.tar.gz" } ] }