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 themes, 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 run_application, run_flow_manager, FlowManager, TextStepSpec, FlowSpec
    
     RESOURCES_DIR = 'resources'
    
    
     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. 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 themes, 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:

    BUNDLE_RESOURCES_DIR = 'path/to/your/bundle/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.2.tar.gz (65.0 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.2-py3-none-any.whl (78.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: botflow_gui-0.0.2.tar.gz
  • Upload date:
  • Size: 65.0 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.2.tar.gz
Algorithm Hash digest
SHA256 bb214033460621ba2895200cff278e1ead12fd77e280913fb53fcad91da10cc8
MD5 c288fe4f113b3fe2ee8533162958de90
BLAKE2b-256 ffa3ea184710f294964908abe9897b6b789a9b827129caf9b47965d4afe16cfb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: botflow_gui-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 78.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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0bdb2abed8672a21ec369e3cfcbb35e4d136d194d2d1d16cab700f82b1f2f1b7
MD5 f0c618a8db62cf55ed43e60f6ab84e56
BLAKE2b-256 1db64ba42a5bf5bef05a83ab4c58da4ebbec5440e0456e3a5dfd079e6617e5bd

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