No Description
Limor "Ladyada" Fried 10f588d0f9
Merge pull request #13 from Groboards/master
1 week ago
adafruit_platformdetect Fix long line 1 week ago
bin Add support to detect SAMA5 chips and the Giant Board 1 week ago
docs add docs/ 3 weeks ago
.gitignore add .gitignore 1 month ago
.travis.yml disable sphinx for the moment 3 weeks ago initial commit 1 month ago
LICENSE initial commit 1 month ago
README.rst add some additional details to README.rst 3 weeks ago
requirements.txt initial commit 1 month ago add tweaks for pylint; detect (some) generic linux systems; rename class 1 month ago



This library provides best-guess platform detection for a range of single-board
computers and (potentially) other platforms. It was written primarily for use
in `Adafruit_Blinka <>`_, but may be
useful in other contexts.

Platform detection is divided into "chip" and "board" detection, with the latter
generally dependent on the former. Platform info is gathered from:

- Python's `sys.platform`

- The `/proc/cpuinfo` file on Linux systems (for processor info, Raspberry Pi
hardware revisions, etc.)

- Beaglebone EEPROM board IDs

- Distribution-specific files such as `/etc/armbian-release`.

The API is currently unstable and may change drastically in future releases.


On supported GNU/Linux systems like the Raspberry Pi, you can install the driver locally `from
PyPI <>`_. To install for current user:

.. code-block:: shell

pip3 install Adafruit-PlatformDetect

To install system-wide (this may be required in some cases):

.. code-block:: shell

sudo pip3 install Adafruit-PlatformDetect

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-PlatformDetect


.. code-block:: python

from adafruit_platformdetect import Detector
detector = Detector()
print("Chip id: ",
print("Board id: ",

# Check for specific board models:
print("Pi 3B+? ", detector.board.RASPBERRY_PI_3B_PLUS)
print("BBB? ", detector.board.BEAGLEBONE_BLACK)
print("Orange Pi PC? ", detector.board.ORANGE_PI_PC)
print("generic Linux PC? ", detector.board.GENERIC_LINUX_PC)