Metadata-Version: 2.1
Name: yoga-image-optimizer
Version: 1.0.1
Summary: A graphical interface to convert and optimize JPEG, PNG and WebP images (based on YOGA)
Home-page: https://github.com/flozz/yoga-image-optimizer
Author: Fabien LOISON
License: BSD-3-Clause
Keywords: image jpeg png optimizer converter guetzli zopfli gui gtk
Platform: UNKNOWN
Requires-Dist: yoga (>=1.0.0)
Requires-Dist: pycairo
Requires-Dist: PyGObject (>=3.26)
Provides-Extra: dev
Requires-Dist: nox ; extra == 'dev'
Requires-Dist: flake8 ; extra == 'dev'
Requires-Dist: pytest ; extra == 'dev'
Requires-Dist: black ; extra == 'dev'

YOGA Image Optimizer
====================

|Github| |Discord| |Github Actions| |Black| |License|

**YOGA Image Optimizer** is a graphical user interface for `YOGA Image <https://github.com/wanadev/yoga>`_ that **converts and optimizes** the size of **JPEGs, PNGs and WebP** image files.

.. figure:: ./screenshot.png
   :alt: YOGA Image Optimizer screenshot


Requirements
------------

* Python >= 3.7,
* YOGA >= 0.11.0,
* PyCairo,
* PyGObject >= 3. 36,


Install
-------

Linux (source)
~~~~~~~~~~~~~~

First, you will need to install some dependencies on your system. On Debian and Ubuntu this can be achieved with the following command::

    sudo apt install git build-essential python3 python3-dev python3-pip libgirepository1.0-dev libcairo2-dev pkg-config gir1.2-gtk-3.0

Then clone this repository and navigate to it::

    git clone https://github.com/flozz/yoga-image-optimizer.git
    cd yoga-image-optimizer

Then install YOGA Image Optimizer using pip::

    sudo pip3 install .

Finally, you can install desktop file, icons and manual using the following command::

    sudo ./linuxpkg/copy-data.sh /usr

Linux (PyPI)
~~~~~~~~~~~~

First, you will need to install some dependencies on your system. On Debian and Ubuntu this can be achieved with the following command::

    sudo apt install git build-essential python3 python3-dev python3-pip libgirepository1.0-dev libcairo2-dev pkg-config gir1.2-gtk-3.0

Then install YOGA Image Optimizer using pip::

    sudo pip3 install yoga-image-optimizer

Windows
~~~~~~~

Download either the portable .zip version or the Windows installer from the release page:

* https://github.com/flozz/yoga-image-optimizer/releases


Usage
-----

To run YOGA Image Optimizer, just type the following command::

    yoga-image-optimizer

You can also pass some image files to open::

    yoga-image-optimizer  image1.png  image2.jpeg


Contributing
------------

Questions
~~~~~~~~~

If you have any question, you can:

* `open an issue <https://github.com/flozz/yoga-image-optimizer/issues>`_ on Github,
* or `ask on Discord <https://discord.gg/P77sWhuSs4>`_ (I am not always available for chatting but I try to answer to everyone).

Bugs
~~~~

If you found a bug, please `open an issue <https://github.com/flozz/yoga-image-optimizer/issues>`_ on Github with as much information as possible:

* What is your operating system / Linux distribution (and its version),
* How you installed the software,
* All the logs and message outputted by the software,
* ...

Pull Requests
~~~~~~~~~~~~~

Please consider `filing a bug <https://github.com/flozz/yoga-image-optimizer/issues>`_ before starting to work on a new feature. This will allow us to discuss the best way to do it. This is of course not necessary if you just want to fix some typo or small errors in the code.

Please note that your code must pass tests and follow the coding style defined by the `pep8 <https://pep8.org/>`_. `Flake8 <https://flake8.pycqa.org/en/latest/>`_ and `Black <https://black.readthedocs.io/en/stable/>`_ are used on this project to enforce coding style.

Running The Tests
~~~~~~~~~~~~~~~~~

You will first have to install `nox <https://nox.thea.codes/>`_::

    pip3 install nox

Then you can check for lint error::

    nox --session lint

or run the tests::

    nox --session test

To run the tests only for a specific Python version, you can use following commands (the corresponding Python interpreter must be installed on your machine)::

    nox --session test-3.7
    nox --session test-3.8
    nox --session test-3.9

You can also fix automatically coding style errors with::

    nox -s black_fix

Extract, Update or Build Translations
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

You will first have to install `nox <https://nox.thea.codes/>`_::

    pip3 install nox

To extract messages and update locales run::

    nox --session locales_update

To compile locales, run::

    nox --session locales_compile

**NOTE:** you will need to have ``xgettext``, ``msgmerge`` and ``msgfmt`` executable installed on your system to run the above commands. On Debian / Ubuntu, they can be installed with the following command::

    sudo apt install gettext


Supporting this project
-----------------------

Wanna support this project?

* `☕️ Buy me a coffee <https://www.buymeacoffee.com/flozz>`__,
* `❤️ sponsor me on Github <https://github.com/sponsors/flozz>`__,
* `💵️ or give me a tip on PayPal <https://www.paypal.me/0xflozz>`__.


Changelog
---------

* **[NEXT]**:

  * Nothing yet

* **v1.0.1:**

  * Fix PyPI packages
  * NOTE: no new release for Windows as nothing changed

* **v1.0.0:**

  * Fix ``[-]`` button do not remove selected image
  * Update site URL

* **v0.99.2 (beta):**

  * Fix package data not installed while installing with pip (#3)
  * NOTE: no new release for Windows as nothing changed

* **v0.99.1 (beta):**

  * Fix site URL in setup.py
  * Fix version number

* **v0.99.0 (beta):**

  * Initial release
  * Linux and Windows support
  * Optimizes PNG, JPEG and WebP image formats


.. |Github| image:: https://img.shields.io/github/stars/flozz/yoga-image-optimizer?label=Github&logo=github
   :target: https://github.com/flozz/yoga-image-optimizer

.. |Discord| image:: https://img.shields.io/badge/chat-Discord-8c9eff?logo=discord&logoColor=ffffff
   :target: https://discord.gg/P77sWhuSs4

.. |Github Actions| image:: https://github.com/flozz/yoga-image-optimizer/actions/workflows/python-ci.yml/badge.svg
   :target: https://github.com/flozz/yoga-image-optimizer/actions

.. |Black| image:: https://img.shields.io/badge/code%20style-black-000000.svg
   :target: https://black.readthedocs.io/en/stable/

.. |License| image:: https://img.shields.io/github/license/flozz/yoga-image-optimizer
   :target: https://github.com/flozz/yoga-image-optimizer/blob/master/COPYING


