python依赖文件的解析器

dparse的Python项目详细描述


依赖关系分析器

https://img.shields.io/pypi/v/dparse.svghttps://img.shields.io/travis/pyupio/dparse.svghttps://codecov.io/gh/pyupio/dparse/branch/master/graph/badge.svgDocumentation StatusUpdates

python依赖文件的解析器

支持的文件

Fileparseupdate
requirements.txtyesyes
conda.ymlyesyes
tox.iniyesyes
Pipfileyesyes
Pifile.lockyesyes
setup.pyno (# 2)no (# 2)
zc.buildoutno (# 3)no (# 3)
setup.cfgno (# 4)no (# 4)

安装

要安装dparse,请运行:

$ pip install dparse

如果要更新pipfiles,请安装pipenv extra:

$ pip install dparse[pipenv]

用法

在python项目中使用dparse:

from dparse import parse, filetypes

content = """
South==1.0.1 --hash=sha256:abcdefghijklmno
pycrypto>=2.6
"""

df = parse(content, file_type=filetypes.requirements_txt)

print(df.json())




{
  "file_type": "requirements.txt",
  "content": "\nSouth==1.0.1 --hash=sha256:abcdefghijklmno\npycrypto>=2.6\n",
  "path": null,
  "sha": null,
  "dependencies": [
    {
      "name": "South",
      "specs": [
        [
          "==",
          "1.0.1"
        ]
      ],
      "line": "South==1.0.1 --hash=sha256:abcdefghijklmno",
      "source": "pypi",
      "meta": {},
      "line_numbers": null,
      "index_server": null,
      "hashes": [
        "--hash=sha256:abcdefghijklmno"
      ],
      "dependency_type": "requirements.txt",
      "extras": []
    },
    {
      "name": "pycrypto",
      "specs": [
        [
          ">=",
          "2.6"
        ]
      ],
      "line": "pycrypto>=2.6",
      "source": "pypi",
      "meta": {},
      "line_numbers": null,
      "index_server": null,
      "hashes": [],
      "dependency_type": "requirements.txt",
      "extras": []
    }
  ]
}

历史记录

0.4.1(2018-04-06)

  • 修复了打包错误。

0.4.0(2018-04-06)

  • pipenv现在是一个可选的依赖项,只在更新pip文件时使用。用dparse[pipenv]安装它
  • 添加了对无效toml pipfiles的支持(感谢@pombredane)

0.3.0(2018-03-01)

  • 添加了对setup.cfg文件的支持(感谢@kexepal)
  • pipfiles中的依赖项现在包括部分(感谢@paulortman)
  • 如果标记了多行要求,现在将忽略这些要求
  • 增加了对pipfiles的实验支持

0.2.1(2017-07-19)

  • 内部重构

0.2.0(2017-07-19)

  • 已删除setuptools依赖项

0.1.1(2017-07-14)

  • 修正了导致解析器对无效需求抛出错误的错误。

0.1.0(2017-07-11)

  • 首字母,这里不多见。

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

推荐PyPI第三方库


热门话题
java Intellij通过方法中的包查找用法   java中VS代码和打包命名的问题   将java CMS功能集成到具有高度动态内容的网站(Lucene/Mysql/Nosql)的策略   oracle的java类强制转换异常。jdbc。驾驶员OracleConnection   字节码向JVM添加上指令   如何在抽象类中执行java方法?   java是否可以在apache访问日志中排除指定的GET参数?(作者:W7开发环境)   java如何获取已安装音频播放器的列表?   尝试向HS学生展示如何使用Java访问MS数据库   使用正则表达式java对给定行中的特定字符串进行计数   java JOOQ Select查询中的Select计数   方法Java,如何从二维双精度数组中找到特定值?   获取图像URL的java正则表达式   java在切换到新的窗口驱动程序后找不到元素