Every Python source file can essentially be considered as a module. The following rule applies to the name of a module, if it needs to be imported without problems:
(letter|"_") (letter | digit | "_")*
That is, the rule for naming a Python file is the same as naming a variable in it. First character has to be letter or underscore, followed by any number of letters, digits or underscores. No other characters, like dash, are allowed.
If the file is not named correctly, the following error or warning might be generated on importing it:
Invalid name for Python module
Tried with: Python 2.7.6 and Ubuntu 14.04