This looks good! A couple of questions and points:
What format is your genotype data in? VCF?
I'm not entirely clear on what you mean by "haplotype visualization". It sounds like you haven't fully worked out how to do this yourself either, but could you perhaps give an example/reference to a paper using that?
I think STRUCTURE is written in C. fastStructure is indeed a Python program but it looks like it is called from the shell and not run interactively with Python code. Neither of these is a problem as far as I am concerned: having shell scripts that run your program is completely fine for your project. But it won't get you any practice with Python per se.
So in case you want to get practice in Python for this project:
I ran into the program kpop which runs STRUCTURE/ADMIXTURE-like analysis and according to its GitHub page is best run from inside of Python. I did note, though, that there hasn't been any work done on it for 2 years according to the GitHub repo, which is never a good sign (but also doesn't mean it won't work).
It may be worth looking at scikit-allel, which is a highly actively developed package that has quite a range of population genetic functionality.
Could you update your proposal based on these points, as you see fit?
@jelmerp