I want to create a somehow complex application:
It is a game level editor. You can put in tiles and other objects for a level. Then "compress" the level data into a file.
With another application, it will read the file's data and play the game.
The application is for Windows mainly. Other platforms are yet to be considered.
So I need help deciding:
If you were to do something like what I described, which programming language would you choose?
I want to decide between Ruby or Python.
I want you to help me choose depending on my following needs:

Easy GUI platform for making the editor.
Can show sprites, move, transform them etc.
Can play audio.
Can compress data, graphics and audio. The compressed file can only be read by another application I make.
Python + PyGame. Hands down. You will benefit from:

Good docs for both the language and PyGame
GUI, sprites, and audio all in one, again with PyGame
Better Windows support than Ruby (you can install both Python and PyGame from .exes)

Desktop applications (esp. for Windows) aren't really Ruby's sweet spot. PyGame will serve your purposes perfectly, though.
That's not to say you couldn't do it with Ruby; you could write this in any language. But for ease of use, Python is the way to go.
Making a somehow complex application: Ruby vs Python