Here's program I made. This is in fact the very first program I have ever coded. I started it about year ago as a self learning project for python language. So today I decided to share with you, because I hope some people will find it useful. Here's quick instructions how to make it work: Instructions for installation in this post. For more detailed instructions for windows with pics here. How to run program. 1) Double click GUI_new (or GUI_old, iv_calc) file. Program should start soon. If not make sure your system opens file with python3.1. 2) From command line: Go to command line. Move to the folder where program is located. Type 'GUI_new.py' (for windows) or 'python3.1 GUI_new.py' (for other OSes). Use this way if you encounter problems, so you can see error messages from command line. 3) Create shortcut/shortcut key. In linux use command 'python3.1 /path/to/WeaknessProgram/GUI_new.py' for launcher / shortcut key. In windows create a shortcut for GUI_new file. Right-click shortcut -> properties -> Shortcut -> Shortcut Key. Here's short description of what this program is (hopefully) capable of: 1) Calculating team resistances Simple way to calculate your teams resistances. 2) Searching team weaknesses Find biggest threats for your team. Program can read directly shoddy battle and netbattle teams (that are in .txt file). More info found on help page. 3) Find counters for Pokemons Find common counter for Pokemons(sets). 4) Metagamecalculator ( for offensive Pokemon) Do massive calculations for all Pokemons in a given tier. More info on help page. Useful if you want to proof usefullness of your new set by doing damage calculations and so on. 5) Metagamecalculator ( for defensive Pokemon) Like previous, but calculates how much tier will deal damage to you. 6) Optimizing EV-spreads Optimize defensive or offensive EV spreads. Give program conditions you want your Pokemon to survive or conditions you want opponent not to survive and program finds the EV spread (with least EVs) for you. 8) Update Update tier lists and Pokemon sets. Currently all files are up to date, so you don't have to update yet. 9) Simple damage calculator Your ordinary damage calculator with attacking and defending Pokemon. 10) Add new Pokemon set You can add new Pokemon sets used by program here. (11) Debugging choice (only in command line) This option can be used to check weird behaviour of team weakness search.) Note for those intrested in coding: I didn't first intent this for shared in smogon. Also because I'm not a native english speaker, most of namings are not making any sense for most of you (since they're not in english) and most of the stuff doesn't have english commentary. If you're intrested how some particular things work just PM me (or post here), and I can translate comments and other stuff to english for you. Note for grammar experts who like to fix grammar: All english text is located in file English.py. You're more than welcome to correct spelling/grammar issues.