{ "info": { "author": "Pingo Team @ Garoa Hacker Clube", "author_email": "luciano at sign ramalho within the dot org tld", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Environment :: Console", "Environment :: Handhelds/PDA's", "Environment :: Other Environment", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: End Users/Desktop", "Intended Audience :: Information Technology", "Intended Audience :: Manufacturing", "Intended Audience :: Other Audience", "Intended Audience :: Science/Research", "Intended Audience :: Telecommunications Industry", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 2 :: Only", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Education", "Topic :: Home Automation", "Topic :: Internet", "Topic :: Other/Nonlisted Topic", "Topic :: Software Development", "Topic :: Software Development :: Embedded Systems", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "pingo\n=====\n\nPingo provides a uniform API to program devices like the Raspberry Pi, BeagleBone Black, pcDuino etc. just like the Python DBAPI provides an uniform API for database programming in Python.\n\nThe API is object-oriented but easy to use: a board is an instance of a ``Board`` subclass. Every board has a dictionary called ``pins`` which lists all GPIO pins on the board. Each pin is an instance of a ``Pin`` subclass with attributes that you can inspect to learn about its capabilities.\n\nThe name `Pingo`_ is a tribute to `Garoa Hacker Clube`_, where the project started (the words *pingo* and *garoa* are related in Portuguese). To our English-speaking friends we like to say that it means **\"pin, go!\"** -- the main purpose of this package.\n\n.. _Pingo: https://garoa.net.br/wiki/Pingo\n.. _Garoa Hacker Clube: https://garoa.net.br/wiki/Garoa_Hacker_Clube:About\n\n\n.. _basic-usage:\n\n-----------\nBasic usage\n-----------\n\nTo use ``pingo``, the first step is to instatiate a concrete `Board`. Each Pingo driver is a concrete board, for example, ``pingo.rpi.RaspberryPi`` and ``pingo.arduino.ArduinoFirmata`` are two such boards.\n\nPingo can automatically detect the board in most common cases. If it is running on a supported board, ``pingo.detect.MyBoard()`` returns an proper board instance. If Pingo is running on an unsupported machine (eg. a PC running GNU/Linux), it will try to find a remote Arduino using the Firmata protocol via USB and -- if succesfull -- will return a ``pingo.arduino.ArduinoFirmata`` instance.\n\nOnce you have a board instance, its possible to access its pins through the ``board.pins`` dict.\n\n.. code-block:: python\n\n import pingo\n from time import sleep\n\n board = pingo.detect.MyBoard()\n led_pin = board.pins[13]\n led_pin.mode = pingo.OUT\n\n while True:\n led_pin.hi()\n sleep(1)\n led_pin.lo()\n sleep(1)\n\n.. _drivers-table:\n\n-------\nDrivers\n-------\n\n``pingo.udoo.udoo`` ``pingo.arduino.yun`` are examples of drivers, and the respective ``Udoo`` and ``YunBridge`` are extends the ``pingo.board.Board`` interface class.\n\nThe following table lists the drivers currently planned or under development.\n\n===================== ======== =============== ======== ==================================================\nBoard Type Module/Package Status Notes\n===================== ======== =============== ======== ==================================================\nArduino Firmata remote arduino level 1 requires `firmata protocol`_ on any Arduino board\nArduino Y\u00fan on-board experim. requires `Bridge sketch`_ on the Arduino Y\u00fan\nTI BeagleBone Black on-board bbb experim.\nCubietech Cubieboard on-board none\nFantasma fake ghost level 1 not a real board, just a software fake for testing\nSolidRun HummingBoard on-board none\nIntel Galileo on-board galileo none\nTI MSP430 remote none requires `firmata protocol`_ on any MSP430 board\nLinkSprite pcDuino on-board pcduino level 1\nelement14 RaspberryPi on-board rpi level 0 requires `RPi.GPIO`_ on the Raspberry Pi\nSECO UDOO on-board udoo level 0\n===================== ======== =============== ======== ==================================================\n\n.. _Firmata protocol: http://arduino.cc/en/reference/firmata\n.. _Bridge sketch: http://arduino.cc/en/Reference/YunBridgeLibrary\n.. _RPi.GPIO: https://pypi.python.org/pypi/RPi.GPIO\n\nTypes of drivers\n----------------\n\non-board\n Pingo and user code run on the board itself, using the Python interpreter installed in it.\n\nremote\n Pingo and user code run on host computer connected to board, controlling the board remotely. Useful for boards that are unable to run Python, like the Arduino UNO.\n\nfake\n Pingo and user code run on host computer emulating a dummy board in software. Useful for testing base classes from ``board.py`` and for teaching and demonstration.\n\n.. _status-of-drivers:\n\nStatus of drivers\n-----------------\n\nlevel 0\n Digital I/O: get/set high/low status of digital pins (no PWM support).\n\nlevel 1\n Analog input: read values from analog pins.\n\nlevel 2\n PWM output: set variable value for digital pins with PWM capability.\n\nexperiments\n Some Python experiments have been done with the board. See the ``experiments/`` directory for code that may be helpful to start a new driver for a board.\n\nnone\n Nothing has been done. Great opportunity for you to contribute with experiments and/or start a new driver.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/garoa/pingo", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "pingo", "package_url": "https://pypi.org/project/pingo/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pingo/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/garoa/pingo" }, "release_url": "https://pypi.org/project/pingo/0.2.0/", "requires_dist": null, "requires_python": null, "summary": "Generic API to control boards with programmable IO pins.", "version": "0.2.0" }, "last_serial": 1188533, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "9defd3389b99dfc30266c08c14187b69", "sha256": "962d97b9bb7ee69362219a39ff915d72666babad8ef6db6156e6d7d6f7219a3f" }, "downloads": -1, "filename": "pingo-0.1.1.tar.gz", "has_sig": false, "md5_digest": "9defd3389b99dfc30266c08c14187b69", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4833, "upload_time": "2014-04-16T00:16:13", "url": "https://files.pythonhosted.org/packages/6a/6e/a8cceca95f59a352bbaebee359d5f23b6a3b298d6fab609016264f89845e/pingo-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "836d2f6c623e647691e6ab18bed4b10d", "sha256": "d50bcd6f428b14e5c59ebfa0385e67902d3bb4bf974f95e944a2025a1c5858fd" }, "downloads": -1, "filename": "pingo-0.1.2.tar.gz", "has_sig": false, "md5_digest": "836d2f6c623e647691e6ab18bed4b10d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4889, "upload_time": "2014-04-16T01:02:12", "url": "https://files.pythonhosted.org/packages/d0/d7/9416e1f6c504b4260f8a85aa0912dd17a231cac292528c6728544e7cd234/pingo-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "d077c33edab994580033212d6cd0cf76", "sha256": "cfa6941be182a100eca0a9c3e60d84a55025a699c7905ea05cb0da7925a47b7e" }, "downloads": -1, "filename": "pingo-0.1.3.tar.gz", "has_sig": false, "md5_digest": "d077c33edab994580033212d6cd0cf76", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4874, "upload_time": "2014-04-16T01:06:29", "url": "https://files.pythonhosted.org/packages/ef/0d/f9608f98159f1de6a82783a6c62c36cdf274eca8088daa49b1658b8062bd/pingo-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "3fe56a45bb6c9985f82826b2bdfa454a", "sha256": "974623ff8139ac5b9f4251c566be5125304c16899bb5ff36fdaa3535c7cfa483" }, "downloads": -1, "filename": "pingo-0.1.4.tar.gz", "has_sig": false, "md5_digest": "3fe56a45bb6c9985f82826b2bdfa454a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4936, "upload_time": "2014-04-16T01:09:14", "url": "https://files.pythonhosted.org/packages/47/76/03fc995e832679264cf2fa877be6c6b04153e5954262f94ea2e3578454ae/pingo-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "406f925debef848b26ceb74024eb3945", "sha256": "5d83dc08950c954e2b52b8e8c35a0d84392514344db28d22bfd99897bfb4d3a7" }, "downloads": -1, "filename": "pingo-0.1.5.tar.gz", "has_sig": false, "md5_digest": "406f925debef848b26ceb74024eb3945", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4935, "upload_time": "2014-04-16T01:12:15", "url": "https://files.pythonhosted.org/packages/dc/07/73e8321ab2b41f01c8a8172918ae7ff77449ef4cb9acc2eec71c0b14e57a/pingo-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "795a51e8760690359e7280cfda32f47b", "sha256": "b5f934c135e253850b3784e1825940b0bd9dfad53bc571c345d6f3063d6e5105" }, "downloads": -1, "filename": "pingo-0.1.6.tar.gz", "has_sig": false, "md5_digest": "795a51e8760690359e7280cfda32f47b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4959, "upload_time": "2014-04-16T09:26:59", "url": "https://files.pythonhosted.org/packages/e9/4f/bfd81a03cf97379ce0d2f25649b90df7c83c0237726d750e34695d228eba/pingo-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "56f839f0c6262869441b8c44d99e11e6", "sha256": "0b8929b58e78de1bcd5d380682ba42dfb669d90a88084edfa60bfaabe75dd8b5" }, "downloads": -1, "filename": "pingo-0.1.7.tar.gz", "has_sig": false, "md5_digest": "56f839f0c6262869441b8c44d99e11e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4961, "upload_time": "2014-04-16T09:33:13", "url": "https://files.pythonhosted.org/packages/38/84/e1aed9bda9365ec3420a894b239ed22441dd77110f6b85abaf985aa7519d/pingo-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "d044604eb7dcb8e7584f363210456739", "sha256": "59d3a817e73005f11678b490fb84d7f3dc493617b63e4a05569964984a6f45f7" }, "downloads": -1, "filename": "pingo-0.1.8.tar.gz", "has_sig": false, "md5_digest": "d044604eb7dcb8e7584f363210456739", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5133, "upload_time": "2014-04-17T02:06:43", "url": "https://files.pythonhosted.org/packages/c3/c5/414ebc83adaa05806c23d3a4d50697c3ec41954b56d05b3702d48d6cb557/pingo-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "dcc19f81b5cfc5910a7a15dda1403fe2", "sha256": "85d155b7bfd8bbbc10fc2327b113ff6a7c65e61eb4318961aa4eb525f4e0688e" }, "downloads": -1, "filename": "pingo-0.1.9.tar.gz", "has_sig": false, "md5_digest": "dcc19f81b5cfc5910a7a15dda1403fe2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14604, "upload_time": "2014-06-13T02:14:22", "url": "https://files.pythonhosted.org/packages/5d/b5/1aa61e95d4b2cb38f388b35c32247e74aba28d4aa04d16d74de9a15675d5/pingo-0.1.9.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "d1e4346a4060a0da0ce673f6fe6e5537", "sha256": "ec8032753a73e7d8596d9330813610925d5b6709ab0185b08bc6478949316918" }, "downloads": -1, "filename": "pingo-0.2.0.tar.gz", "has_sig": false, "md5_digest": "d1e4346a4060a0da0ce673f6fe6e5537", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15621, "upload_time": "2014-08-13T02:07:47", "url": "https://files.pythonhosted.org/packages/8c/fe/c87966e1a87692575726a9e70414eb3fbf029f99a8658159364948d23fa5/pingo-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d1e4346a4060a0da0ce673f6fe6e5537", "sha256": "ec8032753a73e7d8596d9330813610925d5b6709ab0185b08bc6478949316918" }, "downloads": -1, "filename": "pingo-0.2.0.tar.gz", "has_sig": false, "md5_digest": "d1e4346a4060a0da0ce673f6fe6e5537", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15621, "upload_time": "2014-08-13T02:07:47", "url": "https://files.pythonhosted.org/packages/8c/fe/c87966e1a87692575726a9e70414eb3fbf029f99a8658159364948d23fa5/pingo-0.2.0.tar.gz" } ] }