-
This repo contains guidance for running an election in
election.md
-
There is also a Jupyter Notebook where election properties can be configured, which can then be used to generate Discord announcements based off the templates (planned to implement generation of emails too)
-
It's helpful to have a centralised (hopefully) thorough guide so that information doesn't get lost across exec cycles
-
On comms:
-
There are particular timelines and pieces of information that should be followed in order to comply with SU Regs (currently Reg 9)
-
For the sake of convenience and consistency, as well as the previous point, it makes sense to have templates that comms can be based off of, as well as a (relatively) nice UI to set all the properties
-
-
On using Jupyter Notebook: I briefly tried to mess around with this in
tkinter
and decided it was more effort than it was worth, a notebook is far nicer to work with
-
Get Python 3.9+
-
(Optional)
- Create a venv:
python -m venv venv
- Activate the venv:
source venv/bin/activate
(macOS and Linux),venv\Scripts\activate
(Windows)
- Create a venv:
-
Install requirements:
pip install -r requirements.txt
-
Launch the notebook:
python -m notebook
-
Open the
.ipynb
via the URL provided by Jupyter -
Run the first code cell, set your widget values, then run the second code cell
-
See your outputted templates (default path is
./templates-final
)
-
Actually write the rest of the templates
-
Implement email generation
-
(Possibly) generate newsletter friendly
-
iCal/other form(s) of dated task lists
-
Better docs esp e.g. on the config, templating
-
The various TODOs scattered throughout the code along with any other bits I spot
- Me too - some of it was written at silly hours in the morning (and you can tell), and I already have plans to refactor various parts
- This is intended to be finalised in time for the 2025 UWCS Frep Elections at the latest