跳转到主要内容

OpenDrift Leeway模拟的Web界面

项目描述

GitHub Workflow Status Pylint PyPi License Code style: black

关于

这是一个小的Django网络应用程序,它通过Web表单使用一组提供的参数执行OpenDrift Leeway模拟。结果将通过电子邮件发送给用户。

这是一个实验性工具,用于帮助搜索和救援行动。实验性服务可在leeway.tuerantuer.org获取。

Leeway工具的示例输出(100个点,1公里半径,兰佩杜萨岛南部)

Example leeway output

用法

Django用户必须在可用的CRUD后端中创建,地址为https://leeway.example.com/admin。应添加用户的电子邮件地址,因为他们将通过电子邮件接收结果。

该程序定期通过IMAP获取传入的邮件,并从邮件主题或文本正文中提取键值对启动模拟。邮件发送者需要有一个相关联的账户。允许通过电子邮件使用的键有:longitudelatitudeobject_typeradiusdurationstart_time。键和值之间的分隔符是=。主题中键值对之间用;分隔,文本正文中用换行符分隔。开始日期的日期格式为YYYY-MM-DD HH:MM:SS

API使用

API文档可以在以下位置找到:https://leeway.tuerantuer.org/api/docs/

认证可以有两种方式

  1. 通过您的会话cookie,从正常登录获得
  2. 通过认证令牌,可以通过/api/auth/login/获得

安装

先决条件: 需要Python 3.8或更高版本。

  1. 克隆此存储库,然后切换到新目录
    git clone git@github.com:digitalfabrik/opendrift-leeway-webgui.git leeway
    cd leeway
    
  2. 在项目目录外创建虚拟环境并激活它
    python3 -m venv ~/.venv
    source ~/.venv/bin/activate
    
  3. 安装依赖项
    pip install -e .[dev]
    
  4. 创建最小配置文件/etc/opendrift-leeway-webgui.ini以启用DEBUG模式
    [base]
    DEBUG = True
    
  5. 初始化数据库
    cd opendrift_leeway_webgui
    python3 manage.py migrate
    python3 manage.py createsuperuser
    
  6. 构建增强型Docker容器
    cd opendrift
    docker build -t opendrift-leeway-custom .
    

开发服务器

  1. 切换到克隆的项目,然后进入opendrift_leeway_webgui子目录。
  2. 打开两个终端
    1. 在第一个终端运行
      source ../.venv/bin/activate
      python3 manage.py runserver
      
    2. 在第二个终端运行
      source ../.venv/bin/activate
      celery -A leeway worker -l INFO
      

发布

运行bumpver update以一条命令执行以下任务

  1. pyproject.toml中提升版本
  2. 创建提升版本的提交
  3. 创建新版本标签
  4. 推送提交和标签
  5. 通过GitHub Actions在PyPI上创建新版本

生产服务器

这详细说明了在Debian上使用Apache2和mod_wsgi的安装

  1. 在生产系统上创建目标目录
    sudo mkdir /opt/iopendrift-leeway-webgui
    sudo chown www-data:www-data /opt/opendrift-leeway-webgui
    
  2. 创建虚拟环境
    sudo -u www-data bash
    python3 -m venv .venv
    source .venv/bin/activate
    
  3. 将应用程序安装到虚拟环境中
    pip install opendrift-leeway-webgui
    
  4. 将示例配置文件复制到/etc/opendrift-leeway-webgui.ini并填写模板
  5. 安装Docker并将docker组添加到www-data用户。
  6. 创建符号链接以方便Apache配置
    ln -s $(python -c "from opendrift_leeway_webgui.core import wsgi; print(wsgi.__file__)") .
    
  7. 根据示例配置Apache2
  8. 使用leeway-celery.service设置Celery工作进程并启动服务。

项目详情


下载文件

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

源分布

opendrift-leeway-webgui-2024.1.0.tar.gz (209.8 kB 查看散列)

上传时间

构建分布

opendrift_leeway_webgui-2024.1.0-py3-none-any.whl (218.1 kB 查看散列)

上传时间 Python 3

由以下支持