Buggy Racing: a Python programming project for teachers and tutors
Got students learning Python?
Buggy Racing is the software, documentation and supporting material for running a practical Python programming project: see the overview.
See the demo race server at demo.buggyrace.net.
Features

Configurable for your institution and teaching environment including links to supporting sites and control over which student data is included

Project broken into tasks and phases, all fully customisable (although the defaults are tried and tested!)

Support for student reports/lab notes: collecting task-based texts as-they-go (or not: you configure how the project is run)

“Tech notes” supporting material on key technical concepts encountered in the project (can be replaced with your own)

Can run with GitHub: server forks repo into students' accounts and injects tasks as issues (or use GitHub without automation, or just Git... or no Git at all — download zip and go!)

Students do their development work where you want: own machines, college machines, or online services like PythonAnywhere or Replit.
Requirements
See the full requirements. You need to host your own race server.
Components
Not included
Submission and assessment of projects is not included (because how you do that depends enormously on your institution and the course of study it’s part of, if any)… although we have guidance on how to handle that too.
Buggy Racing was originally created in 2020 as the final term project of the CompSci Foundation programme at Royal Holloway, University of London (RHUL). It ran as a 6-week course of weekly lab sessions with students who’d done at least one full term of introductory Python.
Since then we’ve made it very configurable so you can run it in a way that works for your institution or course — university department, FE College, or local code club. Available for free under the GNU GPL license.
License: free and open source software
The race server and buggy editor is made available under the GNU Affero General Public License: a free, copyleft license (see gnu.org for details).
In practice this means: you and your institution don’t have to pay to use it — there’s nothing to buy, because the whole thing is made freely, explicitly available for you — and you can modify it and even improve it (but if you do, you should make those improvements available to other people too).
See the race server’s LICENSE.txt
“Free as in speech, free as in beer”
Remember to teach your students about Open Source software :-)