Python2 is just about EOL. Python3 is exceptionally mature now, and on version 3.6. Using ctypesgen in this project means you can't use Python3, as it is not compatible. A quick visit to the ctypesgen repo shows this has been a known issue for 3 years, and nobody has changed anything on that front. Frustrated users have migrated to CFFI instead, as it accomplishes the same thing, but is under active development, and therefore supports Python3.
Check out https://github.com/sgjava/userspaceio where I'm using CFFI and Python 3. It shouldn't be too hard to create a CFFI cdef for ArmbianIO header. If you want to try submit a PR.
Python2 is just about EOL. Python3 is exceptionally mature now, and on version 3.6. Using ctypesgen in this project means you can't use Python3, as it is not compatible. A quick visit to the ctypesgen repo shows this has been a known issue for 3 years, and nobody has changed anything on that front. Frustrated users have migrated to CFFI instead, as it accomplishes the same thing, but is under active development, and therefore supports Python3.