Skip to content

raven0034/elections

Repository files navigation

Guidance + comms generator for running UWCS elections

What?

  • 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)

Why?

  • 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

How to use the generator

  • 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)
  • 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)

What's to do currently?

  • 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

Some of the code makes my head hurt

  • 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

When?

  • This is intended to be finalised in time for the 2025 UWCS Frep Elections at the latest

About

Guidance and comms generator for UWCS elections

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published