@JonB Thanks for the suggestions. Created a GifSpriteNode class which could be used like SpriteNode. Added support for duration. Used BytesIO instead of files. Added preload option. Here is the git repository
It does not seem to work for all gifs. There is no straight-forward PIL API to take care of all situations. Tried some solutions suggested on stackoverflow and other web sites but still all gifs do not work. Anyway I will try to see what could be done.