{ "info": { "author": "Plone Foundation", "author_email": "plone-developers@lists.sourceforge.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Framework :: Plone", "Framework :: Plone :: 5.1", "Framework :: Plone :: 5.2", "Framework :: Zope2", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "Introduction\n============\n\nThis package contains image scaling logic for use in Zope environments. It\nsupports Zope 2, grok and other systems build on using the Zope ToolKit (ZTK).\n\nSeveral design goals were used when writing this package:\n\n- image scaling to any width, height, width&height should be supported\n using both up-scaling and down-scaling. Scaling parameters should never\n be fixed in code. This allows designers to use any image scale they want\n without having to modify python code.\n\n- the result of scaling will be an image along with its new size, not a\n HTML or XHTML tag. We already have excellent tools to generate tags in\n the form of Zope Pagetemplates, Genshi and other template languages that\n are much better suited for this purpose.\n\nIn addition several implementation goals were defined:\n\n- image scaling must happen on demand instead of up-front. This reduces\n initial save time and prevents unnecessary scalings from being generated.\n\n- image scaling parameters should not be part of the generated URL. Since\n the number of parameters can change and new parameters may be added in\n the future this would create overly complex URLs and URL parsing.\n\n- no HTML rewriting (such as done by `repoze.bitblt`_) should be required.\n\n- it should be possibly to develop an external storage system which stores\n scaled images externally and returns a URL which bypasses the application\n server. This should be configurable via just a filesystem path & base\n URL.\n\n- minimum number of external dependencies, allowing this package to be\n used in many environments.\n\n- testable without requiring zope.testing. Running `setup.py test` should\n be sufficient.\n\n- URLs for scaled images should have an extension which reflects their\n MIME type. This is facilitates cache (and other front-end services)\n configuration.\n\n.. _repoze.bitblt: http://pypi.python.org/pypi/repoze.bitblt\n\n\nUsage\n=====\n\nThe most common way to use *plone.scale* is from a HTML template.\nIn TAL syntax a typical usage looks like this::\n\n \n\nThis generates a thumbnail of an image field called *logo* with a maximum size\nof 64x64 pixels. The dimensions of the resulting image (which might not be\nexactly 64x64) are set as attributes on the ``img`` tag to speed up browser\nrendering.\n\nIf you prefer Genshi syntax and have the ``IImageScaleStorage`` interface\nin scope the syntax looks like this::\n\n \n\n\nChangelog\n=========\n\n\n3.0.3 (2018-11-04)\n------------------\n\nBug fixes:\n\n- reduce warnings in tests [jensens]\n\n\n3.0.2 (2018-09-28)\n------------------\n\nBug fixes:\n\n- Fix cleanup of image scales in py3\n [pbauer]\n\n\n3.0.1 (2018-04-03)\n------------------\n\nBug fixes:\n\n- Fix conflict resolution code corner case.\n [gforcada]\n\n\n3.0 (2017-10-02)\n----------------\n\nBreaking changes:\n\n- Restore scale down behaviour from 1.x series without the huge memory usage.\n [fschulze]\n\nNew features:\n\n- Handle TIFF images with alpha channels.\n [fschulze]\n\n\n2.2 (2017-08-27)\n----------------\n\nNew features:\n\n- Python 3 compatibility.\n [dhavlik]\n\n\n2.1.2 (2017-05-31)\n------------------\n\nBug fixes:\n\n- Remove unused dependency.\n [gforcada]\n\n\n2.1.1 (2017-03-29)\n------------------\n\nBug fixes:\n\n- Only convert JPEG to greyscale if they actually are and not when the image\n has less than 256 colors. This bug was introduced in 2.1 with PR #13.\n [fschulze]\n\n- Preserve color profile in scaled images.\n [fschulze]\n\n\n2.1 (2016-11-01)\n----------------\n\nNew features:\n\n- Choose an appropriate image mode in order to reduce file size.\n [didrix]\n\nBug fixes:\n\n- Require the ``six`` package so we can more easily check number types.\n On Python 3 ``long`` has been merged into ``int``. [maurits]\n\n- When getting an outdated scale, don't throw it away when there is no\n factory. [maurits]\n\n- Avoid TypeErrors when looking for outdated scales.\n Fixes `issue 12 `_.\n [maurits]\n\n- Catch KeyError when deleting non existing scale. This can happen in corner cases.\n Fixes `issue 15 `_.\n [maurits]\n\n- Set ``zip_safe=False`` in ``setup.py``. Otherwise you cannot run\n the tests of the released package because the test runner does not\n find any tests in the egg file. Note that this is only a problem in\n zc.buildout 1.x: it uses unzip=False by default. zc.buildout 2.x no\n longer has this option and always unzips eggs. [maurits]\n\n\n2.0 (2016-08-12)\n----------------\n\nNew:\n\n- Assume a width or height of zero is semantically the same as None already was:\n Use the other dimension to scale, calculate the missing one.\n [jensens, thet]\n\n- Scaled GIFs are converted to RGBA PNG images instead of converting them to JPEG.\n [thet, jensens]\n\nFixes:\n\n- Don't scale images up for direction \"down\".\n [thet]\n\n- Major housekeeping, code refactored in order to reduce complexicty.\n [jensens]\n\n\n1.5.0 (2016-05-18)\n------------------\n\nNew:\n\n- Use an adapter to lookup the actual factory for scaling.\n Deprecated passing the factory as named parameter along,\n because this had not enough flexibility:\n If addons want to provide alterative methods to scale (i.e. cropping),\n now a specific adapter can perform the work.\n [jensens]\n\nFixes:\n\n- Minor housekeeping.\n [jensens]\n\n\n1.4.1 (2016-02-12)\n------------------\n\nFixes:\n\n- Fix KeyError in storage.AnnotationStorage._cleanup when attempting\n to delete the storage for the same key twice.\n [fulv]\n\n\n1.4 (2015-12-07)\n----------------\n\nNew:\n\n- Resolve conflicts raised when accessing multiple scales concurrently.\n [gotcha]\n\n- Refactored scale storage.\n [gotcha]\n\n\n1.3.5 (2015-03-10)\n------------------\n\n- PIL thumbnail does not work for magnifying images (when scaling up).\n Use resize instead. [sureshvv]\n\n\n1.3.4 (2014-09-07)\n------------------\n\n- When a scale is outdated, discard all image scales that are more\n than a day older than the context.\n Refs https://dev.plone.org/ticket/13791\n [maurits]\n\n- Make sure deleting items or clearing a complete storage works.\n Deleting one item would often delete a linked second item, which\n made it hard to remove several items at once.\n [maurits]\n\n\n1.3.3 (2014-01-27)\n------------------\n\n- Discard old image scales if item was modified.\n Refs https://dev.plone.org/ticket/13791\n [gforcada]\n\n- Generate Progressive JPEG.\n [kroman0]\n\n\n1.3.2 (2013-05-23)\n------------------\n\n- Added a marker interface for scaled image quality.\n Refs http://dev.plone.org/plone/ticket/13337\n [khink]\n\n\n1.3.1 (2013-04-06)\n------------------\n\n- Cropped images are now centralised vertically as well as horizontally [mattss]\n\n\n1.3 (2013-01-17)\n----------------\n\n- Add MANIFEST.in.\n [WouterVH]\n\n- Break up `scaleImage`, so that its scaling-related parts can be applied\n to instances of `PIL.Image` for further processing.\n [witsch]\n\n\n1.2.2 - 2010-09-28\n------------------\n\n- Re-release to fix bad egg created for 1.2.1.\n Refs http://dev.plone.org/plone/ticket/11154\n [witsch]\n\n\n1.2.1 - 2010-08-18\n------------------\n\n- Convert CMYK to RGB, allowing for web previews of print images.\n [tomster]\n\n\n1.2 - 2010-07-18\n----------------\n\n- Update package metadata.\n [hannosch]\n\n\n1.1 - 2010-04-20\n----------------\n\n- Abort if thumbnail behaviour is requested but either width or height is\n missing. This is nicer than confronting the caller with a PIL exception.\n [wichert]\n\n- Rename the `keep` direction to `thumbnail` to make its behaviour more\n intuitive, but accept `keep` for now.\n [wichert]\n\n\n1.0 - 2010-04-12\n----------------\n\n- Only pull in the uuid distribution in Python versions before 2.5.\n [hannosch]\n\n- Don't declare dependency on PIL.\n [davisagli]\n\n\n1.0a2 - 2010-04-10\n------------------\n\n- Add BSD license text following board decision:\n http://lists.plone.org/pipermail/membership/2009-August/001038.html\n [elro]\n\n- Allow to use PIL's thumbnail algorithm to keep the present aspect ratio.\n [spamsch, witsch]\n\n- Allow to set the quality of the resulting image scales.\n [witsch]\n\n- Refactor storage adapter for image scales to be less dependent on the\n underlying content type.\n [witsch]\n\n\n1.0a1 - 2009-11-10\n------------------\n\n- Initial release\n [wichert]\n\n\n", "description_content_type": "", "docs_url": "https://pythonhosted.org/plone.scale/", "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://pypi.org/project/plone.scale", "keywords": "image scaling", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "plone.scale", "package_url": "https://pypi.org/project/plone.scale/", "platform": "", "project_url": "https://pypi.org/project/plone.scale/", "project_urls": { "Homepage": "https://pypi.org/project/plone.scale" }, "release_url": "https://pypi.org/project/plone.scale/3.0.3/", "requires_dist": [ "zope.annotation; extra == 'sphinx'", "zope.component; extra == 'sphinx'", "zope.configuration; extra == 'sphinx'", "zope.interface; extra == 'sphinx'", "Persistence; extra == 'sphinx'", "zope.annotation; extra == 'storage'", "zope.component; extra == 'storage'", "zope.configuration; extra == 'storage'", "zope.interface; extra == 'storage'", "Persistence; extra == 'storage'", "Pillow; extra == 'test'", "plone.testing; extra == 'test'", "zope.annotation; extra == 'tests'", "zope.component; extra == 'tests'", "zope.configuration; extra == 'tests'", "zope.interface; extra == 'tests'", "Persistence; extra == 'tests'", "Pillow; extra == 'tests'", "plone.testing; extra == 'tests'", "setuptools", "six", "Sphinx; extra == 'sphinx'", "repoze.sphinx.autointerface; extra == 'sphinx'" ], "requires_python": "", "summary": "Image scaling", "version": "3.0.3" }, "last_serial": 4449138, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "5917c2a3b71be1f9e249341769733484", "sha256": "a2ade763926687a73ecf1caa937bc6d0106bdb9f8ae467d2730902ab5835e7ac" }, "downloads": -1, "filename": "plone.scale-1.0.zip", "has_sig": true, "md5_digest": "5917c2a3b71be1f9e249341769733484", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32704, "upload_time": "2010-04-12T17:49:49", "url": "https://files.pythonhosted.org/packages/23/b5/8bc73a66ed34fcc33d81f823473b221f4d395710a120123e8c95642f64c3/plone.scale-1.0.zip" } ], "1.0a1": [ { "comment_text": "", "digests": { "md5": "a512fb722072915cf19e29c64fbf857c", "sha256": "93314c100dc8e7526f6c1c7b9224e0b8778151b1b8ebef061c3f6bb73dd7f954" }, "downloads": -1, "filename": "plone.scale-1.0a1.tar.gz", "has_sig": false, "md5_digest": "a512fb722072915cf19e29c64fbf857c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21815, "upload_time": "2009-11-10T12:21:57", "url": "https://files.pythonhosted.org/packages/6a/31/69f158f3cdcdbd0e054ac3c0c936f79d3afea6b4d49da88e17a40c2b3921/plone.scale-1.0a1.tar.gz" } ], "1.0a2": [ { "comment_text": "", "digests": { "md5": "ed54a7e9caec5aafd196ebf3939c075a", "sha256": "749a6b9f23e2a1d3c3883354df297e7dbd0572dd160b958a2408d862a408d798" }, "downloads": -1, "filename": "plone.scale-1.0a2.zip", "has_sig": true, "md5_digest": "ed54a7e9caec5aafd196ebf3939c075a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30181, "upload_time": "2010-04-10T01:37:26", "url": "https://files.pythonhosted.org/packages/34/10/b409aa938f38b348728afdf197aeff5d98f1b8592f1d84d2b23339e03cc2/plone.scale-1.0a2.zip" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "afa32a9730d45474a3fd39fcdbe45109", "sha256": "2a02ec7f1a12dd398a5dc05e1d9c9b939154cf4ed3b1765d78d4162da547155a" }, "downloads": -1, "filename": "plone.scale-1.1.tar.gz", "has_sig": false, "md5_digest": "afa32a9730d45474a3fd39fcdbe45109", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24484, "upload_time": "2010-04-20T08:10:06", "url": "https://files.pythonhosted.org/packages/ac/f6/c230e3ab159e1df470caf724a97c4390aeeb3fad624a7d3023b276ee072f/plone.scale-1.1.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "30192e86a9c311fbe130139320a5a2d7", "sha256": "9268a32c05fb3f186333bc61aca8b3860d099cecec58599e51b8948014b53234" }, "downloads": -1, "filename": "plone.scale-1.2.zip", "has_sig": false, "md5_digest": "30192e86a9c311fbe130139320a5a2d7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33493, "upload_time": "2010-07-18T17:07:19", "url": "https://files.pythonhosted.org/packages/27/9a/e726e2a191f2b726b505ba607043954c7fc1c5878394a41456060f710a5b/plone.scale-1.2.zip" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "13f2b5b2193572dd234007faa45cb43a", "sha256": "899859a57d78ce11adc24f4bb26ea15d510dc4cc8e3f2089c45389f8f7056314" }, "downloads": -1, "filename": "plone.scale-1.2.1.zip", "has_sig": true, "md5_digest": "13f2b5b2193572dd234007faa45cb43a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14770, "upload_time": "2010-09-20T12:24:16", "url": "https://files.pythonhosted.org/packages/1a/e7/f90b84fae770555e269bd5af6e9dd5191380ea9922f0ae48622fa687777a/plone.scale-1.2.1.zip" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "7c59522b4806ee24f5e0a5fa69c523a5", "sha256": "e769d854d90c91d64dcd243dc976bc84b3c74427828b307aaf9c801d1c6f5d62" }, "downloads": -1, "filename": "plone.scale-1.2.2.zip", "has_sig": true, "md5_digest": "7c59522b4806ee24f5e0a5fa69c523a5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 505258, "upload_time": "2010-09-28T13:42:53", "url": "https://files.pythonhosted.org/packages/96/1a/5c3bf656e7e4455ef92faad9aa7171982c7b854b54528472dc6251429703/plone.scale-1.2.2.zip" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "2de525b3f436c851bce6e03f639d2d35", "sha256": "efd9f1088463c77311c17e34af58cb35113c0ae0dfd95605db5f171f896856e7" }, "downloads": -1, "filename": "plone.scale-1.3.zip", "has_sig": false, "md5_digest": "2de525b3f436c851bce6e03f639d2d35", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 505875, "upload_time": "2013-01-18T03:16:52", "url": "https://files.pythonhosted.org/packages/01/86/28a554db68d580aafacc623cf7e14595cebc0b209f99ee8aea9e6508ad53/plone.scale-1.3.zip" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "05f3e5f79237ef9c318730a7c9b367be", "sha256": "bddaf094c5a2c22188de366300d8292edfbc401c611897f2e1b977b73166147e" }, "downloads": -1, "filename": "plone.scale-1.3.1.zip", "has_sig": false, "md5_digest": "05f3e5f79237ef9c318730a7c9b367be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 506208, "upload_time": "2013-04-06T16:17:00", "url": "https://files.pythonhosted.org/packages/41/87/b2b6eae132e0053755223ff509f1e8c0dd42adb13c94884aa423f48ea9db/plone.scale-1.3.1.zip" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "584ccbf515aff9fef363c2cc8abac789", "sha256": "3644d48a7398452d2831c4580b0e6edbdc7e2aa37f3620afb35c252c630e8103" }, "downloads": -1, "filename": "plone.scale-1.3.2.zip", "has_sig": false, "md5_digest": "584ccbf515aff9fef363c2cc8abac789", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 506775, "upload_time": "2013-05-24T02:19:52", "url": "https://files.pythonhosted.org/packages/35/5d/12dc5df6ff60b787f07e96bc833c0352d027bdb9529af96680a734383c89/plone.scale-1.3.2.zip" } ], "1.3.3": [ { "comment_text": "", "digests": { "md5": "f2d56ec944e5677a4998b3b9e21534e3", "sha256": "349c1f849df8a4e2d166b594bbc0afe475a74fe452434e7581ad72bdaa7b0484" }, "downloads": -1, "filename": "plone.scale-1.3.3.zip", "has_sig": false, "md5_digest": "f2d56ec944e5677a4998b3b9e21534e3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 507116, "upload_time": "2014-01-28T01:52:18", "url": "https://files.pythonhosted.org/packages/4a/cf/32a79722e149d97bbf263cda6daf256ee278ced34f42dc045bc4f9de6810/plone.scale-1.3.3.zip" } ], "1.3.4": [ { "comment_text": "", "digests": { "md5": "6c2d3b21dc1a63e9cfe26fbc9c5de2d3", "sha256": "e08227ac88a0de2eac1d8d326d559ac4a4b48795c81b7f63782a1186e30095aa" }, "downloads": -1, "filename": "plone.scale-1.3.4.zip", "has_sig": false, "md5_digest": "6c2d3b21dc1a63e9cfe26fbc9c5de2d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 507844, "upload_time": "2014-09-07T15:52:07", "url": "https://files.pythonhosted.org/packages/80/e9/8000d3feb4f220fb023b76347c49e12d81ea7152e5e75edaef7a1b4869cd/plone.scale-1.3.4.zip" } ], "1.3.5": [ { "comment_text": "", "digests": { "md5": "b4c00dfe7573c5c4a80037e19a4445d1", "sha256": "89f538f25ca674301056c71b61dc0fbc6d8817eb6d3b3697ce97b1756fda3256" }, "downloads": -1, "filename": "plone.scale-1.3.5.zip", "has_sig": false, "md5_digest": "b4c00dfe7573c5c4a80037e19a4445d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 502283, "upload_time": "2015-03-09T20:12:56", "url": "https://files.pythonhosted.org/packages/d4/f4/3484e06dcb3aacdeb48f6c40eff9ba14e48a9e19fe9c6f90c872c63bacc4/plone.scale-1.3.5.zip" } ], "1.4": [ { "comment_text": "", "digests": { "md5": "40b506d32f4b89e630f45b24af98ff8b", "sha256": "64e66a9d0b5d692b1d964be1fb48e35e9e82ff8008b27f6b46271826d015289f" }, "downloads": -1, "filename": "plone.scale-1.4.tar.gz", "has_sig": false, "md5_digest": "40b506d32f4b89e630f45b24af98ff8b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 494784, "upload_time": "2015-12-07T16:14:25", "url": "https://files.pythonhosted.org/packages/4a/fe/3532e21678dd7e97aca60c73be3e28779d176889fef57bec64484cfcf1b9/plone.scale-1.4.tar.gz" } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "fbd2e63dd5592791257a08a39da653ef", "sha256": "b9a897c977467e44950a398aca6137d16c7473ea05b8b4fefd01aa702069e26a" }, "downloads": -1, "filename": "plone.scale-1.4.1.tar.gz", "has_sig": false, "md5_digest": "fbd2e63dd5592791257a08a39da653ef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 494948, "upload_time": "2016-02-12T17:29:58", "url": "https://files.pythonhosted.org/packages/15/a8/9b0623202a377141c7ac729dd19371f67f6954d3c99f023b7b938e238db7/plone.scale-1.4.1.tar.gz" } ], "1.4.2": [ { "comment_text": "", "digests": { "md5": "7c9341fc08ab89d507cfd0f7951cfb04", "sha256": "23a5cd6ca82b5f468ac4f71cf468a5f2f7fa3a9f93559ccddfd17f047cfae12c" }, "downloads": -1, "filename": "plone.scale-1.4.2.tar.gz", "has_sig": false, "md5_digest": "7c9341fc08ab89d507cfd0f7951cfb04", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 497043, "upload_time": "2016-10-26T00:16:44", "url": "https://files.pythonhosted.org/packages/6d/e2/8c37dd68cd171a98c3686b7290f2e270aae6140f551d9977715a98fc2db3/plone.scale-1.4.2.tar.gz" } ], "1.5.0": [ { "comment_text": "", "digests": { "md5": "eb0f072949b84e73aa9115928c5d9e8c", "sha256": "afcf59654c875cedda97249ad1860ebcc409dd52ee530231340b78ef99a26ddc" }, "downloads": -1, "filename": "plone.scale-1.5.0.tar.gz", "has_sig": false, "md5_digest": "eb0f072949b84e73aa9115928c5d9e8c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 497451, "upload_time": "2016-05-17T22:20:35", "url": "https://files.pythonhosted.org/packages/67/8b/5df063d0c0a0f9e8c3e76bf0ffa5c33bfd0dd1ce0374c4616c2ee578c34c/plone.scale-1.5.0.tar.gz" } ], "2.0": [ { "comment_text": "", "digests": { "md5": "4cc7ca6fadd44c00f9902f15c5f611d8", "sha256": "3f2496254f7d7a8be0ee2bf881dc2944d1ca94be3ca94c21abcc5299a7f8cfea" }, "downloads": -1, "filename": "plone.scale-2.0.tar.gz", "has_sig": false, "md5_digest": "4cc7ca6fadd44c00f9902f15c5f611d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 500668, "upload_time": "2016-08-12T16:33:25", "url": "https://files.pythonhosted.org/packages/62/80/89629f967e3d18744321993e57484546eb56b5a29eeb6edffa9f32749794/plone.scale-2.0.tar.gz" } ], "2.1": [ { "comment_text": "", "digests": { "md5": "358c4553f051c41f739bcb38f6055638", "sha256": "b207bf5d15a59a3442a48af3f6c9d6de088057ae98baf0632f9b8a6fca702679" }, "downloads": -1, "filename": "plone.scale-2.1.tar.gz", "has_sig": false, "md5_digest": "358c4553f051c41f739bcb38f6055638", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 502653, "upload_time": "2016-11-01T22:36:32", "url": "https://files.pythonhosted.org/packages/81/cc/a74fda05ccaaf97eb74bd95af432fe7ebb22bad7055ae00ee0c7ba0a3a8b/plone.scale-2.1.tar.gz" } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "bba5e38457519f61b7e2b4e4b59052bd", "sha256": "32aec16c94cfbc7845c377b5c32c9b29f1f1b64f3d35c812553275583df81e8b" }, "downloads": -1, "filename": "plone.scale-2.1.1.tar.gz", "has_sig": false, "md5_digest": "bba5e38457519f61b7e2b4e4b59052bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 510238, "upload_time": "2017-03-29T07:59:43", "url": "https://files.pythonhosted.org/packages/76/51/8ef01c0066cba35b64035446d16074c4bb7337ee8a9010bd5d1dd840e0d5/plone.scale-2.1.1.tar.gz" } ], "2.1.2": [ { "comment_text": "", "digests": { "md5": "671e033388771c79e55b18330ffe409a", "sha256": "ae02011b20f6b941a1893b3afe1af2e602861fffe5a864b66c73af260af8b758" }, "downloads": -1, "filename": "plone.scale-2.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "671e033388771c79e55b18330ffe409a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 505534, "upload_time": "2017-05-31T17:14:50", "url": "https://files.pythonhosted.org/packages/b2/56/112f43161454acb60d849a630048719772f8807b2702c8e1a0cb04eb985d/plone.scale-2.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3f6946994c5055a20699c4cd9553fa41", "sha256": "c845b253fc9966c40a62d88cff57d7b8538a35e323bd9325edf250728b55d99e" }, "downloads": -1, "filename": "plone.scale-2.1.2.tar.gz", "has_sig": false, "md5_digest": "3f6946994c5055a20699c4cd9553fa41", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 510611, "upload_time": "2017-05-31T17:14:55", "url": "https://files.pythonhosted.org/packages/52/aa/7b178aa6960e7e8349075561080bd03fff62a580cd20f5cddb12ded589ba/plone.scale-2.1.2.tar.gz" } ], "2.2": [ { "comment_text": "", "digests": { "md5": "f4d3be2992a268a7612e52c2b1541bd4", "sha256": "8d2656772f2826a3840b327b8c831f7b2dadef7b1a942d1b039b27657a5c5b5e" }, "downloads": -1, "filename": "plone.scale-2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f4d3be2992a268a7612e52c2b1541bd4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 505804, "upload_time": "2017-08-28T02:01:38", "url": "https://files.pythonhosted.org/packages/73/9b/e9e88259a81d3326ea1106bd83f19b9ed417910c695930bece6080a174d6/plone.scale-2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3dd83268fd696f9cf5c663d44546986a", "sha256": "a50bbe18f6fa02ea14b6f4975b10ac644e808c830d9f4303c6b4af19f52b7813" }, "downloads": -1, "filename": "plone.scale-2.2.tar.gz", "has_sig": false, "md5_digest": "3dd83268fd696f9cf5c663d44546986a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 510937, "upload_time": "2017-08-28T02:01:42", "url": "https://files.pythonhosted.org/packages/16/cb/88e13e9ee52e9323f515a3d8d5b3cac9e06e14f1c6ed9f29f42c0b6735ad/plone.scale-2.2.tar.gz" } ], "3.0": [ { "comment_text": "", "digests": { "md5": "c22ea473586824f1235405fc9de77e2a", "sha256": "32743942c72514ded15d79a69af2c49977a4d7b97dd11d994d47276e2c7e0752" }, "downloads": -1, "filename": "plone.scale-3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c22ea473586824f1235405fc9de77e2a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 506381, "upload_time": "2017-10-03T02:02:04", "url": "https://files.pythonhosted.org/packages/12/58/9609584f324677a84444e883cdbdaf885a8f292223cc0fb861ada921a097/plone.scale-3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ea3463fad584beff41c341d350d7a7eb", "sha256": "56305eb98f74c5cb1711f8974e4eff00ddb5b25bc3eb7c4d66afd0f5872cf2fa" }, "downloads": -1, "filename": "plone.scale-3.0.tar.gz", "has_sig": false, "md5_digest": "ea3463fad584beff41c341d350d7a7eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 509429, "upload_time": "2017-10-03T02:02:08", "url": "https://files.pythonhosted.org/packages/43/26/230c1b6f028870ef824ea7c1a23f258ecfec23f06863661c1b403d169473/plone.scale-3.0.tar.gz" } ], "3.0.1": [ { "comment_text": "", "digests": { "md5": "0962cf752ce4f262529a74bb0d8b951f", "sha256": "1ca7adeca631152298814d5b9b63a399881230edaf9087579a98d1a07473aac2" }, "downloads": -1, "filename": "plone.scale-3.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0962cf752ce4f262529a74bb0d8b951f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 506503, "upload_time": "2018-04-03T20:47:23", "url": "https://files.pythonhosted.org/packages/67/23/5dc436870b2e5b33444af00e9c1aea6fd4b80c7b3227ef1bd47b9537468a/plone.scale-3.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2c257f93374d98621aaf415bc94f3276", "sha256": "b1bf565fb359faa4261e72b5dbc90095393123a9b12223eeeddd71f5e067e164" }, "downloads": -1, "filename": "plone.scale-3.0.1.tar.gz", "has_sig": false, "md5_digest": "2c257f93374d98621aaf415bc94f3276", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 509517, "upload_time": "2018-04-03T20:47:24", "url": "https://files.pythonhosted.org/packages/af/05/33e424a7a11dbc8d20ffa094e7e38b495e5df4b82420d272cd213b028b18/plone.scale-3.0.1.tar.gz" } ], "3.0.2": [ { "comment_text": "", "digests": { "md5": "d66ad85c4f90c0b8132847558bcb3571", "sha256": "d57d1fb153c2a334b9be303f1d8acd7b68b2661995149e79cebb2b5814d99a0d" }, "downloads": -1, "filename": "plone.scale-3.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d66ad85c4f90c0b8132847558bcb3571", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 501886, "upload_time": "2018-09-29T02:28:38", "url": "https://files.pythonhosted.org/packages/91/cf/8b42a33843513ff9af69fcff4ce95a29d19b75fa349b08f93b95144a050d/plone.scale-3.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c0d8eeb9537ee879eabc8cf864b217a9", "sha256": "4149b5f3fda54e8142db3ec36951e79cd6eadd18d044dafbff54dd4981b3e346" }, "downloads": -1, "filename": "plone.scale-3.0.2.tar.gz", "has_sig": false, "md5_digest": "c0d8eeb9537ee879eabc8cf864b217a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 512940, "upload_time": "2018-09-29T02:28:43", "url": "https://files.pythonhosted.org/packages/11/13/7814b1fce498f7374bba6bbc0eed30f5e7ab8ff72992a00506c27ccdf8ee/plone.scale-3.0.2.tar.gz" } ], "3.0.3": [ { "comment_text": "", "digests": { "md5": "d370bb573a1697d3c93526735e70159f", "sha256": "9246d3a6806210e39b9c30c28321c5eb973a7456728e767d9e724308f77a5974" }, "downloads": -1, "filename": "plone.scale-3.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d370bb573a1697d3c93526735e70159f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 501976, "upload_time": "2018-11-04T08:39:19", "url": "https://files.pythonhosted.org/packages/9c/ed/f18071f3bdb03d66497b36d1700f7a4af286563a41acbe4c3ccd2f1d8b32/plone.scale-3.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "13a4b0f2008b2e8385b6811c2de28e5e", "sha256": "4cec2746a49b61d7e01b3222c9b99e7254b4ac1e6ef90253cc57197c98e357af" }, "downloads": -1, "filename": "plone.scale-3.0.3.tar.gz", "has_sig": false, "md5_digest": "13a4b0f2008b2e8385b6811c2de28e5e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 509744, "upload_time": "2018-11-04T08:39:23", "url": "https://files.pythonhosted.org/packages/fc/bc/844dae21aa25c999ea91f8edfafc5eb76dc86b671ee6854be57fdebdafc0/plone.scale-3.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d370bb573a1697d3c93526735e70159f", "sha256": "9246d3a6806210e39b9c30c28321c5eb973a7456728e767d9e724308f77a5974" }, "downloads": -1, "filename": "plone.scale-3.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d370bb573a1697d3c93526735e70159f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 501976, "upload_time": "2018-11-04T08:39:19", "url": "https://files.pythonhosted.org/packages/9c/ed/f18071f3bdb03d66497b36d1700f7a4af286563a41acbe4c3ccd2f1d8b32/plone.scale-3.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "13a4b0f2008b2e8385b6811c2de28e5e", "sha256": "4cec2746a49b61d7e01b3222c9b99e7254b4ac1e6ef90253cc57197c98e357af" }, "downloads": -1, "filename": "plone.scale-3.0.3.tar.gz", "has_sig": false, "md5_digest": "13a4b0f2008b2e8385b6811c2de28e5e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 509744, "upload_time": "2018-11-04T08:39:23", "url": "https://files.pythonhosted.org/packages/fc/bc/844dae21aa25c999ea91f8edfafc5eb76dc86b671ee6854be57fdebdafc0/plone.scale-3.0.3.tar.gz" } ] }