{ "info": { "author": "Pierre Manceron", "author_email": "", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Scientific/Engineering" ], "description": "# IKPy #\n\n[![Join the chat at https://gitter.im/Phylliade/ikpy](https://badges.gitter.im/Phylliade/ikpy.svg)](https://gitter.im/Phylliade/ikpy?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)\n![Travis-CI](https://travis-ci.org/Phylliade/ikpy.svg?branch=master)\n[![PyPI](https://img.shields.io/pypi/v/ikpy.svg)](https://pypi.python.org/pypi/ikpy/)\n[![Documentation Status](https://readthedocs.org/projects/ikpy/badge/?version=latest)](http://ikpy.readthedocs.org/en/latest/?badge=latest)\n[![PyPI](https://img.shields.io/pypi/dm/ikpy.svg)](https://pypi.python.org/pypi/ikpy/)\n[![Binder](http://mybinder.org/badge.svg)](http://mybinder.org/repo/Phylliade/ikpy)\n\n![demo](two_arms.png)\n\n# Demo\n\nLive demos of what IKPy can do (click on the image below to see the video):\n\n[![](http://img.youtube.com/vi/H0ysr5qSbis/0.jpg)](https://www.youtube.com/watch?v=H0ysr5qSbis)\n[![](http://img.youtube.com/vi/Jq0-DkEwwj4/0.jpg)](https://www.youtube.com/watch?v=Jq0-DkEwwj4)\n\nAlso, a presentation of IKPy: [Presentation](https://github.com/Phylliade/ikpy/blob/master/tutorials/IKPy%20speech.pdf).\n\n# Features\nWith IKPy, you can:\n\n* Compute the **Inverse Kinematics** of every existing robot.\n* Define your kinematic chain using **arbitrary representations**: DH (Denavit\u2013Hartenberg), URDF standard, custom...\n* Automaticly import a kinematic chain from a **URDF file**.\n* IKPy is **precise** (up to 7 digits): the only limitation being your underlying model's precision, and **fast**: from 7 ms to 50 ms (depending on your precision) for a complete IK computation.\n* **Plot** your kinematic chain: no need to use a real robot (or a simulator) to test your algorithms!\n* Define your own Inverse Kinematics methods.\n\nMoreover, IKPy is a **pure-Python library**: the install is a matter of seconds, and no compiling is required.\n\n# Installation\nYou have three options:\n\n\n1. From PyPI (recommended) - simply run:\n\n ```bash\n pip install ikpy\n ```\n If you intend to plot your robot, you can install the plotting dependencies (mainly `matplotlib`):\n ```bash\n pip install 'ikpy[plot]'\n ```\n\n2. If you work with Anaconda, there's also a Conda package of IKPy:\n ```\n conda install -c https://conda.anaconda.org/phylliade ikpy\n ```\n\n3. From source - first download and extract the archive, then run:\n\n ```bash\n pip install ./\n ```\n NB: You must have the proper rights to execute this command\n\n# Quickstart\nFollow this IPython [notebook](https://github.com/Phylliade/ikpy/blob/master/tutorials/Quickstart.ipynb).\n\n# Guides and Tutorials\nGo to the [wiki](https://github.com/Phylliade/ikpy/wiki). It should introduce you to the basic concepts of IKPy.\n\n# API Documentation\nAn extensive documentation of the API can be found [here](http://ikpy.readthedocs.org).\n\n# Dependencies and compatibility\nThe library can work with both versions of Python (2.7 and 3.x).\nIt requires `numpy` and `scipy`.\n\n`sympy` is highly recommended, for fast hybrid computations, that's why it is installed by default.\n\n`matplotlib` is optional: it is used to plot your models (in 3D).\n\n\n# Contributing\nIKPy is designed to be easily customisable: you can add your own IK methods or robot representations (such as DH-Parameters) using a dedicated [developer API](https://github.com/Phylliade/ikpy/wiki/Contributing).\n\nContributions are welcome: if you have an awesome patented (but also open-source!) IK method, don't hesitate to propose adding it to the library!\n\n# Links\n* If performance is your main concern, `aversive++` has an inverse kinematics [module](https://github.com/AversivePlusPlus/ik) written in C++, which works the same way IKPy does.\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/Phylliade/ikpy", "keywords": "", "license": "GNU GENERAL PUBLIC LICENSE Version 3", "maintainer": "", "maintainer_email": "", "name": "ikpy", "package_url": "https://pypi.org/project/ikpy/", "platform": "", "project_url": "https://pypi.org/project/ikpy/", "project_urls": { "Homepage": "https://github.com/Phylliade/ikpy" }, "release_url": "https://pypi.org/project/ikpy/2.3.3/", "requires_dist": [ "numpy", "scipy", "sympy", "matplotlib ; extra == 'plot'" ], "requires_python": "", "summary": "An inverse kinematics library aiming performance and modularity", "version": "2.3.3" }, "last_serial": 5967029, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "4f1a7557aba33571dc1ffb13f7aecd6a", "sha256": "06301e6d266d145279f3e85a34b4514f174fbf1bf1e810909448d0e2b7ea04f5" }, "downloads": -1, "filename": "ikpy-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4f1a7557aba33571dc1ffb13f7aecd6a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 34255, "upload_time": "2015-12-17T14:17:24", "url": "https://files.pythonhosted.org/packages/a1/b7/60ff97cbc41a38effd85985601317072d5f86fde70c77693606d6c2b1517/ikpy-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "82ac31e8d1f75382514bdf1f2e0506f9", "sha256": "c520216c86c6193e8458a10fd2fe25f2e750c50fa88165aab8270c77a31b0dc1" }, "downloads": -1, "filename": "ikpy-0.1.0.tar.gz", "has_sig": false, "md5_digest": "82ac31e8d1f75382514bdf1f2e0506f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10088, "upload_time": "2015-12-17T14:18:03", "url": "https://files.pythonhosted.org/packages/34/0e/3c6f32ea812ff8153ffb6bcda3e3131f6589e55747d800bcdf7ee70582b0/ikpy-0.1.0.tar.gz" } ], "1.9.99": [ { "comment_text": "", "digests": { "md5": "cce89fd6e0508bcab60446ad7095052b", "sha256": "ecee30d490e1bae0bba1db5de5d47667dde08e2b7de8e5a49aab68e4fcfed3f5" }, "downloads": -1, "filename": "ikpy-1.9.99-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cce89fd6e0508bcab60446ad7095052b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 33383, "upload_time": "2015-12-18T16:28:32", "url": "https://files.pythonhosted.org/packages/19/de/16a4b3383f98ca7f5c1b042ae0dcf10250de3e58cde0fc7b78f5d970823b/ikpy-1.9.99-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a728e713a272b1dbb59ad14c9d41d013", "sha256": "7ed55972cc422994d6f97706c939eac53deb385bb1c3c660cc0c744287d36b21" }, "downloads": -1, "filename": "ikpy-1.9.99.tar.gz", "has_sig": false, "md5_digest": "a728e713a272b1dbb59ad14c9d41d013", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7301, "upload_time": "2015-12-18T16:28:39", "url": "https://files.pythonhosted.org/packages/cc/66/2773eb00249508af69446d0b1e73a274532df97c0522b5a11af757b77cc8/ikpy-1.9.99.tar.gz" } ], "1.9.99.post1": [ { "comment_text": "", "digests": { "md5": "ae16b03b0c1b288fb33f187e8718cd82", "sha256": "3e36cacb1e49da5d19a2d6de19a4e2c40305ae65785380e7de117b190bdaaef1" }, "downloads": -1, "filename": "ikpy-1.9.99.post1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ae16b03b0c1b288fb33f187e8718cd82", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 34177, "upload_time": "2015-12-21T18:03:40", "url": "https://files.pythonhosted.org/packages/a7/fd/3c917ace9c17b32d163612bf05f86807861d7b2abb96c37baf207aa4b985/ikpy-1.9.99.post1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "de1c1bced92c7fd1cb7bee4aa94b308e", "sha256": "b138faaee77ce03c4636367e738bbcf9a3c76a5cdcfbbd8f960c88bf46dbf141" }, "downloads": -1, "filename": "ikpy-1.9.99.post1.tar.gz", "has_sig": false, "md5_digest": "de1c1bced92c7fd1cb7bee4aa94b308e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7844, "upload_time": "2015-12-21T18:03:48", "url": "https://files.pythonhosted.org/packages/62/df/4f822cd8727aed7736e9cb5665a1bbf8f15ee51b50397116e0dc1e7a931a/ikpy-1.9.99.post1.tar.gz" } ], "1.9.99.post2": [ { "comment_text": "", "digests": { "md5": "4718566093d93f2d20442adbd52eeee4", "sha256": "64836f16679dedbd9794a31752c78d79125ba5776728020eb371d7eb5385edb6" }, "downloads": -1, "filename": "ikpy-1.9.99.post2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4718566093d93f2d20442adbd52eeee4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 34517, "upload_time": "2016-01-05T14:39:49", "url": "https://files.pythonhosted.org/packages/34/07/c6a7598dc1359327ce655ec1e950937a2fb9eeedfbe6ca3bc31981025aae/ikpy-1.9.99.post2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1916c08f389fb18805f8dcaa4fc97f25", "sha256": "59164f39dd82fd1604396e0bfd72c70d9492b4342f3c17523d2b5689dcb11915" }, "downloads": -1, "filename": "ikpy-1.9.99.post2.tar.gz", "has_sig": false, "md5_digest": "1916c08f389fb18805f8dcaa4fc97f25", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8203, "upload_time": "2016-01-05T14:39:56", "url": "https://files.pythonhosted.org/packages/3e/27/46a3eb1b82afd223a6bc078a1a7d1187bf202633980336cc148ef7201f76/ikpy-1.9.99.post2.tar.gz" } ], "1.9.99.post3": [ { "comment_text": "", "digests": { "md5": "9eadccccf3df5596f96e6656fe40af99", "sha256": "35747dc5db497a2b4173ff470ef1c6a244e894d6b2c016786438283a83f61147" }, "downloads": -1, "filename": "ikpy-1.9.99.post3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9eadccccf3df5596f96e6656fe40af99", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 34540, "upload_time": "2016-01-06T18:19:17", "url": "https://files.pythonhosted.org/packages/60/38/d607a9ad80422db117f35f4e2cb99d285c0bace9a6f2696da58df5452217/ikpy-1.9.99.post3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9ede0286959abfd7be01158a3f83a788", "sha256": "ef3bcc1299252280753b15c8f6b70f134a06ec8b232f2d449875869bd5147664" }, "downloads": -1, "filename": "ikpy-1.9.99.post3.tar.gz", "has_sig": false, "md5_digest": "9ede0286959abfd7be01158a3f83a788", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8240, "upload_time": "2016-01-06T18:19:28", "url": "https://files.pythonhosted.org/packages/95/d5/e79b39c653f9f31328dea2de9dc73e18d88e00f6e94fdd05e279e8d65ff3/ikpy-1.9.99.post3.tar.gz" } ], "2.0": [ { "comment_text": "", "digests": { "md5": "aaeb2a1a086a593e41bc8ab979f10160", "sha256": "236654e80b07a9779bd8442bc0e223e5d76c6d2738e25ab801afe32e80125016" }, "downloads": -1, "filename": "ikpy-2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "aaeb2a1a086a593e41bc8ab979f10160", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 34662, "upload_time": "2016-01-21T10:37:36", "url": "https://files.pythonhosted.org/packages/bf/f0/3581f59b43688992e1d56630cd6b3fcd7bf0e0c1c1950c7bdf7d260b4909/ikpy-2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "22de373e654bf42982c7d24ac4cfd8be", "sha256": "f3bbefdb9a8d875c54720f0f83d4bfb87f9c0af119e59dc1d050dfc331591754" }, "downloads": -1, "filename": "ikpy-2.0.tar.gz", "has_sig": false, "md5_digest": "22de373e654bf42982c7d24ac4cfd8be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8358, "upload_time": "2016-01-21T10:37:41", "url": "https://files.pythonhosted.org/packages/95/4a/701b9a5ee5bc445b684bb631e280cfc1b13bb641aabdb9d6c462f3405c7e/ikpy-2.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "0f0b860ffea19092aad48aa7e3381f75", "sha256": "2c2abe0db1b6137e5d269522810158ebbd13a3b497dedd04308a6af011187f22" }, "downloads": -1, "filename": "ikpy-2.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0f0b860ffea19092aad48aa7e3381f75", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11423, "upload_time": "2016-05-03T16:21:43", "url": "https://files.pythonhosted.org/packages/d6/bd/84ebe33ee665bb3e92a62e7adad36c857d8730a7484b47ef1cfd60766cc0/ikpy-2.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "36ffa5ba7217b6441e3fa327a69cc58c", "sha256": "0a2a4a8d832ac563f7a7496b3754e43d5e35ca17958f01d06d9833ca4fa49785" }, "downloads": -1, "filename": "ikpy-2.0.1.tar.gz", "has_sig": false, "md5_digest": "36ffa5ba7217b6441e3fa327a69cc58c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8243, "upload_time": "2016-05-03T16:21:07", "url": "https://files.pythonhosted.org/packages/f9/8d/02cb1c91373b5f6d2084f4e0b60e3693d45b5e8877345028b6592e537ec6/ikpy-2.0.1.tar.gz" } ], "2.1": [ { "comment_text": "", "digests": { "md5": "577bbaf91e64e77131e42533f1a198b7", "sha256": "f784640bd771468d1041232871796f87ca32535b29e26a3b8e285a1a6ca93e3d" }, "downloads": -1, "filename": "ikpy-2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "577bbaf91e64e77131e42533f1a198b7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11399, "upload_time": "2016-06-25T15:53:32", "url": "https://files.pythonhosted.org/packages/1d/0f/c737fd6e5646c70250964d1887a6d047392f17d30b270a5258166330ab91/ikpy-2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5565d9cf3713579c631f428c4757b8f3", "sha256": "756fd4e3a72c81a882b999ed5f0202d65f45179fc8f4439208429bed19cc25c3" }, "downloads": -1, "filename": "ikpy-2.1.tar.gz", "has_sig": false, "md5_digest": "5565d9cf3713579c631f428c4757b8f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8226, "upload_time": "2016-06-25T15:53:36", "url": "https://files.pythonhosted.org/packages/82/e4/8989313ceaf29b1db3b1bb70f27e0173521233d190cad55ea0af55a8520a/ikpy-2.1.tar.gz" } ], "2.2": [ { "comment_text": "", "digests": { "md5": "22bc4e440b385806eff7076b95db269b", "sha256": "fe04708133c03bbfb62ebe7aee0535b5814a6c758908e7006a5535ff7836297d" }, "downloads": -1, "filename": "ikpy-2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "22bc4e440b385806eff7076b95db269b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11474, "upload_time": "2016-06-26T20:30:26", "url": "https://files.pythonhosted.org/packages/05/23/45b95edc8d0baaae49a6dc7882fcbec1776dda417d969a9f83b72a3c2c22/ikpy-2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "03b4d1101d298e61d7a2945e9c24cb27", "sha256": "3a0dd03747d62c6cfecd97605b1a3235dd496114595b982ea9bc2779eeebef95" }, "downloads": -1, "filename": "ikpy-2.2.tar.gz", "has_sig": false, "md5_digest": "03b4d1101d298e61d7a2945e9c24cb27", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8290, "upload_time": "2016-06-26T20:30:30", "url": "https://files.pythonhosted.org/packages/3e/bb/64c049784f54ee15db6439a433ee9c5720faa6e1de66f9dce4d0c11d128d/ikpy-2.2.tar.gz" } ], "2.2.1": [ { "comment_text": "", "digests": { "md5": "d674ef6504727baf512c7bb63620706c", "sha256": "3b9db218ab4c4921df0f0922434560e23b18b7a9bd033ba1f501d740c14c8a9d" }, "downloads": -1, "filename": "ikpy-2.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d674ef6504727baf512c7bb63620706c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11516, "upload_time": "2016-06-26T23:36:04", "url": "https://files.pythonhosted.org/packages/01/e7/79557d515e27f88173734365b10f1ae0ed35dd10e58a9a05b8f51a2d468a/ikpy-2.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "35558b6bf3567b9dbadd6a7a3bc50b97", "sha256": "1df915ee4dbb2812b6eac6430e41f93c2875b93b83c2a84461eb112481207d84" }, "downloads": -1, "filename": "ikpy-2.2.1.tar.gz", "has_sig": false, "md5_digest": "35558b6bf3567b9dbadd6a7a3bc50b97", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8305, "upload_time": "2016-06-26T23:36:08", "url": "https://files.pythonhosted.org/packages/0b/22/f162630355a63a6bb65d4028bcf6a24b5222653e6a80719a2634dd4e0036/ikpy-2.2.1.tar.gz" } ], "2.2.2": [ { "comment_text": "", "digests": { "md5": "b511ab6cf48c2432d7af0fd954f95b0d", "sha256": "1d30eaa0f1caec466aa0b55c62d75eb204728c2b52be6c52ad1e70e0143a7904" }, "downloads": -1, "filename": "ikpy-2.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b511ab6cf48c2432d7af0fd954f95b0d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11570, "upload_time": "2016-08-08T04:02:57", "url": "https://files.pythonhosted.org/packages/3a/e0/f585a8d4930a3d864c41278cd1f79a558e151ecd38e9e1e0059ead06919a/ikpy-2.2.2-py2.py3-none-any.whl" } ], "2.2.3": [ { "comment_text": "", "digests": { "md5": "9a51d0b066df3d3b53cfce01811c6ecd", "sha256": "95a65171ba8cecc774ab2b575b29aff02bbd781849c76ead90516ca04edecd3f" }, "downloads": -1, "filename": "ikpy-2.2.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9a51d0b066df3d3b53cfce01811c6ecd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11574, "upload_time": "2016-08-08T04:04:50", "url": "https://files.pythonhosted.org/packages/86/a2/db0d267be2fcd6ed09594569914c51f4236362d0ede5a260ea8ae848b1ac/ikpy-2.2.3-py2.py3-none-any.whl" } ], "2.3": [ { "comment_text": "", "digests": { "md5": "4a4c06a6d4c726d7e525032836aba674", "sha256": "6036959f44c65b89ba7ac0ef7f7db89f9199cc75afbf3bdf77d161d9db11143f" }, "downloads": -1, "filename": "ikpy-2.3-py2-none-any.whl", "has_sig": false, "md5_digest": "4a4c06a6d4c726d7e525032836aba674", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 15458, "upload_time": "2019-04-06T16:14:46", "url": "https://files.pythonhosted.org/packages/76/53/c3bf96b131bc10d3737e09beff6ebe582c2181581df28f98ad905371127f/ikpy-2.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5963ecd55156d1c989aa13afad8ba8d5", "sha256": "d34fafec17a5c6650fc999c73558a7d5dce06bb2ac4b1a36552d3bb5afebf3a1" }, "downloads": -1, "filename": "ikpy-2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "5963ecd55156d1c989aa13afad8ba8d5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 19955, "upload_time": "2019-03-17T16:01:29", "url": "https://files.pythonhosted.org/packages/21/bb/e4cdc6a4086b6f0ec7bd76907eafaf3ffd2f47967e1585371d2af79dd341/ikpy-2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9334b10c0edb83d88a4b2331c41c6b66", "sha256": "45f4d537860b6aa197fc04576bb821040dad9455b7069776dd68e4538247769b" }, "downloads": -1, "filename": "ikpy-2.3.tar.gz", "has_sig": false, "md5_digest": "9334b10c0edb83d88a4b2331c41c6b66", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12712, "upload_time": "2019-03-17T16:01:31", "url": "https://files.pythonhosted.org/packages/e8/f5/1f1463e38d23cac05721aaa8a9800773ef2156655daa5e0e4c0f53e39781/ikpy-2.3.tar.gz" } ], "2.3.1": [ { "comment_text": "", "digests": { "md5": "2f9c30b1e52d3ecdc73541a1b10f86c5", "sha256": "b538e035aba6be6b50fc6f4f1297fc2a6f083cdc89554a400407afbaeecbbe3d" }, "downloads": -1, "filename": "ikpy-2.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2f9c30b1e52d3ecdc73541a1b10f86c5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19961, "upload_time": "2019-04-06T16:29:39", "url": "https://files.pythonhosted.org/packages/c0/d7/909e6665c6b0588a57816f5d373ef32ad5b693c5613047c1324acc8ecf97/ikpy-2.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9543450d4fa4f763389070f947d0acdc", "sha256": "ad5a91ef7c6a24ddaf46ec28c210c08cd13ec2e1595d6e4ba0f5f1a1cd20a6f5" }, "downloads": -1, "filename": "ikpy-2.3.1.tar.gz", "has_sig": false, "md5_digest": "9543450d4fa4f763389070f947d0acdc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12672, "upload_time": "2019-04-06T16:29:40", "url": "https://files.pythonhosted.org/packages/ca/56/2740cca6e69caf5ad73b6fb1323ead4dcefbe7080498ae28e306ab4918df/ikpy-2.3.1.tar.gz" } ], "2.3.2": [ { "comment_text": "", "digests": { "md5": "f7a29ca61a0644776a37304ae581d043", "sha256": "3cd08e35a55554d61ab21fa2e14b7235a2af31f0e861839ca26bcdc9a6fd4a87" }, "downloads": -1, "filename": "ikpy-2.3.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f7a29ca61a0644776a37304ae581d043", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20127, "upload_time": "2019-06-09T22:10:31", "url": "https://files.pythonhosted.org/packages/58/c1/4381b9e125da2b6c8b930f012f06180238a39f1ee6394467220386dcadcf/ikpy-2.3.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2d3f2e129f4743e564de641e44446b23", "sha256": "595ec50474be4296dcd95c03da5f9d806fb9c606d3772829a0a04785155be603" }, "downloads": -1, "filename": "ikpy-2.3.2.tar.gz", "has_sig": false, "md5_digest": "2d3f2e129f4743e564de641e44446b23", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12801, "upload_time": "2019-06-09T22:10:33", "url": "https://files.pythonhosted.org/packages/4b/0c/779e0ac14960365bf14fd8de49ed2fb6a4b37113a9f0c204529fb48e2c67/ikpy-2.3.2.tar.gz" } ], "2.3.3": [ { "comment_text": "", "digests": { "md5": "5cbca1a7acd077c3c9a1f7c91c32960d", "sha256": "39f6429628af22d33533610341231e567b170eb49b737b66253f9190fe39437f" }, "downloads": -1, "filename": "ikpy-2.3.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5cbca1a7acd077c3c9a1f7c91c32960d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20294, "upload_time": "2019-10-13T10:23:02", "url": "https://files.pythonhosted.org/packages/c3/f9/3d6998edc6e8cf1986a4069fdc052c574076067378bf9b1deb72e5e8c2ac/ikpy-2.3.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2d1f68874283c9b8dadeff00ed7b980d", "sha256": "31c98c0ec335715a14d3897f98409269dc0d6af9bf2d047b247907b464dcaef9" }, "downloads": -1, "filename": "ikpy-2.3.3.tar.gz", "has_sig": false, "md5_digest": "2d1f68874283c9b8dadeff00ed7b980d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13000, "upload_time": "2019-10-13T10:23:03", "url": "https://files.pythonhosted.org/packages/e3/ca/6fead1bd97950461db34244294335f89b963278aae5e9aff999a9af685c2/ikpy-2.3.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5cbca1a7acd077c3c9a1f7c91c32960d", "sha256": "39f6429628af22d33533610341231e567b170eb49b737b66253f9190fe39437f" }, "downloads": -1, "filename": "ikpy-2.3.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5cbca1a7acd077c3c9a1f7c91c32960d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20294, "upload_time": "2019-10-13T10:23:02", "url": "https://files.pythonhosted.org/packages/c3/f9/3d6998edc6e8cf1986a4069fdc052c574076067378bf9b1deb72e5e8c2ac/ikpy-2.3.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2d1f68874283c9b8dadeff00ed7b980d", "sha256": "31c98c0ec335715a14d3897f98409269dc0d6af9bf2d047b247907b464dcaef9" }, "downloads": -1, "filename": "ikpy-2.3.3.tar.gz", "has_sig": false, "md5_digest": "2d1f68874283c9b8dadeff00ed7b980d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13000, "upload_time": "2019-10-13T10:23:03", "url": "https://files.pythonhosted.org/packages/e3/ca/6fead1bd97950461db34244294335f89b963278aae5e9aff999a9af685c2/ikpy-2.3.3.tar.gz" } ] }