一个伟大的丹麦人变成了蟒蛇环境侦探

scoob的Python项目详细描述


快速移动

Build StatusPyPI StatusConda Status

一个伟大的丹麦人变成了python环境侦探

这是一个轻量级工具集,可以轻松地报告python环境的 软件包版本和硬件资源。

PyPI安装:

pip install scooby

Jupyter Notebook Formatting

Scooby为Jupyter笔记本设置了HTML格式,为 几乎所有其他的环境。我们把这个模块设计得很轻 这样就可以很容易地将它作为python项目的依赖项添加到 调试时的环境报告。只需将scooby添加到依赖项 并实现一个函数,使scooby报告 你最关心的环境。

如果scooby无法检测到您想要的环境的各个方面 请将此作为功能请求或拉取请求与我们共享。

scooby报告是从Dieter Werthmüllerempymodemg3d,和 SimPEG框架。它的灵感来自 ipynbtools.py来自qutip^{}。这个包裹已经 更改为创建轻量级实现,以便可以轻松地将其用作 任何python库中影响最小的环境报告工具。

用法

生成报告

报表在jupyter笔记本中呈现为html表,如 上面的屏幕截图,或者作为纯文本列表。

>>>importscooby>>>scooby.Report()
--------------------------------------------------------------------------------
  Date: Sun Jun 30 12:51:42 2019 MDT

            Darwin : OS
                12 : CPU(s)
            x86_64 : Machine
             64bit : Architecture
           32.0 GB : RAM
            Python : Environment

  Python 3.7.3 | packaged by conda-forge | (default, Mar 27 2019, 15:43:19)
  [Clang 4.0.1 (tags/RELEASE_401/final)]

            1.16.3 : numpy
             1.3.0 : scipy
             7.5.0 : IPython
             3.1.0 : matplotlib
             0.2.2 : scooby

  Intel(R) Math Kernel Library Version 2018.0.3 Product Build 20180406 for
  Intel(R) 64 architecture applications
--------------------------------------------------------------------------------

在默认(可选)包之上,您可以提供其他包, 作为字符串或提供已导入的包:

>>>importpyvista>>>importscooby>>>scooby.Report(additional=[pyvista,'vtk','no_version','does_not_exist'])
--------------------------------------------------------------------------------
  Date: Mon Jul 01 10:55:24 2019 CEST

             Linux : OS
                 4 : CPU(s)
            x86_64 : Machine
             64bit : Architecture
           15.6 GB : RAM
           IPython : Environment

  Python 3.7.3 (default, Mar 27 2019, 22:11:17)  [GCC 7.3.0]

            0.20.4 : pyvista
             8.1.2 : vtk
   Version unknown : no_version
  Could not import : does_not_exist
            1.16.4 : numpy
             1.2.1 : scipy
             7.5.0 : IPython
             3.1.0 : matplotlib
             0.3.0 : scooby

  Intel(R) Math Kernel Library Version 2019.0.4 Product Build 20190411 for
  Intel(R) 64 architecture applications
--------------------------------------------------------------------------------

可以看到,如果无法导入包或 无法确定包的版本。

其他有用的参数是

  • ncol:html表中的列数;
  • text_width:纯文本版本的文本宽度;
  • sort:如果为true,则列表按字母顺序排序。

除了additional之外,还有两个列表,coreoptional,它们 可用于提供包名称。然而,它们主要用于 希望使用scooby创建报表系统的包维护程序。 见下文:

在项目中实现scooby

您可以使用scooby轻松生成自己的报表实例:

classReport(scooby.Report):def__init__(self,additional=None,ncol=3,text_width=80,sort=False):"""Initiate a scooby.Report instance."""# Mandatory packages.core=['yourpackage','your_core_packages','e.g.','numpy','scooby']# Optional packages.optional=['your_optional_packages','e.g.','matplotlib']super().__init__(additional=additional,core=core,optional=optional,ncol=ncol,text_width=text_width,sort=sort)

因此用户可以使用您的报告:

>>>importyour_package>>>your_package.Report()

core列表中的包是项目的必需包,而 optional列表可用于可选包。保留 additional-list free允许用户向列表中添加包。

解谜

你在为代码是否在 ipython,jupyter,还是普通的python?试着用史酷比的调查 解决这些谜团的功能:

importscoobyifscooby.in_ipykernel():# Do Jupyter/IPyKernel stuffelifscooby.in_ipython():# Do IPython stuffelse:# Do normal, boring Python stuff

史酷比如何获得版本号?

我们检查了几个位置,如果 需要,打开一个问题!

目前,它的外观如下:

  • __version__
  • version
  • 查找VERSION_ATTRIBUTES
  • 查找VERSION_METHODS

VERSION_ATTRIBUTES是已知python包的属性字典 使用版本的非标准位置,例如VERSION_ATTRIBUTES['vtk'] = 'VTK_VERSION'。您可以通过添加其他已知位置

scooby.knowledge.VERSION_ATTRIBUTES['a_module']='Awesom_version_location'

类似地,VERSION_METHODS是一个用于查找版本的方法的字典, 您可以添加类似的方法来定义 包裹。

使用Scooby获取版本信息。

如果您只是对包的版本感兴趣,那么可以使用scooby 也。几个例子:

>>>importscooby,numpy>>>scooby.get_version(numpy)('numpy','1.16.4')>>>scooby.get_version('no_version')('no_version','Version unknown')>>>scooby.get_version('does_not_exist')('does_not_exist','Could not import')

同样,模块可以作为已加载的模块或字符串提供。

可选要求

以下是可选要求及其用途的列表:

  • psutil:以GB为单位报告RAM总量
  • mkl-services:报告英特尔(R)数学内核库版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在java中使用ActionListeners的小程序   为什么这两个文件。存在(…)和文件。不存在(…)?   需要帮助将XML/Java转换为edi(834)文档吗   java GWT 2.5.1和IntelliJ调试模式,可序列化异常   java由用户运行给定的程序   junit Java<>从函数返回的类型   java Hibernate:我需要刷新()吗?   java如何通过GET REST API调用传递ssl证书   java H2 1.4.185无法通过上次使用Hibernate实体运行的服务器生成的UUID进行查询   javajavafx:具有本机行为的自定义窗口   java是否替换当前字符串设置以从xml收集字符串项?   RelativeLayout下的java Android viewpager   java源代码在JD反编译工具反编译后有注释   java Recycler视图不显示Firebase中的图片和类别