跳转到主要内容

用于从RPM存储库提供元数据的简单API

项目描述

mdapi

从RPM存储库提供元数据的简单且快速的API

安装

开发

  1. 在您的Fedora Linux安装上安装Python 3VirtualenvPoetry
    $ sudo dnf install python3 python3-virtualenv poetry
    
  2. 将仓库克隆到本地存储,并将其设置为当前工作目录。
    $ git clone git@github.com:fedora-infra/mdapi.git
    $ cd mdapi
    
  3. 在克隆仓库的目录内设置并激活虚拟环境。
    $ virtualenv venv
    $ source venv/bin/activate
    
  4. 检查项目配置的有效性,并从锁文件中安装项目依赖项。
    $ (venv) poetry check
    $ (venv) poetry install
    

容器镜像

  1. 在您的Fedora Linux安装上安装Podman
    $ sudo dnf install podman
    
  2. 请确保:
    1. 项目目录是当前工作目录。
    2. 根据“开发安装”部分的说明,激活包含项目的虚拟环境。
    3. 根据“配置设置”部分的说明,在myconfig.py文件中根据需要修改项目配置。
  3. 执行以下命令以构建容器镜像。
    $ (venv) podman build -t "mdapi:$(poetry version -s)" .
    

用法

在开发中

查看帮助信息和版本

  1. 请确保:
    1. 项目目录是当前工作目录。
    2. 根据“开发安装”部分的说明,激活包含项目的虚拟环境。
  2. 执行以下命令以查看帮助信息。
    $ (venv) mdapi --help
    
    输出
    Usage: mdapi [OPTIONS] COMMAND [ARGS]...
    
      A simple API for serving the metadata from the RPM repositories
    
    Options:
      -c, --conffile PATH  Read configuration from the specified Python file
      --version            Show the version and exit.
      --help               Show this message and exit.
    
    Commands:
      database  Fetch SQLite databases from all active Fedora Linux and EPEL...
      serveapp  Start the API server for querying repository metadata
    
  3. 执行以下命令以查看项目版本。
    $ (venv) mdapi --version
    
    输出
    mdapi, version 3.0.0
    

测试项目

  1. 请确保:
    1. 项目目录是当前工作目录。
    2. 根据“开发安装”部分的说明,激活包含项目的虚拟环境。
    3. 存储分区上,测试数据库目录所在的至少有1.5 GiB的空闲空间。
  2. 执行以下命令以运行代码质量检查和测试用例。
    $ (venv) tox
    

设置配置

  1. 请确保:
    1. 项目目录是当前工作目录。
  2. 在本地存储上复制默认配置。
    $ cp mdapi/confdata/standard.py mdapi/confdata/myconfig.py
    
  3. 根据要求修改复制的配置文件。
    $ nano confdata/myconfig.py
    

获取数据库

  1. 请确保:
    1. 项目目录是当前工作目录。
    2. 根据“开发安装”部分的说明,激活包含项目的虚拟环境。
    3. 存储分区上,数据库目录所在的至少有6 GiB的空闲空间。
  2. 执行以下命令以启动数据库获取,同时参考修改后的配置文件。
    $ (venv) mdapi --conffile myconfig.py database
    
  3. 请注意,数据库获取命令的第一次运行将花费较长时间,具体取决于网络连接。

服务应用程序

  1. 请确保:
    1. 项目目录是当前工作目录。
    2. 根据“开发安装”部分的说明,激活包含项目的虚拟环境。
  2. 执行以下命令以启动服务应用程序,同时参考修改后的配置文件。
    $ (venv) mdapi --conffile myconfig.py serveapp
    
  3. 完成应用程序服务后,按Ctrl + C以引发KeyboardInterrupt并退出程序。

在容器或Pod中

服务应用程序

  1. 请确保:
    1. 项目目录是当前工作目录。
    2. 根据“开发安装”部分的说明,激活包含项目的虚拟环境。
    3. 容器镜像已构建并可在本地使用。
    4. 根据“数据库获取”部分的说明,将数据库下载到数据库目录
  2. 执行以下命令以启动服务应用程序。
    $ (venv) podman run -v /var/tmp:/var/tmp -p 8080:8080 -ti mdapi:$(poetry version -s)
    
    此命令假定数据库目录为/var/tmp(这是默认),服务端口为8080(这是默认)。

项目详情


下载文件

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

源分布

mdapi-3.1.6.tar.gz (28.8 kB 查看哈希值)

上传时间

构建分布

mdapi-3.1.6-py3-none-any.whl (37.2 kB 查看哈希值)

上传时间 Python 3

支持者