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.2.tar.gz (63.7 kB view details)

Uploaded Source

Built Distribution

waldiez-0.1.2-py3-none-any.whl (101.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: waldiez-0.1.2.tar.gz
  • Upload date:
  • Size: 63.7 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.2.tar.gz
Algorithm Hash digest
SHA256 d89bea578e8ae9a91b079374d9d941c02675754cd9ead5ae36ad0b8029556704
MD5 d69052cc90d36e907a07d9bcdc803480
BLAKE2b-256 21ee3a6e1d4a91d5011a423554e9afe866277e8f3e646d0cfd5ab9869d32edba

See more details on using hashes here.

File details

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

File metadata

  • Download URL: waldiez-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 101.8 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3230a6b5883c31acc2b4ddffbd78133bf7dba7c347ab77a6a751b183b88b59b3
MD5 dde20cff0403bbf1a9dddefc5068e99e
BLAKE2b-256 6938f365768df580d2c5abe344452b02bc13798e0fdd247134b928ce7b238f52

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