Skip to main content

Platform detection for use by libraries like Adafruit-Blinka.

Project description

Introduction

Documentation Status Discord Build Status 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, 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.7 or higher

Installing from PyPI

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

pip3 install Adafruit-PlatformDetect

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

sudo pip3 install Adafruit-PlatformDetect

To install in a virtual environment in your current project:

mkdir project-name && cd project-name
python3 -m venv .env
source .env/bin/activate
pip3 install Adafruit-PlatformDetect

Usage Example

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 before contributing to help this project stay welcoming.

Documentation

For information on building library documentation, please check out this guide.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Adafruit-PlatformDetect-3.61.0.tar.gz (46.4 kB view details)

Uploaded Source

Built Distribution

Adafruit_PlatformDetect-3.61.0-py3-none-any.whl (24.0 kB view details)

Uploaded Python 3

File details

Details for the file Adafruit-PlatformDetect-3.61.0.tar.gz.

File metadata

File hashes

Hashes for Adafruit-PlatformDetect-3.61.0.tar.gz
Algorithm Hash digest
SHA256 840d74b7f66d307d8c8f21c925d25e3992ce17934d4c23a01aac54e820a46654
MD5 5301ae0a8c1e5dba723a31357a3f0316
BLAKE2b-256 2f178a499fd640aa5e584e8a314b1a213f1516960f3073d58e979f3d2fa8b383

See more details on using hashes here.

File details

Details for the file Adafruit_PlatformDetect-3.61.0-py3-none-any.whl.

File metadata

File hashes

Hashes for Adafruit_PlatformDetect-3.61.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b0eaaebde336eb0d7b016ddcb39256fde39e651da4e95d88bcebd64fb77a57d2
MD5 aa7c31f32e4f29e40f791716b52ad3a5
BLAKE2b-256 5c595611a12318cc0299156b31339bcc8f4e72400da5d62e8f82f3c38105672e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page