计算实验运行与分析的数据管理框架
experimentum的Python项目详细描述
实验
“实验”是一个独立于域的数据管理框架,用于运行和分析计算实验。
关于实验
图1:web界面仪表板
实验的主要目的是支持实验者更有效地进行复杂实验中的常规任务。实验本身负责数据管理中特定于数据库的部分:创建和修改数据库模式,存储收集的实验结果,以及从数据库中检索数据以供进一步分析。
功能
- 域无关
- 独立于使用过的数据库(标准是一个sql数据库,但是可以交换实现以支持nosql数据库,如mongodb)
- 迁移和架构生成器,以轻松创建数据库架构(无需了解sql!)
- 使用matplotlib可视化结果
- 通过cli或web界面管理实验
安装
使用以下命令可以通过pip
轻松安装框架:
$ pip install experimentum
The different
dbapi
packages are not part of the package dependencies, so you must install them in order to connect to corresponding databases:
- PostgreSQL:
psycopg2
- MySQL:
PyMySQL
ormysqlclient
- Oracle:
cx_oracle
- Microsoft SQL Server:
pyodbc
orpymssql
- SQLite: The
sqlite3
module is bundled with Python by default
开始
为了使用experitum框架,您必须处理一些初始设置。您需要自动生成一些代码来创建配置文件、迁移、存储库和其他特定于应用程序的设置。
从命令行,cd
进入一个目录,在其中存储代码,然后运行以下命令:
$ experimentum-quickstart
# if you you want to create the project in a subdirectory you can add the --root option
# experimentum-quickstart --root myproject
这将在当前目录中创建一个myproject目录。quickstart命令将创建以下内容:
/
config/
app.json
storage.json
experiments/
__init__.py
logs/
migrations/
{TIMESTAMP}_create_experiments.py
{TIMESTAMP}_create_testcase.py
{TIMESTAMP}_create_performance.py
repositories/
__init__.py
ExperimentRepository.py
PerformanceRepository.py
TestcaseRepository.py
main.py
这些文件是:
- main.py:框架的主要入口点。它允许您通过命令行与实验框架交互。
- config/:包含所有配置文件。您可以在这里放置自己的配置文件。所有*.json文件将由框架加载,并通过app类的config属性下的config类提供。
- config/app.json和storage.json:与框架相关的设置。有关详细信息,请参见配置
- experiments/:在这里您可以放置您的实验及其配置。
- logs/:包含日志文件。
- migrations/:您的迁移文件放在这里。
- migrations/{timestamp}u create_experiments.py:用于创建实验表的迁移。
- migrations/{timestamp}u create_testcase.py:用于创建testcase表的迁移。
- migrations/{timestamp}u create_performance.py:用于创建性能表的迁移。
- repositories/experistrepository.py:实验数据存储库。
- repositories/testcasepository.py:用于测试用例数据的存储库。
- repositories/performance repository.py:性能数据存储库。
文档
有关experimentum框架和每个单独组件的使用的大量文档可以在以下位置找到:https://pascalkleindienst.github.io/experimentum/index.html
变更日志
完整的变更日志可以在CHANGELOG.md文件中找到。
贡献
感谢您考虑为实验框架做出贡献!贡献指南可以在CONTRIBUTING.md文件中找到。
致谢
- @softgit-β测试仪
许可证
版权所有2019 Pascal Kleindienst
根据apache许可证2.0版(以下简称“许可证”)授权; 除非符合许可证,否则您不能使用此文件。 您可以在
^{p页r 3}$除非适用法律要求或书面同意,否则软件 根据许可证分发是按“原样”分发的, 无任何明示或默示的保证或条件。 有关管理权限的特定语言和 许可下的限制。