Skip to main content

Lume

Project description

lume :fire: version ci pypi

A Python-based handy automation tool. Lume helps you with your daily dev operations and ease the CI & CD process.

Table of Contents

Installation :computer:

pip install lume

Getting Started :chart_with_upwards_trend:

lume is a simple way to organize installation, setup, code compilation, test, etc..

Configuration File

If you want to use lume in your project, just add a lume.yml in your root.

name: lume-sample

install:
  run:
  - echo "Installing..."

steps:
  clean:
    run:
    - echo "Cleaning..."
  build:
    run:
    - echo "Building..."
  test:
    run:
    - echo "Testing..."

You can use help to know what lume is able to do for you:

>> lume -h
usage: lume 🔥 [-h] [-v] [-all] [-clean] [-build] [-test] [-install]

Lume helps you with your daily dev operations and ease the CI & CD process.

optional arguments:
  -h, --help            show this help message and exit
  -v, --version         show lume version number.
  -all, --all-commands  run all commands
  -clean, --clean       clean
  -build, --build       build
  -test, --test         test
  -install, --install   install

If you want to save your lume file in another folder or change the name, you can do it with the Environment Variable LUME_CONFIG_FILENAME.

>> export LUME_CONFIG_FILENAME=configs/deploy-lume.yml; lume -h

Run Defined Steps

Lume automatically parses your lume.yml file allowing you to call it.

To run install:

>> lume -install
🔥 Step: install
👩‍💻 >> install >> echo "Installing..."
👩‍💻 >> Installing...

To run all the steps:

lume -all
🔥 Step: clean
👩‍💻 >> clean >> echo "Cleaning..."
👩‍💻 >> Cleaning...
🔥 Step: build
👩‍💻 >> build >> echo "Building..."
👩‍💻 >> Building...
🔥 Step: test
👩‍💻 >> test >> echo "Testing..."
👩‍💻 >> Testing...

Of course, you can run every step individually:

>> lume -clean
🔥 Step: clean
👩‍💻 >> clean >> echo "Cleaning..."
👩‍💻 >> Cleaning...

Or several steps:

>> lume -build -test
🔥 Action: build
👩‍💻 >> build >> echo "Building..."
👩‍💻 >> Building...
🔥 Action: test
👩‍💻 >> test >> echo "Testing..."
👩‍💻 >> Testing...

Advanced Configurations

Lume allows you to define several commands per Step:

steps:
  clean:
    run:
    - echo "Cleaning dep1"
    - echo "Cleaning dep2"

Additionally, lume implements a special step to manage dependencies such us resources.

steps:

  setup:
    output: deps
    deps:
      images:
        type: file
        url: https://path/images.zip
        name: images
        auth_required: true
        credentials_env: ENVVAR_CREDENTIALS
        unzip: true
      resources:
        type: bucket
        url: gs://alice-biometrics/resources.zip
        name: resources
        auth_required: true
        credentials_env: GOOGLE_APPLICATION_CREDENTIALS
        unzip: true
  build:
    run:
    - echo "Creating dir"
    - echo "Building..."
  lint:
    run:
    - echo "Checking code..."
  doc:
    cwd: examples
    run:
    - echo $(pwd)
    - echo "Doc is nice"
  loop:
    cwd: examples
    run:
    -  for((i=1;i<=20000;i+=1)); do echo "Welcome $i times"; done

Acknowledgements :raised_hands:

bowie inspired us! 👨‍🎤 :clap:

Thanks to bowie development team in Gradiant.

Contact :mailbox_with_mail:

support@alicebiometrics.com

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

lume-0.1.0.tar.gz (14.3 kB view hashes)

Uploaded Source

Built Distribution

lume-0.1.0-py3-none-any.whl (22.2 kB view hashes)

Uploaded Python 3

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