I’m relatively new but am working on a project that is mainly at the modeling and design stage. Working on creating a software-only prototyping kit so I can prototype software that does not interface with hardware before struggling through integration hell. Is there a list of what python libraries and versions come out-of-the-box in the PYNQ image, or is that board/OS dependent? And are there particular versions of say Numpy for example that work better on different hardware?
The list and versions of python packages included in all PYNQ v3.0.1 images can be found here. On the image these packages live in the pynq_venv virtual environment, you could use the requirements.txt to create your own venv on a separate machine.
In terms of hardware only thing to be weary of is what processor architecture your board is using – if you’re on a pynq-z1/z2 then the zynq chip on those is using 32-bit arm, which is not very well supported by package maintainers these days. Installing new packages on those platforms might take longer because in absence of binaries, pip will try to build the package from source, which can fail. If you’re on an MPSoC e.g. ZCU104, any of the RFSoCs, Kria, etc. then binaries for 64-bit arm are a lot more available.