Control the web with Python
Project description
IDOM
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!
Try it Now
Click the badge above to get started! It will take you to a Jupyter Notebooks hosted by Binder with some great examples.
Or Install it Now
pip install idom[stable]
At a Glance
IDOM can be used to create a simple slideshow which changes whenever a user clicks an image.
import idom
@idom.element
async 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)})
server = idom.server.sanic.PerClientState(Slideshow)
server.daemon("localhost", 8765).join()
Running this will serve our slideshow to "https://localhost:8765/client/index.html"
You could even display the same thing in a Jupyter notebook!
from idom.widgets.jupyter import init_display
display = init_display("127.0.0.1")
display(Slideshow)
Every click will then cause the image to change (it won't here of course).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.