ihmeuw-scicomp / jobmon

Other
3 stars 6 forks source link

JobMon

Table of Contents

Introduction

JobMon is a Python package developed by IHME's Scientific Computing team, designed to simplify and standardize the process of job monitoring and workflow management in computational projects. It facilitates the tracking of job statuses, manages dependencies, and streamlines the execution of complex workflows across various computing environments.

Description

The tool aims to enhance productivity and ensure computational tasks are efficiently managed and executed, offering a robust solution for handling large-scale, data-driven analyses in research and development projects.

Features

Installation

To install JobMon, use the following pip command:

pip install jobmon_client[server]

Usage

Refer to the quickstart to get started with a sample workflow

Requirements

Documentation

For comprehensive documentation, visit readthedocs.

Contributing

We encourage contributions from the community. If you're interested in improving JobMon or adding new features, please refer to our developer guide for python client contributions or the GUI README.md for visualization contributions.

Branching Strategy

This project utilizes a branching strategy that emphasizes release branches and semantic versioning, facilitating orderly development, feature addition, bug fixes, and updates.

Overview

Semantic Versioning

We adopt semantic versioning for organizing our releases:

Development and Release Process

  1. Starting New Features and Fixes: Branch off from the corresponding release/X.Y branch for developing new features or addressing bugs. Ensure your branch name clearly reflects the purpose of the changes.
  2. Applying Bug Fixes: If a bug fix applies to a release branch that has diverged from main, it should first be applied to the most current release branch where relevant, before merging into the specific release/X.Y branch.
  3. Pull Request (PR): Submit a PR against the release/X.Y branch from which you branched out. The PR must summarize the changes and include any pertinent information for the reviewers.
  4. Creating Tags and Merging to Main:
    • Upon completion of a release cycle, a version tag following the X.Y.Z format is created for the release/X.Y branch.
    • This tagged release/X.Y branch is then merged into main, signifying the release of a new version.

Changelog

For a detailed history of changes and version updates, please refer to the CHANGELOG.md file within this repository.

License

This project is licensed under the JobMon Non-commercial License, developed at the Institute for Health Metrics and Evaluation (IHME), University of Washington. The license allows for redistribution and use in source and binary forms, with or without modification, under the conditions that:

For commercial use rights, contact the University of Washington, CoMotion, at license@uw.edu or call 206-543-3970, and inquire about this project.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

For a full copy of the license, see the LICENSE file in this repository.