Metadata-Version: 2.1
Name: PyTaskScheduler
Version: 0.0.1.2
Summary: This package focus on build a task scheduler via Python. With TaskScheduler you can define a project with tasks which have some dependency on each other, and run this project.
Home-page: https://github.com/lizeyan/TaskScheduler
Author: Zeyan Li
Author-email: li_zeyan@icloud.com
License: MIT
Project-URL: Bug Tracker, https://github.com/lizeyan/TaskScheduler/issues
Project-URL: Source Code, https://github.com/lizeyan/TaskScheduler
Project-URL: Documentation, https://ts.lizeyan.me
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: Click (~=7.1.2)
Requires-Dist: loguru (~=0.4.1)
Requires-Dist: ordered-set (~=4.0.1)
Requires-Dist: Jinja2 (~=2.11.2)

# TaskScheduler (TS)
|Branch|Build|Coverage|
|---   |---  |---     |
|master|![Python package](https://github.com/lizeyan/TaskScheduler/workflows/Python%20package/badge.svg?branch=master)|[![Coverage Status](https://coveralls.io/repos/github/lizeyan/TaskScheduler/badge.svg?branch=master&t=lYjJ0E)](https://coveralls.io/github/lizeyan/TaskScheduler?branch=master&service=github)|
|dev|![Python package](https://github.com/lizeyan/TaskScheduler/workflows/Python%20package/badge.svg?branch=dev)|[![Coverage Status](https://coveralls.io/repos/github/lizeyan/TaskScheduler/badge.svg?branch=dev&t=lYjJ0E)](https://coveralls.io/github/lizeyan/TaskScheduler?branch=dev&service=github)|
## Introduction
This package focus on build a task scheduler via Python scripts.
With TaskScheduler you can define a project with tasks which have some dependency on each other, and run this project.

A task means a runnable job: bash command, python callable.
A task can produce files.
Task can depend on other tasks or files.

TS is able to run tasks and automatically run dependency tasks when necessary.

A task need to be rerun when:
1. its dependency tasks reran after target filed last updated
2. its dependency files updated after target filed last updated


### An example
The example is given in [`examples/complex_experiment`](examples/complex_experiment).
With ``

## Install
```bash
pip install PyTaskScheduler
```
or
```bash
git clone https://github.com/lizeyan/TaskScheduler.git
cd TaskScheduler
python setup.py install
```
## Usage
```bash
ts --help
```
## Development Setup
```bash
pip install -r requirements-dev.txt
```
## Contributing
### TODO Features
- [ ] record function outputs
- [ ] function style examples
- [ ] lazy evaluation task templates



