It feels like a really disingenuous way of representing each PEP (one being still in discussion). The TOML representation purposefully mixes notations, where there is no need to, which makes it less readable.
I have yet to mention it of the TOML PEP discussion but we could have a shorthand syntax for version-only cases to avoid clutter. At this point the TOML representation would be (still provisional though):
Youāre right, I deliberately mixed notations to showcase the flexibility of TOML, when perhaps I should have presented the most readable option. Should have followed the KISS paradigm.
A quick example of something that nearly achieves this is dotted-key notation
cached-property.version = ">= 1.2.0, < 2"
Thereās immediately a likely point of confusion for users there, however, for projects with dots in the name (which is really an issue in all situations in the exploded table form)
The only project I had come across other than backports which had dots was ruamel.yaml, so perhaps itās not common enough to be an issue, and can be solved via documentation in the projectās installation instructions
Probably should have put this post in the PEPās discussion topic
Ultimately, the PEP needs to present the agreed-upon option. If thereās no agreed-upon option yet, then framing it as a PEP was probably misleading (certainly to people who are not actively pushing for a TOML format, who are basically waiting for the people who are to come up with a consensus). If itās still just a starter for discussion, then yes, it probably is too early to be comparing the two options.
Brettās proposal was that there should be āa draft proposal being actively discussed as a topic hereā. I take that as meaning that the people in favour of the expanded approach should have reached at least rough consensus on what they want to be considered as their proposal. It sounds like thereās still some work to be done to get that rough consensus. Iād consider the best time to post a draft PEP to be once you have that consensus on what you want to say, personallyā¦
At some point we really do need to limit the decision to just two proposals - PEP 508 and some well-defined āexpandedā syntax. If we canāt get to that point, weāll need to decide what to do - drop the whole thing, go with PEP 508 syntax because itās the only concrete proposal we have, or let things drift on for even longer. I personally think the debating has gone on long enough, and we need to make a decision and be done with it.
Yes, and the point of the deadline was to make sure there were people dedicated enough to see each idea through to a conclusion.
Yes, if those interested in an idea canāt come to a conclusion on what to include in a PEP proposal then I would say it lacks enough support to be considered. I think it looks like both camps are on there way, though. My assumption is weāre are going to be done debating this by the end of the month:
Reach consensus on design by each camp by Tuesday, Sep 8
Have PEPs submitted by Tuesday, Sep 15 (since a design would have been agreed upon this is just writing it down succinctly)
Iāve listed some open-issues in the draft. In addition Iād like comment about the switch to the PEP 610 direct property. Those invested in the exploded table can head to the discussion topic
If the PEP is at a stable enough place to go into the PEPs repo then please submit a PR and I can get it assigned a number and checked in. It can obviously keep getting tweaks if you are mostly happy with where things stand.
Thanks to @ofek, @EpicWink and everyone who has/is/will participate in this!
And just as a more visible clarification here from the exploded table topic: the whole optional-dependencies table bit currently in PEP 621 can be changed with good reasoning behind it if that proposed split is too rigid or non-ergonomic for people.
As far as Iām concerned, any of the PEPs can be modified right up to the point where things get submitted for approval. When Iām asked to make a decision, Iāll simply review the PEPs as they are at that point.
One thing I feel I should mention - these PEPs are mandating a particular input format for build backends. So far, the focus has been on refining the two dependency proposals, which is exactly as it needed to be. But once thatās done, Iād hope we can move back to consensus building and co-operation, and not simply leave it as āwe donāt agree, pick oneā. We may not get full consensus, but everyone should at least understand both dependency PEPs, as they will be expected to implement whichever one is approved. If weāre going to end up in a situation where it looks like projects might ignore the standard because a decision didnāt go their way, thereās no point in having a standard at all
I canāt speak for other backend maintainers, but Hatch will only support the PEP that is chosen. I donāt have a strong enough preference to reject a standard
I likely wonāt adopt any of this entire PEP until a library (hopefully packaging) can do all the work for me. One of the pymsbuild āfeaturesā is minimal processing/validation of metadata, so Iām certainly not going to inject my own interpretation of converting to a METADATA file in there.
Iām very much assuming there will be some library that will take the dict from reading the TOML and provide a function to spit out the appropriate METADATA and such.
@ofek Iām going to ping the relevant PEP threads to make sure they feel ready to have a focused discussion and then I will start a new thread (this one is way too long to build off of).