Skip to main content

The utility you need to easily configure auto-grading

Project description

Gradema

The utility you need to easily configure auto-grading.

https://pypi.org/project/gradema/

https://gradema.readthedocs.io

Python 3.10 required.

Try it out

poetry install
poetry run python -m example.binaryconvert.autograder

Dependencies for student machines

Since Gradema will be published on Pypi, getting this to work should be as simple as having these things installed, then letting an installer script do the rest:

Project Structure

  • gradema
    • Contains all the code for gradema
  • example
    • Contains example usages of gradema
  • tests (not yet created)
    • Contains unittests to test the functionality of gradema.
    • This is the only place unit tests exist for the project itself. A "unit test" in another location is likely just an example unit test that does not test the functionality of gradema itself

Development

Goals

  • This should be a thin wrapper around shell commands which actually run tests. This allows people to debug the smaller components themselves. The autograder should be a tool to help people understand these components, rather than a black box.
    • We need to be able to run pudb -m ... and have it launch right into the user's code

Running Tests

All tests are located in the tests directory, so you must explicitly state that directory, otherwise some tests will be incorrectly picked up in other directories.

poetry run pytest tests

TODO

  • Use py2cfg to produce control flow graphs
  • Use pytest instead of basic python3 and asserts
  • Text diff (not critical)
  • Arg tests and the OUTPUT_FILE interpolation thing
  • Think about where to put unit tests
    • Rust - move tests inside src?
  • Do C++ example - lowest priority

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

gradema-0.0.4.tar.gz (14.2 kB view details)

Uploaded Source

Built Distribution

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

gradema-0.0.4-py3-none-any.whl (18.8 kB view details)

Uploaded Python 3

File details

Details for the file gradema-0.0.4.tar.gz.

File metadata

  • Download URL: gradema-0.0.4.tar.gz
  • Upload date:
  • Size: 14.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.10.12 Linux/6.8.0-76060800daily20240311-generic

File hashes

Hashes for gradema-0.0.4.tar.gz
Algorithm Hash digest
SHA256 b364cf979babafa9112760fac727f411d3b7f46452e84c492b625ddb2418e36c
MD5 062cd9fa5c639cde1a8bc91118a5989b
BLAKE2b-256 c17450cd3a004e3aa03273319d21ea5e527f33ee2489cf7bb266c49639cd6afc

See more details on using hashes here.

File details

Details for the file gradema-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: gradema-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 18.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.10.12 Linux/6.8.0-76060800daily20240311-generic

File hashes

Hashes for gradema-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 0c244720ef25fffa1f249955a5149627b6991d6690a49c28806046af0bdba579
MD5 7c035720a57265511dcc0e99b74fd23d
BLAKE2b-256 9ade142fcb8d5b3f038c8817c701126d2ab38955745a9c00179d7fcc891ca2e6

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