Because you can also use Phidgets (https://www.phidgets.com/) connected via USB. Or there is also another approach with a different USB connected relay that I can advise you on. Personally, I prefer an approach that doesn’t interface directly with the GPIO pins for control purposes.
This is a link to a cheap USB relay. Actually, I think you can install the python drivers with pip now, not sure, it’s been a while. In any case, it works fine.
Possibly pip3 install usbrelay does it.
The Phidgets approach has advantages but they are more expensive. My project StalkedByTheState supports the Phidgets InterfaceKit I/O controller out of the box. You simply need to assign the serial number and you can start triggering after plugging it into the USB port. It can also just as simply read switch inputs as well as the InterfaceKit comes with input and output ports.
I bought a USB relay. similar to @KimHendrikse provided there.
Some of them can be communicated using USB serial in few lines of code without any additional procedure. (in python, pyserial)
Manufactures will define the message that sent to the relay using pyserial to control the voltage.
I haven’t got any luck trying that relay board with Jetson Xavier mentioned above.
Just a little note about the USB connected relays above. They come with an identifier. Normally, they are all set the same identifier. You can change the identifier on individual ones so that more than one is addressable from the same computer. If you need details I do have code and procedures.
About the new one made for the Xavier I know nothing about them.