类 shell 工具,使开发 python 代码更容易
项目描述
开发外壳
devshell 是我的 python 开发工作流助手。
导航代码树
有使用 cd、ls、pwd 的普通基本 shell 导航,然后有用于在代码树中导航的 python 版本:pcd、pls、ppwd。
什么是代码树?它是以下类型的代码块:
- 包裹
- 模块
- 班级
- 函数/方法/协程
$ cd ~/projects/statopy
$ ls
LICENSE __pycache__ statopy.py
$ python3 -m devshell
Starting devshell command line interface...
devshell version 0.0.3
Welcome to devshell. Type help or ? to list commands. Start a line with ! to execute a shell command in a sub-shell (does not retain environmental variables).
(devshell)$
如果您当前工作目录中的包或模块(受 cd 影响并使用 pwd 报告的正常类型),那么当您键入 pls 时会显示这些。您可以通过 pcd 将“python 位置”输入其中,并使用 ppwd 检查您当前的 python 位置。
自动补全对 cd 和 ls 正常工作。对于python 版本,自动补全会根据子代码块(例如当前类中的方法)向您显示您的选项。
(devshell)$ pls
statopy module directory
(devshell)$ pcd statopy
(devshell)$ pls
ScalarProbModel class directory
ScalarRegression class directory
ScalarStats class directory
VectorStats class directory
(devshell)$ pcd ScalarStats
(devshell)$ pls
__add__ function non-directory
__init__ function non-directory
__setattr__ function non-directory
consume function non-directory
update function non-directory
(devshell)$ ppwd
/statopy.ScalarStats (class)
(devshell)$
命令
这很好,但是除了检查存在哪些代码块之外,您还能做什么?
键入帮助以查看命令列表。使用参数/重定向调用程序照常工作。
(devshell)$ help
Documented commands (type help <topic>):
========================================
EOF deactivate edit help pcd pytest restart venv
activate debug editvim interactive pip python rm
cd doc exit ls pls q rmtree
coverage doctest grep mkdir ppwd quit run
cp doctestify h mv pwd read source
文档测试
如果您导航到代码块,则可以使用该doc 命令检查文档字符串和函数定义。doctest 您可以使用该命令运行该代码块中存在的任何文档测试。您可以调用doctestify 以进入导入模块内容的交互式会话。记录此会话中的所有输入和输出,当通过 CTRL+D 关闭会话时,输入/输出将作为附加的文档测试集附加到当前代码块的文档字符串中。
doctestify resume 将打开交互式会话并执行当前文档字符串中所有现有的 doctest 命令,然后将交互式控制权交给您。如果您在重复运行某些测试的同时调整代码,这很有用。您不必多次重写任何设置代码,只需使用文档字符串中的内容即可。
Pytest/覆盖率
pytest和coverage- 非常不言自明。Coverage 运行 pytest 和 doctests 并生成一个组合报告。
调试
debug(5,'hello',[1,2,3]) 获取当前函数或类并像 <current_func>(5,'hello',[1,2,3]) 一样调用它,在第一行进入调试模式。您可以根据需要放置任何 python 调用表达式和任意数量的参数。如果当前代码块是模块或包,则不需要输入,只需调用debug. 对于一个模块,它将在模块的第一行进入调试模式。对于一个包,它将进入 __init__.py 文件的第一行的调试模式。
看代码
grep pattern [OPTIONS]运行在当前代码块上过滤的类似 grep 的函数。
editvim打开 vim 到与当前目标代码块对应的行。
source打开带有当前代码块文本的分页视图(不包括文件的其余部分)。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
内置分布
devshell- 0.0.7 -py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 3563377f8c811e3d9ee940660113fe07dd7237b67728017d52ce3bcaed01bef6 |
|
| MD5 | 044cb8ad7e1b2e07d9406df7f55b9bde |
|
| 布莱克2-256 | b60c38809571eb9c5724c0e9c1c86873e52b6daf9fdbdd1c684625b5360e91b8 |