If you can find a working firmware upload tool for the Spin development board, you could then use python+libusb to upload your programs. I've done that before - however you'll need to fetch a copy of the board firmware. In linux it works likes this:
1: program the developer board
> cycfx2prog -id=AAAA.BBBB spindev.hex run
where AAAA and BBBB are the usb vid/pid of your board. In my case it was 04B4.8613.
Now the onboard cycfx2 is running the Spin developer board code, you can read/write it in python.
dev = usb.core.find(idVendor=0xAAAA, idProduct=0xBBBB)
dev.set_configuration()
dev.ctrl_transfer(0x40, 0xa4, 0, 0)
dev.ctrl_transfer(0xC0, 0xa4,0,0,1)
dev.ctrl_transfer(0x40, 0xb2, 0, 0, [0x00])
dev.ctrl_transfer(0xC0, 0xa9,0,0,1)
dev.ctrl_transfer(0x40, 0xa9, 0, 0, ob, 4000) # write ob to device
ret = dev.ctrl_transfer(0xC0, 0xa9,0,0,4096) # read back eeprom for verify
It's probably going to be easier to get an I2C programmig tool, break the pins out and write the eeprom directly.
I'd much prefer to make a new firmware for the dev board so the cycfx2 presents the host system with a class-compliant USB-FS and a virtual FAT filesystem, then you could assemble direct into the eeprom without any need for drivers or special tools. There's an interesting open project
