https://github.com/mtth/azkaban
Lightweight Azkaban client
https://github.com/mtth/azkaban
azkaban python
Last synced: 15 days ago
JSON representation
Lightweight Azkaban client
- Host: GitHub
- URL: https://github.com/mtth/azkaban
- Owner: mtth
- License: mit
- Created: 2013-10-17T06:06:12.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2020-01-28T16:07:49.000Z (about 5 years ago)
- Last Synced: 2025-04-09T19:17:42.584Z (15 days ago)
- Topics: azkaban, python
- Language: Python
- Homepage: http://azkabancli.readthedocs.org
- Size: 380 KB
- Stars: 77
- Watchers: 16
- Forks: 40
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES
- License: LICENSE
Awesome Lists containing this project
README
# AzkabanCLI [](https://travis-ci.org/mtth/azkaban) [](https://pypi.python.org/pypi/azkaban/) [](https://pypistats.org/packages/azkaban)
A lightweight [Azkaban][] client providing:
* A command line interface to run workflows, upload projects, etc.
* A convenient and extensible way for building projects.## Sample
Below is a simple configuration file for a project containing a workflow with
three jobs:```python
from azkaban import Job, Project
from getpass import getuserPROJECT = Project('sample')
# properties available to all jobs
PROJECT.properties = {
'user.to.proxy': 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.## Documentation
The full documentation can be found [here][doc].
## Installation
Using [pip][]:
```sh
$ pip install azkaban
```## Development
Run tests:
```sh
$ nosetests
```To also run the integration tests against an Azkaban server, create
`~/.azkabanrc` that includes at least:```cfg
[azkaban]
test.alias = local[alias.local]
url = azkaban:azkaban@http://localhost:8081
```[Azkaban]: http://data.linkedin.com/opensource/azkaban
[doc]: http://azkabancli.readthedocs.org/
[examples]: https://github.com/mtth/azkaban/tree/master/examples
[pip]: http://www.pip-installer.org/en/latest/