LibIndic's ucasort module lets you sort words based on their linguistics.
- Clone the repository 
git clone https://github.com/libindic/ucasort.git - Change to the cloned directory 
cd ucasort - Run setup.py to create installable source 
python setup.py sdist - Install using pip 
pip install dist/libindic-ucasort*.tar.gz 
>>> from libindic.ucasort import Sort
>>> instance = Sort()
>>> result = instance.sort(u"കർത്തവ്യം അംബരീക്ഷൻ കൃത്യനിഷ്ഠ ശാപം ക്ഷമ സോമൻ ഷീല")
>>> for word in result['UCA']:
...     print(word)
...
അംബരീക്ഷൻ
കർത്തവ്യം
കൃത്യനിഷ്ഠ
ക്ഷമ
ശാപം
ഷീല
സോമൻ
Run tests with python setup.py test