pyrecoil


Namepyrecoil JSON
Version 0.3.11 PyPI version JSON
download
home_pagehttp://github.com/demozoo/pyrecoil
SummaryPython bindings for RECOIL, the Retro Computer Image Library
upload_time2024-10-29 02:39:11
maintainerNone
docs_urlNone
authorMatt Westcott
requires_python>=3.8
licenseGPLv2+
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            pyrecoil
========

*pyrecoil* provides Python bindings to `RECOIL <https://recoil.sourceforge.net/>`_, the Retro Computer Image Library, allowing you to open over 500 image file formats from retro computers.

Installation
~~~~~~~~~~~~

::

    pip install pyrecoil

``pyrecoil`` is most useful when installed in conjunction with `Pillow <http://pillow.readthedocs.org/>`_, the active fork of the Python Image Library::

    pip install Pillow

Usage
~~~~~

::

    from recoil import RecoilImage

    # load image from disk and decode it:
    img = RecoilImage("foo.lbm")

    # load image from an existing file handle:
    # (filename must still be provided, as a hint to the decoder)
    img = RecoilImage("foo.lbm", f)

    # inspecting properties:
    img.colors  # number of colors used in the image
    > 16

    img.frames  # number of alternating frames (used for 'interlace' / 'gigascreen' effects)
    > 1

    img.size  # return a tuple of (width, height)
    > (320, 200)

    img.original_size  # for images that have been resized to account for non-square pixels
    > (320, 200)

    img.platform
    > 'Amiga'

    # Retrieving pixel data -
    # returns a bytearray consisting of three bytes (r, g, b) for each pixel,
    # in left-to-right, top-to-bottom order
    pixels = img.get_pixels()

    # convert to a PIL / Pillow image object:
    pil_image = img.to_pil()
    pil_image.save('foo.png')

Build notes
~~~~~~~~~~~

The RECOIL library itself is implemented in the `Fusion Programming Language <https://fusion-lang.org>`_. For ease of distribution, the generated C output (``recoil.c`` and ``recoil.h``) from the ``fut`` transpiler is included in the package - this, along with ``recoil_interface.c``, forms the Python extension module.

Author
~~~~~~

Matt Westcott - matt@west.co.tt, https://icosahedron.website/@gasman



            

Raw data

            {
    "_id": null,
    "home_page": "http://github.com/demozoo/pyrecoil",
    "name": "pyrecoil",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": null,
    "author": "Matt Westcott",
    "author_email": "matt@west.co.tt",
    "download_url": "https://files.pythonhosted.org/packages/0a/47/6cfa824a7b9253748f6cc2d3c2fe238db3be8c1f7cf1d2968218ffb88909/pyrecoil-0.3.11.tar.gz",
    "platform": null,
    "description": "pyrecoil\n========\n\n*pyrecoil* provides Python bindings to `RECOIL <https://recoil.sourceforge.net/>`_, the Retro Computer Image Library, allowing you to open over 500 image file formats from retro computers.\n\nInstallation\n~~~~~~~~~~~~\n\n::\n\n    pip install pyrecoil\n\n``pyrecoil`` is most useful when installed in conjunction with `Pillow <http://pillow.readthedocs.org/>`_, the active fork of the Python Image Library::\n\n    pip install Pillow\n\nUsage\n~~~~~\n\n::\n\n    from recoil import RecoilImage\n\n    # load image from disk and decode it:\n    img = RecoilImage(\"foo.lbm\")\n\n    # load image from an existing file handle:\n    # (filename must still be provided, as a hint to the decoder)\n    img = RecoilImage(\"foo.lbm\", f)\n\n    # inspecting properties:\n    img.colors  # number of colors used in the image\n    > 16\n\n    img.frames  # number of alternating frames (used for 'interlace' / 'gigascreen' effects)\n    > 1\n\n    img.size  # return a tuple of (width, height)\n    > (320, 200)\n\n    img.original_size  # for images that have been resized to account for non-square pixels\n    > (320, 200)\n\n    img.platform\n    > 'Amiga'\n\n    # Retrieving pixel data -\n    # returns a bytearray consisting of three bytes (r, g, b) for each pixel,\n    # in left-to-right, top-to-bottom order\n    pixels = img.get_pixels()\n\n    # convert to a PIL / Pillow image object:\n    pil_image = img.to_pil()\n    pil_image.save('foo.png')\n\nBuild notes\n~~~~~~~~~~~\n\nThe RECOIL library itself is implemented in the `Fusion Programming Language <https://fusion-lang.org>`_. For ease of distribution, the generated C output (``recoil.c`` and ``recoil.h``) from the ``fut`` transpiler is included in the package - this, along with ``recoil_interface.c``, forms the Python extension module.\n\nAuthor\n~~~~~~\n\nMatt Westcott - matt@west.co.tt, https://icosahedron.website/@gasman\n\n\n",
    "bugtrack_url": null,
    "license": "GPLv2+",
    "summary": "Python bindings for RECOIL, the Retro Computer Image Library",
    "version": "0.3.11",
    "project_urls": {
        "Homepage": "http://github.com/demozoo/pyrecoil"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3b1ea26f531be83217df73f3f8ed4181519be2c9b839634cf7797e7f151e5e6e",
                "md5": "105fcca5901a71d5a7ab430bb9b2c0e3",
                "sha256": "7fc24099bf4748b50a9864f3d544c35c6d11443ba55dd77e85bfbdbda1087efd"
            },
            "downloads": -1,
            "filename": "pyrecoil-0.3.11-cp310-cp310-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "105fcca5901a71d5a7ab430bb9b2c0e3",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 563798,
            "upload_time": "2024-10-29T02:39:00",
            "upload_time_iso_8601": "2024-10-29T02:39:00.504811Z",
            "url": "https://files.pythonhosted.org/packages/3b/1e/a26f531be83217df73f3f8ed4181519be2c9b839634cf7797e7f151e5e6e/pyrecoil-0.3.11-cp310-cp310-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8848fda82f1eee61e21f6ee0b83ce0375e686119c806e6c40bb62f03ddafb079",
                "md5": "33d6522f3710f339c35f95417f3e95e2",
                "sha256": "e9346588cd5dc2058276b8ec9b8574c897f7fbc6ad90454f42837c33edd4804b"
            },
            "downloads": -1,
            "filename": "pyrecoil-0.3.11-cp311-cp311-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "33d6522f3710f339c35f95417f3e95e2",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 563798,
            "upload_time": "2024-10-29T02:39:02",
            "upload_time_iso_8601": "2024-10-29T02:39:02.654961Z",
            "url": "https://files.pythonhosted.org/packages/88/48/fda82f1eee61e21f6ee0b83ce0375e686119c806e6c40bb62f03ddafb079/pyrecoil-0.3.11-cp311-cp311-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4bf61803db453045605a3cec69f3a7e5b4912fed772aabc356a8d82946f31cbd",
                "md5": "6e59a0cf6333735f9b8b0b36e2c2f078",
                "sha256": "1ed0bc6a8e42f64eaf62ebb0de1da92e7830f2ee999f73202a5dd18eb813787f"
            },
            "downloads": -1,
            "filename": "pyrecoil-0.3.11-cp312-cp312-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "6e59a0cf6333735f9b8b0b36e2c2f078",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 563763,
            "upload_time": "2024-10-29T02:39:05",
            "upload_time_iso_8601": "2024-10-29T02:39:05.297688Z",
            "url": "https://files.pythonhosted.org/packages/4b/f6/1803db453045605a3cec69f3a7e5b4912fed772aabc356a8d82946f31cbd/pyrecoil-0.3.11-cp312-cp312-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3f4006eca6d09dab40b6cea3c7a9b73a477834eb787f2c1f123da8c92f0edc7b",
                "md5": "6dfbb6e24cd394733926373d3016f8fa",
                "sha256": "10c84b1f5480575e403c034b19d9ae8f340ae01d533de1ab275ce96af8900036"
            },
            "downloads": -1,
            "filename": "pyrecoil-0.3.11-cp313-cp313-macosx_10_13_universal2.whl",
            "has_sig": false,
            "md5_digest": "6dfbb6e24cd394733926373d3016f8fa",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 566135,
            "upload_time": "2024-10-29T02:39:07",
            "upload_time_iso_8601": "2024-10-29T02:39:07.206711Z",
            "url": "https://files.pythonhosted.org/packages/3f/40/06eca6d09dab40b6cea3c7a9b73a477834eb787f2c1f123da8c92f0edc7b/pyrecoil-0.3.11-cp313-cp313-macosx_10_13_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "091d43d1c9ade4a0ec659d6f3baea278f40ac7eb4ab7f15189459b922cc0c3b6",
                "md5": "0a9f9cb57d697886ad9b1ae7757d9402",
                "sha256": "1ae3c5de1087fa8e5cc1951470e2166b727bd14345b9cf5ee4004cbeafabb098"
            },
            "downloads": -1,
            "filename": "pyrecoil-0.3.11-cp38-cp38-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "0a9f9cb57d697886ad9b1ae7757d9402",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 292481,
            "upload_time": "2024-10-29T02:39:08",
            "upload_time_iso_8601": "2024-10-29T02:39:08.764118Z",
            "url": "https://files.pythonhosted.org/packages/09/1d/43d1c9ade4a0ec659d6f3baea278f40ac7eb4ab7f15189459b922cc0c3b6/pyrecoil-0.3.11-cp38-cp38-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "27ba0ce7f736a47e55f26e83072601ec0c07dc3396764cdb162453b80a828705",
                "md5": "1fca7f469530e30e86c633ac82a61bed",
                "sha256": "aeb019a866c9d71a7844894c5206101009f5287f1e6aefbdf825367ef2c58db8"
            },
            "downloads": -1,
            "filename": "pyrecoil-0.3.11-cp39-cp39-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1fca7f469530e30e86c633ac82a61bed",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 292551,
            "upload_time": "2024-10-29T02:39:10",
            "upload_time_iso_8601": "2024-10-29T02:39:10.308007Z",
            "url": "https://files.pythonhosted.org/packages/27/ba/0ce7f736a47e55f26e83072601ec0c07dc3396764cdb162453b80a828705/pyrecoil-0.3.11-cp39-cp39-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0a476cfa824a7b9253748f6cc2d3c2fe238db3be8c1f7cf1d2968218ffb88909",
                "md5": "8746ecff64fd5c2c1167ff7f7bbd3b98",
                "sha256": "6047250cf301d06ab9f4fb1123680cdf47bf08ef6808e8d2828d5101eb526d49"
            },
            "downloads": -1,
            "filename": "pyrecoil-0.3.11.tar.gz",
            "has_sig": false,
            "md5_digest": "8746ecff64fd5c2c1167ff7f7bbd3b98",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 141008,
            "upload_time": "2024-10-29T02:39:11",
            "upload_time_iso_8601": "2024-10-29T02:39:11.933559Z",
            "url": "https://files.pythonhosted.org/packages/0a/47/6cfa824a7b9253748f6cc2d3c2fe238db3be8c1f7cf1d2968218ffb88909/pyrecoil-0.3.11.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-29 02:39:11",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "demozoo",
    "github_project": "pyrecoil",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pyrecoil"
}
        
Elapsed time: 0.39330s