Skip to main content

Collection of nodes for use in workflows.

Project description

workflow-nodes

workflow-nodes is a collection of nodes usable inside a workflow written in Python 3. Each node is an executable command line tool providing the --xmlhelp interface, which can be used to obtain a machine readable representation of any command line tool and its parameters (see also xmlhelpy.

There are nodes to generate reports, to wrap system commands like awk and some nodes for special use cases like integrating ImageJ macros. Additionally, some nodes can interact with a Kadi4Mat instance as well.

Installation

The library can be installed using pip3 (or pip, if there is no dedicated version of pip for Python 3 installed), which generally comes bundled with Python installations. Python version >= 3.6 is required.

pip3 install workflow-nodes

When installing the library from source for development instead, it is recommended to install the library in editable mode, which simply creates a link to the sources so all changes are reflected in the installed package immediately. The command will also install some additional development dependencies as defined in setup.py.

pip3 install -e .[dev]

Running the installations inside a virtual environment is recommended, see Virtualenv for more information.

After installing, make sure the workflow-nodes command is runnable from anywhere. Depending on the type of installation and if a virtual environment is used or not, the PATH system variable may need to be adapted accordingly to include the path the executable resides in. For example, the following command can be used on Linux, assuming the executable resides in ~/.local/bin:

export PATH=${HOME}/.local/bin:${PATH}

This line can also be added to .bashrc so it will be executed each time a new terminal is opened:

echo 'export PATH=${HOME}/.local/bin:${PATH}' >> ${HOME}/.bashrc

Autocomplete is available for fish, zsh, bash and PowerShell and can be activated via:

workflow-nodes config activate-autocompletion

Usage

All commands concerning different resources are available as various subcommands. For more information or to get a list of subcommands, the following commands can be used:

workflow-nodes --help

workflow-nodes --commands

To use nodes with the local workflow editor, they have to be added to the file $HOME/.pacestudio/tools.txt. Afterwards you can insert them using the "Add Tool" context menu option in the editor.

Contributing

  • First, create a fork of this project and clone it. The main repository can be added as an additional remote to the cloned project, often called upstream. Also checkout the development branch, which is currently used as the main development branch.
  • Install the project in development mode according to the instructions above and setup the pre-commit hooks by running pre-commit install.
  • Create a Python file for the node in the desired package, e.g. in workflow_nodes/report/ and implement the functionality of the tool. You can use other existing tools as a reference. Afterwards, add the implemented function to a fitting subcommand group, e.g. to workflow_nodes/report/main.py.
  • If there are any new (development) dependencies, add them to requirements.in or requirements.dev.in and run pip-compile requirements.in --allow-unsafe or pip-compile requirements.dev.in --allow-unsafe manually.
  • Add an entry about any new functionality to HISTORY.md.
  • Before creating a merge request on the main repository, make sure the GitLab CI runs through successfully in your fork.

Project details


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

workflow_nodes-0.7.0-py3-none-any.whl (86.6 kB view details)

Uploaded Python 3

File details

Details for the file workflow_nodes-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: workflow_nodes-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 86.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.7.8

File hashes

Hashes for workflow_nodes-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a4aedea81c7ea06ea81612d92c9a0e03ab1c4be8eaefb34e5b3cc29b8c3b121a
MD5 f30928ea31a8810f51f191104a1e7c41
BLAKE2b-256 0452cf0414ac0de79750bf05c81f5383108cef6c419b65ac24245288833f833f

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