CB-SOLO - school friendly version of Celbridge?

I was wondering if it might be useful to target a special build of Celbridge for the secondary school sector

when talking to the CSinc staff from TU Dublin the other week they said was that the Department of Education only authorises the use of two IDEs for Python programming in schools: Thonny and IDLE

Both are pretty limited

  • but both have debuggers
  • ILDE allows some exploration of exception call stacks

My understanding was that neither allow any AI-assisted coding, not LSP support (? I think), but syntax color coding and word completion are okay (and part of IDLE)

it seems to me that if we wanted Celbridge to (eventually) be adopted as a third Python IDE for use in Schools, then we’d need to offer a version that removed any features that would disqualify it from being a candidate by the department

I’m not sure if would be enough to have a recommended Celbridege-for-schools configiuration file, since it might still be that teachers / classroom supports might download and intall the full version of Celbridge

so I was thinking whether it might be possible to easily setup an automatic sister project, with its own Github repo and docs site, that is an automated special build each time there is a Celbridge release, whose builds do not contain any features that would not be school approved (e.g. AI-MCP, LSP, auto-linting, web apps) - the simple list was:

List item for school-acceptable Python IDE:
2. no AI
3. no linting
4. no internet

we could form a small committee (perhaps to be a committee of Celbridge Foundation) to review each new Celdridge feature, and decide whether or not that feature would be appropriate to add to the biuld for CB-SOLO (working title, perhaps CB-4-Schools or Python4Schools to be in-your-face name it what you want people to think of it …)

what do you think?

.. matt ..

Related to this, I’ve just added a Feature Flags system to Celbridge so we can toggle features on/off via config (either at build time or in the .celbridge project file). This is useful for developing & testing experimental features, but we could use the same mechanism to produce restricted feature builds like you’re describing.