No description
Find a file
2021-12-15 13:57:37 -05:00
.github/workflows fix name label 2021-10-06 17:10:09 -04:00
adafruit_platformdetect Added Texas Instruments TDA4VM SK board to the suported boards list. 2021-12-13 20:42:07 -06:00
bin Added Texas Instruments TDA4VM SK board to the suported boards list. 2021-12-13 20:42:07 -06:00
docs Pin docutils to older version 2021-11-02 16:35:36 -07:00
LICENSES Add licenses to repo 2021-12-15 13:57:37 -05:00
.gitignore Fixed gitignore and added build 2020-04-20 14:57:38 -07:00
.pylintrc Update .pylintrc 2021-06-21 09:38:16 +01:00
.readthedocs.yaml Fix parameter name for v2 2021-11-03 08:15:38 -07:00
CODE_OF_CONDUCT.md Documentification 2020-04-20 17:18:03 -07:00
LICENSE initial commit 2018-12-03 23:26:33 -07:00
README.rst Fix expired Discord link 2020-12-08 01:13:02 +11:00
requirements.txt Adding Tinker Board detection 2020-05-29 13:00:37 -04:00
setup.py Change minimum Python to 3.6 2021-02-03 08:50:28 -08:00

Introduction
============

.. image:: https://readthedocs.org/projects/adafruit-platformdetect/badge/?version=latest
    :target: https://circuitpython.readthedocs.io/projects/platformdetect/en/latest/
    :alt: Documentation Status

.. image:: https://img.shields.io/discord/327254708534116352.svg
    :target: https://adafru.it/discord
    :alt: Discord

.. image:: https://github.com/adafruit/Adafruit_Python_PlatformDetect/workflows/Build%20CI/badge.svg
    :target: https://github.com/adafruit/Adafruit_Python_PlatformDetect/actions
    :alt: Build Status

.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
    :target: https://github.com/psf/black
    :alt: Code Style: Black

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 <https://github.com/adafruit/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`

  - Various files on Linux systems:

    - /proc/cpuinfo (for processor info, Raspberry Pi hardware revisions, etc.)

    - /proc/device-tree/compatible (for 96Boards info)

  - Beaglebone EEPROM board IDs

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

Dependencies
=============
This driver depends on:

* Python 3.5 or higher

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-PlatformDetect/>`_. 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

Usage Example
=============

.. code-block:: python

  from adafruit_platformdetect import Detector
  detector = Detector()
  print("Chip id: ", detector.chip.id)
  print("Board id: ", detector.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)

Contributing
============

Contributions are welcome! Please read our `Code of Conduct
<https://github.com/adafruit/Adafruit_Python_PlatformDetect/blob/master/CODE_OF_CONDUCT.md>`_
before contributing to help this project stay welcoming.

Documentation
=============

For information on building library documentation, please check out `this guide <https://learn.adafruit.com/creating-and-sharing-a-circuitpython-library/sharing-our-docs-on-readthedocs#sphinx-5-1>`_.