Python项目规范模板

快速开始

方法一:

git clone https://github.com/petterobam/python_tpl.git

cd python_tpl/bin

# 运行 init-env.bat

.\init-env.bat

cd ..

rm -rf .git

# 修改文件夹名称为【你的项目名】,全局查找 python_tpl 替换为【你的项目名】

git init

# Install dependencies

pipenv install --dev

# Setup pre-commit and pre-push hooks

pipenv run pre-commit install -t pre-commit

pipenv run pre-commit install -t pre-push

方法二(目前推荐,失效请用方法一):

cd bin

# 运行 init-env.bat

.\init-env.bat

# 离开该项目目录

cd .. && cd ..

# 使用 cookiecutter 生成项目 (若环境初始化失效,请重新打开控制台)

pipx run cookiecutter gh:sourcery-ai/python-best-practices-cookiecutter

# Enter project directory

cd 【你的项目名】

# Initialise git repo

git init

# Install dependencies

pipenv install --dev

# Setup pre-commit and pre-push hooks

pipenv run pre-commit install -t pre-commit

pipenv run pre-commit install -t pre-push

组件细节

isort 为您导入的 Python 包部分(imports)进行排序,因此你不必再对 imports 进行手动排序。它可以按字母顺序对导入进行排序,并自动将其拆分成多个部分。

pipenv run black

pipenv run isort

Flake8 确保代码遵循 PEP8 中定义的标准 Python 代码规范。

pipenv run flake8

Mypy 是 Python 的非强制的静态类型检查器,旨在结合动态(或 “鸭子”)类型和静态类型的优点,这是一个有用的备忘单。

Mypy 将 Python 的表达能力和便利性与功能强大的类型系统的编译时类型检查结合在一起,使用任何 Python VM 运行它们,基本上没有运行时开销。

pipenv run mypy

使用 pytest 编写测试非常容易,消除编写测试的阻力意味着可以快速的编写更多的测试!

pipenv run pytest

调整好 .coveragerc 文件后,我们就可以运行测试并查看覆盖率了。

# --cov-fail-under=100 是设定项目的测试覆盖率如果小于 100% 那将认定为失败。

pipenv run pytest --cov --cov-fail-under=100

Git hooks 可让您在想要提交或推送时随时运行脚本。

如果需要跳过这些 hooks,可以运行

git commit --no-verify 或 git push --no-verify

python项目方案书模板格式_GitHub - petterobam/python_tpl: Python项目规范模板相关推荐

  1. python自学什么书比较好-19年学习Python有什么好的书籍推荐吗?

    云栖君来推荐几本2019年的Python方面的书籍,希望可以帮到你: <Python机器学习手册:从数据预处理到深度学习> /> 本书采用基于任务的方式来介绍如何在机器学习中使用Py ...

  2. python零基础书推荐_零基础学习Python(Python初学者、Python入门)常见问题:资料、社区、书籍推荐...

    Python web开发 QQ学习群:338985564 ,欢迎各位加入,一起学习. 本文针对零基础的,想学习Python者.本文会不定时更新. 一.学会使用搜索引擎,尤其是Google. 推荐阅读文 ...

  3. 自学python买什么书比较好-这些都是Python官方推荐的最好的书籍(推荐)

    转行学Python有前途吗?这个答案是肯定的,AI课程都已经进入小学教材了,未来Python趋势无疑是光明的,但是如何学习Python,很多Python小白都来问小编有什么适合的Python入门书籍推 ...

  4. 计算机二级python用什么书-如何准备全国计算机二级Python?

    如果你也和我一样是零基础学习,希望你过! 以下是我的回答提纲 /> 一.参考过的知乎回答这是我找到的最全面的备考攻略,第一推荐!!考完发现他还有更新!!曹操:计算机二级 Python 怎么考?考 ...

  5. python批量音频转格式_GitHub - shede333/SWConvertVideoToAudio: Python批量转换 视频 为 音频MP3(即提取音频文件)...

    Python批量转换 视频 为 音频MP3(即提取音频文件) 输入文件格式:ffmpeg支持的视频文件 输出格式格式:mp3文件 使用方法: 注意:使用前需要先安装 ffmpeg 才行(Python最 ...

  6. mysql报文格式_GitHub - YMBo/sflow_traffic: python解析报文(支持格式sflow、gre等)并存储到mysql...

    sflow_traffic python解析sflow或TCP报文(多种格式)并存储到mysql,可多个机器部署 说明 sflowtool version: 5.02 Python version 2 ...

  7. 湖南张家界旅游景区项目方案书

              时间过得真快啊,转眼间快1年没写博文了,不是因为懒,实在太忙了,偶尔闲下来,就想好好睡大觉.做项目说白了就一个字,累!但是累也有累的好处,那就是可以收获很多,不仅收获了好多行业外的 ...

  8. 一网通办区级政务服务应用平台项目方案书(附下载)

    点击文后阅读原文,可获得下载资料的方法. 资料已经上传至「智能交通技术」知识星球,加入星球后可下载. 欢迎加入智能交通技术群! 联系方式:微信号18515441838

  9. python语言程序设计书-清华大学出版社-图书详情-《Python语言程序设计》

    前言 Foreword Python是一种既支持面向过程又支持面向对象编程的解释型高级语言,已经被广泛应用于Web开发.网络编程.科学运算.GUI图形开发.运维自动化.机器人编程等众多领域.与其他语言 ...

最新文章

  1. ZooKeeper的原理(转)
  2. GoodTask for mac (任务管理器)
  3. Resteasy配置及其使用
  4. VMware vSphere 服务器虚拟化之二十七桌面虚拟化之View中使用Thinapp软件虚拟化
  5. android绘图软件推荐,动漫绘画辅助软件有哪些-7款绘画软件推荐
  6. C#-实现微信激活会员卡后响应激活动作并获取会员信息
  7. 字符转换 提取一个字符串中的所有数字字符('0'……'9'),将其转换为一个整数输出。 首位不能是0
  8. 计算机控制运行内存,运行内存
  9. 初识Ionic 和APPframework
  10. 【PCK】Camera性能与内存 QA
  11. ANR避免:StrictMode介绍
  12. IEC61499标准背后的逻辑
  13. 基于嵌入式QT界面GPS定位系统设计与实现
  14. windows7 安装vs2008 sp1出错的解决办法
  15. 微型计算机原理与接口技术ppt,单片机原理与接口技术课件ppt
  16. Python代码循环执行exe文件,并传入命令参数实现批量处理数据。
  17. Vim代码补全插件:YouCompleteMe
  18. Altium Designer出现 advpcb.dll 报错的彻底解决方法
  19. 研究表明:打车软件是城市拥堵的罪魁祸首
  20. msfconsole

热门文章

  1. 查看小米笔记本电脑系统是多少位
  2. 宿舍自制Arduino指纹门禁-ESP8266,AS608,BM2166
  3. 六管超外差半导体收音机工作原理
  4. HTML_圣斗士星矢界面(2)
  5. boss直聘准备_01
  6. 【R】Mac如何配置R和RStudio
  7. 产品迭代开发 迭代发布_迭代开发用例
  8. VoxEdit 主题创作大赛:将 90 年代的复古元素带入 Web3
  9. psv浏览器支持html吗,PS VR终于支持Steam平台 PS VR能够连接PC玩Steam游戏了-VR之家
  10. 金三银四没把握住,凉了...