Update Raspberry Pi Dependencies

This commit is contained in:
Melissa LeBlanc-Williams 2025-08-15 15:38:11 -07:00
parent f79764b77c
commit e2577ef9d8

View file

@ -16,6 +16,11 @@ from setuptools import setup, find_packages
here = os.path.abspath(os.path.dirname(__file__)) here = os.path.abspath(os.path.dirname(__file__))
def yellow_text(text: str) -> str:
return f"\033[33m{text}\033[0m"
# Import the README and use it as the long-description. # Import the README and use it as the long-description.
# Note: this will only work if 'README.md' is present in your MANIFEST.in file! # Note: this will only work if 'README.md' is present in your MANIFEST.in file!
with io.open(os.path.join(here, "README.rst"), encoding="utf-8") as f: with io.open(os.path.join(here, "README.rst"), encoding="utf-8") as f:
@ -28,28 +33,29 @@ if not glob.glob("//usr//include//python3.*//Python.h"):
) )
board_reqs = [] board_reqs = []
raspberry_pi = False
if os.path.exists("/proc/device-tree/compatible"): if os.path.exists("/proc/device-tree/compatible"):
with open("/proc/device-tree/compatible", "rb") as f: with open("/proc/device-tree/compatible", "rb") as f:
compat = f.read() compat = f.read()
# Jetson Nano, TX2, Xavier, etc # Jetson Nano, TX2, Xavier, etc
if b"nvidia,tegra" in compat: if b"nvidia,tegra" in compat:
board_reqs = ["Jetson.GPIO"] board_reqs = ["Jetson.GPIO"]
# Pi 5 # Pi 5 and Earlier
elif b"brcm,bcm2712" in compat:
board_reqs = [
"rpi_ws281x>=4.0.0",
"lgpio;python_version<'3.11'",
"Adafruit-Blinka-Raspberry-Pi5-Neopixel",
]
# Pi 4 and Earlier
elif ( elif (
b"brcm,bcm2835" in compat b"brcm,bcm2835" in compat
or b"brcm,bcm2836" in compat or b"brcm,bcm2836" in compat
or b"brcm,bcm2837" in compat or b"brcm,bcm2837" in compat
or b"brcm,bcm2838" in compat or b"brcm,bcm2838" in compat
or b"brcm,bcm2711" in compat or b"brcm,bcm2711" in compat
or b"brcm,bcm2712" in compat
): ):
board_reqs = ["RPi.GPIO", "rpi_ws281x>=4.0.0"] board_reqs = [
"rpi_ws281x>=4.0.0",
"lgpio;python_version<'3.13'",
"RPi.GPIO",
"Adafruit-Blinka-Raspberry-Pi5-Neopixel",
]
raspberry_pi = True
# BeagleBone Black, Green, PocketBeagle, BeagleBone AI, etc. # BeagleBone Black, Green, PocketBeagle, BeagleBone AI, etc.
elif b"ti,am335x" in compat: elif b"ti,am335x" in compat:
board_reqs = ["Adafruit_BBIO"] board_reqs = ["Adafruit_BBIO"]
@ -120,3 +126,10 @@ setup(
"Programming Language :: Python :: Implementation :: MicroPython", "Programming Language :: Python :: Implementation :: MicroPython",
], ],
) )
if raspberry_pi and os.sys.version_info >= (3, 13):
print(
yellow_text(
"\n*** Raspberry Pi 5 and later: lgpio will need to be installed manually. See the lgpio homepage for more details: http://abyz.me.uk/lg/download.html ***"
)
)