A Python ToolBox for CourseGrading platform.
Project description
Pygrading
CourseGrading(希冀)信息类专业教学与科研一体化平台开发用Python工具包
What is it • Install • Quick Start • Change Log • FAQ • CG Site
Made by Charles Zhang • :globe_with_meridians: https://gitlab.educg.net/zhangmingyuan/PyGrading
What is it
希冀平台 全面支撑计算机、大数据、人工智能、集成电路、信息安全、机器人、金融科技、区块链等专业建设。 基于平台建成了涵盖实验、质量指标及过程控制的完整在线实验体系,实现了“任何人、任何时间、任何地点均能开展实验学习”的目标。
通用评测 是一个通用的自动评测框架,基于该框架可以定制开发任何自己需要的自动评测内核。
PyGrading工具包 目前该工具包包含以下功能:
- 支持CourseGrading平台通用评测内核快速构建;
- 支持适用于通用评测题、云桌面环境和Jupyter实验环境的评测结果JSON串的快速生成;
- 支持HTML标签文本内容的快速生成,绝对好用的HTML生成工具;
希望使用本工具能够提高大家的工作效率,祝各位开发顺利!
Install
使用pip可以轻松安装PyGrading:
pip install pygrading
PyGrading的运行环境要求 Python >= 3.5,不支持Python2。
Quick Start
下面从一段简单的代码开始,使用PyGrading创建一个简单的通用评测内核:
from pygrading import Job
# 创建一个任务对象
job = Job()
# 设定任务得分、评定结果和评语
job.score(100)
job.verdict("Accept")
job.comment("Hello World")
# 输出评测结果
job.print()
这样就可以得到一个评测结果:
{"verdict": "Accept", "score": "100", "rank": {"rank": "-1.0"}, "HTML": "enable", "comment": "Hello World"}
详细的使用手册请参考:PyGrading开发文档
Change Log
v1.1.6 Change Log (2020.12.14)
- 为
gg.utils.loge()
绑定了环境变量PYGRADING_DEBUG
,该变量为True
时loge
生效。
v1.1.5 渲染更新 Change Log (2020.11.28)
- 添加了Bootstrap4和Jinja2模板引擎的支持。
- 支持了使用
gg.render_template()
方法渲染HTML模板! - 添加了默认渲染模板,该模板可使用
python -m pygrading init
创建,位于新建项目中的templates/html/index.html
v1.0.1 Change Log (2020.11.24)
- 去除了渲染结果时默认使用
str2html
的特性,因为其可能会导致JS失效。
v1.0.0 正式版 Change Log (2020.11.21)
- 重构了测试版底层架构,简化了导入步骤和部分包的使用方式。
- 添加了命令行程序,支持使用
python -m pygrading init
创建项目模板。 - 添加了多线程评测支持,高效利用服务器资源,提高评测效率。
- 添加了评测超时控制功能,限制评测任务执行时间,防止卡死。
- 添加了快速提取程序输出中评测指标的功能(键值对智能识别)。
- 添加了图片转base64功能,快速生成图片展示元素。
- 添加了携带环境变量执行评测功能(用于支撑需要读取不同环境变量的测试用例)。
- 添加了评测指令执行静默模式,支持直接抛出评测指令的异常。
- 添加了一键打包评测内核功能,打包好的评测内核可以通内核扩展上传。
- 优化了评测过程函数的参数要求,支持不带参数的简单过程函数。
FAQ
暂无内容
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pygrading-1.1.6.tar.gz
.
File metadata
- Download URL: pygrading-1.1.6.tar.gz
- Upload date:
- Size: 63.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.52.0 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f360ce9bf47c199b805669826eebed87e27486062e13c2fcbcabadbb08c82d70 |
|
MD5 | 198a198ab130fdbb9fa9d86f18b961c6 |
|
BLAKE2b-256 | 67eb1a02126646f11f5e58c3bb53057e0f4c75d3c7587d33bb5f678eaf3be7a9 |
File details
Details for the file pygrading-1.1.6-py3-none-any.whl
.
File metadata
- Download URL: pygrading-1.1.6-py3-none-any.whl
- Upload date:
- Size: 67.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.52.0 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d22aef802f0f2d0c13139796a84188d18bdea8e8f68f6e70d1821babca77655 |
|
MD5 | 6cdaae96554ca45fe13d56b0c871e2e2 |
|
BLAKE2b-256 | 200403f54240ce9a064e4370fa9a9549e6fc8ca3454a76367537723abc3b840c |