Lightweight Azkaban client
Branch: master
Clone or download
juhoautio and mtth Fix AzkabanError bug affecting python 2.6+
Python's Exception doesn't have `message` since 2.6. Store it in a field so that calls of AzkabanError.message keep working.
Latest commit 7ccfa64 Jan 18, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
azkaban Fix AzkabanError bug affecting python 2.6+ Jan 19, 2019
examples modifications for python3 compatibility May 22, 2014
.travis.yml Update doc. Dec 27, 2014
AUTHORS Added tests for `get_workflow_executions`, `get_running_workflows`. Nov 10, 2014
LICENSE first Oct 17, 2013
README.rst Add a few test fixes for Azkaban 3.0 Jan 17, 2019 Update dependency version Jun 26, 2015


AzkabanCLI build_image

A lightweight Azkaban client providing:

  • A command line interface to run workflows, upload projects, etc.
  • A convenient and extensible way for building projects.


Below is a simple configuration file for a project containing a workflow with three jobs:

from azkaban import Job, Project
from getpass import getuser

PROJECT = Project('sample')

# properties available to all jobs = {
  '': getuser(),

# dictionary of jobs
JOBS = {
  'first': Job({'type': 'command', 'command': 'echo "Hello"'}),
  'second': Job({'type': 'command', 'command': 'echo "World"'}),
  'third': Job({'type': 'noop', 'dependencies': 'first,second'}),

for name, job in JOBS.items():
  PROJECT.add_job(name, job)

The examples directory contains another sample project that uses Azkaban properties to build a project with two configurations: production and test, without any job duplication.


The full documentation can be found here.


Using pip:

$ pip install azkaban


Run tests:

$ nosetests

To also run the integration tests against an Azkaban server, create ~/.azkabanrc that includes at least:

test.alias = local

url = azkaban:azkaban@http://localhost:8081