Skip to main content

adhesive

Project description

A CI/CD system build around BPMN and Python. Basically a BPMN runner with pyhton step implementations targeted for builds. Built to run in the console.

Installation

pip install adhesive

User Tasks

In order to create user interactions, you can create UserTasks. These will define form elements that will be populated in the context.data, and available in subsequent tasks.

User tasks support the following API, available on the ui parameter, the parameter sent after the context.

class UiBuilderApi(ABC):
    def add_input_text(self,
                       name: str,
                       title: Optional[str] = None,
                       value: str = '') -> None:

    def add_input_password(self,
                           name: str,
                           title: Optional[str] = None,
                           value: str = '') -> None:

    def add_combobox(self,
                     name: str,
                     title: Optional[str] = None,
                     value: Optional[str]=None,
                     values: Optional[Iterable[Union[Tuple[str, str], str]]]=None) -> None:

    def add_checkbox_group(
            self,
            name: str,
            title: Optional[str]=None,
            value: Optional[Iterable[str]]=None,
            values: Optional[Iterable[Union[Tuple[str, str], str]]]=None) -> None:

    def add_radio_group(self,
                        name: str,
                        title: Optional[str]=None,
                        value: Optional[str]=None,
                        values: Optional[List[Any]]=None) -> None:

    def add_default_button(self,
                           name: str,
                           title: Optional[str]=None) -> None:

When a UserTask is encountered in the process flow, the user will be prompted to fill in the various parameters. Note that all the other tasks will continue running, proceeding forward with the build.

Configuration

Adhesive supports configuration via its config files, or environment variables. The values are read in the following order:

  1. environment variables: ADHESIVE_XYZ, then

  2. values that are in the project config yml file: .adhesive/config.yml, then

  3. values configured in the global config yml file: $HOME/.adhesive/config.yml.

Currently the following values are defined for configuration:

temp_folder

default value /tmp/adhesive, environment var: ADHESIVE_TEMP_FOLDER.

Is where all the build files will be stored.

plugins

default value [], environment var: ADHESIVE_PLUGINS_LIST.

This contains a list of folders, that will be added to the sys.path. So to create a reusable plugin that will be reused by multiple builds, you need to simply create a folder with python files, then point to it in the ~/.adhesive/config.yml:

plugins:
- /path/to/folder

Then in the python path you can simply do regular imports.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

adhesive-0.2.19-py3-none-any.whl (57.5 kB view details)

Uploaded Python 3

File details

Details for the file adhesive-0.2.19-py3-none-any.whl.

File metadata

  • Download URL: adhesive-0.2.19-py3-none-any.whl
  • Upload date:
  • Size: 57.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.7

File hashes

Hashes for adhesive-0.2.19-py3-none-any.whl
Algorithm Hash digest
SHA256 421ea18e13a8032aa932d27788a3fdc25309fa13fd768a68c8977ad7b0820cb3
MD5 51119df65c79e7cb870f89a1395f694d
BLAKE2b-256 f4377abe24625724fce0cac5941f823ea386f79f346b993422b37efdaf97b576

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