{
"info": {
"author": "Ju Lin",
"author_email": "soasme@gmail.com",
"bugtrack_url": null,
"classifiers": [
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7"
],
"description": "# nummu (\u5357\u7121)\n\nAn animated image maker.\n\nNOTE: this project in WIP and thus interface might change a lot. Be cautious when using in production.\n\n|Image|Script|\n|-----|------|\n||[examples/helloworld.py](examples/helloworld.py)|\n||[examples/line.py](examples/line.py)|\n||[examples/rect.py](examples/rect.py)|\n| Bubble Sort
 Heap Sort
 Insertion Sort
 Merge Sort
 Quick Sort
 Selection Sort |[examples/sort.py](examples/sort.py)|\n||[examples/image.py](examples/image.py)|\n||[examples/text.py](examples/text.py)|\n\n\n## Install\n\n```\n$ pip install nummu\n```\n\n## Usage\n\nNummu is simply a framework so you might want to implement a class having these methods: `update(delta)`, `draw(palette)`. None of them are absolutely required.\n\n class HelloWorld:\n\n def __init__(self):\n # Do initial work here\n self.position = 0\n\n def update(self, delta):\n # Do some calculation before draw each frame.\n # The delta is in millisecond unit.\n #\n # Don't forget to raise StopIteration somewhere!\n #\n self.position += delta\n if self.position >= 100:\n raise StopIteration\n\n def draw(self, pallete):\n # Pallete is simply a numpy.zeros instance.\n # Overwrite any pixels as you want.\n #\n pallete[:, self.position, :] = 255\n\nBasic usage:\n\n # import nummu\n from nummu import Nummu\n\n # set file size\n nm = Nummu(100, 100)\n\n # add drawer defined previously\n nm.add(HelloWorld())\n\n # export to gif\n nm.export('helloworld.gif', delay=5)\n\n\nCheck the examples in project repo, and hopefully it might help you!\n\n## Develop\n\n```\n$ poetry develop\n$ poetry run python examples/helloworld.py\n```\n\n## Test\n\nCurrently nummu support running on 3.6, 3.7\n\n```\n$ pyenv install 3.6.5\n$ pyenv install 3.7.0b2\n$ pyenv local 3.6.5 3.7.0b2\n$ export PATH=$(pyenv root)/shims:$PATH\n$ tox\npy36 runtests: commands[0] | poetry develop\npy36 runtests: commands[0] | poetry run pytest\npy37 runtests: commands[0] | poetry develop\npy37 runtests: commands[0] | poetry run pytest\n py36: commands succeeded\n py37: commands succeeded\n congratulations :)\n```\n\n## Credit\n\nThanks Pillow, numpy, numpngw and array2gif! Nummu stands on the shoulder of these giants!\n",
"description_content_type": "text/markdown",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "",
"keywords": "",
"license": "",
"maintainer": "Ju Lin",
"maintainer_email": "soasme@gmail.com",
"name": "nummu",
"package_url": "https://pypi.org/project/nummu/",
"platform": "",
"project_url": "https://pypi.org/project/nummu/",
"project_urls": null,
"release_url": "https://pypi.org/project/nummu/0.1.9/",
"requires_dist": [
"numpngw (==0.0.6)",
"array2gif (==1.0.3)",
"Pillow (==5.0.0)"
],
"requires_python": ">=3.6,<4.0",
"summary": "An animated image maker.",
"version": "0.1.9"
},
"last_serial": 3953120,
"releases": {
"0.1.1": [
{
"comment_text": "",
"digests": {
"md5": "c187d4a90d067addf097b296497b2334",
"sha256": "f04fc399bc500c2798f297f8f1f25f748fa7d736fe8f9ab4573d83b31a7108e4"
},
"downloads": -1,
"filename": "nummu-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c187d4a90d067addf097b296497b2334",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">= 3.6.0.0, < 4.0.0.0",
"size": 2487,
"upload_time": "2018-05-24T23:09:04",
"url": "https://files.pythonhosted.org/packages/ac/9a/68f24684c3e72aec02785270a83c3621220aa9b3056bbf7488d52fe0ec40/nummu-0.1.1-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "dbc4de21050c69ca9e6d4609d984e457",
"sha256": "bb412366b18b1d8753495378526d70cf964deeeaa26e90695f5e62f69cd0c921"
},
"downloads": -1,
"filename": "nummu-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "dbc4de21050c69ca9e6d4609d984e457",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">= 3.6.0.0, < 4.0.0.0",
"size": 1249,
"upload_time": "2018-05-24T23:09:05",
"url": "https://files.pythonhosted.org/packages/b7/22/b5d41568a1490c61e736210223351b413b5008fee7f507326eb2cd095375/nummu-0.1.1.tar.gz"
}
],
"0.1.2": [
{
"comment_text": "",
"digests": {
"md5": "45e375690edc29fdd7c583aa3f8dd246",
"sha256": "2575715af342360d56b5fe36109fa1b30535dbc8009ea67be77770e1f13702a6"
},
"downloads": -1,
"filename": "nummu-0.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "45e375690edc29fdd7c583aa3f8dd246",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">= 3.6.0.0, < 4.0.0.0",
"size": 4266,
"upload_time": "2018-05-26T23:45:36",
"url": "https://files.pythonhosted.org/packages/b1/03/28339f29030db43b796b8155e9c9c3eb1b323696bfbbd95523dca5ed3f33/nummu-0.1.2-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "1b638380079658a552097c2eff9c4c36",
"sha256": "5dbcd206e8a426cf8cbf86ff8c45242a2581b060446c469c5fc2fea2fa48ecb7"
},
"downloads": -1,
"filename": "nummu-0.1.2.tar.gz",
"has_sig": false,
"md5_digest": "1b638380079658a552097c2eff9c4c36",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">= 3.6.0.0, < 4.0.0.0",
"size": 2550,
"upload_time": "2018-05-26T23:45:34",
"url": "https://files.pythonhosted.org/packages/2c/bd/89f3074198da2c124bca10ecd7a50ef90c754dda78601f6338689ff9c6e3/nummu-0.1.2.tar.gz"
}
],
"0.1.3": [
{
"comment_text": "",
"digests": {
"md5": "a663dc2a9800af8d705ab43825addf06",
"sha256": "102845dc09e436a1f5dccc6c023dc6e128a308f10612bf3ab4ffee74946f7238"
},
"downloads": -1,
"filename": "nummu-0.1.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a663dc2a9800af8d705ab43825addf06",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">= 3.6.0.0, < 4.0.0.0",
"size": 4545,
"upload_time": "2018-05-27T00:08:36",
"url": "https://files.pythonhosted.org/packages/33/9d/8d94cf61af88a2911afa2bd8fa8ce8097659a2408257f7393c55eca029b7/nummu-0.1.3-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "95711a644616d1c7ba405e58233ae15b",
"sha256": "2b8c5836ffd7003ebaba8ee6d6c153e919bbc8fb09a234ca2b0981de12111b14"
},
"downloads": -1,
"filename": "nummu-0.1.3.tar.gz",
"has_sig": false,
"md5_digest": "95711a644616d1c7ba405e58233ae15b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">= 3.6.0.0, < 4.0.0.0",
"size": 2663,
"upload_time": "2018-05-27T00:08:34",
"url": "https://files.pythonhosted.org/packages/6d/53/d37e83452532be0f8682aeccaed337fe37f12aab836d662c5ee5d40b3a10/nummu-0.1.3.tar.gz"
}
],
"0.1.4": [
{
"comment_text": "",
"digests": {
"md5": "a1416f40cde022d054db6695c90230b3",
"sha256": "5bd27dec75cc3c55749b009954e810775bebcc6346e6ca3a77d1f0dbd8b1a4d0"
},
"downloads": -1,
"filename": "nummu-0.1.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a1416f40cde022d054db6695c90230b3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6,<4.0",
"size": 6365,
"upload_time": "2018-05-29T11:03:53",
"url": "https://files.pythonhosted.org/packages/b1/6f/c5df7eede44cd885865b1d8d0349aefc2c0e46c0daada2b4a29f02c564e3/nummu-0.1.4-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "45fea5c57fb54da1eb53152fb437c281",
"sha256": "92ee095d3060deac3d5181be00e47d093af07cf57f105e3622907ad6ef18d1c4"
},
"downloads": -1,
"filename": "nummu-0.1.4.tar.gz",
"has_sig": false,
"md5_digest": "45fea5c57fb54da1eb53152fb437c281",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6,<4.0",
"size": 3829,
"upload_time": "2018-05-29T11:03:55",
"url": "https://files.pythonhosted.org/packages/5b/6d/2334bc8de02241e6615cbcb77fd2b4208a66da61024a7bc2d5c1bf65d9ab/nummu-0.1.4.tar.gz"
}
],
"0.1.5": [
{
"comment_text": "",
"digests": {
"md5": "628b41f3d3b925253d9f52474466394a",
"sha256": "6cb0f32ac7e906ae152ed384a1628f18a921b9115f67d64eac4fc2fb4924808d"
},
"downloads": -1,
"filename": "nummu-0.1.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "628b41f3d3b925253d9f52474466394a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6,<4.0",
"size": 6978,
"upload_time": "2018-06-04T01:56:03",
"url": "https://files.pythonhosted.org/packages/3c/5f/7c998d0efb3d22ca76425572f5fae0541d8bfe895440cffe9724d44f3b34/nummu-0.1.5-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "d866451c71adb67a26490a24d0f51cbe",
"sha256": "43e80221895e6962dbe6c35fb675b42c608ee232530156364645d1ebe96ebd55"
},
"downloads": -1,
"filename": "nummu-0.1.5.tar.gz",
"has_sig": false,
"md5_digest": "d866451c71adb67a26490a24d0f51cbe",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6,<4.0",
"size": 4238,
"upload_time": "2018-06-04T01:56:05",
"url": "https://files.pythonhosted.org/packages/ec/22/c7ce30a3475e22e40c9948d6ddb6ad3ea7f6f7a4f9133f5544334c529ca8/nummu-0.1.5.tar.gz"
}
],
"0.1.7": [
{
"comment_text": "",
"digests": {
"md5": "0727c4daeb986640cd7191263c6528aa",
"sha256": "f0771a8df7eb86cdab48ac86a89beecaf65cf97c48f26fc392acc5fc196f37c3"
},
"downloads": -1,
"filename": "nummu-0.1.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0727c4daeb986640cd7191263c6528aa",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6,<4.0",
"size": 7094,
"upload_time": "2018-06-04T02:20:41",
"url": "https://files.pythonhosted.org/packages/9b/a8/d8061f9dada6dedbde86a5cce7f074ff6436ccb92b75f1e72ec2e8fbd1a7/nummu-0.1.7-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "afe29349e676dcd0fd82cc960316129c",
"sha256": "590c1359243de9a242596f54a804cb1d395abddf1b546f9c2d6ade6d25ade770"
},
"downloads": -1,
"filename": "nummu-0.1.7.tar.gz",
"has_sig": false,
"md5_digest": "afe29349e676dcd0fd82cc960316129c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6,<4.0",
"size": 4294,
"upload_time": "2018-06-04T02:20:43",
"url": "https://files.pythonhosted.org/packages/0b/5d/381584d35d89d6b3074b8bf28b5e2ef552547ef5017a4352371fade8721a/nummu-0.1.7.tar.gz"
}
],
"0.1.8": [
{
"comment_text": "",
"digests": {
"md5": "96f2996c39c7dc0618d0b75c53bc4dd7",
"sha256": "cb0e31bea7546bf1901e9cd4129eafd10493d53b767f1e5d01aa8e49026e1929"
},
"downloads": -1,
"filename": "nummu-0.1.8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "96f2996c39c7dc0618d0b75c53bc4dd7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6,<4.0",
"size": 7098,
"upload_time": "2018-06-04T02:33:07",
"url": "https://files.pythonhosted.org/packages/64/7e/efc48a2253d578f583f2e4a53a6345d43f9513735dae3c8b873ec26da4bd/nummu-0.1.8-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "8cc446899569f00376ec309e0e85f242",
"sha256": "d62ea83bde4e3ed92483d524413ad0c261ce8751f63d4bc82758250559f798a7"
},
"downloads": -1,
"filename": "nummu-0.1.8.tar.gz",
"has_sig": false,
"md5_digest": "8cc446899569f00376ec309e0e85f242",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6,<4.0",
"size": 4308,
"upload_time": "2018-06-04T02:33:08",
"url": "https://files.pythonhosted.org/packages/2e/c1/4e8ff367ceb43225c0e995b48674a45d65b2da8c667efd4770395e1c3062/nummu-0.1.8.tar.gz"
}
],
"0.1.9": [
{
"comment_text": "",
"digests": {
"md5": "2b8186693f3aedbcd4a248a57eeb5d1a",
"sha256": "8ffcc6da85b2ade879d945c401f3410f5c167cdffc82ea90b67f78568ca4d94f"
},
"downloads": -1,
"filename": "nummu-0.1.9-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2b8186693f3aedbcd4a248a57eeb5d1a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6,<4.0",
"size": 7435,
"upload_time": "2018-06-12T08:42:16",
"url": "https://files.pythonhosted.org/packages/0b/90/fdfa5adc9121de0c67f0aff156ebbaf65395ee74d0cffe2f3c1a2d890fa7/nummu-0.1.9-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "580e80b7d64036110c8999eedfaabf41",
"sha256": "72faf992596a23dda6f32fefd901fe7464e13dfbf3a7bce0eb31ceb98ed774f0"
},
"downloads": -1,
"filename": "nummu-0.1.9.tar.gz",
"has_sig": false,
"md5_digest": "580e80b7d64036110c8999eedfaabf41",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6,<4.0",
"size": 4383,
"upload_time": "2018-06-12T08:42:17",
"url": "https://files.pythonhosted.org/packages/d0/e5/ca0ab0a294309da55d7548f7c902e4ee786cfb9f2902634b2deb97a4d57f/nummu-0.1.9.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "2b8186693f3aedbcd4a248a57eeb5d1a",
"sha256": "8ffcc6da85b2ade879d945c401f3410f5c167cdffc82ea90b67f78568ca4d94f"
},
"downloads": -1,
"filename": "nummu-0.1.9-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2b8186693f3aedbcd4a248a57eeb5d1a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6,<4.0",
"size": 7435,
"upload_time": "2018-06-12T08:42:16",
"url": "https://files.pythonhosted.org/packages/0b/90/fdfa5adc9121de0c67f0aff156ebbaf65395ee74d0cffe2f3c1a2d890fa7/nummu-0.1.9-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "580e80b7d64036110c8999eedfaabf41",
"sha256": "72faf992596a23dda6f32fefd901fe7464e13dfbf3a7bce0eb31ceb98ed774f0"
},
"downloads": -1,
"filename": "nummu-0.1.9.tar.gz",
"has_sig": false,
"md5_digest": "580e80b7d64036110c8999eedfaabf41",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6,<4.0",
"size": 4383,
"upload_time": "2018-06-12T08:42:17",
"url": "https://files.pythonhosted.org/packages/d0/e5/ca0ab0a294309da55d7548f7c902e4ee786cfb9f2902634b2deb97a4d57f/nummu-0.1.9.tar.gz"
}
]
}