跳转到主要内容

Django应用程序,用于管理Docker容器的创建和代理请求

项目描述

django_docker_engine

Build Status PyPI version Python versions Django versions

此Django应用程序管理和代理对Docker容器的请求。主要目标是提供一个用于Refinery项目的可视化框架,但这也应阻止其在其他环境中使用。

为了使Docker容器与该软件包一起工作,它至少必须

  • 在某个端口上监听HTTP连接,并且
  • 接受单个JSON文件作为输入。

快速演示

如果您尚未安装,请先安装Docker,然后下载项目,安装依赖项,并运行演示服务器

$ git clone https://github.com/refinery-platform/django_docker_engine.git
$ cd django_docker_engine
$ pip install -r requirements-dev.txt
$ pip install -r requirements.txt
$ ./manage.py runserver

访问演示服务器:从那里您可以选择一个可视化工具和一个数据文件来启动容器,查看对每个容器的请求,并终止您启动的容器。

动机

可视化工具已经使用多种语言构建,它们可能具有众多、甚至可能冲突的依赖关系。对于Refinery平台,这是一个生物信息学和计算生物学应用的数据管理、分析和可视化系统,我们通过创建名为django_docker_engine的Python包来尝试容纳最广泛范围的工具,该包可在PyPI上使用,它启动Docker容器,代理Django到容器的请求,并记录每个请求。

对于每个工具,包装的Docker容器将解析在启动时提供的输入数据,并开始监听请求。目前,正在使用纯JavaScript应用程序的包装器和用于客户端-服务器应用程序的包装器,例如用于探索基因组接触矩阵的HiGlass,以及用于基因表达数据的Plotly Dash工具。容器本身可以与Django在同一主机上运行,也可以在单独的实例上运行。

在Refinery平台中,由django_docker_engine管理的交互式可视化补充了由Galaxy管理的流程:这两个工具都降低了入门门槛,并使用户能够对其自身数据进行复杂分析。Refinery增加了用户管理、访问控制和来源跟踪功能,以使研究更具可重复性。

django_docker_engine将适用于任何需要从Django应用程序中访问现有或独立开发的工具的环境,同时负责用户身份验证、访问控制和数据管理。

更多信息

对于演示服务器,tools.py定义了可用的工具并指定了默认输入。类似地,visualization-tools存储库定义了可以加载到Refinery中的工具。

更多信息

发布流程

在您的分支中更新VERSION.txt,使用语义版本控制:当PR合并时,成功的Travis构建将推送新版本到pypi。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

django_docker_engine-0.1.4.tar.gz (12.5 kB 查看哈希值)

上传于

构建版本

django_docker_engine-0.1.4-py2.py3-none-any.whl (15.0 kB 查看哈希值)

上传于 Python 2 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面