{ "info": { "author": "Tanya Schlusser", "author_email": "tanya@tickel.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Scientific/Engineering :: Visualization" ], "description": "Array2GIF: convert NumPy arrays to (animated) GIF\n=================================================\n\n\n +-------------+--------------+--------------+\n | |ising1| + |ising2| + |ising3| +\n | T = 0.7 T_c + T = 0.88 T_c + T = 1.06 T_c +\n +-------------+--------------+--------------+\n\n\nArray2GIF provides a single top-level function, `write_gif()`, to\nwrite a 3-D NumPy array to a GIF, or a list of these arrays to an\nanimated GIF. It works for me - just small animations of thermodynamics\nsimulations - like the magnetization in the Ising model shown here.\n\n\nUsage\n-----\n\nHere is an example for a 2 pixel by 3 pixel animated GIF with\ntwo frames, switching 5 frames per second. All animations from this\nlibrary will loop indefinitely.\n\n\n.. code-block:: python\n\n import numpy as np\n from array2gif import write_gif\n\n dataset = [\n np.array([\n [[255, 0, 0], [255, 0, 0]], # red intensities\n [[0, 255, 0], [0, 255, 0]], # green intensities\n [[0, 0, 255], [0, 0, 255]] # blue intensities\n ]),\n np.array([\n [[0, 0, 255], [0, 0, 255]],\n [[0, 255, 0], [0, 255, 0]],\n [[255, 0, 0], [255, 0, 0]]\n ])\n ]\n write_gif(dataset, 'rgbbgr.gif', fps=5)\n\n # or for just a still GIF\n write_gif(dataset[0], 'rgb.gif')\n\n\n\nInstallation\n------------\n\nEither: ::\n\n pip install array2gif\n\nor: ::\n\n pip install git+https://github.com/tanyaschlusser/array2gif.git#egg=array2gif\n\n\n\n.. _`the repository`: http://github.com/tanyaschlusser/array2gif\n.. |ising1| image:: https://tanyaschlusser.github.io/ising/img/ising_animation_1.6.gif\n :scale: 200%\n :width: 84px\n :align: middle\n :alt: Animation of random pixels converging from two colors to one color. T = 0.7 T_c.\n.. |ising2| image:: https://tanyaschlusser.github.io/ising/img/ising_animation_2.0.gif\n :scale: 200%\n :width: 84px\n :align: middle\n :alt: Animation of random pixels converging less slowly to one color. T = 0.88 T_c.\n.. |ising3| image:: https://tanyaschlusser.github.io/ising/img/ising_animation_2.4.gif\n :scale: 200%\n :width: 84px\n :align: middle\n :alt: Animation of random pixels staying mostly random. T = 1.06 T_c.\n\n\n.. :changelog:\n\nRelease History\n---------------\n\n\n1.0.4 (2018-06-22)\n++++++++++++++++++\n\n**Bugfixes**\n\n- Fixed issue where error was raised when non-integer dataset\n is used: instead now it is cast to `uint8` and a warning is\n raised if there's a difference between the two images.\n\n- Addressed issue where no error is raised when there are\n more colors than possible in a GIF (256 max). Although\n it is possible to have a separate palette for every\n single frame, this is not implemented right now, and\n the initial global palette is used for the entire animation.\n\n1.0.3 (2018-06-02)\n++++++++++++++++++\n\n**Bugfixes**\n\n- Did not bump version in documentation last times.\n\n1.0.1 (2018-06-02)\n++++++++++++++++++\n\n**Bugfixes**\n\n- Fixed issue where the width and height of an image are swapped.\n This is clear in image editors but was not obvious when viewed\n in Chrome.\n\n\n1.0.0 (2018-05-23)\n++++++++++++++++++\n\n**Improvements**\n\n- It is now possible to use PIL ordering of data (rows x cols x rgb) \n in addition to the original ordering (rgb x rows x cols).\n\n**Bugfixes**\n\n- Fixed issue where array2gif would raise ``ValueError`` when using\n a 4D NumPy array with perfectly valid data. Now it is possible to\n use either a list of 3D NumPy arrays, or a 4D NumPy array for\n animated gifs.\n\n\n0.1.0 (2016-09-30)\n++++++++++++++++++\n\n**Initial release**\n\n- One single function, ``write_gif``.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/tanyaschlusser/array2gif", "keywords": "array2gif animated gif encoder numpy rgb", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "array2gif", "package_url": "https://pypi.org/project/array2gif/", "platform": "", "project_url": "https://pypi.org/project/array2gif/", "project_urls": { "Homepage": "https://github.com/tanyaschlusser/array2gif" }, "release_url": "https://pypi.org/project/array2gif/1.0.4/", "requires_dist": [ "numpy" ], "requires_python": "", "summary": "Write a (list of) NumPy array(s) to an (animated) GIF.", "version": "1.0.4" }, "last_serial": 3989777, "releases": { "0.1.0b1": [ { "comment_text": "", "digests": { "md5": "6f4aa748e79bccb82a5733dd2968167a", "sha256": "eb6bf1b07f180d5cf43d1f148c6e67eaa431becbf43e916d3fb9515614126647" }, "downloads": -1, "filename": "array2gif-0.1.0b1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6f4aa748e79bccb82a5733dd2968167a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8636, "upload_time": "2016-09-30T12:02:44", "url": "https://files.pythonhosted.org/packages/f0/a2/38c2e1211efbeb7483c320afba74f1b447422fff13f2a088c9a5efda28f5/array2gif-0.1.0b1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ef01278036e1e972d6ae51e825d51ec9", "sha256": "e2055ab07c443982c71635902308340fdae595ccf6c60b83d999fa8aa3718adc" }, "downloads": -1, "filename": "array2gif-0.1.0b1.tar.gz", "has_sig": false, "md5_digest": "ef01278036e1e972d6ae51e825d51ec9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6237, "upload_time": "2016-09-30T12:02:47", "url": "https://files.pythonhosted.org/packages/06/f1/70af9eb93379cea2ace1765855a60161ca6d7e188429ee68e72b9ba05384/array2gif-0.1.0b1.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "92e220675fc87e189bda6fda3f99ca8a", "sha256": "ac38667185fd0f56beca75ce295a83431f5446a6987f1a40f49fbacb12a5653b" }, "downloads": -1, "filename": "array2gif-1.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "92e220675fc87e189bda6fda3f99ca8a", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 7019, "upload_time": "2018-05-23T23:46:24", "url": "https://files.pythonhosted.org/packages/01/83/c66fd5b3923d8f4ee68cfb492eaed9fd41bff2ee8a81d349bbe5815ea056/array2gif-1.0.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "245da6906accc9084241b69a98cdddb4", "sha256": "840a5bc0d35c3431c90787a59bdcee2f302f69f9df69994b75c106cd679f27cf" }, "downloads": -1, "filename": "array2gif-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "245da6906accc9084241b69a98cdddb4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7019, "upload_time": "2018-05-23T23:46:25", "url": "https://files.pythonhosted.org/packages/e1/cc/4890ea0f837796280dff08a440abc67d6aed22178b3092895a1539c108ea/array2gif-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "403f5f9798fa9614bed2f3fbc342f0f9", "sha256": "4c261cf0b958d9fd122180767716337842eee73494297f359dff822904da643d" }, "downloads": -1, "filename": "array2gif-1.0.0.tar.gz", "has_sig": false, "md5_digest": "403f5f9798fa9614bed2f3fbc342f0f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6540, "upload_time": "2018-05-23T23:46:26", "url": "https://files.pythonhosted.org/packages/9d/70/8e09ae30c3bec512d4af94a674225b15f36fbf869705cd19507474d67845/array2gif-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "d7b936b77914bd61a7842c84cbbe15ff", "sha256": "222c0e16bb8ae67c2df296361b66062c49ed69f34485c6fdc9729d402382eb32" }, "downloads": -1, "filename": "array2gif-1.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "d7b936b77914bd61a7842c84cbbe15ff", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 7094, "upload_time": "2018-06-02T13:46:53", "url": "https://files.pythonhosted.org/packages/3b/16/a297f8783206f02a6eacdb7e1bfd4623bea9b162ce2cf65b76adf3fd1789/array2gif-1.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bb65e594f567241b5ea0b8f46b816275", "sha256": "9d6338c884c97c4255406fb25a05e2a15fb0c93bc45b1f0e7cad94efd6a30ab6" }, "downloads": -1, "filename": "array2gif-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "bb65e594f567241b5ea0b8f46b816275", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7094, "upload_time": "2018-06-02T13:46:55", "url": "https://files.pythonhosted.org/packages/62/bb/cde99349494631c0c97b28a02fa240e355eb8cd9a1471c06433bb80b210f/array2gif-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "01d3c61b593b85ca82feab73c0c8dc57", "sha256": "b1ec6515a1a3c0539256c0ee4b4bf8a9a18008e7cac449580ec594ba7b694c94" }, "downloads": -1, "filename": "array2gif-1.0.1.tar.gz", "has_sig": false, "md5_digest": "01d3c61b593b85ca82feab73c0c8dc57", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7667, "upload_time": "2018-06-02T13:46:56", "url": "https://files.pythonhosted.org/packages/0c/b2/5ae0960bf71ee3c12667f721fa73963e33a2d3d6910d2314754e5a836ea8/array2gif-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "3027b4b68488adeaf594b4248a5939e3", "sha256": "15ab15e500f231b519734eb4bcbc65dedb0617f60f9a1c97028a66ed639cc8eb" }, "downloads": -1, "filename": "array2gif-1.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "3027b4b68488adeaf594b4248a5939e3", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 7132, "upload_time": "2018-06-02T16:16:14", "url": "https://files.pythonhosted.org/packages/a6/3b/0b2c9c177321ed5d953b58da07e14ada91dc8cff17556b696f0f9e4a666c/array2gif-1.0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7ac4299195d4b47d605b106ce0eb58d0", "sha256": "6d128e69c7cc5cd4879905254ee95221891a17e08dda7c841a4579d271f23c2c" }, "downloads": -1, "filename": "array2gif-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "7ac4299195d4b47d605b106ce0eb58d0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7133, "upload_time": "2018-06-02T16:16:15", "url": "https://files.pythonhosted.org/packages/80/63/b379c9051810a94882421e1331031aca1b075ae868dee21355ae985ae144/array2gif-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "61b6ba8def9b401552fb833f27ce9ab6", "sha256": "91fb18cec5ef49751fe1abfaf12ac0b5e99935a5e9651dd122919d3ab1045432" }, "downloads": -1, "filename": "array2gif-1.0.2.tar.gz", "has_sig": false, "md5_digest": "61b6ba8def9b401552fb833f27ce9ab6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7701, "upload_time": "2018-06-02T16:16:16", "url": "https://files.pythonhosted.org/packages/c3/7c/a6328fd0685908c36a3648db72e870d7b2446658be46ebdb04f1fc1ee34e/array2gif-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "b6a01982ed2b318ac25fe8236c24588f", "sha256": "c677f92aadfb2b2a923e9037e85fc5e6daee208f8fb864a35b53c828cd04eba7" }, "downloads": -1, "filename": "array2gif-1.0.3-py2-none-any.whl", "has_sig": false, "md5_digest": "b6a01982ed2b318ac25fe8236c24588f", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 7132, "upload_time": "2018-06-02T16:42:36", "url": "https://files.pythonhosted.org/packages/fb/66/15557cfef8bb19f516a07921beaec27af74bfbede4134937d425e06bd2b4/array2gif-1.0.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5c3e2f0f8c5135cbc7d5886c23e7b728", "sha256": "2f792e5fdba9e35b68dab9afebf94ec6021edd41d3b21741ce31345f0587a203" }, "downloads": -1, "filename": "array2gif-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "5c3e2f0f8c5135cbc7d5886c23e7b728", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7133, "upload_time": "2018-06-02T16:42:38", "url": "https://files.pythonhosted.org/packages/3d/c3/9e16602ec1318ef3cc6599b614d88bcd78546360a7ec17288e84a88bb511/array2gif-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "137ab605918d26d6bb4682291ac7221e", "sha256": "bda921f71366246e08235131aefa9b6272c168d886babae71ed4509be884c370" }, "downloads": -1, "filename": "array2gif-1.0.3.tar.gz", "has_sig": false, "md5_digest": "137ab605918d26d6bb4682291ac7221e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7699, "upload_time": "2018-06-02T16:42:39", "url": "https://files.pythonhosted.org/packages/a4/d6/dcea698e79b9aa99d3f887b7a243d4dfad3c12dc40bca9490d7196f28e5b/array2gif-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "f09f8f99f9bb94b0623a41e32ff0bbf4", "sha256": "112529fd6103a40c2111202d32c9b8026d2796870e9df70d6b5881e84f6104fa" }, "downloads": -1, "filename": "array2gif-1.0.4-py2-none-any.whl", "has_sig": false, "md5_digest": "f09f8f99f9bb94b0623a41e32ff0bbf4", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 7769, "upload_time": "2018-06-22T15:24:10", "url": "https://files.pythonhosted.org/packages/46/26/9e21295f863b6706a9e21fd6685cb7e505d3f225bb33650a791a2534e0a4/array2gif-1.0.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "09127611cd05eb6a19cb03894100e23e", "sha256": "b34b6fe589a8044c2d35a39f1f04895b57304894cbe67695ea0f068aa6a3c43c" }, "downloads": -1, "filename": "array2gif-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "09127611cd05eb6a19cb03894100e23e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7769, "upload_time": "2018-06-22T15:24:12", "url": "https://files.pythonhosted.org/packages/42/f4/4dd66a8b65738ea8f2739a48d0e1a79e6a77c0cfb4b35a890eb9792dc861/array2gif-1.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "168a2d5ad8416ab5d0515e08535c80df", "sha256": "bfb92520109af44f5f066fd8dd5e05eda5918d8c771c03a65dad7a7feb178415" }, "downloads": -1, "filename": "array2gif-1.0.4.tar.gz", "has_sig": false, "md5_digest": "168a2d5ad8416ab5d0515e08535c80df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8348, "upload_time": "2018-06-22T15:24:13", "url": "https://files.pythonhosted.org/packages/0c/68/b9100d877ba177e9841e0790480a9620c169166a4676538e553b1206ecf3/array2gif-1.0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f09f8f99f9bb94b0623a41e32ff0bbf4", "sha256": "112529fd6103a40c2111202d32c9b8026d2796870e9df70d6b5881e84f6104fa" }, "downloads": -1, "filename": "array2gif-1.0.4-py2-none-any.whl", "has_sig": false, "md5_digest": "f09f8f99f9bb94b0623a41e32ff0bbf4", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 7769, "upload_time": "2018-06-22T15:24:10", "url": "https://files.pythonhosted.org/packages/46/26/9e21295f863b6706a9e21fd6685cb7e505d3f225bb33650a791a2534e0a4/array2gif-1.0.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "09127611cd05eb6a19cb03894100e23e", "sha256": "b34b6fe589a8044c2d35a39f1f04895b57304894cbe67695ea0f068aa6a3c43c" }, "downloads": -1, "filename": "array2gif-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "09127611cd05eb6a19cb03894100e23e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7769, "upload_time": "2018-06-22T15:24:12", "url": "https://files.pythonhosted.org/packages/42/f4/4dd66a8b65738ea8f2739a48d0e1a79e6a77c0cfb4b35a890eb9792dc861/array2gif-1.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "168a2d5ad8416ab5d0515e08535c80df", "sha256": "bfb92520109af44f5f066fd8dd5e05eda5918d8c771c03a65dad7a7feb178415" }, "downloads": -1, "filename": "array2gif-1.0.4.tar.gz", "has_sig": false, "md5_digest": "168a2d5ad8416ab5d0515e08535c80df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8348, "upload_time": "2018-06-22T15:24:13", "url": "https://files.pythonhosted.org/packages/0c/68/b9100d877ba177e9841e0790480a9620c169166a4676538e553b1206ecf3/array2gif-1.0.4.tar.gz" } ] }