The modern Python-powered component framework.
Build reactive web apps with clean, pythonic code.
Get the package
$ pip install snakeskin-xplnhub Scaffold new app
$ snakeskin init my-app Hot-reload server
$ snakeskin dev Production ready
$ snakeskin build Build encapsulated UI blocks that manage their own state.
UI updates automatically when your data changes.
Built-in support for utility-first styling.
Instant feedback with a lightning-fast dev server.
Generators, linters, and builders out of the box.
Direct LLM integration and server-side logic in one place.
Define components as Python classes. Use render() to return declarative UI structures. We handle the efficient DOM
updates and state management for you.
class Counter(Component):
def on_init(self):
# Initialize component state
self.state = {"count": 0}
def increment(self):
self.state["count"] += 1
def render(self):
return Div(
H1(f"Count: {self.state['count']}"),
Button(
"Increment",
on_click=self.increment,
class_name="btn-primary"
)
) Don't waste time building basic components. Snakeskin comes with a comprehensive set of accessible, unstyled primitives that you can customize with simple props.
Under the hood of the Python-to-Web engine.
Browser takes over the static HTML and attaches event listeners to make it interactive instantly.
| Command | Usage | Description |
|---|---|---|
| create | snakeskin create my-app | Scaffolds a new project. |
| dev | snakeskin dev | Starts the hot-reload development server. |
| generate | snakeskin generate component | Creates new component files. |
| build | snakeskin build | Compiles for production. |