1
0
Fork
You've already forked schoolwizard
0
A quick Python script to organize your schoolwork and notes
  • Python 100%
2025年12月23日 04:41:53 -05:00
.gitignore Initial commit 2025年09月03日 01:15:35 +02:00
courses.yml Config file support 2025年12月23日 04:33:37 -05:00
LICENSE Add license 2025年09月02日 19:18:02 -04:00
README.md Link to config file example in README 2025年12月23日 04:41:53 -05:00
requirements.txt Config file support 2025年12月23日 04:33:37 -05:00
schoolwizard.py Config file support 2025年12月23日 04:33:37 -05:00

Schoolwizard.py

This is a basic Python script that can help you stay organized in school (particularly for students in STEM). It offers several automated features for creating hierarchically-organized school folders, including:

  • Printing the current school week
  • Creating weekly folders for each of your courses
  • If you provide the relative path to one of your your courses, it opens the current week folder for that course
  • Generating new lecture notes for each day according to a pre-defined template

You can call the script from any directory, even a directory outside of your school/lecture notes folders. I use it on a near-daily basis!

Usage

A working Python system installation (Python 3.9+) is expected for the script to work. To install, clone the repository into an empty folder:

git clone https://codeberg.org/songtech-0912/schoolwizard SOME_FOLDER
# example - if your courses are in the fall 2025 semester:
# git clone https://codeberg.org/songtech-0912/schoolwizard "Fall 2025"

Then, enter the folder you cloned the repository, and (optionally) delete the LICENSE and README.md files, as well as the .git folder. Install the necessary dependencies with:

pip install -r requirements.txt

To start using the script, run python schoolwizard.py --mkdirs, which will create folders for each of your courses (it will prompt you to automatically create a config first - see this config for reference). Then, run python schoolwizard.py --mknote <course-folder-name> for each of those course folders. The script will automatically create markdown notes that you can edit in any text editor. However, it is strongly recommended to use a markdown editor like Obsidian or any of its open-source alternatives. Simply load the repository as an Obsidian vault (or equivalent in your editor of choice), use schoolwizard.py to generate and organize your lecture notes, and write away!

Commands

The full set of commands for the script are as shown:

Usage: python schoolwizard.py [arg]
Arguments (enter one only):
 --dryrun: just print current week
 --mkdirs: make notes folders
 --mknote [course]: make templated lecture notes for
 the current day for a course
 --goto [course]: go to the current week
 folder for the given course
 --courses: list courses

Tip: When using the --mknote and --goto commands, you can use shell tab-completion to automatically select the course (course folder) by entering ./ and then pressing TAB. (This assumes that you are in the same directory as the one the script is in).

Licensing

Schoolwizard.py is licensed under the Unlicense.