以下是确保成功发布的12个步骤。你写了一个Python库。我觉得这很棒!方便人们使用它不是很优雅吗?这是一个要考虑的清单,以及在开源Python库时要采取的具体步骤。1.源代码把代码放在GitHub上,这里有很多开源项目,人们提交pullrequests很容易。2.为许可证选择一个开源许可证。一般来说,MIT许可证是一个非常好的许可许可证。如果您有特定要求,CreativeCommon的选择许可可以指导您完成其他选项。最重要的是,选择许可证时要记住三个规则:不要创建自己的许可证。不要创建自己的许可证。不要创建自己的许可证。3.README将名为README.rst的文件(使用ReStructuredText格式化)放在项目树的顶层。GitHub将像Markdown一样渲染ReStructuredText,而ReST在Python的文档生态系统中发挥得更好。4.试写测试。这对你没有用。但这对于想要编写避免破坏相关功能的补丁的人来说非常有用。测试帮助协作者协作。通常,如果它可以与pytest一起运行就很好。还有其他测试工具——但没有理由使用它们。5.Style使用linter制作样式:PyLint、Flake8或Blackwith--check。除非您使用的是Black,否则请确保在文件中指定配置选项,并签入版本控制系统。6.API文档使用文档字符串来记录模块、函数、类和方法。您可以使用多种样式。我更喜欢Google风格的文档字符串,但ReST文档字符串也是一种选择。Sphinx可以处理Google风格和ReST文档字符串,将碎片化的文档整合到API文档中。7.对分散的文档使用Sphinx。(在此处阅读我们的文章。)教程很有用,但指定这是什么、它的优点、缺点以及任何特殊注意事项也很重要。8.构建使用tox或nox自动运行测试和linters,并构建文档。这些工具支持“依赖矩阵”。这些矩阵往往会快速增长,但您可以尝试针对合理的样本进行测试,例如Python版本、依赖版本以及可能安装的可选依赖项。9.打包使用setuptools工具。写一个setup.py和一个setup.cfg。如果同时支持Python2和3,请在setup.cfg中指定通用格式轮。tox或nox应该做的一件事是构建轮子并针对安装的轮子运行测试。避免使用C扩展。如果出于性能或绑定原因绝对需要它们,请将它们放在单独的包中。正确打包C扩展可以写一篇新文章。这里有很多问题!10.持续集成使用公共持续工具。TravisCI和CircleCI为开源项目提供免费套餐。配置GitHub或其他存储库以要求在合并拉取请求之前通过检查,并且您不必担心告诉用户在代码审查中修复测试或样式。11.版本使用SemVer或CalVer。有很多工具可以帮助你管理版本:incremental、bumpversion、setuptools_scm都是PyPI上可以帮助你管理版本的包。12.发布通过运行tox或nox并使用twine将文件上传到PyPI来发布。您可以通过DevPI中的“测试上传”来完成此操作。
