{ "info": { "author": "Christopher Davies", "author_email": "christopherdavies553@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Framework :: Robot Framework", "Framework :: Robot Framework :: Library", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "[![Coverage Status](https://coveralls.io/repos/github/chris104957/robot-blocks/badge.svg?branch=master)](https://coveralls.io/github/chris104957/robot-blocks?branch=master)\n[![Build Status](https://travis-ci.org/chris104957/robot-blocks.svg?branch=master)](https://travis-ci.org/chris104957/robot-blocks)\n[![Maintainability](https://api.codeclimate.com/v1/badges/cd78e641eb83dc3506ae/maintainability)](https://codeclimate.com/github/chris104957/robot-blocks/maintainability)\n\n*This project is still under construction*\n\n# introduction\n\nabout the project\n---\nThis project is intended to provide a simple framework for quickly building source code for robotics projects:\n- allows rapid development with minimal writing of code (refer to below basic example)\n- multithreaded processsing based on hooks/callbacks - removes need for writing multiple loops yourself and facilitates management of robot components \n- comprehensive library of classes for handing interactions with common robot components (motors, servos, ultrasounds, etc.)\n- provides built-in support for multiple control methods (e.g. autonomous obstacle avoidance, remote control, etc.)\n\n# getting started\n\ninstallation\n---\ninstall with pip\n```bash\npip install robot-blocks\n```\n\nbasic example\n---\n\nthis library is meant to allow you to create software for your robot with as few lines of code as possible. Here is a minimal example for creating an obstacle avoidance robot with 2 motors and an ultrasound sensor\n\n```python\n# imports\nfrom robotblocks import Robot\n\n# configure robot\nmy_robot = Robot()\n\nmy_robot.add_motor(position='LEFT', forward_pin=9, backward_pin=10)\nmy_robot.add_motor(position='RIGHT', forward_pin=8, backward_pin=7)\n\nmy_robot.add_sensor('UltrasoundSensor', position='FRONT', input_pin=17, output_pin=18)\n \n# start movement\nmy_robot.start()\n \n```\n\ncallbacks and hooks \n---\n\nthis library provides a full set of hooks that you can use to trigger certain events when your robot is doing certain things. For example:\n\n```python\ndef turn_lights_on():\n \"\"\"\n Turns on the robot's lights\n \"\"\"\n ...\n \ndef turn_lights_off():\n \"\"\"\n turns off the robot's lights\n \"\"\"\n\nmy_robot.add_callback('ON_MOVE_FORWARDS_START', turn_lights_on)\nmy_robot.add_callback('ON_BRAKE', turn_lights_off)\n \n \n```\n\n# misc\n\nlicence\n---\nThe project is licensed under the Apache license.\n\nsupport\n---\nfor help on this project, please raise an [issue](https://github.com/chris104957/robot-blocks/issues)", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://chris104957.github.io/robot-blocks/", "keywords": "", "license": "Apache Software License", "maintainer": "", "maintainer_email": "", "name": "robot-blocks", "package_url": "https://pypi.org/project/robot-blocks/", "platform": "", "project_url": "https://pypi.org/project/robot-blocks/", "project_urls": { "Homepage": "https://chris104957.github.io/robot-blocks/" }, "release_url": "https://pypi.org/project/robot-blocks/0.1.0a8/", "requires_dist": null, "requires_python": "", "summary": "Building blocks for raspberry pi robot software", "version": "0.1.0a8" }, "last_serial": 3498817, "releases": { "0.1.0a8": [ { "comment_text": "", "digests": { "md5": "29f850020886013578028df9f9ee92d3", "sha256": "e916458d0d7fbe27f91e8b4a3ab7badaa2d32ab6e88508d444b3158f95dca7ac" }, "downloads": -1, "filename": "robot-blocks-0.1.0a8.tar.gz", "has_sig": false, "md5_digest": "29f850020886013578028df9f9ee92d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8256, "upload_time": "2018-01-17T22:23:47", "url": "https://files.pythonhosted.org/packages/16/48/976d078dfe4576daf6c5d646ed57a653a0602e74277ffbdbcc278702f942/robot-blocks-0.1.0a8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "29f850020886013578028df9f9ee92d3", "sha256": "e916458d0d7fbe27f91e8b4a3ab7badaa2d32ab6e88508d444b3158f95dca7ac" }, "downloads": -1, "filename": "robot-blocks-0.1.0a8.tar.gz", "has_sig": false, "md5_digest": "29f850020886013578028df9f9ee92d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8256, "upload_time": "2018-01-17T22:23:47", "url": "https://files.pythonhosted.org/packages/16/48/976d078dfe4576daf6c5d646ed57a653a0602e74277ffbdbcc278702f942/robot-blocks-0.1.0a8.tar.gz" } ] }