{ "info": { "author": "Nico Schl\u00f6mer", "author_email": "nico.schloemer@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Mathematics" ], "description": "# epicycler\n\n[![CircleCI](https://img.shields.io/circleci/project/github/nschloe/epicycler/master.svg)](https://circleci.com/gh/nschloe/epicycler/tree/master)\n[![codecov](https://img.shields.io/codecov/c/github/nschloe/epicycler.svg)](https://codecov.io/gh/nschloe/epicycler)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)\n[![PyPi Version](https://img.shields.io/pypi/v/epicycler.svg)](https://pypi.org/project/epicycler)\n[![GitHub stars](https://img.shields.io/github/stars/nschloe/epicycler.svg?logo=github&label=Stars)](https://github.com/nschloe/epicycler)\n\n![circles](https://nschloe.github.io/epicycler/circles.gif)\n\n[Epicylces](https://en.wikipedia.org/wiki/Deferent_and_epicycle) have been used for\nmillenia to describe the motion of planets; even\n[Copernicus](https://en.wikipedia.org/wiki/Nicolaus_Copernicus) still used them. They\ngot out of fashion when [Kepler](https://en.wikipedia.org/wiki/Johannes_Kepler)\nthought about ellipses, but one can still fool around with epicycles a bit. See\n[mathologer's awesome video about it](https://youtu.be/qS4H6PEcCCA) (which in fact\nmotivated this little package).\n\n### Create animations from polygons\n\nGiven a number of 2D polygonal points, epicycler creates nice animations. For example,\nthe above is created with\n```bash\nepicycler-poly \\\n 0.0 0.0 \\\n 1.0 0.0 \\\n 1.0 2.0 \\\n -0.5 1.1 \\\n -0.5 2.1 \\\n --xylim -1.5 +2.0 -1.3 3.0\n```\nSee\n```bash\nepicycler-poly -h\n```\nfor more options.\n\n### Installation\n\nepicycler is [available from the Python Package\nIndex](https://pypi.org/project/epicycler/), so simply type\n```\npip install -U epicycler\n```\nto install or upgrade.\n\n### Create animations from image files\n![seagull](https://nschloe.github.io/epicycler/seagull.png)\n\nGiven a (small) linedrawing image file like the above seagull,\nepicycler can create an animation from it\n```bash\nepicycler-image in.png -c 0.5\n```\nUse the `-c` option for reducing the number of circles by cutting off those smaller than\nthe given threshold radius; notice then how the polygon points are not followed exactly:\n\n![seagull-gif](https://nschloe.github.io/epicycler/seagull.gif)\n\n\n### Creating a GIF\n\n```bash\nffmpeg -i out.mp4 -r 10 'frame-%03d.png'\nconvert -delay 5 -loop 0 frame-*.png out.gif\n```\n\n### Testing\n\nTo run the epicycler unit tests, check out this repository and type\n```\npytest\n```\n\n### Distribution\n\nTo create a new release\n\n1. bump the `__version__` number,\n\n2. publish to PyPi and GitHub:\n ```\n make publish\n ```\n\n### License\n\nepicycler is published under the [MIT license](https://en.wikipedia.org/wiki/MIT_License).\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/nschloe/epicycler", "keywords": "", "license": "License :: OSI Approved :: MIT License", "maintainer": "", "maintainer_email": "", "name": "epicycler", "package_url": "https://pypi.org/project/epicycler/", "platform": "", "project_url": "https://pypi.org/project/epicycler/", "project_urls": { "Homepage": "https://github.com/nschloe/epicycler" }, "release_url": "https://pypi.org/project/epicycler/0.1.0/", "requires_dist": [ "matplotlib", "numpy", "tspsolve" ], "requires_python": "", "summary": "Compute and draw epicycler in Python", "version": "0.1.0" }, "last_serial": 4044432, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "3a0d5ac24cbb43f2e75ce238e2c02445", "sha256": "713cd98c6cbc8f23264ab15d24b5ea2d9860d4cb84e83c6a8f608b01c8e2bf8a" }, "downloads": -1, "filename": "epicycler-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3a0d5ac24cbb43f2e75ce238e2c02445", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6199, "upload_time": "2018-07-09T17:08:33", "url": "https://files.pythonhosted.org/packages/8b/97/0969201180856ad1c7d5d41056aa44b9b708c50ccf6372c8fba75de7daa6/epicycler-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8f3ef663f9678bbd4136939294f52c20", "sha256": "c668b25b3f442caaba6f0e40ba983f29319a1636b6b01b4a0960d23c53e3bde2" }, "downloads": -1, "filename": "epicycler-0.1.0.tar.gz", "has_sig": false, "md5_digest": "8f3ef663f9678bbd4136939294f52c20", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5727, "upload_time": "2018-07-09T17:08:34", "url": "https://files.pythonhosted.org/packages/95/d0/91039685ca05622674c6e37365b88654ee02d00c3fc14793d8262d194677/epicycler-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3a0d5ac24cbb43f2e75ce238e2c02445", "sha256": "713cd98c6cbc8f23264ab15d24b5ea2d9860d4cb84e83c6a8f608b01c8e2bf8a" }, "downloads": -1, "filename": "epicycler-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3a0d5ac24cbb43f2e75ce238e2c02445", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6199, "upload_time": "2018-07-09T17:08:33", "url": "https://files.pythonhosted.org/packages/8b/97/0969201180856ad1c7d5d41056aa44b9b708c50ccf6372c8fba75de7daa6/epicycler-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8f3ef663f9678bbd4136939294f52c20", "sha256": "c668b25b3f442caaba6f0e40ba983f29319a1636b6b01b4a0960d23c53e3bde2" }, "downloads": -1, "filename": "epicycler-0.1.0.tar.gz", "has_sig": false, "md5_digest": "8f3ef663f9678bbd4136939294f52c20", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5727, "upload_time": "2018-07-09T17:08:34", "url": "https://files.pythonhosted.org/packages/95/d0/91039685ca05622674c6e37365b88654ee02d00c3fc14793d8262d194677/epicycler-0.1.0.tar.gz" } ] }