Skip to main content

Flowz workflow management

Project description

Dagsesh: Airflow DAG Session Manager

Overview

An Apache Airflow session context manager that overrides the default AIRFLOW_HOME path with a random, ephemeral alternate.

Why is this useful? As per the Airflow configuration docs:

The first time you run Airflow, it will create a file called airflow.cfg in your $AIRFLOW_HOME directory (~/airflow by default).

Dagsesh delays the creation of AIRFLOW_HOME using a lazy-loading facility whilst injecting it with a random alternate. Great if you want to create a pristine Airflow environment for repeatable testing.

Dagsesh can be used as a convenient pytest plugin to prime an Airflow environment for testing.

top

Prerequisites

top

Getting Started

Makester is used as the Integrated Developer Platform.

(macOS Users) Upgrading GNU Make

Follow these notes to get GNU make.

Creating the Local Environment

Get the code and change into the top level git project directory:

git clone git@github.com:loum/dagsesh.git && cd dagsesh

NOTE: Run all commands from the top-level directory of the git repository.

For first-time setup, get the Makester project:

git submodule update --init

Initialise the environment:

make init-dev

Local Environment Maintenance

Keep Makester project up-to-date with:

git submodule update --remote --merge

top

Help

There should be a make target to get most things done. Check the help for more information:

make help

top

Running the Test Harness

We use pytest. To run the tests:

make tests

top

Using dagsesh Plugin in your Project's Test Suite

Add the dagsesh package as a dependency to your project's development environment so that the plugin is installed and visible in your PYTHONPATH. dagsesh takes care of the distribution's entry point so that pytest automatically finds the plugin module. Nothing else needs to be done.

NOTE: See Making your plugin installable by others for more information.


top

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

dagsesh-0.1.1a0.tar.gz (9.3 kB view details)

Uploaded Source

Built Distribution

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

dagsesh-0.1.1a0-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file dagsesh-0.1.1a0.tar.gz.

File metadata

  • Download URL: dagsesh-0.1.1a0.tar.gz
  • Upload date:
  • Size: 9.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for dagsesh-0.1.1a0.tar.gz
Algorithm Hash digest
SHA256 1bd7e19e2b012723c0c8071f95e485c4c4697c086ca9f3678a59f7b7f9cf6885
MD5 c088ee506dd8dba537610ae34bcdbdc8
BLAKE2b-256 78ad52b51cfa1b9ff8535a92157b5f4edcd5820ba32c9b58e5b36eb4eed7a3e4

See more details on using hashes here.

File details

Details for the file dagsesh-0.1.1a0-py3-none-any.whl.

File metadata

  • Download URL: dagsesh-0.1.1a0-py3-none-any.whl
  • Upload date:
  • Size: 7.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for dagsesh-0.1.1a0-py3-none-any.whl
Algorithm Hash digest
SHA256 0d9dc29115ca4eb38c9928a6d63b0f376f1b65b0fa88094035aaf55a040a9635
MD5 28b1ad7af3ae83bd4d1717a1908d0a78
BLAKE2b-256 bd2d6fe80355ab14ded53afad369123ed30a3e4db83a24eed612571cf8d25ce3

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