0640 is an octal number (that is the meaning of the leading 0, which doesn't count as a digit), and means the following permissions (see e.g. Wikipedia):
- the first digit is for the file's owner, and (as 6is110in binary, where the bits are read, write and execute permission respectively) means 
read and write permission;
- the second digit is for the group, and (as 4is100in binary) means read-only; and
- the third digit is for other users, and means no permissions (0is000!)
Therefore in this case you want to combine S_IRUSR (user read), S_IWUSR (user write) and S_IRGRP (group read):
>>> import stat
>>> oct(stat.S_IRUSR | stat.S_IWUSR | stat.S_IRGRP)
'0640'
You can see each permission individually by displaying the octal number in binary form:
>>> bin(0640)
'0b110100000'
This breaks down as follows:
 # USR
0b 110 100 000
 # ^ user read (yes)
 #  ^ user write (yes)
 #   ^ user execute (no)
     # GRP
0b 110 100 000
     # ^ group read (yes)
     #  ^ group write (no)
     #   ^ group execute (no)
         # OTH
0b 110 100 000
         # ^ other read (no)
         #  ^ other write (no)
         #   ^ other execute (no)