Libraries for creating and controlling interactive web pages with Python 3.7 and above.
Be sure to read the Documentation
IDOM is still young. If you have ideas or find a bug, be sure to post an issue or create a pull request. Thanks in advance!
Click the badge above to get started! It will take you to a Jupyter Notebooks hosted by Binder with some great examples.
pip install idom[stable]
IDOM can be used to create a simple slideshow which changes whenever a user clicks an image.
import idom
@idom.component
def Slideshow():
index, set_index = idom.hooks.use_state(0)
url = f"https://picsum.photos/800/300?image={index}"
return idom.html.img({"src": url, "onClick": lambda event: set_index(index + 1)})
idom.run(Slideshow, port=8765)
Running this will serve our slideshow to "https://localhost:8765/client/index.html"
You can even display the same thing in a Jupyter Notebook, just use idom_jupyter
: