guv¶
guv is a command-line tool designed to simplify the management of multiple
courses. It helps centralize information related to each course and easily
integrate new data through configuration files. With guv, you can generate
attendance sheets, grade and jury spreadsheets, and much more!
✨ Features¶
Centralized management courses information
Excel grade sheets for courses assessment boards
Easy customization via configuration files
🚀 Installation¶
Install guv directly via pip:
pip install git+https://github.com/thisirs/guv.git
🏃 Quick Start¶
Follow the steps below to get started with guv:
Create a semester structure with some courses:
guv createsemester Fall2024 --uv CS042 CS314
This creates a semester directory
Fall2024containing two coursesCS314andCS042.Provide a base listing file:
Place the csv/Excel file of a listing of students under some directory, for example
Fall2024/CS042/documentsand declare it inFall2024/CS042/config.pylike this:DOCS = Documents() DOCS.add("documents/base_listing.xlsx")
Now go to
CS042subdirectory and runguvwithout arguments. The result is in a file calledeffectif.xlsxunderFall2024/CS042.Depending on the column names of your listing, you might need to update the column mappings in the
config.pyfile located inFall2024.Use tasks to generate files
If
CS042directory, you can now generate attendance sheets:guv pdf_attendance --title "Exam"
or generate a gradebook (you will be asked for a marking scheme):
guv xls_gradebook_no_group --name Exam1
See other tasks here.
Aggregate more files to the base listing
If you want to add more information to the base listing:
DOCS = Documents() DOCS.add("documents/base_listing.xlsx") DOCS.aggregate("documents/grades.xlsx", on="Email")
and see the result in
effectif.xlsxunderFall2024/CS042.See other aggregating functions here.
See all available tasks and aggregating functions here.