adafruit / circuitpython-build-tools

Build scripts for CircuitPython libraries and the bundle
MIT License
28 stars 18 forks source link

malformed external_dependencies (edge-case) #80

Open 2bndy5 opened 2 years ago

2bndy5 commented 2 years ago

I have a CirPy lib that uses spidev on Linux (yields much better performance than pureio). I have listed spidev in the lib's requirements.txt like so

adafruit-circuitpython-busdevice
spidev; sys_platform == 'linux'

The ; sys_platform == 'linux' is advice taken from pip's docs, but this makes the bundle's JSON external_dependencies look like so:

        "external_dependencies": [
            "adafruit-circuitpython-busdevice",
            "spidev; sys_platform "
        ]

I'm mandating the spidev module on Linux only because linting the lib when developing requires that the development changes be installed (spidev can't be installed on Windows). Granted, I still have to ignore warnings about import spidev in my lib's examples, but that's what hardware testing is for.

Feel free to close this issue if there are no foreseen consequences with circuitpython.org.