- Python 100%
| .gitignore | Initial commit | |
| courses.yml | Config file support | |
| LICENSE | Add license | |
| README.md | Link to config file example in README | |
| requirements.txt | Config file support | |
| schoolwizard.py | Config file support | |
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
--mknoteand--gotocommands, 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.