{ "info": { "author": "Johannes Baiter", "author_email": "johannes.baiter@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "Description\n===========\n An IMMENSELY FAST JPEG thumbnailer library API.\n\n Why write this? It's a convenience library API to using libjpeg to load\n JPEG images destined to be turned into thumbnails of the original, saving\n information with these thumbnails, retreiving it and managing to load the\n image ready for scaling with the minimum of fuss and CPU overhead.\n\n This means it's insanely fast at loading large JPEG images and scaling them\n down to tiny thumbnails. It's speedup will be proportional to the size\n difference between the source image and the output thumbnail size as a\n count of their pixels.\n\n It makes use of libjpeg features of being able to load an image by only\n decoding the DCT coefficients needed to reconstruct an image of the size\n desired. This gives a massive speedup. If you do not try and access the\n pixels in a format other than YUV (or GRAY8 if the source is grascale) then\n it also avoids colorspace conversions as well.\n\nepeg source: https://github.com/mattes/epeg\n\nThis module provides Python bindings via CFFI.\n\nUsage\n=====\n::\n\n In [1]: import epeg\n In [2]: thumbnail_data = epeg.scale_image(\n fname, # Path to source JPEG image\n width, # Desired thumbnail width\n height, # Desired thumbnail height\n quality # Desired quality, default: 75)\n\n\nBenchmarks\n==========\n\nWand\n----\n::\n\n In [1]: from wand.image import Image\n In [2]: %timeit Image(filename='/tmp/007.jpg'); img.sample(800, 600); _ = img.make_blob('jpeg')\n 1 loops, best of 3: 264 ms per loop\n\nPIL/Pillow\n----------\n::\n\n In [1]: from PIL import Image\n In [2]: %timeit Image.open('/tmp/007.jpg').resize((800, 600)).save('/tmp/foo_thumb.jpg')\n 1 loops, best of 3: 234 ms per loop\n\nepeg\n----\n::\n\n In [1]: import epeg\n In [2]: %timeit epeg.scale_image('/tmp/007.jpg', 800, 600)\n 10 loops, best of 3: 101 ms per loop", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/jbaiter/epeg-cffi.git", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "epeg-cffi", "package_url": "https://pypi.org/project/epeg-cffi/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/epeg-cffi/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/jbaiter/epeg-cffi.git" }, "release_url": "https://pypi.org/project/epeg-cffi/0.02/", "requires_dist": null, "requires_python": null, "summary": "Insanely fast JPEG/ JPG thumbnail scaling with the minimum fuss and CPU overhead. It makes use of libjpeg features of being able to load an image by only decoding the DCT coefficients needed to reconstruct an image of the size desired.", "version": "0.02" }, "last_serial": 974258, "releases": { "0.01": [ { "comment_text": "", "digests": { "md5": "0b56b3abd0ff74e60e4af2b76299bacd", "sha256": "21657feedb8ff2488eca69c218222ff232b4dffa79802edb13c324576092c7f1" }, "downloads": -1, "filename": "epeg-cffi-0.01.tar.gz", "has_sig": false, "md5_digest": "0b56b3abd0ff74e60e4af2b76299bacd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10039, "upload_time": "2014-01-19T21:57:29", "url": "https://files.pythonhosted.org/packages/88/d6/f33862484f1b2f95b6ec501872102dc780e602273f45c45a8a6b88578b23/epeg-cffi-0.01.tar.gz" } ], "0.02": [ { "comment_text": "", "digests": { "md5": "53e7260042a67560d42de04a24eaa964", "sha256": "a64c3236f8a0f098274959c10c86cb987ee94a5ec4fb7c354ba7d026a2e76fe9" }, "downloads": -1, "filename": "epeg-cffi-0.02.tar.gz", "has_sig": false, "md5_digest": "53e7260042a67560d42de04a24eaa964", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11788, "upload_time": "2014-01-19T22:20:00", "url": "https://files.pythonhosted.org/packages/00/16/291af5c6dd0d4ffe52843afbddb0c460436176bc40caae028e878d97eaf8/epeg-cffi-0.02.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "53e7260042a67560d42de04a24eaa964", "sha256": "a64c3236f8a0f098274959c10c86cb987ee94a5ec4fb7c354ba7d026a2e76fe9" }, "downloads": -1, "filename": "epeg-cffi-0.02.tar.gz", "has_sig": false, "md5_digest": "53e7260042a67560d42de04a24eaa964", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11788, "upload_time": "2014-01-19T22:20:00", "url": "https://files.pythonhosted.org/packages/00/16/291af5c6dd0d4ffe52843afbddb0c460436176bc40caae028e878d97eaf8/epeg-cffi-0.02.tar.gz" } ] }