I found 4 of the ones you mention, after a 2 minute search, but when there are so many choices and I'm not familiar with any of them, it seems faster to ask, than to read through all of the associated documentation and try to figure out whether there is one I ought to use, or others that I perhaps shouldn't.
For example, the first module I googled upon,