跳转到主要内容

Python RAML解析器

项目描述

ramlfications: Python中的RAML参考实现

Latest Version Development Status License Current coverage Supported Python versions

注意:此项目已在Spotify停止维护,并将转交给新的维护者,我们目前正在完成此存储库和相关pypi包的转让。

需求和安装

用户设置

最新稳定版本可在PyPI找到,您可以通过pip进行安装

$ pip install ramlfications

ramlfications在Python 3.10+和PyPy上运行。支持Linux、OS X和Windows。目前仅支持RAML 0.8,但计划支持1.0。

继续到使用说明开始使用ramlfications。

开发者设置

如果您想为ramlfications做出贡献或在此基础上开发,请首先阅读如何贡献

您可以在我们的公共项目管理页面上查看ramlfications的进度。

系统要求

  • C编译器(gcc/clang等)

  • 如果在Linux上 - 您需要安装Python头文件(例如 apt-get install python-dev

  • Python 3.10+或PyPy

  • virtualenv

以下是设置您的机器的方法

$ git clone git@github.com:jdiegodcp/ramlfications
$ cd ramlfications
$ virtualenv env
$ source env/bin/activate
(env) $ pip install -r dev-requirements.txt

运行测试

如果您想为所有支持的Python版本运行测试,您必须在系统上安装所有Python版本。我建议使用pyenv来帮助解决这个问题。

要运行所有测试

(env) $ tox

要运行特定的测试配置(选项包括:py310py311py312pypyflake8verbosemanifestdocssetupsetupcov

(env) $ tox -e py310

要运行不使用tox的测试

(env) $ py.test
(env) $ py.test --cov ramlfications --cov-report term-missing

构建文档

文档使用Sphinx构建,使用rST编写,使用Read the Docs主题,并带有略微定制的CSS,托管在Read the Docs网站

要在本地重新构建文档,请进入父目录下的ramlfications

(env) $ tox -e docs

(env) $ sphinx-build -b docs/ docs/_build

然后在ramlfications/docs/_build中,您可以在浏览器中打开index.html页面。

项目历史

Ramlfications最初由Spotify工程师github.com/econchick创建,但目前Spotify不再使用。该项目于2022年4月停止使用,并转交给外部维护者。

还有问题吗?

请随时访问Freenode上的#ramlficationswebchat)或通过Twitter[X]发起ping。 “jdiegodcp”是维护者,也是GitHub上的jdiegodcp

变更日志

0.1.9 (2015-12-24)

圣诞快乐!

  • 修复资源类型继承(问题23 & 问题47

  • 在API根节点和资源节点中保留baseUriParametersuriParameters的顺序(问题37

  • 修复未定义/声明行内时缺失的URI参数(问题56

  • 修复setup.py中传递给pytest的参数方式(PR 55 - 感谢matiasb!)

0.1.8 (2015-10-07)

  • 修复资源类型可选属性的不正确/不完整行为(问题44)。

  • 修复protocols继承(问题44)。

  • 部分修复问题23 - 不正确的资源类型继承

    • 当定义了一个可选方法且应用于未定义该方法的资源类型时,资源的方法不应从可选方法继承

    • 当资源继承资源类型但明确定义了命名参数时,资源中的命名参数应覆盖继承的参数

0.1.7 (2015-08-20)

新增

0.1.6 (2015-08-03)

新增

修复

  • 当RAML文件具有空映射时解析错误 (问题30)

  • yaml.Loader切换到yaml.SafeLoader (问题26)

  • 更新文档以反映错误的重排 (问题27)

  • baseURIParameters中删除default参数的必需性 (问题29)

  • 为tox测试固定模拟库 (问题22)

  • 在Travis上的tox中对pypy测试进行加速实验

0.1.5 (2015-06-05)

修复

  • 配置解析用于验证/生产。感谢vrajmohan

  • 解析响应体(修复了问题12)。感谢Igor

0.1.4 (2015-05-27)

新增

  • 支持RAML文件中递归的!includes(0.1.3将处理错误,现在实际上支持它。感谢BenPR!)。

0.1.3 (2015-05-14)

新增

  • freenode上创建了新的#ramlfications频道(网络聊天链接)!来聊天吧,我很孤单。

  • 配置和update命令的文档。

修复

  • 现在处理RAML文件中的递归/循环!includes (PR)

  • 升级到tox 2.0时的编码问题

  • tests/test_utils.py会创建ramlfications/data/supported_mime_types.json;现在已模拟。

0.1.2 (2015-04-21)

修复

  • pypy 2.5.x会因为列表的顺序不符合预期而失败解析测试

0.1.1 (2015-04-21)

新功能

  • 添加了解析IANA支持的MIME媒体类型的能力

  • 添加了用于用户更新IANA支持的MIME类型的update命令

0.1.0a1 (2015-04-18)

ramlfications的初始alpha版本!

项目详情


下载文件

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

源分发

ramlfications-0.2.2.tar.gz (1.2 MB 查看哈希值)

上传时间:

构建分发

ramlfications-0.2.2-py2.py3-none-any.whl (83.1 kB 查看哈希值)

上传于 Python 2 Python 3

由以下支持