Skip to main content

MongoDB、Sacred 和 Omniboard 助手。

项目描述

mdbh - 用于 Sacred 和 Omniboard 的 MongoDB 助手集合。

这个存储库主要有两个目的:

首先,它提供了一个 Python 模块以及一些 CLI 脚本,以简化 MongoDB 以及SacredOmniboard的使用,填补了底层空白。尽管Omniboard非常适合快速探索数据和比较 Sacred 实验,但它不适用于更复杂的数据可视化和低级数据库访问。例如,这在准备打印质量的绘图时很有用。

其次,它提供了一个Wiki 来收集有关如何将 Sacred 与 MongoDB、Omniboard 和 mdbh 一起使用的指南。特别是,提供了具有密码限制和对多个数据库的受控读/写访问的多用户、多数据库设置。本 Wiki 并非详尽无遗,而是让您开始使用自己的设置。

注意:这仍在开发中。

[[目录]]

安装

使用 pip 通过 PyPi 安装

pip install mdbh

设置

MongoDB 实例配置是使用一个(或多个)配置文件完成的,这些配置文件简单地存储服务器 IP、端口以及可能的用户名、密码和身份验证方法以及数据库名称。examples有关示例,请参见文件夹。

默认情况下,假设这个配置文件可以在下面找到

~/.mongo.conf

此配置文件是使用 mdbh 的核心。由于此配置文件可能包含用户数据,请确保只有当前用户对其具有读取权限,例如运行

chmod 400 .mongo.conf

用例

mdbh的一些用例如下:

MongoDB URI 创建

通常,服务或模块(例如 Sacred 中的 MongoObserver)需要一个 URI 来按照 官方格式规范连接到 MongoDB 。但是,这通常会导致样板代码,并且在用户身份验证的情况下,必须在相应的代码中指定用户名和/或密码等安全风险。

为此,mdbh 提供了get_uri 函数,该函数根据.mongo.conf文件和特定数据库名称创建连接 URI。

神圣实验查询

为了查询和操作通过 Sacred 记录到 MongoDB 实例的数据,mdbh 提供了几个函数,最全面的一个是 get_dataframe ,它返回从指定的 Sacred 数据库创建的 PandasDataFrame对象和可能的运行 ID。它方便地结合配置信息以及指定数据库中所有实验的记录指标。使用DataFrame, 复杂的数据聚合和/或绘图(例如通过Seaborn)非常舒适。

神圣实验神器检索

为了从 Sacred 实验中检索工件,mdbh 提供了 get_artifact 函数,该函数从 MongoDB 下载工件并使用缓存来优化跨不同应用程序的工件重用。或者,也可以通过resolve_artifacts为完整的 DataFrame 解析工件 ,但这可能会很慢,因为所有工件都已下载。

MDBH 配置

环境变量,例如缓存目录,可以在运行时通过environ 模块进行操作。

MongoDB 设置和 Omniboard

请参阅相应的 Omniboard Wiki 条目 ,了解 mbdh 如何简化 Omniboard 的使用。

请参阅相应的 MongoDB Wiki 条目 以了解如何正确设置 MobgoDB 实例。

缓存

默认情况下,MDBH 缓存下载的工件,通过mdbh.get_artifact(). mdbh.get_dataframe()或者,可以使用该选项在本地缓存通过获得的 DataFrame cache=True。有关详细信息,请参阅函数的文档。

默认情况下,文件缓存到使用 获取的临时文件夹中 tempfile.gettempdir(),Linux 通常默认为/tmp. 因此,缓存在多次引导时不是持久的。要使缓存持久化,请使用自定义缓存目录,例如:

import mdbh
mdbh.environ.set_cache_dir('~/.mdbh/cache')

环境变量在运行时更新,因此不需要重新加载模块。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

mdbh-0.5.tar.gz (27.2 kB 查看哈希

已上传 source

内置分布

mdbh-0.5-py3-none-any.whl (30.3 kB 查看哈希

已上传 py3