Skip to content

Welcome to Nuiitivet

Key Areas in the Docs

  • Guide A practical user guide to learn Nuiitivet step by step, from first app setup to common development workflows.
  • API Reference Provides reference docs.
  • Changelog Tracks released versions and updates.

Quick Example

from nuiitivet.material.app import MaterialApp
from nuiitivet.material import Text, Button
from nuiitivet.layout.column import Column
from nuiitivet.observable import Observable
from nuiitivet.widgeting.widget import ComposableWidget
from nuiitivet.material import ButtonStyle


class CounterApp(ComposableWidget):
  def __init__(self):
    super().__init__()
    self.count = Observable(0)

  def handle_increment(self):
    self.count.value += 1

  def build(self):
    return Column(
      [
        Text(f"count: {self.count.value}"),
        Button("Increment", on_click=self.handle_increment, style=ButtonStyle.filled()),
      ],
      gap=12,
      padding=16,
    )


MaterialApp(home=CounterApp()).run()