{ "info": { "author": "Fabien LOISON, Alexis BREUST", "author_email": "contact@wanadev.fr", "bugtrack_url": null, "classifiers": [], "description": "PyGuetzli\n=========\n\n`Build Status `__ `PYPI\nVersion `__\n`License `__\n\n**PyGuetzli** is a Python binding for Google\u2019s\n`Guetzli `__ library.\n\nDescription of **Guetzli** from official\u2019s repo:\n\n Guetzli is a JPEG encoder that aims for excellent compression density\n at high visual quality. Guetzli-generated images are typically 20-30%\n smaller than images of equivalent quality generated by libjpeg.\n Guetzli generates only sequential (nonprogressive) JPEGs due to\n faster decompression speeds they offer.\n\nBuilding and Installing PyGuetzli\n---------------------------------\n\nIn order to build Guetzli, GCC and GNU Make are required. On\nDebian\u00a0/\u00a0Ubuntu, this can be installed with the following command:\n\n::\n\n sudo apt-get install build-essential\n\nInstalling from PYPI\n~~~~~~~~~~~~~~~~~~~~\n\nTo install PyGuetzli from the PYPI package, just run the following\ncommand:\n\n::\n\n pip install pyguetzli\n\nInstalling from source\n~~~~~~~~~~~~~~~~~~~~~~\n\nTo build and install PyGuetzli from source, clone the repository, and\nrun the ``pip install`` command from the project\u2019s root directory:\n\n::\n\n git clone https://github.com/wanadev/pyguetzli.git\n cd pyguetzli\n pip install .\n\nUsing PyGuetzli\n---------------\n\nExample:\n\n.. code:: python\n\n import pyguetzli\n\n input_jpeg = open(\"./test/image.jpg\", \"rb\").read()\n optimized_jpeg = pyguetzli.process_jpeg_bytes(input_jpeg)\n\n output = open(\"./optimized.jpg\", \"wb\")\n output.write(optimized_jpeg)\n\nFor more information, please visit the project\u2019s documentation:\n\n- http://wanadev.github.io/pyguetzli/\n\nTrouble Shooting\n----------------\n\nErrors About Undeclared \u201cnullptr\u201d When Installing / Building PyGuetzli\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nGuetzli is written in C++ 11, so you can encounter errors when trying to\ncompile PyGuetzli with GCC < 6.0:\n\n::\n\n ...\n\n build/temp.linux-x86_64-2.7/pyguetzli._guetzli.cpp: In function \u2018int guetzli_process_rgb_bytes(char*, int, int, char**, int)\u2019:\n\n build/temp.linux-x86_64-2.7/pyguetzli._guetzli.cpp:474:21: error: \u2018nullptr\u2019 was not declared in this scope\n\n Process(params, nullptr, inData, width, height, &outData);\n\n ^\n\n error: command 'gcc' failed with exit status 1\n\nTo compile PyGuetzli using older GCC version, you can set the following\nenvironment variable:\n\n::\n\n CPPFLAGS=\"--std=c++11\"\n\nSee `issue #1 `__ for\nmore information.\n\nHacking\n-------\n\nInstalling Dependencies For Development\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n::\n\n pip install -e .[PIL,dev]\n\nRunning Tests\n~~~~~~~~~~~~~\n\n::\n\n pip install tox\n tox\n\nBy default test will run in Python 2.7, 3.5 and 3.6. To run only on a\nspecific Python version run the following commands:\n\n::\n\n tox -e py27\n tox -e py36\n\nGenerating Documentation\n~~~~~~~~~~~~~~~~~~~~~~~~\n\nFrom a virtualenv:\n\n::\n\n pip install -e .[dev]\n python setup.py build_sphinx\n\nChangelog\n---------\n\n- **1.0.8**: Updates Guetzli and python dependencies\n- **1.0.7:** Fixes unicode issue when installing pyguetzli (#4)\n- **1.0.6:** Fixes a typo in compilator options on unix\n- **1.0.5:** Adds optimization flags when compiling Guetzli\n- **1.0.4:** MS Windows support\n- **1.0.3:** Updates Guetzli library\n- **1.0.2**: PIL Images: fixes crash with non RGB/RGBA images\n (grayscale, indexed,\u2026)\n- **1.0.1**: Adds ``--std=c++11`` flag when building Guetzli\n- **1.0.0**:\n\n - New and simpler API\n - Built-in function to deal with PIL\u00a0/\u00a0Pillow Images\n - Documentation (Sphinx)\n - Guetzli update\n\n- **0.9.0**: Initial release\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/wanadev/pyguetzli", "keywords": "image jpeg optimize guetzli", "license": "Apache-2.0", "maintainer": "", "maintainer_email": "", "name": "pyguetzli", "package_url": "https://pypi.org/project/pyguetzli/", "platform": "", "project_url": "https://pypi.org/project/pyguetzli/", "project_urls": { "Homepage": "https://github.com/wanadev/pyguetzli" }, "release_url": "https://pypi.org/project/pyguetzli/1.0.8/", "requires_dist": null, "requires_python": "", "summary": "Python bindings for Google's Guetzli, a JPEG encoder that optimises JPEG compression", "version": "1.0.8" }, "last_serial": 4853924, "releases": { "0.9.0": [ { "comment_text": "", "digests": { "md5": "14cfca49a18dea51a0d98170d283db93", "sha256": "854e7d664114f224c71e2823e987f85957449f95ed846bb64a38de1f2678decf" }, "downloads": -1, "filename": "pyguetzli-0.9.0.tar.gz", "has_sig": false, "md5_digest": "14cfca49a18dea51a0d98170d283db93", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 93887, "upload_time": "2017-05-05T16:45:51", "url": "https://files.pythonhosted.org/packages/7f/fe/a2d5490fbf6f68378d51c0d5ead11768157d025a18afd5599c667d113081/pyguetzli-0.9.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "ec27fb187c0da14938a0d0d3178bd0f4", "sha256": "9a55f21bd9c3f19bdc8f4f83e493943cef06a71f72913bb256d60166af4dd488" }, "downloads": -1, "filename": "pyguetzli-1.0.0.tar.gz", "has_sig": false, "md5_digest": "ec27fb187c0da14938a0d0d3178bd0f4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 93634, "upload_time": "2017-07-11T14:57:46", "url": "https://files.pythonhosted.org/packages/cf/68/4cff9aed441c9696f8eb85a25f9c0dafef1d98e9b364f4c99a49584ab894/pyguetzli-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "224099ae14f1dd42dd6f38f52106eebd", "sha256": "734ff1396507244c773a0077a611702ae62e0e89b1655e6995f0cd5e3e788184" }, "downloads": -1, "filename": "pyguetzli-1.0.1.tar.gz", "has_sig": false, "md5_digest": "224099ae14f1dd42dd6f38f52106eebd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 94560, "upload_time": "2017-08-21T08:41:14", "url": "https://files.pythonhosted.org/packages/37/02/751079f623f2103a1ef677c2bbe2425e661360da49205676a2ade1eb3ec8/pyguetzli-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "7fd73b8626c94c905757a987f4cb7c82", "sha256": "477c90c45bc6af1dd869d2d953c64f303c48fb8959b92eac2b2c1967e1b8834c" }, "downloads": -1, "filename": "pyguetzli-1.0.2.tar.gz", "has_sig": false, "md5_digest": "7fd73b8626c94c905757a987f4cb7c82", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 94753, "upload_time": "2017-08-29T14:57:15", "url": "https://files.pythonhosted.org/packages/34/d0/131e6057c5744372f36a53e8d7159fb6917e19afdba8d218d26a2952795f/pyguetzli-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "0e5eba2d76bf2f88fc948ac520b8a309", "sha256": "ba9a5c258137754d81c32814851c70794f8ada1d3248410bca8eaa893e9503cf" }, "downloads": -1, "filename": "pyguetzli-1.0.3.tar.gz", "has_sig": false, "md5_digest": "0e5eba2d76bf2f88fc948ac520b8a309", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 103175, "upload_time": "2017-11-22T16:02:13", "url": "https://files.pythonhosted.org/packages/89/13/8b7bf109cb3276a9ba12fc15b6df23ef452fe2631ca7509cbdd7dae1a361/pyguetzli-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "63f8f2982dc11c0395cc3b54663f990a", "sha256": "c30359554c367c3f1532df05ba37b376fa8af50515bac17f8357957b99727f0e" }, "downloads": -1, "filename": "pyguetzli-1.0.4.tar.gz", "has_sig": false, "md5_digest": "63f8f2982dc11c0395cc3b54663f990a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 106402, "upload_time": "2018-02-28T15:19:09", "url": "https://files.pythonhosted.org/packages/86/be/eae312529f04c23f1f97a3461c0c512aabd6be7e80fa37c931fe13d12e28/pyguetzli-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "402dcfe071c2fa750b67b6aa08997218", "sha256": "3d2ef980d7e553e8c9be76880e927255f48abf79e0e360001f54944860067328" }, "downloads": -1, "filename": "pyguetzli-1.0.5.tar.gz", "has_sig": false, "md5_digest": "402dcfe071c2fa750b67b6aa08997218", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 106497, "upload_time": "2018-03-01T10:52:49", "url": "https://files.pythonhosted.org/packages/29/48/6d77ebe87a48454200cbe75f462b773614186bd6b47aa7097676876af192/pyguetzli-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "d7c9935b13b960bac7b06fb048ca932e", "sha256": "650ce509316993b798cc4618bee2259d4971a16c6edc40949bdaa164cc5975ae" }, "downloads": -1, "filename": "pyguetzli-1.0.6.tar.gz", "has_sig": false, "md5_digest": "d7c9935b13b960bac7b06fb048ca932e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 106532, "upload_time": "2018-03-01T10:59:20", "url": "https://files.pythonhosted.org/packages/17/24/cba2044f4ba0e74762d09483ab237fd868049e3f9a1d74455308bcb81c2b/pyguetzli-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "81195b06a951564f96a216a626c6e63b", "sha256": "5b32c37deaa22e38730d44d5f16b408cfb70fd9d0da7472074630dd831939e10" }, "downloads": -1, "filename": "pyguetzli-1.0.7.tar.gz", "has_sig": false, "md5_digest": "81195b06a951564f96a216a626c6e63b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 106646, "upload_time": "2018-03-14T08:37:12", "url": "https://files.pythonhosted.org/packages/44/11/cbf847d1935313c09052cf7870e7b1bf0380a7a90fae2294215c3a8df569/pyguetzli-1.0.7.tar.gz" } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "bf829c199a91f499c7caf8755be6da0d", "sha256": "f4b7d98e4af3e322916b5a922884e721d94848cf18fcc83a713cafb85075f49f" }, "downloads": -1, "filename": "pyguetzli-1.0.8.tar.gz", "has_sig": false, "md5_digest": "bf829c199a91f499c7caf8755be6da0d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 107220, "upload_time": "2019-02-22T10:29:01", "url": "https://files.pythonhosted.org/packages/54/0a/64aee664c9bb8c03966f2c3efe76f5175e8204702aa4337d07184e910896/pyguetzli-1.0.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bf829c199a91f499c7caf8755be6da0d", "sha256": "f4b7d98e4af3e322916b5a922884e721d94848cf18fcc83a713cafb85075f49f" }, "downloads": -1, "filename": "pyguetzli-1.0.8.tar.gz", "has_sig": false, "md5_digest": "bf829c199a91f499c7caf8755be6da0d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 107220, "upload_time": "2019-02-22T10:29:01", "url": "https://files.pythonhosted.org/packages/54/0a/64aee664c9bb8c03966f2c3efe76f5175e8204702aa4337d07184e910896/pyguetzli-1.0.8.tar.gz" } ] }