跳转到主要内容

Python的替代动态RPM绑定

项目描述

rpmdyn

Python的替代动态RPM绑定。

PyPI

概述

rpmdyn通过动态绑定(FFI)提供了一种使用Python中的rpm库的替代方法。

该项目旨在支持基于rpm库的Python代码在CI或开发环境中的测试,在这些环境中安装官方绑定太麻烦了。如果您尝试过rpm-py-installer并且遇到问题,您可能会发现它很有用。

⚠️重要注意事项⚠️:提供的RPM绑定远未完整!绑定是根据作者的需求“按需”实现的。

以下是几种访问RPM Python绑定方法的比较,以帮助您了解该项目是否可能对您有用

操作系统包 rpmdyn rpm-py-installer
可以从PyPI通过pip安装吗?
在virtualenv中可用? ❌¹
支持多个Python版本? ❌²
不需要编译器/头文件? ❌³
安全的供应链? ❌⁴
完整的绑定? ❌⁵
  1. 只有您启用系统site-packages时才能使用,这在一般情况下是不可接受的。
  2. 虽然关于Linux发行版提供的包的类型没有硬性规定,但通常一个发行版会选择一个主要的支持的Python版本,并只为该版本提供库。
  3. rpm-py-installer通过编译RPM绑定来工作,因此需要编译器。
  4. rpm-py-installer不安全地下载RPM源代码,不验证校验和或签名。如果你只想使用所有依赖项的已知版本,这会成为一个问题,在防火墙设置(例如,只允许访问内部PyPI注册表)下将完全无法工作。
  5. rpmdyn仅实现了RPM绑定的一小部分,因为绑定需要手动实现。可用的绑定集合反映了rpmdyn贡献者的需求。

用法

安装rpmdyn后,它将默认自动使用。

  • 如果实际(原生)RPM绑定可用,则import rpm将使用这些绑定。
  • 否则,import rpm将使用rpmdyn

这是通过PTH钩实现的。如果你希望禁用此行为,请将环境变量RPMDYN_HOOK设置为0

许可证

本程序是免费软件:你可以在自由软件基金会发布的GNU通用公共许可证的条款下重新分发和/或修改它,许可证版本为3,或(根据你的选择)任何后续版本。

项目详情


下载文件

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

源分布

rpmdyn-2024.9.tar.gz (55.3 kB 查看哈希)

上传时间

构建分布

rpmdyn-2024.9-py3-none-any.whl (36.9 kB 查看哈希)

上传时间 Python 3

由以下机构支持

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