Score
Compute the final score of an assignment based on the criteria.yml file.
This small package is an helper to sum the points of programming assignments.
Usage
Simply use score inside an assignment folder
$ score -v
Got 7 points + 2 points out of 10 points
4.5
$ score
4.5
$ score check criteria.yml
OK, schema version 2
You can use the porcelain command score json to get the detailed score report in JSON format:
$ score json [file]
Criteria file format
Criteria files now use the version 2 schema which is more explicit and easier to validate. The root object must contain a schema_version: 2 field and a criteria mapping. Each section can provide an optional description and nested criteria items. A leaf item uses descriptive keys such as description, awarded_points, and either max_points (regular points) or bonus_points (bonus points).
---
schema_version: 2
criteria:
testing:
description: Automated testing
build:
description: The program builds correctly
awarded_points: -2
max_points: -4
unit:
description: Unit test suite covers the critical paths
awarded_points: 4
max_points: 4
code:
description: Code quality
implementation:
description: Smart pointers are used correctly
awarded_points: 4
max_points: 4
duplication:
description: No repeated code
awarded_points: -1
max_points: -5
bonus:
description: Extra credit
extension:
description: Program goes beyond the scope of the assignment
awarded_points: 2
bonus_points: 3
Use score check to validate a criteria file and score update to migrate an older version 1 definition to the version 2 schema.
Metadata
Release files for StudentScore 0.7.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| studentscore-0.7.5.tar.gz | 58.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| studentscore-0.7.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 80.3 kB
Release files / studentscore-0.7.5.tar.gz
| Download URL | studentscore-0.7.5.tar.gz |
|---|---|
| Size | 58.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b15fde87ffec21cecab245b4e8c4505f8182ef9e140ee989141169438040867e
|
|
BLAKE2b-256 checksum How to use checksums |
50b97a7ea9e5116687ff7e728c3354a69211a5fa1f6f46c1b706688400e99f17
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.
Transparency logRelease files / studentscore-0.7.5-py3-none-any.whl
| Download URL | studentscore-0.7.5-py3-none-any.whl |
|---|---|
| Size | 21.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2e509b57fe7c2cb05c10b3f9ce1e91840b88bbfc0da42c981d2c4415760473a6
|
|
BLAKE2b-256 checksum How to use checksums |
a1fc13300b5b3299e04304dd91c9d0c5a4984d535c30245fa11fc748fa159ee6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.
Transparency log