计算实验运行与分析的数据管理框架

experimentum的Python项目详细描述


实验

Build StatusCodacy gradeCodacy coveragePyPI - Python VersionPyPI - LicensePyPI

“实验”是一个独立于域的数据管理框架,用于运行和分析计算实验。

关于实验

Experimentum Dashboard图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 or mysqlclient
  • Oracle: cx_oracle
  • Microsoft SQL Server: pyodbc or pymssql
  • 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.jsonstorage.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文件中找到。

致谢

许可证

版权所有2019 Pascal Kleindienst

根据apache许可证2.0版(以下简称“许可证”)授权; 除非符合许可证,否则您不能使用此文件。 您可以在

^{p页r 3}$

除非适用法律要求或书面同意,否则软件 根据许可证分发是按“原样”分发的, 无任何明示或默示的保证或条件。 有关管理权限的特定语言和 许可下的限制。

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

推荐PyPI第三方库


热门话题
java Spring freemarker多模板加载程序路径   在java插件中从控制台获取输入   java在包中创建继承类   网页抓取Java Jsoup网页抓取   java在线程内创建一个对象,而true条件具有相同的引用   java如何根据空格数拆分字符串   java新的安卓 studio更新中的配置文件“app”是什么?   java在将ArrayList写入/读取到文件时出现奇怪的问题   java Reg替换文本块第一次出现+最后一次出现   java当我单击任何RecyclerView列表项时,如何在MainActivity的EditText中显示特定的单击项?   JAVA XML删除节点仅删除第一个外观   java如何在数组中查找特定值   java SVG/矢量图形对象布尔运算(并集、交集、减法)   java在Android中创建线程需要多长时间   尝试从JBOSS联系Oracle LDAP服务器时发生java连接重置异常   java基于参数获取特定的实现实例   使用java就地修改文件内容   java MonetaryException:未加载MonetaryAmountsSingletonSpi   java接受用户的不同输入并使其触发完全相同的代码段的最短方法是什么   Spring 3.2.8应用程序中未找到java HTTP 404错误