:target: https://discord.gg/nBQh6qu
:alt: Discord
-.. image:: https://travis-ci.org/adafruit/Adafruit_Micropython_Blinka.svg?branch=master
- :target: https://travis-ci.org/adafruit/Adafruit__Micropython_Blinka
+.. image:: https://travis-ci.com/adafruit/Adafruit_Blinka.svg?branch=master
+ :target: https://travis-ci.com/adafruit/Adafruit_Blinka
:alt: Build Status
-Description
-===========
+.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
+ :target: https://github.com/psf/black
+ :alt: Code Style: Black
This repository contains a selection of packages mirroring the CircuitPython API
-on hosts running micropython. At the time of writing drafts exist for
+on hosts running micropython. Working code exists to emulate the CircuitPython packages;
-* board - breakout-specific pin identities
-* microcontroller - chip-specific pin identities
-* digitalio - digital input/output pins, using pin identities from board/microcontroller
+* **board** - breakout-specific pin identities
+* **microcontroller** - chip-specific pin identities
+* **analogio** - analog input/output pins, using pin identities from board+microcontroller packages
+* **digitalio** - digital input/output pins, using pin identities from board+microcontroller packages
+* **bitbangio** - software-driven interfaces for I2C, SPI
+* **busio** - hardware-driven interfaces for I2C, SPI, UART
+* **time** * - substitute functions monkey-patched to time module
Dependencies
=============
-The CircuitPython compatibility layers described above are intended for devices which
-are running Micropython. Given the top level packages should be provided by any standard
-CircuitPython image, you shouldn't be trying to put those packages on any board
-with CircuitPython already installed.
+The Micropython compatibility layers described above are intended to provide a CircuitPython-like API for devices which
+are running CPython or Micropython. Since corresponding packages should be built-in to any standard
+CircuitPython image, they have no value on a device already running CircuitPython and would likely conflict in unhappy ways.
-However, the test suites under testing.implementation.all are by design
-intended to run on either CircuitPython or the Micropython+compatibility layer, so that
-conformance can be achieved.
+The test suites in the test/src folder under **testing.universal** are by design
+intended to run on *either* CircuitPython *or* Micropython+compatibility layer to prove conformance.
-Similarly the test suites under testing.implementation.micropython should only be run
-on Micropython and testing.implementation.circuitpython should only be run on CircuitPython
+Installing from PyPI
+=====================
+On supported GNU/Linux systems like the Raspberry Pi, you can install the driver locally `from
+PyPI <https://pypi.org/project/Adafruit-Blinka/>`_. To install for current user:
+
+.. code-block:: shell
+
+ pip3 install Adafruit-Blinka
+
+To install system-wide (this may be required in some cases):
+
+.. code-block:: shell
+
+ sudo pip3 install Adafruit-Blinka
+
+To install in a virtual environment in your current project:
+
+.. code-block:: shell
+
+ mkdir project-name && cd project-name
+ python3 -m venv .env
+ source .env/bin/activate
+ pip3 install Adafruit-Blinka
Usage Example
=============
-At the time of writing `git:3b2fc268 <https://github.com/cefn/Adafruit_Micropython_Blinka/tree/3b2fc268d89aee6a648da456224e6d48d2476baa>`,
-the following sequence runs through some basic testing of the digitalio compatibility layer.
+At the time of writing (`git:7fc1f8ab <https://github.com/cefn/Adafruit_Micropython_Blinka/tree/7fc1f8ab477124628a5afebbf6826005955805f9>`_),
+the following sequence runs through some basic testing of the digitalio compatibility layer...
.. code-block:: python
- import testing
- testing.main()
+ from testing import test_module_name
+ test_module_name("testing.universal.digitalio")
+An example log from running the suites is `here <https://github.com/cefn/Adafruit_Micropython_Blinka/issues/2#issuecomment-366713394>`_ .
Contributing
============
Contributions are welcome! Please read our `Code of Conduct
-<https://github.com/adafruit/Adafruit_Micropython_Blinka/blob/master/CODE_OF_CONDUCT.md>`_
+<https://github.com/adafruit/Adafruit_Blinka/blob/master/CODE_OF_CONDUCT.md>`_
before contributing to help this project stay welcoming.
Building locally
python3 -m venv .env
source .env/bin/activate
- pip install Sphinx sphinx-rtd-theme
+ pip install Sphinx sphinx-rtd-theme Adafruit-PlatformDetect
Now, once you have the virtual environment activated: