img2gb


Nameimg2gb JSON
Version 1.2.0 PyPI version JSON
download
home_pagehttps://github.com/flozz/img2gb
SummaryConverts images to GameBoy tileset
upload_time2023-10-18 11:58:23
maintainer
docs_urlNone
authorFabien LOISON
requires_python
licenseBSD-3-Clause
keywords gb gameboy image tile tileset tilemap
VCS
bugtrack_url
requirements alabaster argcomplete Babel black certifi charset-normalizer click colorlog distlib docutils filelock flake8 idna imagesize iniconfig Jinja2 MarkupSafe mccabe mypy-extensions nox packaging pathspec Pillow platformdirs pluggy pycodestyle pyflakes Pygments pytest requests snowballstemmer Sphinx sphinx-rtd-theme sphinxcontrib-applehelp sphinxcontrib-devhelp sphinxcontrib-htmlhelp sphinxcontrib-jquery sphinxcontrib-jsmath sphinxcontrib-qthelp sphinxcontrib-serializinghtml urllib3 virtualenv
Travis-CI No Travis.
coveralls test coverage No coveralls.
            img2gb - Converts Images to GameBoy Tileset and Tilemap
=======================================================

|GitHub| |Lint and Tests| |PYPI Version| |License| |Discord| |Black|

    img2gb generates GameBoy Tilesets and Tilemaps from standard image (PNG,
    JPEG,...). It converts the images into the GameBoy image format and
    generates C code (``.c`` and ``.h`` files) that can be used in GameBoy
    projects.

.. image:: ./doc/_static/banner.png

* Documentation: https://flozz.github.io/img2gb/
* HowTo: https://flozz.github.io/img2gb/howto.html


Dependencies
------------

* Python >= 3.8
* Pillow >= 5.0


Install
-------

* See https://flozz.github.io/img2gb/install.html


Usage
-----

* See https://flozz.github.io/img2gb/cli.html


Hacking
-------

Setup
~~~~~

To work on img2gb first create a virtualenv::

    python3 -m venv __env__

and activate it::

    source __env__/bin/activate

Then install the project with all dev dependencies::

    pip install -e .[dev]


Commands
~~~~~~~~

You can lint the code and check coding style with::

    nox -s lint

You can fix coding style using Black with::

    nox -s black_fix

You can run test on all supported Python versions or on a specific Python
version with::

    nox -s test       # Run on all Python version

    nox -s test-3.8   # Run on Python 3.8
    nox -s test-3.9   # Run on Python 3.9
    nox -s test-3.10  # Run on Python 3.10
    nox -s test-3.11  # Run on Python 3.11
    nox -s test-3.12  # Run on Python 3.12

And you can build the documentation with (result in ``build/html/``)::

    nox -s gendoc


Links
-----

* Examples of GameBoy programs that uses img2gb for graphics:
  * https://github.com/flozz/gameboy-examples/tree/master/05-graphics2
  * https://github.com/flozz/gameboy-examples/tree/master/06-graphics3-background
* Article about the tile encoding and img2gb: https://blog.flozz.fr/2018/11/19/developpement-gameboy-5-creer-des-tilesets/ (French)


Support this project
--------------------

Want to support this project?

* `☕️ Buy me a coffee <https://www.buymeacoffee.com/flozz>`__
* `💵️ Give me a tip on PayPal <https://www.paypal.me/0xflozz>`__
* `❤️ Sponsor me on GitHub <https://github.com/sponsors/flozz>`__


Changelog
---------

* **[NEXT]** (changes on ``master``, but not released yet):

  * Nothing yet ;)

* **v1.2.0:**

  * fix: Fixed wrong version displayed (@flozz, #3)
  * chore: Added Python 3.11 and 3.12 support
  * chore!: Removed Python 2.7 and 3.7 support

* **v1.1.0:**

  * Removes arbitrary size limit for tilmaps
  * Implements ``offset`` option (#2)

* **v1.0.0:**

  * Refacto of the Python API, with new high-level fuction to be easier to use
  * Refacto of the CLI: now tileset and tilemap are generated separately, this allow more options for both and covers more usecases.
  * New option to handle alternative palette
  * New option to handle 8x16px sprites
  * Documentation
  * Unit test (everything is not coverd but it is better than nothing :))

* **v0.10.0:** Adds non-RGB image support (indexed images,...)
* **v0.9.1:** Fixes an issue with Python 3
* **v0.9.0:** Initial release (generates tiles, tilesets and tilemaps)


.. |GitHub| image:: https://img.shields.io/github/stars/flozz/img2gb?label=GitHub&logo=github
   :target: https://github.com/flozz/img2gb

.. |Lint and Tests| image:: https://github.com/flozz/img2gb/actions/workflows/python-ci.yml/badge.svg
   :target: https://github.com/flozz/img2gb/actions

.. |PYPI Version| image:: https://img.shields.io/pypi/v/img2gb.svg
   :target: https://pypi.python.org/pypi/img2gb

.. |License| image:: https://img.shields.io/pypi/l/img2gb.svg
   :target: https://github.com/flozz/img2gb/blob/master/LICENSE

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

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

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/flozz/img2gb",
    "name": "img2gb",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "gb gameboy image tile tileset tilemap",
    "author": "Fabien LOISON",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/a3/6f/36cf1a7ab40baeec50a4cd5e0bb1b2ac86013a606360de29ea230a054795/img2gb-1.2.0.tar.gz",
    "platform": null,
    "description": "img2gb - Converts Images to GameBoy Tileset and Tilemap\n=======================================================\n\n|GitHub| |Lint and Tests| |PYPI Version| |License| |Discord| |Black|\n\n    img2gb generates GameBoy Tilesets and Tilemaps from standard image (PNG,\n    JPEG,...). It converts the images into the GameBoy image format and\n    generates C code (``.c`` and ``.h`` files) that can be used in GameBoy\n    projects.\n\n.. image:: ./doc/_static/banner.png\n\n* Documentation: https://flozz.github.io/img2gb/\n* HowTo: https://flozz.github.io/img2gb/howto.html\n\n\nDependencies\n------------\n\n* Python >= 3.8\n* Pillow >= 5.0\n\n\nInstall\n-------\n\n* See https://flozz.github.io/img2gb/install.html\n\n\nUsage\n-----\n\n* See https://flozz.github.io/img2gb/cli.html\n\n\nHacking\n-------\n\nSetup\n~~~~~\n\nTo work on img2gb first create a virtualenv::\n\n    python3 -m venv __env__\n\nand activate it::\n\n    source __env__/bin/activate\n\nThen install the project with all dev dependencies::\n\n    pip install -e .[dev]\n\n\nCommands\n~~~~~~~~\n\nYou can lint the code and check coding style with::\n\n    nox -s lint\n\nYou can fix coding style using Black with::\n\n    nox -s black_fix\n\nYou can run test on all supported Python versions or on a specific Python\nversion with::\n\n    nox -s test       # Run on all Python version\n\n    nox -s test-3.8   # Run on Python 3.8\n    nox -s test-3.9   # Run on Python 3.9\n    nox -s test-3.10  # Run on Python 3.10\n    nox -s test-3.11  # Run on Python 3.11\n    nox -s test-3.12  # Run on Python 3.12\n\nAnd you can build the documentation with (result in ``build/html/``)::\n\n    nox -s gendoc\n\n\nLinks\n-----\n\n* Examples of GameBoy programs that uses img2gb for graphics:\n  * https://github.com/flozz/gameboy-examples/tree/master/05-graphics2\n  * https://github.com/flozz/gameboy-examples/tree/master/06-graphics3-background\n* Article about the tile encoding and img2gb: https://blog.flozz.fr/2018/11/19/developpement-gameboy-5-creer-des-tilesets/ (French)\n\n\nSupport this project\n--------------------\n\nWant to support this project?\n\n* `\u2615\ufe0f Buy me a coffee <https://www.buymeacoffee.com/flozz>`__\n* `\ud83d\udcb5\ufe0f Give me a tip on PayPal <https://www.paypal.me/0xflozz>`__\n* `\u2764\ufe0f Sponsor me on GitHub <https://github.com/sponsors/flozz>`__\n\n\nChangelog\n---------\n\n* **[NEXT]** (changes on ``master``, but not released yet):\n\n  * Nothing yet ;)\n\n* **v1.2.0:**\n\n  * fix: Fixed wrong version displayed (@flozz, #3)\n  * chore: Added Python 3.11 and 3.12 support\n  * chore!: Removed Python 2.7 and 3.7 support\n\n* **v1.1.0:**\n\n  * Removes arbitrary size limit for tilmaps\n  * Implements ``offset`` option (#2)\n\n* **v1.0.0:**\n\n  * Refacto of the Python API, with new high-level fuction to be easier to use\n  * Refacto of the CLI: now tileset and tilemap are generated separately, this allow more options for both and covers more usecases.\n  * New option to handle alternative palette\n  * New option to handle 8x16px sprites\n  * Documentation\n  * Unit test (everything is not coverd but it is better than nothing :))\n\n* **v0.10.0:** Adds non-RGB image support (indexed images,...)\n* **v0.9.1:** Fixes an issue with Python 3\n* **v0.9.0:** Initial release (generates tiles, tilesets and tilemaps)\n\n\n.. |GitHub| image:: https://img.shields.io/github/stars/flozz/img2gb?label=GitHub&logo=github\n   :target: https://github.com/flozz/img2gb\n\n.. |Lint and Tests| image:: https://github.com/flozz/img2gb/actions/workflows/python-ci.yml/badge.svg\n   :target: https://github.com/flozz/img2gb/actions\n\n.. |PYPI Version| image:: https://img.shields.io/pypi/v/img2gb.svg\n   :target: https://pypi.python.org/pypi/img2gb\n\n.. |License| image:: https://img.shields.io/pypi/l/img2gb.svg\n   :target: https://github.com/flozz/img2gb/blob/master/LICENSE\n\n.. |Discord| image:: https://img.shields.io/badge/chat-Discord-8c9eff?logo=discord&logoColor=ffffff\n   :target: https://discord.gg/P77sWhuSs4\n\n.. |Black| image:: https://img.shields.io/badge/code%20style-black-000000.svg\n   :target: https://black.readthedocs.io/en/stable\n",
    "bugtrack_url": null,
    "license": "BSD-3-Clause",
    "summary": "Converts images to GameBoy tileset",
    "version": "1.2.0",
    "project_urls": {
        "Chat": "https://discord.gg/P77sWhuSs4",
        "Donate": "https://github.com/flozz/img2gb#support-this-project",
        "Homepage": "https://github.com/flozz/img2gb",
        "Issues": "https://github.com/flozz/img2gb/issues",
        "Source Code": "https://github.com/flozz/img2gb"
    },
    "split_keywords": [
        "gb",
        "gameboy",
        "image",
        "tile",
        "tileset",
        "tilemap"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4b3ac055502325eac0ef0347564757eb7b69331e67bd64d4c864e9b47970ec9a",
                "md5": "4945e654f0bddab4a5d8b0d2ffdc79c4",
                "sha256": "13c0467fa13e6e8f245710cef06d6d852636babc123331c00f1e038297e6fcc8"
            },
            "downloads": -1,
            "filename": "img2gb-1.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "4945e654f0bddab4a5d8b0d2ffdc79c4",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 14749,
            "upload_time": "2023-10-18T11:58:22",
            "upload_time_iso_8601": "2023-10-18T11:58:22.546305Z",
            "url": "https://files.pythonhosted.org/packages/4b/3a/c055502325eac0ef0347564757eb7b69331e67bd64d4c864e9b47970ec9a/img2gb-1.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a36f36cf1a7ab40baeec50a4cd5e0bb1b2ac86013a606360de29ea230a054795",
                "md5": "1616f5346c8240ef5bd3117a71a997ba",
                "sha256": "cb04a5331d49d3bfb0c5ff9d8b4e5ce6bfcd50315f1b57372e56861c79f26fb8"
            },
            "downloads": -1,
            "filename": "img2gb-1.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "1616f5346c8240ef5bd3117a71a997ba",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 15346,
            "upload_time": "2023-10-18T11:58:23",
            "upload_time_iso_8601": "2023-10-18T11:58:23.707471Z",
            "url": "https://files.pythonhosted.org/packages/a3/6f/36cf1a7ab40baeec50a4cd5e0bb1b2ac86013a606360de29ea230a054795/img2gb-1.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-10-18 11:58:23",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "flozz",
    "github_project": "img2gb",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "alabaster",
            "specs": [
                [
                    "==",
                    "0.7.13"
                ]
            ]
        },
        {
            "name": "argcomplete",
            "specs": [
                [
                    "==",
                    "3.1.2"
                ]
            ]
        },
        {
            "name": "Babel",
            "specs": [
                [
                    "==",
                    "2.13.0"
                ]
            ]
        },
        {
            "name": "black",
            "specs": [
                [
                    "==",
                    "23.10.0"
                ]
            ]
        },
        {
            "name": "certifi",
            "specs": [
                [
                    "==",
                    "2023.7.22"
                ]
            ]
        },
        {
            "name": "charset-normalizer",
            "specs": [
                [
                    "==",
                    "3.3.0"
                ]
            ]
        },
        {
            "name": "click",
            "specs": [
                [
                    "==",
                    "8.1.7"
                ]
            ]
        },
        {
            "name": "colorlog",
            "specs": [
                [
                    "==",
                    "6.7.0"
                ]
            ]
        },
        {
            "name": "distlib",
            "specs": [
                [
                    "==",
                    "0.3.7"
                ]
            ]
        },
        {
            "name": "docutils",
            "specs": [
                [
                    "==",
                    "0.18.1"
                ]
            ]
        },
        {
            "name": "filelock",
            "specs": [
                [
                    "==",
                    "3.12.4"
                ]
            ]
        },
        {
            "name": "flake8",
            "specs": [
                [
                    "==",
                    "6.1.0"
                ]
            ]
        },
        {
            "name": "idna",
            "specs": [
                [
                    "==",
                    "3.4"
                ]
            ]
        },
        {
            "name": "imagesize",
            "specs": [
                [
                    "==",
                    "1.4.1"
                ]
            ]
        },
        {
            "name": "iniconfig",
            "specs": [
                [
                    "==",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "Jinja2",
            "specs": [
                [
                    "==",
                    "3.1.2"
                ]
            ]
        },
        {
            "name": "MarkupSafe",
            "specs": [
                [
                    "==",
                    "2.1.3"
                ]
            ]
        },
        {
            "name": "mccabe",
            "specs": [
                [
                    "==",
                    "0.7.0"
                ]
            ]
        },
        {
            "name": "mypy-extensions",
            "specs": [
                [
                    "==",
                    "1.0.0"
                ]
            ]
        },
        {
            "name": "nox",
            "specs": [
                [
                    "==",
                    "2023.4.22"
                ]
            ]
        },
        {
            "name": "packaging",
            "specs": [
                [
                    "==",
                    "23.2"
                ]
            ]
        },
        {
            "name": "pathspec",
            "specs": [
                [
                    "==",
                    "0.11.2"
                ]
            ]
        },
        {
            "name": "Pillow",
            "specs": [
                [
                    "==",
                    "10.1.0"
                ]
            ]
        },
        {
            "name": "platformdirs",
            "specs": [
                [
                    "==",
                    "3.11.0"
                ]
            ]
        },
        {
            "name": "pluggy",
            "specs": [
                [
                    "==",
                    "1.3.0"
                ]
            ]
        },
        {
            "name": "pycodestyle",
            "specs": [
                [
                    "==",
                    "2.11.1"
                ]
            ]
        },
        {
            "name": "pyflakes",
            "specs": [
                [
                    "==",
                    "3.1.0"
                ]
            ]
        },
        {
            "name": "Pygments",
            "specs": [
                [
                    "==",
                    "2.16.1"
                ]
            ]
        },
        {
            "name": "pytest",
            "specs": [
                [
                    "==",
                    "7.4.2"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    "==",
                    "2.31.0"
                ]
            ]
        },
        {
            "name": "snowballstemmer",
            "specs": [
                [
                    "==",
                    "2.2.0"
                ]
            ]
        },
        {
            "name": "Sphinx",
            "specs": [
                [
                    "==",
                    "7.2.6"
                ]
            ]
        },
        {
            "name": "sphinx-rtd-theme",
            "specs": [
                [
                    "==",
                    "1.3.0"
                ]
            ]
        },
        {
            "name": "sphinxcontrib-applehelp",
            "specs": [
                [
                    "==",
                    "1.0.7"
                ]
            ]
        },
        {
            "name": "sphinxcontrib-devhelp",
            "specs": [
                [
                    "==",
                    "1.0.5"
                ]
            ]
        },
        {
            "name": "sphinxcontrib-htmlhelp",
            "specs": [
                [
                    "==",
                    "2.0.4"
                ]
            ]
        },
        {
            "name": "sphinxcontrib-jquery",
            "specs": [
                [
                    "==",
                    "4.1"
                ]
            ]
        },
        {
            "name": "sphinxcontrib-jsmath",
            "specs": [
                [
                    "==",
                    "1.0.1"
                ]
            ]
        },
        {
            "name": "sphinxcontrib-qthelp",
            "specs": [
                [
                    "==",
                    "1.0.6"
                ]
            ]
        },
        {
            "name": "sphinxcontrib-serializinghtml",
            "specs": [
                [
                    "==",
                    "1.1.9"
                ]
            ]
        },
        {
            "name": "urllib3",
            "specs": [
                [
                    "==",
                    "2.0.7"
                ]
            ]
        },
        {
            "name": "virtualenv",
            "specs": [
                [
                    "==",
                    "20.24.5"
                ]
            ]
        }
    ],
    "lcname": "img2gb"
}
        
Elapsed time: 0.12883s