Skip to main content

类 shell 工具,使开发 python 代码更容易

项目描述

开发外壳

查看 API 文档

devshell 是我的 python 开发工作流助手。

导航代码树

有使用 cd、ls、pwd 的普通基本 shell 导航,然后有用于在代码树中导航的 python 版本:pcd、pls、ppwd。

什么是代码树?它是以下类型的代码块:

  1. 包裹
  2. 模块
  3. 班级
  4. 函数/方法/协程
$ 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/覆盖率

pytestcoverage- 非常不言自明。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.ta​​r.gz (100.3 kB 查看哈希

已上传 source

内置分布

devshell-0.0.7-py3-none-any.whl (20.1 kB 查看哈希

已上传 py3