IDOM - A Brief Introduction

IDOM is an easily installable and powerful Python package for:

  • Making responsive user interfaces with pure Python

  • Doing so with a declarative API based on React's Hooks

  • And rendering those layouts on the web or in Jupyter Notebooks

This Notebook shows a basic example which is explained in more depth in IDOM's documentation where you can also find more examples.

Where Can You Learn More?

Go to for:

  • more documentation

  • installation instructions

For trouble shooting and support:

In [1]:
import idom
import idom_jupyter

def ClickCount():
    count, set_count = idom.hooks.use_state(0)
    return idom.html.button(
        {"onClick": lambda event: set_count(lambda old: old + 1)},
        [f"Click count: {count}"],


Easy Javascript Integration

So long as you have NPM installed you can dynamically install existing Javascript libraries:

In [2]:
victory = idom.web.module_from_template("react", "victory-bar", fallback="...")
VictoryBar = idom.web.export(victory, "VictoryBar")

def VictoryBarElement():
    return VictoryBar()


More Examples

Go to to find more ways to use IDOM.

In [ ]: