Skip to main content

No project description provided

Project description

Botflow

Botflow is a lightweight Python framework for building automation workflows and bots with a focus on simplicity, modularity, and ease of integration.

Features

  • Workflow Management: Define complex bot workflows with simple, declarative syntax
  • Multi-language Support: Built-in i18n support with locale management
  • Resource Management: Centralized handling of styles, assets, and locales
  • Bundle Support: PyInstaller integration for creating standalone executables
  • Qt Integration: PySide6 support for GUI-based automation
  • Configuration: Flexible runtime configuration with environment variables

Quick Start

  1. Install Botflow via pip:

    pip install botflow-gui
    
  2. Create a simple bot workflow:

    from botflow import FlowManager, FlowSpec, TextStepSpec, run_application, run_flow_manager
    
    async def greet_user(ctx):
        name = ctx.data.get('greet_step')
        ctx.logger.info(f'Hello, {name}!')
    
    
    flow = FlowSpec(
        name='simple_flow',
        steps=[
            TextStepSpec(
                key='greet_step',
                title='Greet User',
                placeholder='Enter your name',
            ),
        ],
        on_finish=[greet_user]
    )
    
    
    if __name__ == '__main__':
        run_application()
        flow_manager = FlowManager(flow)
        run_flow_manager(flow_manager, window_title='Simple Flow Manager')
    
  3. (Optional) If you want to customize the resources directory or language, set the following environment variables in your script before importing Botflow:

    import os
    
    os.environ['BOTFLOW_RESOURCES_DIR'] = './custom_resources'
    os.environ['BOTFLOW_LANG'] = 'en_US'
    
    • When you use your own resources directory, Botflow will look for styles, locales, and other assets in the specified path and after that in the default package resources. So you can replace the default resources by providing your own.

      from botflow.resolver import find_resource_file
      
      resource_path = find_resource_file('styles/flow_manager.qss')
      
  4. Run your bot:

    python your_bot_script.py
    

How to create a bundle

To create a standalone executable bundle of your Botflow application, you can use PyInstaller. Follow these steps:

  1. Install PyInstaller:

    pip install pyinstaller
    
  2. Create a spec file for your application. You can generate a default spec file using:

    pyinstaller your_bot_script.py
    
  3. If you are using your own resources (like styles, locales, etc.), make sure to include them in the spec file. You can modify the datas section of the spec file to include your resources directory:

    pyinstaller your_bot_script.py --add-data "path/to/your/resources:resources"
    
  4. If you want to specify a custom resources directory for your bundle, you can set the BUNDLE_RESOURCES_DIR variable in your main script (If you don't set it, it defaults to 'BOTFLOW_RESOURCES_DIR' path if set):

    os.environ['BOTFLOW_BUNDLE_RESOURCES_DIR'] = './custom_resources'
    

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

botflow_gui-0.0.4.tar.gz (66.1 kB view details)

Uploaded Source

Built Distribution

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

botflow_gui-0.0.4-py3-none-any.whl (79.3 kB view details)

Uploaded Python 3

File details

Details for the file botflow_gui-0.0.4.tar.gz.

File metadata

  • Download URL: botflow_gui-0.0.4.tar.gz
  • Upload date:
  • Size: 66.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for botflow_gui-0.0.4.tar.gz
Algorithm Hash digest
SHA256 4cc3aebaa554ef95edf529e3446555f45f29dc1eb0f9474843696e0ce1049ec3
MD5 598ad0ac14a00b854939a42d35702ac1
BLAKE2b-256 da496e72e05584224e4bddeddcbb9f22b053ce9e5c08de04bf9dc2a615995545

See more details on using hashes here.

File details

Details for the file botflow_gui-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: botflow_gui-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 79.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for botflow_gui-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 eac32fbf48a8f2f6bab01efd01de2ebdf0cdeae5657967e7318cc94476c5feb4
MD5 217ad8c7a0a0305b591b54c46ec7b88e
BLAKE2b-256 5f32cb695c67f84c7f971ed7f075f68c557ba197efdc0f3b6d72a90276f70a1b

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