PEP for PyREPL?

The new PyREPL seems like a great addition to Python, but because this is such a major change to the UI/UX of command line CPython, adding it would normally require a PEP to be written, discussed and approved by the SC.

I’ve only read the Python Software Foundation News: The Python Language Summit 2024: PyREPL – New default REPL written in Python blog post and this mentions an informational PEP.

I believe it’s better to follow the standard procedure we have for such major changes and create regular PEP instead - even if done in retrospect for CPython 3.13. This should then also include and answer the concerns which were raised at the language summit, discuss backwards compatibility and provide a roadmap for future features.

Thanks.

2 Likes

Thanks for raising this @malemburg!

@ambv it’s preparing a draft for this that we plan to publish as soon as we can. A bunch of different events recently has made this a bit more challenging and there is the summer break as well but don’t worry as it will happen.

Hummm, as this would be retroactive what would be the difference with an informational PEP thet addresses or directly answers the concerns which were raised at the language summit, discuss backwards compatibility and provide a roadmap for future features?

This is mostly to heal the fact that the PEP process may have been side-stepped for this particular project. Given that you are an SC member, I think it’s important to make it clear that our standard procedures are followed for SC member projects as well.

Overall, doing this is just a formal task at this point, but I believe an important one given the impact of the change.

I hear you and it makes sense.

But let me add for context that the PEP process was not side-stepped here (at least on purpose) as it was not clear to us that this required a PEP and initially we didn’t think this was big enough to require a new PEP (which I agree is subjective). Only after the feature was already merged (before we had Windows support) the SC bring to our attention that an informational PEP was required given that some folks had some questions and concerns, specially about platform support (which is now fixed) and other aspects of it. Not only that, the issue was opened on Oct 31, 2023 and the PR was merged on May 5, 2024 and during this time nobody reached out to us to request a PEP. We also talked extensively about this change before it was merged in several core dev spaces, the core dev sprint (where we started development) as well as the core.py podcast. The only mentions of PEP requests appeared after we publicised the change and it was merged.

Additionally, the SC and the release manager were informed about these changes before the informational PEP was requested. We also consulted the release manager and the SC (after the PEP was requested) if they would prefer us to remove the feature and wait for a PEP and they indicated that that was not necessary.

1 Like

@malemburg If you like and feel is necessary, we are still on time to remove the feature and follow the PEP process and delay the REPL for 3.14. Would you feel more comfortable with that?

I’m sure it wasn’t intentional and understand that things can sometimes start small and then turn out to have much more impact, but we have a PEP process for good reasons and should stick to it for all larger changes to the project. Not only because it helps publicize new features, but also to show good governance.

Python no longer is the niche language it was two decades ago when we were able to pull off all kinds of cool things without the formalisms we have now.

To some (including myself, for that matter), that’s unfortunate and it does sometimes feel wrong when you’re passionate about a change, but today we have a responsibility for an installed base of millions of Python installations and many more people, companies and sponsors are watching these developments. Investment in trust, process, stability and predictability comes with this responsibility, whether we like it or not.

No, that’s not necessary, but thanks for asking.

It’s a great new feature and one, I’m sure, many people will appreciate.

8 Likes

Absolutely! To be clear, I was wanted to give some context so it can be easier to understand the process and to clarify what happened for transparency so you (and others) have as much information as possible.

Exactly! I very strongly agree with this. Thanks for taking the time to also explain your views clearly. I think this is important and we will do our best to document these changes and the information requested in the PEP.

8 Likes