{"id":20586807,"url":"https://github.com/sparkfun/qwiic_py","last_synced_at":"2025-04-14T21:27:06.863Z","repository":{"id":48679324,"uuid":"193562282","full_name":"sparkfun/Qwiic_Py","owner":"sparkfun","description":"Python package for the qwiic system. ","archived":false,"fork":false,"pushed_at":"2025-03-19T21:47:41.000Z","size":143,"stargazers_count":54,"open_issues_count":8,"forks_count":6,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-03-28T09:36:23.943Z","etag":null,"topics":["python","python3","qwiic","sparkfun"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sparkfun.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-06-24T18:57:26.000Z","updated_at":"2025-03-19T21:41:15.000Z","dependencies_parsed_at":"2025-01-24T22:18:41.192Z","dependency_job_id":"a200bfd3-3a7d-4e37-a799-b01313942c94","html_url":"https://github.com/sparkfun/Qwiic_Py","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sparkfun%2FQwiic_Py","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sparkfun%2FQwiic_Py/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sparkfun%2FQwiic_Py/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sparkfun%2FQwiic_Py/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sparkfun","download_url":"https://codeload.github.com/sparkfun/Qwiic_Py/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248962348,"owners_count":21190191,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["python","python3","qwiic","sparkfun"],"created_at":"2024-11-16T07:13:13.637Z","updated_at":"2025-04-14T21:27:06.850Z","avatar_url":"https://github.com/sparkfun.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Qwiic_Py\n========\n\n\u003cp align=\"center\"\u003e\n   \u003cimg src=\"https://cdn.sparkfun.com/assets/custom_pages/2/7/2/qwiic-logo-registered.jpg\"  width=200\u003e  \n   \u003cimg src=\"https://www.python.org/static/community_logos/python-logo-master-v3-TM.png\"  width=240\u003e   \n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n\t\u003ca href=\"https://pypi.org/project/sparkfun-qwiic/\" alt=\"Package\"\u003e\n\t\t\u003cimg src=\"https://img.shields.io/pypi/pyversions/sparkfun_qwiic.svg\" /\u003e\u003c/a\u003e\n\t\u003ca href=\"https://github.com/sparkfun/Qwiic_Py/issues\" alt=\"Issues\"\u003e\n\t\t\u003cimg src=\"https://img.shields.io/github/issues/sparkfun/Qwiic_Py.svg\" /\u003e\u003c/a\u003e\n\t\u003ca href=\"https://qwiic-py.readthedocs.io/en/latest/index.html\" alt=\"Documentation\"\u003e\n\t\t\u003cimg src=\"https://readthedocs.org/projects/qwiic-py/badge/?version=latest\u0026style=flat\" /\u003e\u003c/a\u003e\n\t\u003ca href=\"https://github.com/sparkfun/Qwiic_Py/blob/master/LICENSE\" alt=\"License\"\u003e\n\t\t\u003cimg src=\"https://img.shields.io/badge/license-MIT-blue.svg\" /\u003e\u003c/a\u003e\n\t\u003ca href=\"https://twitter.com/intent/follow?screen_name=sparkfun\"\u003e\n        \t\u003cimg src=\"https://img.shields.io/twitter/follow/sparkfun.svg?style=social\u0026logo=twitter\"\n           \t alt=\"follow on Twitter\"\u003e\u003c/a\u003e\n\t\n\u003c/p\u003e\n\n\u003cimg src=\"https://cdn.sparkfun.com//assets/parts/1/3/8/7/9/Qwiic_pHAT_Pi-3-B-Plus.jpg\"  align=\"right\" width=340\u003e \n\nThe SparkFun qwiic python package aggregates all python qwiic drivers/modules to provide a single entity for qwiic within a python environment. The qwiic package delivers the high-level functionality needed to dynamically discover connected qwiic devices and construct their associated driver object.\n\nNew to qwiic? Take a look at the entire [SparkFun qwiic ecosystem](https://www.sparkfun.com/qwiic).\n\n## Contents\n\n* [Supported Platforms](#supported-platforms)\n* [Structure](#structure)\n* [Dependent Modules](#dependent-modules)\n* [MicroPython and CircuitPython](#micropython-and-circuitpython)\n* [Checkout Commands](#checkout-commands)\n* [Installation](#installation)\n* [Documentation](#documentation)\n\nSupported Platforms\n--------------------\nThe qwiic Python package current supports the following platforms:\n* [Raspberry Pi](https://www.sparkfun.com/search/results?term=raspberry+pi)\n* [NVidia Jetson Nano](https://www.sparkfun.com/products/15297)\n* [Google Coral Development Board](https://www.sparkfun.com/products/15318)\n\n\nStructure\n-------------\nEach qwiic board has an independent driver library that implements the required logic for the specific board. This driver implementation is structured as a python package that supports standard python package management operations and tools. Additionally, each driver is deployed in a distinct GitHub repository which provides a central area for package management and development.\n\nTo provide dynamic discovery and instantiation capabilities, the qwiic package imports all the underlying qwiic driver packages at runtime. As such the qwiic driver packages must be installed prior to using this package. These packages can be installed manually, or the overall package will install them automatically when using a PyPi based package manger (aka pip).\n\nDependent Modules\n------------------\nTo make development and evaluation easer, the modules this package is dependent on are included in this repository as git submodules. This allows rapid checkout and access to the entire qwiic python ecosystem if needed. \n\nThis structure has the following layout:\n```\nQwiic_Py/\n   |\n   +--- qwiic_i2c/                                   --\u003e Link to the qwiic_i2c submodule repository\n   |      |--- __index__.py\n   |      `--- ... The cross platform I2C bus access driver \n   |\n   +--- qwiic/\n   |      |--- __index__.py\n   |      +--- ... Package Implementation\n   |      `--- drivers/\n   |            |--- qwiic_bme280\t             --\u003e The qwiic_bme280 submodule\n   |            |--- qwiic_micro_oled\t\t     --\u003e The qwiic_micro_oled submodule\n   |            `--- ... links to qwiic driver submodule repositories\n   |\n   +--- README.md\n   +--- setup.py\n   `--- ...etc\n\n```\n\nMicropython and CircuitPython\n------------------\nThe drivers in the [drivers directory](https://github.com/sparkfun/Qwiic_Py/tree/master/qwiic/drivers) are supported on Linux, MicroPython and CircuitPython. The drivers in the [drivers_linux_only directory](https://github.com/sparkfun/Qwiic_Py/tree/master/qwiic/drivers_linux_only) are currently only supported for Linux. To learn more about MicroPython and CircuitPython, and for install instructions for your specific driver, see the README file of each supported driver.\n\nDependencies\n-------------\nThe qwiic package depends on the qwiic I2C driver: \n[Qwiic_I2C_Py](https://github.com/sparkfun/Qwiic_I2C_Py)\n\nThis package is also dependent on the driver packages contained in the [drivers directory](https://github.com/sparkfun/Qwiic_Py/tree/master/qwiic/drivers).\n\nDocumentation\n--------------\nThe SparkFun qwiic package documentation is hosted at [ReadTheDocs](https://qwiic-py.readthedocs.io/en/latest/index.html)\n\n\nCheckout Commands\n------------------\nTo clone this repository, a standard git clone command will create a local copy of this repository:\n```sh\ngit clone https://github.com/sparkfun/Qwiic_Py\n```\n\nThis will create a local version of this repository, but the submodule directories (drivers/*, and qwiic_i2c/ ) will be empty. To clone the git repository and include the submodule contents, use the following command:\n```sh\ngit clone --recurse-submodules https://github.com/sparkfun/Qwiic_Py.git \n```\n\nInstallation\n-------------\n### PyPi Installation\nThis repository is hosted on PyPi as the [sparkfun-qwiic](https://pypi.org/project/sparkfun-qwiic/) package. \n\nNote - the below instructions outline installation on a Linux-based (Raspberry Pi) system and will install all the drivers in this package. **To install for MicroPython or CircuitPython, see the instructions in each driver's README.** \n\nFirst, setup a virtual environment from a specific directory using venv:\n```sh\npython3 -m venv ~/sparkfun_venv\n```\n\nYou can pass any path instead of ~/sparkfun_venv, just make sure you use the same one for all future steps. For more information on venv [click here](https://docs.python.org/3/library/venv.html).\n\nNext, install the qwiic package with:\n```sh\n~/sparkfun_venv/bin/pip3 install sparkfun-qwiic\n```\nNow you should be able to run any example or custom python scripts that have `import qwiic` by running e.g.:\n```sh\n~/sparkfun_venv/bin/python3 example_script.py\n```\n\nThis process will install all drivers and modules the qwiic package requires for operation. If you are only working with one driver, it is recommended to download that driver directly (see instructions in each driver's README) rather than from this large meta-package.\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://cdn.sparkfun.com/assets/custom_pages/3/3/4/dark-logo-red-flame.png\" alt=\"SparkFun - Start Something\"\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsparkfun%2Fqwiic_py","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsparkfun%2Fqwiic_py","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsparkfun%2Fqwiic_py/lists"}