Skip to main content

waldiez

Project description

Waldiez

CI Build Coverage Status PyPI version

Translate a Waldiez flow:

Flow

To a python script or a jupyter notebook with the corresponding autogen agents and chats.

Features

  • Export .waldiez flows to .py or .ipynb
  • Run a .waldiez flow
  • Include a logs folder with the logs of the flow in csv format
  • Provide a custom IOSStream to handle input and output.

Installation

On PyPI:

python -m pip install waldiez

From the repository:

python -m pip install git+https://github.com/waldiez/py.git

Usage

CLI

# Export a Waldiez flow to a python script or a jupyter notebook
waldiez --export /path/to/a/flow.waldiez --output /path/to/an/output[.py|.ipynb]
# Export and run the script, optionally force generation if the output file already exists
waldiez /path/to/a/flow.waldiez --output /path/to/an/output[.py] [--force]

As a library

Export a flow

# Export a Waldiez flow to a python script or a jupyter notebook
from waldiez import WaldiezExporter
flow_path = "/path/to/a/flow.waldiez"
output_path = "/path/to/an/output.py"  # or .ipynb
exporter = WaldiezExporter.load(flow_path)
exporter.export(output_path)

Run a flow

# Run a flow
from waldiez import WaldiezRunner
flow_path = "/path/to/a/flow.waldiez"
output_path = "/path/to/an/output.py"
runner = WaldiezRunner.load(flow_path)
runner.run(output_path=output_path)

Run a flow with a custom IOStream

# Run the flow with a custom IOStream
from waldiez import WaldiezIOStream, WaldiezRunner

flow_path = "/path/to/a/flow.waldiez"
output_path = "/path/to/an/output.py"

def print_function(*values, **args) -> None:
    """A custom print function."""
    print(values)

def on_prompt_input(prompt: str) -> str:
    """A custom input function."""
    return input(prompt)

io_stream = WaldiezIOStream(
    print_function=print_function,
    on_prompt_input=on_prompt_input,
    input_timeout=30,
)
with WaldiezIOStream.set_default(io_stream):
    runner = WaldiezRunner.load(flow_path)
    runner.run(stream=io_stream, output_path=output_path)

io_stream.close()

Tools

License

This project is licensed under the MIT License - see the LICENSE file for details.

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

waldiez-0.1.1.tar.gz (63.2 kB view details)

Uploaded Source

Built Distribution

waldiez-0.1.1-py3-none-any.whl (101.1 kB view details)

Uploaded Python 3

File details

Details for the file waldiez-0.1.1.tar.gz.

File metadata

  • Download URL: waldiez-0.1.1.tar.gz
  • Upload date:
  • Size: 63.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for waldiez-0.1.1.tar.gz
Algorithm Hash digest
SHA256 58a075c55a2414a98608c19aa80863b064033c3dea2f14bfc442adbafefa53ea
MD5 b4e02e8db5858067e9d1ba70c08a94a8
BLAKE2b-256 c8686056bc174a33966692609a421928a6301a2338e25b769dd720f1b0f53916

See more details on using hashes here.

File details

Details for the file waldiez-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: waldiez-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 101.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for waldiez-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7fcf902ca82027b7eebe8355d5501af5af903332b2a67083749daaa3fef8d7e8
MD5 d876ea0f071e9084596a0afb55bc2b4b
BLAKE2b-256 ddefd40005fbda3ac71bdede0627a55fa06b004516153903361f18fa37df5aea

See more details on using hashes here.

Supported by

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