S-core decomposition

Is there a direct function in Python Igraph to do S-core decomposition on weighted graphs?

No, there is not. You are welcome to open a feature request for the C core of igraph and fill out all details, including use cases, existing algorithms, references, and anything else that may be helpful for implementing it.