+with io.open(os.path.join(here, "README.rst"), encoding="utf-8") as f:
+ long_description = "\n" + f.read()
+
+board_reqs = []
+if os.path.exists("/proc/device-tree/compatible"):
+ with open("/proc/device-tree/compatible", "rb") as f:
+ compat = f.read()
+ # Jetson Nano, TX2, Xavier, etc
+ if b"nvidia,tegra" in compat:
+ board_reqs = ["Jetson.GPIO"]
+ # Pi 5
+ elif b"brcm,bcm2712" in compat:
+ board_reqs = [
+ "rpi_ws281x>=4.0.0",
+ "rpi-lgpio",
+ "Adafruit-Blinka-Raspberry-Pi5-Neopixel",
+ ]
+ # Pi 4 and Earlier
+ elif (
+ b"brcm,bcm2835" in compat
+ or b"brcm,bcm2836" in compat
+ or b"brcm,bcm2837" in compat
+ or b"brcm,bcm2838" in compat
+ or b"brcm,bcm2711" in compat
+ ):
+ board_reqs = ["RPi.GPIO", "rpi_ws281x>=4.0.0"]
+ # BeagleBone Black, Green, PocketBeagle, BeagleBone AI, etc.
+ elif b"ti,am335x" in compat:
+ board_reqs = ["Adafruit_BBIO"]