用于在云中管理和运行tuflow模型的http api

tucluster的Python项目详细描述


===
tucluster
==



http api,用于管理和运行云或本地hpc集群中的anuga和tuflow模型。

注:tucluster正处于开发的早期阶段,尚未准备好投入生产使用。
我们正在努力尽快发布0.1版本!



…图片::https://img.shields.io/travis/jamesramm/tucluster.svg
:目标:https://travis ci.org/jamesramm/tucluster

…图像::https://codecov.io/gh/jamesramm/tucluster/branch/master/graph/badge.svg
:目标:https://codecov.io/gh/jamesramm/tucluster

…图片::https://readthedocs.org/projects/tucluster/badge/?version=latest
:目标:http://tucluster.readthedocs.io/en/latest/?徽章=最新
:alt:文档状态

…图片::https://pyup.io/repos/github/jamesramm/tucluster/shield.svg
:目标:https://pyup.io/repos/github/jamesramm/tucluster/
:alt:updates

-(tuflow)控制文件的基本验证
-在MongoDB中保留模型元数据,允许管理和搜索所有建模活动
-轮询运行模型的状态
-浏览和下载结果数据
-通过创建运行于anuga和tuflow

future
----
这个api非常年轻,我们有很多扩展的想法。下面是我们想要实现的大致路线图:

-用户帐户
-结果/失败时发送电子邮件
-通过各种属性(日期,用户等)
-基于模型边界的模型空间搜索
-使用内省验证anuga脚本
-部署脚本或容器化
-aws部署帮助程序

项目:

-一个简单的命令行客户端
-在线编辑anuga脚本和tuflow控制文件,以及gis输入(基于浏览器的客户端)
-自动发现、下载和管理dtm数据。这将不需要从客户端上传昂贵的数据
-平铺web地图的结果
-其他可视化结果和输入
-将结果缝合到基于搜索区域的一致光栅
-通过websockets进行实时监控。(将转到客户端前端项目)




如果您有任何其他功能想法,请提出问题。



quickstart
----

-启动服务器:``gunicorn tucluster.app`
-启动芹菜工人:``芹菜-qflow工人-l info`

您现在可以使用例如httpie

endpoints
----

:``/models``:
-get:返回已创建的所有模型的列表。模型有一个名称、描述和包含所有tuflow模型输入文件的文件夹
-post:上载包含所有模型数据的单个zip存档。TCF文件必须在根目录中。返回已创建模型的表示形式。或者,传递一个带有"name"属性的json对象来创建一个没有任何数据的新模型

:``/models/{name}``:
-get:按名称检索单个模型的表示形式
-patch:更新"name"`,``单个模型的说明``和``电子邮件`(用户)。
您还可以上载要添加到模型数据文件夹的文件

:``/runs`:
-get:返回所有模型运行的列表。模型运行表示tuflow模型的单个执行。
它具有指向其模型的链接、控制文件、tuflow可执行文件的名称和任务ID。
任务ID可用于查询运行状态。完成后,可以使用
结果、日志和检查文件夹的位置在模型运行中可用。

-post:启动Tuflow建模任务。将返回已创建模型运行的表示形式。post body应该是json,包含:
-``tuflowexe`-用于此运行的tuflow可执行文件的名称
-``model name`-提供输入数据的父模型的名称
-``control file`-到用于此运行(从父模型获取)

:`/runs/{oid}``:
-get:检索按其"id"运行的单个模型的表示形式。

:`/tasks/{id}``:
-get:按其任务id检索任务的当前状态。任务是当前正在执行的模型运行
并且可以从模型运行对象中检索任务ID。

:``/files/{fid}```:
-get:按其fid下载文件。fid是文件路径的url安全base64编码。
检索目录树表示形式时返回此类编码。

:``/files/tree/{fid}``:
-get:获取由文件夹
path给定的目录树结构的json表示形式由"fid"描述。这是文件夹路径的URL安全Base64编码,可以从成功的任务结果(对于输出文件夹)或模型中检索,该模型将输入文件夹位置返回为fid。


license
--





==
历史
==



>0.1.0(2017-08-03)
----


*PYPI上的首次发布。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java中的开源字典组件   即使在成功执行删除查询之后,java更新的列表也不会显示在jsp页面中   java Apache:无法启动上下文路径/网站上的失败应用程序   java验证CSV中的特定列   对于具有专用内存的java应用程序,最小堆大小低于最大堆大小有意义吗?   java将数组中的值转换为多维数组   java在给定程序中,垃圾收集器在对象被取消引用之前正在运行。。。使用jre 7(32位)   java在运行时动态刷新文件夹   eclipse如何解决“java.net.BindException:地址已在使用:JVM_Bind”错误?   Java数组与数组   每次任务完成任务时,Java多线程都会安排任务   java部分编译时使用maven编织第三方jar   java Dokku单一回购中的多个应用程序   用apachevelocity生成javac/C++语言文件   java如何使用spring应用程序上下文中的属性文件实例化列表   java访问智能卡文件结构   具有GlobalMethodSecurity的java自定义UserDetailService循环引用   java如何集成Spring和JSF