创建支持Django和Pyramid的Python库

创建支持Django和Pyramid的Python库,python,django,shared-libraries,pyramid,Python,Django,Shared Libraries,Pyramid,我目前有三个记录错误的库。一个用于Django,一个用于Pyramid,一个用于普通Python。它们目前都有单独的实现来做同样的事情,以特定的方式记录错误和消息 我想将它们整合到一个库中,这样新功能就不必在三个单独的库中重复。用户只需安装一个库,然后就可以选择是否需要Django或Pyramid支持 一种解决方案是将Django和Pyramid代码粘贴到普通Python库中,并让两个web框架共享相同的日志代码。另一个解决方案是将web框架保留在单独的库中,但去掉日志实现,并将其放入普通Pyt

我目前有三个记录错误的库。一个用于Django,一个用于Pyramid,一个用于普通Python。它们目前都有单独的实现来做同样的事情,以特定的方式记录错误和消息

我想将它们整合到一个库中,这样新功能就不必在三个单独的库中重复。用户只需安装一个库,然后就可以选择是否需要Django或Pyramid支持

一种解决方案是将Django和Pyramid代码粘贴到普通Python库中,并让两个web框架共享相同的日志代码。另一个解决方案是将web框架保留在单独的库中,但去掉日志实现,并将其放入普通Python库中,使其成为一个依赖项


推荐的方法是什么?有更好的解决方案吗?

将所有库中通用(并且可以成为通用)的代码考虑在内。然后,如果需要,创建特定于每个框架的子模块,这些子模块与各个框架的各种特性和习惯用法相结合


退房。它们正是这样做的(它们也是一个日志发送库!)

Django至少使用了标准的内置Python日志库。为什么你不能用它呢?金字塔也是;假设OP有一些构建在上面的东西?是的,我的库会将日志发送到web应用程序,以及其他东西。我会构建一个包含所有通用代码和定义良好的API的基本库,然后围绕它构建轻量级包装器,以解决每个框架中的特定问题。不管怎么说,在不知道库的实际功能的情况下,很难判断什么是最好的方法。包
x
,以及依赖于它的特定于框架的包,
django-x
pyramid\u x