Python框架的配置引擎
项目描述
Dectate:Python框架的配置引擎
Dectate是一个强大的Python框架配置引擎。
它被Morepath使用。
构建状态
变更记录
0.14 (2020-01-29)
移除:移除了对Python 2的支持。
如果您想使用此版本,必须升级到Python 3。
停止了对Python 3.3的支持。
增加了对Python 3.5、3.6、3.7、3.8和PyPy 3.6的支持。
将 Python 3.7 设置为默认测试环境。
如果禁用了日志记录,则不要计算昂贵的日志信息。
添加 Black 代码格式化器的集成。
0.13 (2016-12-23)
添加一个 Sentinel 类,用于 NOT_FOUND 对象。
在发布期间将通用 wheels 上传到 PyPI。
在 Directive 实例上提供 directive_name 属性。
0.12 (2016-10-04)
重大变更:以前您使用 App.directive 指令定义新指令。这会导致导入混淆:您 必须 在实际使用之前导入定义指令的模块,即使您已经导入了您的应用程序类。
在 Dectate 的这个版本中,我们更改了定义指令的方式。不再是
class MyApp(dectate.App): pass @MyApp.directive('foo') class FooAction(dectate.Action): ...
现在您编写这个
class FooAction(directive.Action) ... class MyApp(dectate.App): foo = directive(FooAction)
因此,您直接在需要它们的 app 类上定义指令。
应该用下划线指令定义替换 private_action_class 的使用。
class MyApp(dectate.App): _my_private_thing = directive(PrivateAction)
使用与其他 Morepath 项目相同的 Git 忽略文件。
如果您将动作上的 app_class_arg 类属性设置为 True,则将 app_class 传递给 perform、identifier 等。这样,您可以直接影响应用程序类,而不仅仅是 config 属性中的底层配置。
同样,如果您将工厂类的 app_class_arg 属性设置为 True,则将其传递进去。
向 App 类添加一个 clean 方法。您可以覆盖此方法以引入您自己的清理策略,用于类中不包含在 config 属性中的方面。
我们现在使用 virtualenv 和 pip 而不是 buildout 来设置开发环境。开发文档已相应更新。
在 Tox 和 Travis 中包含 doctests。
0.11 (2016-07-18)
已移除:从 Dectate API 中移除了 autocommit。改为依赖 App 类的 commit 类方法以获得更明确的替代方案。
已移除:从 Dectate API 中移除了 auto_query_tool。改为使用 query_tool(App.commit())。
修复指令的 repr,以便至少可以看到它们的名称。
现在,过滤器的执行顺序是可重现的,以确保一致的测试覆盖率报告。
对于 Action 和 Composite 类,使用标准库中的抽象基类。
使用功能检测而不是版本检测来确保 Python 2/3 兼容性。
提高了测试覆盖率。
为质量保证目的,设置 Travis CI 和 Coverall 作为持续集成服务。
添加对 Python 3.3 和 3.5 的支持。
将 Python 3.5 设置为默认测试环境。
0.10.2 (2016-04-26)
如果在查询工具中未找到应用程序,不要在输出中提及它,以免使结果杂乱。
修复查询工具中的一个主要错误,如果在应用程序中没有结果,则不会搜索任何后续应用程序。
0.10.1 (2016-04-26)
为 autocommit 和 auto_query_tool 创建适当的弃用警告,而不是普通的警告。
0.10 (2016-04-25)
弃用:弃用 autocommit 函数。改为依赖 App 类的 commit 类方法以获得更明确的替代方案。
弃用 已弃用 auto_query_tool 函数。请使用 dectate.query_tool(MyApp.commit()) 代替。因为提交方法返回一个迭代器,包含需要提交的 App 类,所以这会返回正确的信息。
将 topological_sort 函数暴露为公共 API。
在 App 类上添加了 commit 类方法。
报告不同指令之间配置设置和 factory_arguments 的不一致使用。这可以防止新指令为现有指令引入错误的工厂,从而避免错误。
扩展内部文档。
0.9.1 (2016-04-19)
修复了上一个版本中引入的微妙错误。如果使用了仅在该上下文中创建的配置名称的 factory_arguments,则未正确清理,在某些情况下可能会使子类的提交获取与基类相同的配置对象。
0.9 (2016-04-19)
更改 query_tool 的行为,如果找不到指令名称的动作类,则查询结果为空而不是将其作为错误。这使得 auto_query_tool 工作得更好。
引入 auto_query_tool,它使用自动找到的应用类作为默认应用类进行查询。
修复了使用 __builtin__ 的测试,这些测试在 Python 3 上失败。
仅在 factory_arguments 中列出的依赖项也会在创建配置时创建。
0.8 (2016-04-12)
记录如何在 Python 3 中引用内置函数。
在 App 子类上公开 is_committed 方法。
0.7 (2016-04-11)
修复了一些文档问题。
公开 convert_dotted_name 并对其进行文档记录。
实现新的 convert_bool。
允许使用指令名称而不是动作子类作为查询的参数。
引入了一个 query_app 函数,这在为查询工具编写测试时特别有用 - 它接受未转换的过滤器参数。
使用来自 six 的新版本 with_metaclass。
公开 NOT_FOUND 并对其进行文档记录。
引入一个新方法 filter_get_value,您可以实现它,如果正常的属性获取和 filter_name 不足以使用。
0.6 (2016-04-06)
引入动作查询系统以及允许查询动作的命令行工具。
0.5 (2016-04-04)
重大更改 commit 的签名已更改。只需传递一个或多个要提交的参数即可,而不是传递一个列表。请参阅 #8。
0.4 (2016-04-01)
公开动作的 code_info 属性。特别是 path 在实现指令(如 Morepath 的 template_directory)时可能很有用。同时为组合公开。
报告一些错误;如果设置了 group_class,则不能在动作类中使用 config、before 或 after。
如果复合 actions 方法中抛出 DirectiveError,则引发 DirectiveReportError。
0.3 (2016-03-30)
记录 importscan 包,该包可以与此包一起使用。
在配置工厂中引入了 factory_arguments 功能,可以用于在配置之间创建依赖关系。
修复了一个问题,其中配置项并不总是正确重用。现在只使用动作类依赖顺序中的第一个,并且不会重新创建。
0.2 (2016-03-29)
在测试期间移除clear_autocommit,因为它无论如何都是无用的。在测试中只需使用显式提交。
添加一个 dectate.sphinxext 模块,可以将其插入Sphinx中,以便正确记录指令。
记录Dectate如何处理双重导入。
0.1 (2016-03-29)
首次公开发布。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分布
构建分布
dectate-0.14.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 56213abfe6ce31d6fe10dbf7a7cd94e07a26d5dc7cd0ae2e208c4ef2dbebb504 |
|
MD5 | 7347dc680882f6bf69154949ddc554b7 |
|
BLAKE2b-256 | 673c86eb41eac065a1148b00fb9c9e5c4d5ebf765121499c687c6f2ec8adf07b |
dectate-0.14-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 085a1a0a9f92b585c61e485d30ddc5239fb6883132f2693a3f67f5960d32c926 |
|
MD5 | ac2fa8d3806dc163471b7df654d625ec |
|
BLAKE2b-256 | 8e3a20723d1e89c59bc546a5e57c2f254e9f1264165a93eecf48447652687d67 |