Skip to main content

一个可扩展的、用于自动评分学生编程作业的CLI工具。目前仅实现了基于pytest的

Project description

ScriptMark: 自动评分工具

PyPI PyPI - Python Version License Build Status

一个可扩展的、用于自动评分学生编程作业的 CLI 工具。

此工具的最初实现是作为 pytest 的执行框架,用于自动运行和评估学生提交的 Python 作业。


核心功能

  • CLI 驱动: 通过 typer 提供清晰、易用的命令行界面。
  • 基于 Pytest: 利用 pytest 强大的断言、插件和报告生态系统进行评分。
  • 超时控制: 使用 pytest-timeout 严格限制学生代码的执行时间,防止无限循环。
  • 精美输出: 使用 rich 在终端中提供格式精美的评分报告。
  • 可扩展性: 旨在未来支持 C++/Java 等其他语言的评分后端(此功能仍在规划中)。
  • 严格开源: 采用 GPLv3 许可证,确保项目及其衍生品保持开源。

安装

您可以通过 pipuv 从 PyPI 安装 grader

# 使用 uv (推荐)
uv add scriptmark

# 或使用 pip
pip install scriptmark

grader --help

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scriptmark-0.1.1.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

scriptmark-0.1.1-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

Details for the file scriptmark-0.1.1.tar.gz.

File metadata

  • Download URL: scriptmark-0.1.1.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.4

File hashes

Hashes for scriptmark-0.1.1.tar.gz
Algorithm Hash digest
SHA256 c844b19b3a784b6f1fdce37025dcdee4ba6ef54ff9fac603837dffe711380680
MD5 278a288e0d8f6cfadc65df5f4e60dd7e
BLAKE2b-256 ba59dd265ea61852abf383b203a22f6eee2a4be6475d284f77445e65b7ba26fa

See more details on using hashes here.

File details

Details for the file scriptmark-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: scriptmark-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 10.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.4

File hashes

Hashes for scriptmark-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3ec8bb631cefad6abcfb165212ccea4d631b47a32245dd02c43d992674745704
MD5 c8fcbf8407c6df2ec1250a04fe859d78
BLAKE2b-256 82673071517bf64d05702e4aa509b814a0da8b194a02866ce36676a01eab1b38

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page