Skip to main content

A zero-boilerplate framework for building interactive ChatGPT widgets

Project description

Flick

A zero-boilerplate framework for building interactive ChatGPT widgets.

Features

  • 🚀 Zero Configuration - Just create your widget and tool, everything else is automated
  • 🔄 Auto-Discovery - Tools are automatically detected and registered
  • 📦 Auto-Build - Mounting logic injected at build time
  • ⚡ Hot Reload - Changes detected and rebuilt automatically
  • 🎨 React + Vite - Modern frontend development experience

Installation

pip install flick

Quick Start

from flick import BaseWidget
from pydantic import BaseModel, ConfigDict
from typing import Dict, Any

class MyWidgetInput(BaseModel):
    model_config = ConfigDict(populate_by_name=True)

class MyWidgetTool(BaseWidget):
    identifier = "my_widget"
    title = "My Widget"
    input_schema = MyWidgetInput
    
    async def execute(self, input_data: MyWidgetInput) -> Dict[str, Any]:
        return {"message": "Hello from Flick!"}

Create your React component in widgets/my_widget/index.jsx:

import React from 'react';
import { useWidgetProps } from 'flick-react';

export default function MyWidget() {
  const { message } = useWidgetProps();
  return <h1>{message}</h1>;
}

That's it! No boilerplate files needed.

Documentation

Visit flick.dev/docs for full documentation.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flicky-1.0.0.tar.gz (19.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flicky-1.0.0-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

Details for the file flicky-1.0.0.tar.gz.

File metadata

  • Download URL: flicky-1.0.0.tar.gz
  • Upload date:
  • Size: 19.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.16

File hashes

Hashes for flicky-1.0.0.tar.gz
Algorithm Hash digest
SHA256 8a710d4255e788904f5726bd8ef6ced982151678b86d3b28d376194b3d288d32
MD5 48b5c57ea76ce723a467300d9fdad92d
BLAKE2b-256 c00822e09c733c7ef932a55ca877ed575b2d47133558d16fdc3eda211bea5bfb

See more details on using hashes here.

File details

Details for the file flicky-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: flicky-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 9.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.16

File hashes

Hashes for flicky-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dadae8f3f163a1850c427c4c160fcb0b01cb225b7f3c50e687e2a9a7917f89b2
MD5 df7f47dede937567d1d97586dfc1601d
BLAKE2b-256 6f723af84f9bba6d09c538192047d621db8befe6b4a079f54ee7016a15c4095c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page