{ "info": { "author": "Adam Page", "author_email": "adam.page@samtec.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9" ], "description": "# PyRPIO\n\n![./icon.png](./icon.png)\n\nA Python 3 addon which provides high-speed access to the Raspberry Pi GPIO interface, supporting regular GPIO as well as i\u00b2c, PWM, SPI, and MDIO.\n\nThis package is inspired by [node-rpio](https://github.com/jperkin/node-rpio) which is a node.js addon.\n\n![PyPI](https://img.shields.io/pypi/v/pyrpio)\n\n## Compatibility\n\n- Raspberry Pi Models: A, B (revisions 1.0 and 2.0), A+, B+, 2, 3, 3+, 3 A+, 4, Compute Module 3, Zero.\n- Python 3.7+\n\n## Install\n\nInstall the latest from PyPi:\n\n> `pip install pyrpio`\n\n## Supported Interfaces\n\n- GPIO\n- PWM\n- I2C\n- MDIO\n- SPI\n\n## Examples\n\n```python\nfrom pyrpio.i2c import I2C\nfrom pyrpio.mdio import MDIO\nfrom pyrpio.i2c_register_device import I2CRegisterDevice\n### I2C Operations ###\n\ni2c_bus = i2c.I2C('/dev/i2c-3')\ni2c_bus.open()\n\ni2c_bus.set_address(0x50)\n\ni2c_bus.read_write(data=bytes([0x23]), length=1)\n\ni2c_dev = I2CRegisterDevice(bus=i2c_bus, address=0x50, register_size=1, data_size=1)\n\n# Read register\nval = i2c_dev.read_register(register=0x23)\n\n# Read sequential registers\nvals = i2c_dev.read_register_sequential(register=0x23, length=4)\n\n# Close up shop\ni2c_bus.close()\n\n### MDIO Operations ###\n\n# Create bus using GPIO pins 23 and 24 (bit-bang)\nmdio_bus = mdio.MDIO(clk_pin=23, data_pin=24, path='/dev/gpiochip0')\nmdio_bus.open()\n\n# Read register 0x10 from device 0x30 (CLAUSE-45)\nmdio_bus.read_c45_register(0x30, 0x00, 0x10)\n\n# Read register set from device 0x30 (CLAUSE-45)\nmdio_bus.read_c45_registers(0x30, 0x00, [0,1,2,3,4])\n\n# Close up shop\nmdio_bus.close()\n```\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details\n\n## Maintainers\n\n- [Samtec - ASH](https://samtec-ash.com)\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/Samtec-ASH/pyrpio", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pyrpio", "package_url": "https://pypi.org/project/pyrpio/", "platform": "", "project_url": "https://pypi.org/project/pyrpio/", "project_urls": { "Homepage": "https://github.com/Samtec-ASH/pyrpio", "Repository": "https://github.com/Samtec-ASH/pyrpio" }, "release_url": "https://pypi.org/project/pyrpio/0.4.1/", "requires_dist": [ "pyftdi (>=0.53.2,<0.54.0); extra == \"ftdi\"", "httpx (>=0.18.2,<0.19.0); extra == \"httpx\"" ], "requires_python": ">=3.7,<4.0", "summary": "Python-wrapped RPIO", "version": "0.4.1", "yanked": false, "yanked_reason": null }, "last_serial": 11341638, "releases": { "0.0.2": [ { "comment_text": "", "digests": { "md5": "71ffbdd2a8167cc4102c4452928f7253", "sha256": "3d2b5e638fd371e69f35eb6b955bce45a44ce83148a7e441b5d0e22dca0486f7" }, "downloads": -1, "filename": "PyRPIO-0.0.2.tar.gz", "has_sig": false, "md5_digest": "71ffbdd2a8167cc4102c4452928f7253", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43314, "upload_time": "2019-10-31T03:40:40", "upload_time_iso_8601": "2019-10-31T03:40:40.279291Z", "url": "https://files.pythonhosted.org/packages/d2/62/e460e0303cd79b543a165bb778ce66dd38e4a6291d3a743e7cdf0928a224/PyRPIO-0.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "88d441677d910947e28e674087b38efd", "sha256": "ef945f2132aa087edb0d81822c1094b05fb8746a8f0dd8eb234a584e63df3986" }, "downloads": -1, "filename": "PyRPIO-0.0.3.tar.gz", "has_sig": false, "md5_digest": "88d441677d910947e28e674087b38efd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 43959, "upload_time": "2019-10-31T11:59:38", "upload_time_iso_8601": "2019-10-31T11:59:38.934418Z", "url": "https://files.pythonhosted.org/packages/c0/22/bfd5827c055bb0b21eb359a64d06f8f815fd34319daba7d186cb9e0ea1e7/PyRPIO-0.0.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "17996a7c8af61c9ecfb33f7b043775fd", "sha256": "4cc2ea16b0f34ed75ee2311c98bd787bb5632bb4d2c23df8ab3c508815d7b5ad" }, "downloads": -1, "filename": "PyRPIO-0.0.4.tar.gz", "has_sig": false, "md5_digest": "17996a7c8af61c9ecfb33f7b043775fd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 55956, "upload_time": "2019-11-20T14:56:57", "upload_time_iso_8601": "2019-11-20T14:56:57.042781Z", "url": "https://files.pythonhosted.org/packages/4d/db/2f468ee60609eed14e9d976f2f1613de18311587c3dfc8859c7586c878c4/PyRPIO-0.0.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "3ae9538fd245c58d99258fed4c71123e", "sha256": "48b8ccc7e148000cca853a3ce56084d49c6d1487d0dd328e9186cd3c8aef053b" }, "downloads": -1, "filename": "PyRPIO-0.0.5.tar.gz", "has_sig": false, "md5_digest": "3ae9538fd245c58d99258fed4c71123e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 56128, "upload_time": "2020-01-09T14:16:03", "upload_time_iso_8601": "2020-01-09T14:16:03.712553Z", "url": "https://files.pythonhosted.org/packages/45/51/4d5130e2ed0d2091519ac8e697482739ab1a6c48e8026ff6a917f07e16ce/PyRPIO-0.0.5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "b3f90fc77464d7233b95c220f255404a", "sha256": "2f5564c0a5e4441228631395a1045f68eadc7b4d931930dae9530008a2446fb9" }, "downloads": -1, "filename": "PyRPIO-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b3f90fc77464d7233b95c220f255404a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 64338, "upload_time": "2021-02-11T16:33:37", "upload_time_iso_8601": "2021-02-11T16:33:37.525995Z", "url": "https://files.pythonhosted.org/packages/76/af/4b9acdeca6bd7582dc40c51aee43c345b2407fa558f005e25073f0e7b4c9/PyRPIO-0.1.0-py3-none-any.whl", "yanked": true, "yanked_reason": "Fails on Python 3.7" }, { "comment_text": "", "digests": { "md5": "39adb9c71ecb965aa29f72dd4b2065b1", "sha256": "833dbbb79f2b1fb2b2a8d0936e59042cb088c9df966a93f6a5ad82020709209d" }, "downloads": -1, "filename": "PyRPIO-0.1.0.tar.gz", "has_sig": false, "md5_digest": "39adb9c71ecb965aa29f72dd4b2065b1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 60649, "upload_time": "2021-02-11T16:33:39", "upload_time_iso_8601": "2021-02-11T16:33:39.053091Z", "url": "https://files.pythonhosted.org/packages/93/b0/5b158ba6158abb0709f782dd2205fa855b9119c403df33939bf1ef34ba5f/PyRPIO-0.1.0.tar.gz", "yanked": true, "yanked_reason": "Fails on Python 3.7" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "260a2cfcef90d05265f8f88f687fb319", "sha256": "2666d0ff2e47f45a8db3128ebe8f6b331ffe28f541ad929ce6f230a8717cd5a1" }, "downloads": -1, "filename": "PyRPIO-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "260a2cfcef90d05265f8f88f687fb319", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 64342, "upload_time": "2021-02-19T22:37:23", "upload_time_iso_8601": "2021-02-19T22:37:23.881570Z", "url": "https://files.pythonhosted.org/packages/a1/fa/dbf44aa368d6befc7c334ca36c26fd5eeb4699c717398f49ebbb91fa7be2/PyRPIO-0.1.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "6d0c43d0c56ca81c7921e00567412490", "sha256": "c4ddb77e76265831c293ea65f37378ddfd060be024b2cea5a7aaf452b78c23b8" }, "downloads": -1, "filename": "PyRPIO-0.1.1.tar.gz", "has_sig": false, "md5_digest": "6d0c43d0c56ca81c7921e00567412490", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 60630, "upload_time": "2021-02-19T22:37:25", "upload_time_iso_8601": "2021-02-19T22:37:25.172087Z", "url": "https://files.pythonhosted.org/packages/c0/e8/ccfe4389861be3883bfaf6923109a76749a63364a137b9ed057da71ddd2a/PyRPIO-0.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "93486ba24d1f8361b5f9109b7b80cc50", "sha256": "bcf3a975c190108dcecfadfe7ba0c8b2c9aaac5c21d9d47cc44a54c644dc2502" }, "downloads": -1, "filename": "PyRPIO-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "93486ba24d1f8361b5f9109b7b80cc50", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 66485, "upload_time": "2021-07-22T13:15:52", "upload_time_iso_8601": "2021-07-22T13:15:52.943241Z", "url": "https://files.pythonhosted.org/packages/fd/55/99be2aaf6a7db4d2ddc9d6af3632332096ccee2064e78c4d85df85a6563f/PyRPIO-0.2.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "d596e756d8a341f11235a81aa92a1d78", "sha256": "5abf394479888e9cf6b3c0650c3651caf2b6e9ba08e62b3b6dca0b61d46e0943" }, "downloads": -1, "filename": "PyRPIO-0.2.0.tar.gz", "has_sig": false, "md5_digest": "d596e756d8a341f11235a81aa92a1d78", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 61328, "upload_time": "2021-07-22T13:15:55", "upload_time_iso_8601": "2021-07-22T13:15:55.190786Z", "url": "https://files.pythonhosted.org/packages/7e/0f/6776d20903fc5f2fcb8308bceb7179b0f6149983e8f161d0ab0c441a3030/PyRPIO-0.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "43c03ed312507a221d929d2450a679b9", "sha256": "b50560ac7c33500b3c2270a2ae4bf0732a12bfc5efbf5179b989da2b902b3ba8" }, "downloads": -1, "filename": "PyRPIO-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "43c03ed312507a221d929d2450a679b9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 66572, "upload_time": "2021-07-27T13:36:08", "upload_time_iso_8601": "2021-07-27T13:36:08.697884Z", "url": "https://files.pythonhosted.org/packages/ed/b4/fe7ada41a7794673554d95d20df401fe257f38a333f2b2650032f9108629/PyRPIO-0.2.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e3757f31c14640e08a5178d93ac4fb67", "sha256": "3c57b5c60b1cf5443ba0f50b3d4202d67cc4f1da403f4253d9a45fd407b07403" }, "downloads": -1, "filename": "PyRPIO-0.2.1.tar.gz", "has_sig": false, "md5_digest": "e3757f31c14640e08a5178d93ac4fb67", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 61354, "upload_time": "2021-07-27T13:36:10", "upload_time_iso_8601": "2021-07-27T13:36:10.273314Z", "url": "https://files.pythonhosted.org/packages/a9/91/1011f8ae5ae63654e827f815a55b0c07a149609e985cc65d5e95fd6e3ba1/PyRPIO-0.2.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "47179da6606d2640f5ad3b3422f4d411", "sha256": "b0b214ae5c733ac70cd433f8e17f7deb7be3b4914bf43ab2e1e23ed5babc5c8a" }, "downloads": -1, "filename": "PyRPIO-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "47179da6606d2640f5ad3b3422f4d411", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 67608, "upload_time": "2021-07-28T19:53:57", "upload_time_iso_8601": "2021-07-28T19:53:57.930963Z", "url": "https://files.pythonhosted.org/packages/97/02/8e431ce6eeba8109aef292636a914c4ffb5ca49a4155e13fbf6444eb9946/PyRPIO-0.3.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f67b2f1afbf7c8b0421b44460a0af466", "sha256": "760f6d32649c970ec5cf91b2aadd3e5a890d98c27b0c866566d403d48bb99b57" }, "downloads": -1, "filename": "PyRPIO-0.3.0.tar.gz", "has_sig": false, "md5_digest": "f67b2f1afbf7c8b0421b44460a0af466", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 61878, "upload_time": "2021-07-28T19:53:59", "upload_time_iso_8601": "2021-07-28T19:53:59.340300Z", "url": "https://files.pythonhosted.org/packages/04/b7/d027742c839062b29dde308557e3572c0298850d513f51548c801011ff55/PyRPIO-0.3.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "d859be707cc064391f3b2ae2ceccd889", "sha256": "5c0e9160e7613df48d60060f91f0abfc08aa2728856584188d3cfaa2be7157fd" }, "downloads": -1, "filename": "PyRPIO-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "d859be707cc064391f3b2ae2ceccd889", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 69494, "upload_time": "2021-07-30T13:03:09", "upload_time_iso_8601": "2021-07-30T13:03:09.364882Z", "url": "https://files.pythonhosted.org/packages/e5/00/5404a8ce2776e823189c391176523b7e92c3adaad7a348a63ca2e99e1903/PyRPIO-0.4.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "3ded28db4274844311bd74f4c2cce512", "sha256": "a96d98a6ad189f8b9ee0aa47f534b9f163f4a7aa4295ec2b55ff61bc0253a7ca" }, "downloads": -1, "filename": "PyRPIO-0.4.0.tar.gz", "has_sig": false, "md5_digest": "3ded28db4274844311bd74f4c2cce512", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 62745, "upload_time": "2021-07-30T13:03:11", "upload_time_iso_8601": "2021-07-30T13:03:11.135250Z", "url": "https://files.pythonhosted.org/packages/43/9b/5cb517bb7d514c5517c97af1c12efed09c9910ec5c71f2b8180563cc24a3/PyRPIO-0.4.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "231f0ce2c7526beb790246246b65b340", "sha256": "b8512cf22dcfb9445455504cbb6a7e488a3738af1abe57ca075c8084f48c0970" }, "downloads": -1, "filename": "PyRPIO-0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "231f0ce2c7526beb790246246b65b340", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 69620, "upload_time": "2021-09-01T22:51:04", "upload_time_iso_8601": "2021-09-01T22:51:04.626085Z", "url": "https://files.pythonhosted.org/packages/37/f9/ec8dc3b772bb1b98993486267073eefc476a815dccf241e45e80a5c951a7/PyRPIO-0.4.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e5ac2100bf3e025f0e3a2bec0afa8111", "sha256": "facc91832cf03f593fbfda6c096ed55bce0a8fa776fda8f8bfb83a12b086a3f9" }, "downloads": -1, "filename": "PyRPIO-0.4.1.tar.gz", "has_sig": false, "md5_digest": "e5ac2100bf3e025f0e3a2bec0afa8111", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 62869, "upload_time": "2021-09-01T22:51:06", "upload_time_iso_8601": "2021-09-01T22:51:06.308476Z", "url": "https://files.pythonhosted.org/packages/20/34/24d78674b027a25a63d04d9e574fdebd47e59f27c6c0865dda611bdea760/PyRPIO-0.4.1.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "231f0ce2c7526beb790246246b65b340", "sha256": "b8512cf22dcfb9445455504cbb6a7e488a3738af1abe57ca075c8084f48c0970" }, "downloads": -1, "filename": "PyRPIO-0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "231f0ce2c7526beb790246246b65b340", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 69620, "upload_time": "2021-09-01T22:51:04", "upload_time_iso_8601": "2021-09-01T22:51:04.626085Z", "url": "https://files.pythonhosted.org/packages/37/f9/ec8dc3b772bb1b98993486267073eefc476a815dccf241e45e80a5c951a7/PyRPIO-0.4.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e5ac2100bf3e025f0e3a2bec0afa8111", "sha256": "facc91832cf03f593fbfda6c096ed55bce0a8fa776fda8f8bfb83a12b086a3f9" }, "downloads": -1, "filename": "PyRPIO-0.4.1.tar.gz", "has_sig": false, "md5_digest": "e5ac2100bf3e025f0e3a2bec0afa8111", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 62869, "upload_time": "2021-09-01T22:51:06", "upload_time_iso_8601": "2021-09-01T22:51:06.308476Z", "url": "https://files.pythonhosted.org/packages/20/34/24d78674b027a25a63d04d9e574fdebd47e59f27c6c0865dda611bdea760/PyRPIO-0.4.1.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }