PEP 723: use a new `[run]` table instead of `[project]`?

No problem! I had my team read through both PEPs this morning, but it was mostly to get them into the right head space, explain the background, to start thinking about how we could do a user study around this, etc.

I’m in no rush to make a final decision and we can tweak stuff along the way. It will take some time to line up a user study anyway, so while @courtneywebster thinks through how she wants to run one, we can iterate as needed. We can also make sure that any user study asks key high-level questions (e.g., formatting) that is going to come up regardless, as well as other questions such as would supporting a [tool] table be too confusing, is TOML easy enough to learn regardless of what table(s) are supported, etc. Plenty to get beginner feedback on that isn’t inherently tied to any future change we make here.

They can error out if a version of Python that’s required isn’t installed in a much clearer way than some SyntaxError or AttributeError for something in the stdlib. And this is in the easy cases of something obviously missing compared to some subtle semantic change.

For example, a tool could say, “the specified file requires Python >=3.8, but only Python 3.7 was found. Please install an appropriate version of Python.” which is clearer than TypeError: 'type' object is not subscriptable (which is something I ran into trying to backport some code in packaging to Python 3.7).

And this is one of the key reasons we are going to do user studies as I think we need some independent feedback from beginners as to what format they find the least confusing.

2 Likes