<commit_before># SNAP is Not A Pipeline
SNAP基于jinja2模板，依据模版生成脚本以及流程的依赖关系。

## App
asnap程序用于处理与APP相关的命令。
### new
新建App模板及其目录结构

### build
根据模板与参数实例化生成脚本。

### node
生成workflow的节点
### test
测试单个APP
### run
根据配置文件执行单个APP

## Pipeline
psnap程序用于处理与Pipeline相关的命令

### new
新建Pipeline及其目录结构

### build
根据项目配置实例化所有相关APP脚本
### test
测试Pipeline
### run
根据配置文件执行流程
### docker
生成聚道需要的images

## 安装
```sh
git clone ssh://git@172.16.58.3:10022/lijiaping/SNAP.git
cd SNAP
virtualenv .env
source .env/bin/activate
pip install -r requirements.txt
```
## 使用
```sh
snap app new -name appname

snap app build -name appname
snap app build -config appname/config.yaml
snap app build -name appname -param appname/parameters.yaml -out appname.sh

snap app node -name appname -type all
snap app node -name appname -type app
snap app node -name appname -type load -node bam
```
## 与atom编辑器的搭配使用
1. 安装[script](https://atom.io/packages/script)
2. 编辑`~/.atom/packages/script/lib/grammars.coffee`，在末尾添加：
```coffee
  YAML:
    "File Based":
      command: "snap" #改成snap所在路径
      args: (context) -> ['app', 'build', '-config', context.filepath]
```

3. 保存为`.yaml`后缀文件，`cmd ＋ i`即可生成预览脚本
> 自动补全：修改[~/.atom/snippets.cson](http://172.16.58.3:10080/gitlab/lijiaping/atom/blob/master/snippets.cson)
<commit_msg>update outdated README<commit_after># SNAP is Not A Pipeline
基于模板的流程创建、测试、运行管理工具。

## 安装
[![asciicast](https://asciinema.org/a/rmZzvA80wSKQJgWbLR9TAL7kh.png)](https://asciinema.org/a/rmZzvA80wSKQJgWbLR9TAL7kh)
```bash
git clone ssh://git@gitlab.igenecode.com:10022/lijiaping/SNAP.git
cd SNAP
virtualenv .env
source .env/bin/activate
pip install -r requirements.txt
```

详细安装及使用方法请参考[Wiki](wikis)

## 与atom编辑器的搭配使用
1. 安装[script](https://atom.io/packages/script)
2. 编辑`~/.atom/packages/script/lib/grammars.coffee`，在末尾添加：
```coffee
  YAML:
    "File Based":
      command: "snap" #改成snap所在路径
      args: (context) -> ['app', 'build', '-config', context.filepath]
```

3. 保存为`.yaml`后缀文件，`cmd ＋ i`即可生成预览脚本
> 自动补全：修改[~/.atom/snippets.cson](http://gitlab.igenecode.com:10080/lijiaping/atom/blob/master/snippets.cson)

{'fraction_non_alphanumeric': 0.15857760691975012, 'fraction_numerical': 0.0245074483421432, 'mean_word_length': 4.657608695652174, 'pattern_counts': {'":': 2, '<': 3, '<?xml version=': 0, '>': 7, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 3, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1932128', 'n_tokens_mistral': 1045, 'n_tokens_neox': 1054, 'n_words': 165}