PythonProjectGrader
A grader for Python projects, used in the “Programming with Python” course at Sofia University “St. Kliment Ohridski”, Faculty of Mathematics and Informatics.
Automatically grade Python projects based on a set of checks. Current supported set of checks are:
If the project has a requirements.txt file
Pylint
Type hints (via mypy)
Code coverage (via pytest & coverage)
The tool supports configuration files, where you can specify the score for each check.
Quickstart
Clone the repository and create a virtual environment:
git clone https://github.com/fmipython/PythonProjectGrader
cd PythonProjectGrader
python3 -m venv .venv
Activate the virtual environment: Linux/MacOS -
source .venv/bin/activate
, or for Windows -.venv\Scripts\activate
3. Install the package:
pip install -r requirements.txt
4. Run the grader:
python3 main.py -c ./config/2024.json PROJECT_PATH
Where PROJECT_PATH
is the path to the project you want to grade.