{ "info": { "author": "Orion Elenzil", "author_email": "orion@makewonder.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Environment :: MacOS X", "Framework :: Robot Framework", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: End Users/Desktop", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Operating System :: MacOS", "Programming Language :: Python :: 2.7" ], "description": "# WonderPy\n[![Build status](https://travis-ci.org/playi/WonderPy.svg?master)](https://travis-ci.org/playi)\n\nThis is an alpha-status project to bring realtime control of the WonderWorkshop robots to Python. \nTo get the most out of this, you should already have a beginner-level comfort with python and the command-line.\n# Project Status\nAt an \"Alpha\" release. It's ready to be tried out by folks who are willing to live with a few more rough-edges than one would want, and ideally who can provide constructive criticism. \n\nPlease see the [\"Issues\" in github](https://github.com/playi/WonderPy/issues) for an up-to-date list of known bugs and to-do items. \n\n# Setup\n## Prerequisites\n1. MacOS\n2. Familiarity with python and command-line tools\n\n## Create a new python virtual environment\n1. `virtualenv --python=/usr/bin/python2.7 --no-site-packages venv`\n2. `source venv/bin/activate`\n\n## Install dependencies\nUnfortunately the AdaFruit BTLE package is not hosted on PyPi, which makes it difficult to automatically install when this package is installed via pip. Additionally, this project requires a fork of that project by WonderWorkshop, which as of this writing has not been merged back into the main project.\n1. `pip install git+git://github.com/playi/Adafruit_Python_BluefruitLE@928669a#egg=Adafruit_BluefruitLE`\n\n## Install WonderPy\n`pip install WonderPy`\n\n# Documentation\nDocumentation is still also in Alpha stage.\n\n* [WonderPy readme](https://github.com/playi/WonderPy/blob/master/README.md)\n\n* [WonderPy Robot Reference Manual](https://github.com/playi/WonderPy/blob/master/doc/WonderPy.md)\n\n* [Tutorials and other examples](https://github.com/playi/WonderPyExamples)\n\n# Getting Started\nThe steps above install the core library. \nThere are many examples of using it separately in the github repository [playi/WonderPyExamples](https://github.com/playi/WonderPyExamples). \n**It is *highly* recommended to look at those examples.**\n\nTo test basic functionality, run these at the command-line, inside your fresh virtualenv: \n\ndownload the \"01\\_hello\\_world.py\" tutorial example: \n```curl -o 01_hello_world.py https://raw.githubusercontent.com/playi/WonderPyExamples/master/tutorial/01_hello_world.py``` \n\nrun it: \n```python 01_hello_world.py```\n\nIt should connect to any nearby robot and say hello !\n\n## Robot Connection Options\nUpon launching any of the examples, the app will scan for robots for at least 5 and at most 20 seconds. After scanning, whichever robot had the highest signal strength (RSSI) will be connected to. This is a reasonable approximation of connecting to the closest robot.\n\n### Connection Options:\n```\n[--connect-type cue | dot | dash]\n filter for robots of the specified type/s\n\n[--connect-name MY_ROBOT | MY_OTHER_ROBOT | ...]\n filter for robots with the specified name/s\n\n[--connect-eager]\n connect as soon as a qualified robot is discovered. \n do not wait the full scanning period.\n if there are more than one robot with matching criteria,\n the one with the best signal is still selected\n\n[--connect-ask] \n show a list of available robots, and interactively ask for input.\n indicates which has the highest signal strength.\n\n``` \n\n### Connection Examples:\n* Spend 5 seconds looking for all Cue and Dash robots which are named either \"sammy\" or \"sally\", and connect to the one with the best signal strength: \n`python demos/roboFun.py --connect-type cue dash --connect-name sammy blippy sally` \n\n* Connect ASAP to any robot named 'orions robot', no matter what type of robot it is. \n`python demos/roboFun.py --connect-eager --connect-name \"orions robot\"` \n\n# Known Issues and To-Do's\nPlease see the [\"Issues\" in github](https://github.com/playi/WonderPy/issues) for an up-to-date list of known bugs and to-do items. \nAs of this writing, the open issues are:\n\n* Only works with a single robot.\n* Only works with Python2.7. \n The limiting factor here is getting the AdaFruit BTLE package to run under Python3. There's evidence this is possible.\n* Once under Python3, update the concurrency model.\n* Flesh-out inline documentation.\n* Make the pip installation more standard.\n Currently this requires a manual install of a github-based fork of the AdaFruit package.\n* Port to Windows, Linux\n\n# Contribute\nPull requests are welcome! \nPlease check the list of issues and todo's at the [WonderPy repository on github](https://github.com/playi/WonderPy/issues). \n\nAdditional examples in the [WonderPyExamples repository](https://github.com/WonderPyExamples) would also be great:\n\n* Integrations with other cool packages\n* IoT integrations\n* Demos with the Sketch Kit accessory\n\nFeature requests for the API should be sent as [new Issues in github](https://github.com/playi/WonderPy/issues). \n\n# Get Help\n### Report Bugs\nIf there's a specific bug or problem with the API, please check the [outstanding issues in github](https://github.com/playi/WonderPy/issues) and if it's not already covered, create a new one. \n\n### Ask for Advice\nIf you have a more general question such as \"how would I approach doing ..\" or you have a tip you'd like to share, please visit [stackoverflow](https://stackoverflow.com/) and be sure to tag your post with **wonderworkshop**.\n\n### Request Features\nFeature requests for the API should be sent as [new Issues in github](https://github.com/playi/WonderPy/issues). \n\n\n# Sharing your work ?\nMade something cool ? We'd love to see it ! \nSend your photos, videos, and links to developers@makewonder.com .\n\n( Note, we can't promise a reply to all emails )\n\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/playi/WonderPy", "keywords": "robots,dash,dot,cue,wonder workshop,robotics,sketchkit", "license": "", "maintainer": "", "maintainer_email": "", "name": "WonderPy", "package_url": "https://pypi.org/project/WonderPy/", "platform": "", "project_url": "https://pypi.org/project/WonderPy/", "project_urls": { "Homepage": "https://github.com/playi/WonderPy" }, "release_url": "https://pypi.org/project/WonderPy/0.1.0/", "requires_dist": [ "mock", "svgpathtools", "PyObjC" ], "requires_python": "", "summary": "Python API for working with Wonder Workshop robots", "version": "0.1.0" }, "last_serial": 4122420, "releases": { "0.0.12": [ { "comment_text": "", "digests": { "md5": "17c9484ed9c12e889868589464d7695e", "sha256": "b4868f760d15a269eed2756dd77e920b8588b0d29aa80037f40ffdbd075683e8" }, "downloads": -1, "filename": "WonderPy-0.0.12-py2-none-any.whl", "has_sig": false, "md5_digest": "17c9484ed9c12e889868589464d7695e", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 498313, "upload_time": "2018-07-25T20:52:05", "url": "https://files.pythonhosted.org/packages/5d/86/d6c375ab795698836b1cd032e30e573d6a9c94bf30d458e6232342e53df6/WonderPy-0.0.12-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "24ffebb19fa8e82089bf8831f29d0307", "sha256": "46595869135f72a8f76904ca7ad6902882f084d2aaba20196cd17fc6ee38763d" }, "downloads": -1, "filename": "WonderPy-0.0.12.tar.gz", "has_sig": false, "md5_digest": "24ffebb19fa8e82089bf8831f29d0307", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 484890, "upload_time": "2018-07-25T20:52:07", "url": "https://files.pythonhosted.org/packages/0d/36/01674d6f57ecfeed754a6666b1e830536079aadaaeec3625967476d78f78/WonderPy-0.0.12.tar.gz" } ], "0.0.13": [ { "comment_text": "", "digests": { "md5": "52dc55bc1f40b5a2c08b75c9a88170f9", "sha256": "1ec80a7855ea7567ab71d0f62bb1ec4b140f7dfe7eb8f1b974630b4796015575" }, "downloads": -1, "filename": "WonderPy-0.0.13-py2-none-any.whl", "has_sig": false, "md5_digest": "52dc55bc1f40b5a2c08b75c9a88170f9", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 497379, "upload_time": "2018-07-30T22:05:57", "url": "https://files.pythonhosted.org/packages/3e/25/51b79d1fea72d09c5d78eb36420a5c2150a0d46a73e7d2dd8347bafb69fd/WonderPy-0.0.13-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "57dfc228abd401db6904d510274e3176", "sha256": "7d53a909b32f338b8d03edebf2ba4a37f2590294aaa4ce89f20cbd8c8a6c8468" }, "downloads": -1, "filename": "WonderPy-0.0.13.tar.gz", "has_sig": false, "md5_digest": "57dfc228abd401db6904d510274e3176", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 483068, "upload_time": "2018-07-30T22:05:58", "url": "https://files.pythonhosted.org/packages/e2/32/02621bde3329cd4a2022ac4759f438a676bfabd3ec8439bb8bb6126adbcc/WonderPy-0.0.13.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "9b0d25cbf179891da9e033319159a08a", "sha256": "b7a6b4f3925fefb850e15f4512c505d6e5e13a8095a6ea3327adc5215c7bf887" }, "downloads": -1, "filename": "WonderPy-0.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "9b0d25cbf179891da9e033319159a08a", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 497445, "upload_time": "2018-07-31T23:31:46", "url": "https://files.pythonhosted.org/packages/d6/b8/9c0e3c2aa561b60c9a894abd336300659f30c2f05ab6fa1f17325049ad4c/WonderPy-0.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6ef2d5cf83fe7550b76531e11ed5de84", "sha256": "e16853d5e813c7a4f2398ed704f7be598c50275d19aaf520ffe69c451b0f6c5b" }, "downloads": -1, "filename": "WonderPy-0.1.0.tar.gz", "has_sig": false, "md5_digest": "6ef2d5cf83fe7550b76531e11ed5de84", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 483217, "upload_time": "2018-07-31T23:31:48", "url": "https://files.pythonhosted.org/packages/43/c4/83a15b71a352cf077c19420d234c21dfd7a7578cba8ed402427870a608c9/WonderPy-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9b0d25cbf179891da9e033319159a08a", "sha256": "b7a6b4f3925fefb850e15f4512c505d6e5e13a8095a6ea3327adc5215c7bf887" }, "downloads": -1, "filename": "WonderPy-0.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "9b0d25cbf179891da9e033319159a08a", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 497445, "upload_time": "2018-07-31T23:31:46", "url": "https://files.pythonhosted.org/packages/d6/b8/9c0e3c2aa561b60c9a894abd336300659f30c2f05ab6fa1f17325049ad4c/WonderPy-0.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6ef2d5cf83fe7550b76531e11ed5de84", "sha256": "e16853d5e813c7a4f2398ed704f7be598c50275d19aaf520ffe69c451b0f6c5b" }, "downloads": -1, "filename": "WonderPy-0.1.0.tar.gz", "has_sig": false, "md5_digest": "6ef2d5cf83fe7550b76531e11ed5de84", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 483217, "upload_time": "2018-07-31T23:31:48", "url": "https://files.pythonhosted.org/packages/43/c4/83a15b71a352cf077c19420d234c21dfd7a7578cba8ed402427870a608c9/WonderPy-0.1.0.tar.gz" } ] }