The webAI Element CLI is the developer entry point into the webAI platform.
This tool is currently in beta - we welcome bug reports and feature requests through Github issues.
First time installation using homebrew:
brew tap thewebAI/webai
brew install webai
Updating to latest version:
brew update
brew upgrade webai
webAI Navigator
contact salespython
docspip
docsuv
docs
Run webai
to get started
Elements are Python programs that can be imported into Navigator and included in your flows.
1. Create an element
webai element init
2. Navigate to the project directory
cd my-element
3. Activate the virtual environment
source venv/bin/activate
4. Add dependencies to requirements.txt
pip install -r requirements.txt
5. Start developing your element in __init__.py
6. Import element into Navigator
webai element import /path/to/my-element
The webai_element_sdk
library exposes everything you need to create elements.
@element.startup
async def startup(ctx: Context[Inputs, Outputs, None]):
print(f"Starting...")
@element.shutdown
async def shutdown(ctx: Context[Inputs, Outputs, None]):
print(f"Shutting down...")
@element.executor
async def run(ctx: Context[Inputs, Outputs, Settings]):
print(f"Hello world...")
# Main element logic goes here
Configurable UI parameters in Navigator to guide element behavior.
"""
Boolean Settings
Implemented as a toggle button
"""
boolean_setting = BoolSetting(
name="boolean_setting",
display_name="Boolean Setting",
default=True
)
"""
Number Settings
Integer and Float
"""
# Integer displayed as input fields by default
integer_setting = NumberSetting[int](
name="integer_setting",
display_name="Integer Setting",
default=256,
min_value=0,
max_value=1024,
step=1,
)
# Providing "valid_values" creates a dropdown
dropdown_setting_with_int_values = NumberSetting[int](
name="dropdown_setting_with_int_values",
display_name="Int Dropdown Setting",
valid_values=[0, 1, 2, 3, 4, 5],
default=1,
)
# Float displayed as sliders by default
float_setting = NumberSetting[float](
name="float_setting",
display_name="Float Setting",
default=0.1,
min_value=0,
max_value=1,
step=0.01,
)
# Providing "valid_values" creates a dropdown
dropdown_setting_with_float_values = NumberSetting[float](
name="dropdown_setting_with_float_values",
display_name="Float Dropdown Setting",
valid_values=[0.0, 0.1, 0.2, 0.3, 0.4, 0.5],
default=0.1,
)
"""
Text Settings
Displayed as input fields by default
"""
text_setting = TextSetting(
name="text_setting",
display_name="Text Setting",
default="Hello, World!",
)
# Providing "valid_values" creates a dropdown
dropdown_setting_with_text = TextSetting(
name="dropdown_setting_with_text",
display_name="Text Dropdown Setting",
valid_values=["Option 1", "Option 2", "Option 3"],
default="Option 2",
)
# "file_path" hint displays file path selector
file_path_setting = TextSetting(
name="file_path_setting",
display_name="File Path Setting",
default="~/path/to/my/file.txt",
hints=["file_path"]
)
# "folder_path" hint displays file path selector
folder_path_setting = TextSetting(
name="folder_path_setting",
display_name="Folder Path Setting",
default="~/path/to/my/folder",
hints=["folder_path"]
)