Skip to main content

gitea: none include_toc: true

Build Status License Language

Laboro

What is Laboro ?

Laboro is a NO-Code / Low-Code workflow automation tool that helps you to build and run automated tasks with the least amount of effort and technical knowledge:

  • You don't need to know how to install a specific development environment to use Laboro.
  • You don't need to have advanced system administration knowledge to run your Laboro automated tasks.

How can Laboro help me ?

Busy developers and system administrators have many task automation needs, but often don't have enough time to write and maintain their scripts and, even worse, when there are scripts, they rarely are consistent with each other, which makes their maintenance tedious.

Laboro provides a unique way to quickly write and execute standardized, easy to maintain automated workflows without any need to install a specific environment or dependencies of any kind.

It also:

Advanced users shall find Laboro as a mix between:

  • A CI/CD tool such as Gitlab CI
  • A configuration provisioning tool such as Ansible
  • An Extract Transform Load tool such as Talend.

Anyway, the main purpose of Laboro is to provide a tool to quickly write highly standardized and easy to maintain automation tasks with the least amount of effort and technical knowledge.

What does Laboro mean

Laboro is the latin expression for "I am working".

Your time is valuable and tedious tasks are for robots. Laboro is always pleased to perform all your repetitive tasks for you while allowing you to stay focused on the part of your job where you bring real added value.

Development status

Laboro is currently well tested and "without known bug" but is still in beta stage and will not be considered suitable for production until Laboro-1.0.0 release.

Status of this documentation

This documentation is a work in progress and changes may occur until the release of the Laboro-1.0.0 version.

Install Laboro

Laboro leverages modern container environments such as Podman or Docker.

Follow the quick installation guide for all needed details.

Configuration

Since Laboro is run as a container, it does not require any configuration tweaks.

However, advanced users may have a look on how to configure Laboro to suit specific needs.

Concepts

Laboro lays on the following fundamental concepts:

Modules

Laboro capabilities are extended through modules delivered as Python packages.

All information about available modules and how to write you own module are available here.

Configure your first workflow

Configuring a Laboro workflow is basically writing a YAML file.

You may want to first have a look at the underlying concepts or if you feel brave enough go straight to step by step guide and configure you first workflow

Running your workflows

Once all your workflows are configured and saved in the /path/to/local/workflowdir, you can run them by issuing the following command:

Example:

podman run --name laboro \
           -e TZ=Pacific/Noumea \
           -v /path/to/local/workflowdir:/opt/laboro/workflows:Z \
           -v /path/to/local/workspacesdir:/opt/laboro/workspaces:Z \
           -v /path/to/local/logs:/opt/laboro/log:Z \
           mcosystem/laboro:latest \
           -w workflow_demo_1.yml workflow_demo_2.yml workflow_demo_3.yml

In this example the 3 workflows workflow_demo_1.yml, workflow_demo_2.yml, workflow_demo_3.yml will be run sequentially in the specified order within a container which time zone will be set to Pacific/Noumea.

The container also has three host directories mounted:

  • /path/to/local/workflowdir mounted on /opt/laboro/workflows
  • /path/to/local/workspacesdir mounted on /opt/laboro/workspaces
  • /path/to/local/logs mounted on /opt/laboro/log

You may find more specific examples of how to run you workflow

Show me more !

This repository host all the necessary bits to install, configure and run Laboro for demonstration and testing purpose: https://codeberg.org/laboro/laboro_poc

You will find all needed instructions to install a simulated basic infrastructure based on 5 containers running the following services:

  • A basic http ReST API server
  • A FTP server with TLS support)
  • A mailer host with full support of SMTP/IMAP/POP with TLS support
  • A Postgresql relational database server
  • An openSSH server with full SFTP support

The instructions will guide you through all steps to run a workflow using mostly all Laboro features such as loops, variables and iterables, conditional execution, split workflows and encrypted data, data files etc.

A lot of fun to be discovered for whom would like to understand Laboro and wants its daily cumbersome tasks automated once for all 🙂

Example of a Laboro container running a real life workflow named workflow_demo.yml: Laboro demonstration

Metadata

Release files for laboro 0.2.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for laboro 0.2.9
File Size Uploaded
laboro-0.2.9.tar.gz 29.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for laboro 0.2.9
File Interpreter ABI Platform
laboro-0.2.9-py3-none-any.whl Python 3 none any Details

Total release size: 67.3 kB

Release files / laboro-0.2.9.tar.gz

Download URL laboro-0.2.9.tar.gz
Size 29.7 kB
Tags Source
SHA-256 checksum
How to use checksums
8d17343d8024407a539e1d9619f2725a429247b17f7847ca1e05828b3c607393
BLAKE2b-256 checksum
How to use checksums
b6f464b39a845587736817f612c21caf36497bfbc338887585e845c53608138b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.13

Release files / laboro-0.2.9-py3-none-any.whl

Download URL laboro-0.2.9-py3-none-any.whl
Size 37.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
daca56d459bb35b14f11e7a55951322f8293d4848767b0a62f25319e4e867016
BLAKE2b-256 checksum
How to use checksums
884c2bb71bfbdb5eee8258e7659653f8f5c398051a4dc0512f14d7bc32b50988
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.13

Release history Release notifications | RSS feed

This release

0.2.9 This release

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.57

2 release files

0.0.56

2 release files

0.0.55

2 release files

0.0.54

2 release files

0.0.53

2 release files

0.0.52

2 release files

0.0.51

2 release files

0.0.50

2 release files

0.0.49

2 release files

0.0.48

2 release files

0.0.47

2 release files

0.0.46

2 release files

0.0.45

2 release files

0.0.44

2 release files

0.0.43

2 release files

0.0.42

2 release files

0.0.41

2 release files

0.0.40

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page