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
    
  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.1.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.1-py3-none-any.whl (78.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: botflow_gui-0.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 278de063ee3fb46d9de49c5d046351a7c02c7a6bf385476cdfad1400262c8d0b
MD5 9a86bd0c0d827b44ff46215a988cc8f7
BLAKE2b-256 b8db64866ba1bc51538ba91f9f6146daaa78ff126aea39d63ab2566748853712

See more details on using hashes here.

File details

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

File metadata

  • Download URL: botflow_gui-0.0.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 befcb7801ac1c4057111429afc4183a7ff154be6edfa4487ef61a4e344850766
MD5 14bb09e7c8bc2ba1c8f0f62c7cca8b4b
BLAKE2b-256 365c0d4a62ddc6b7fd5bfc7a15f4e082339e6b0a73827ef59eafaa1a87d156a4

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