[dead thread] Re: What is Install-Paths-To in WHEEL file?
This thread is no longer being useful, and is now closed. -- ~Ethan~ Moderator -- https://mail.python.org/mailman/listinfo/python-list
Re: What is Install-Paths-To in WHEEL file?
> others do not and so your notion of what is "accepted" > is not universally shared. Why should I or anyone else care about what "others" think? The important question is whether what I do is right. And the answer is "yes". That's why there are rules in the first place instead of polling. > if you want to influence anything Usually, when I interact with representatives of Python community I have two goals: 1. Typically, I need to show to someone who's paying my salary why something produced by this community doesn't work. I.e. say, I need to convince a project manager on a project I'm helping maintain that deploying using "pip install" is a bad idea. I write an explanation which I share with the PM and the PyPA people in the bug tracker. They predictably block me out of fear or frustration. This gives me a proof that the thing doesn't work (well), and I'm allowed to do it the right way. Just like in your previous remark: majority could be a good initial heuristic, but proof is still a lot better. 2. At this point, I have no hope of convincing the prominent members of Python community how awful a lot of their decisions are. There are plenty of socially constructed obstacles on this way. The reason I do this is posterity. There are plenty of people who aren't influenced by the internal developments of Python community (outside of it) and they can see much of its development for what it is: commenting on this development honestly will help them make an informed choice. It's also important that those who will come after us will learn about this contradiction. Too many bad projects with bad design outlived their good counterparts due to popularity caused by chance. And today those better design and ideas are as good as lost. For example, Unix outlived and "overpowered" plenty of better operating systems of its time. But most programmers today would have no idea what those systems were and how they were different. Similarly, x86 ISA. And plenty more. Python changed from its early days of trying to be funny and generally welcoming of many contradicting ideas and opinions into a Lord of the Flies community that no longer tolerates differences of opinion. It's lost the spirit of "playful cleverness" (as RMS would put it), and became a "don't think, do as I say" community. I want to make sure those who come to learn about Python will not miss this aspect of its history. -- https://mail.python.org/mailman/listinfo/python-list
Re: What is Install-Paths-To in WHEEL file?
On Sun, 31 Dec 2023 at 00:35, Left Right wrote: > > It's not for you to choose the way I communicate. There are accepted > boundaries, and I'm well within those boundaries. Anything beyond that > is not something I'm even interested in hearing your opinion on. You might not be interested in my opinion but you might want to reflect on the fact that although you consider your behavior to be within "accepted boundaries" the evidence here (and in the forum) suggests that others do not and so your notion of what is "accepted" is not universally shared. I am not going to reply to your other points except to say that if you want to influence anything then I expect that you would have more success with a different approach. To anyone else considering replying in this thread: please don't. I very much doubt that anything good will happen here. -- Oscar -- https://mail.python.org/mailman/listinfo/python-list
Re: What is Install-Paths-To in WHEEL file?
> You are conflating several different groups of people. The PyPA are > the people who currently maintain the code for various > libraries/tools. That is very often not the same as the people who > originally wrote the code for the same libraries/tools or for > preceding ones. Neither group is the same as the forum moderators (I > suspect that there is no intersection between the moderators and the > PyPA etc.). I'm sorry to tell you, but you suspect wrong. Unfortunately, it's always the same story. Whenever I or anyone else with a legitimate complaint about larger projects managed by PyPA tries to bring this to public discussion, they get banned and their comments about PyPA activity removed. It's always presented as if whoever is complaining is disrespecting the hard work of the person replying, who usually self-describe as selfless volunteer with limited time and attention they are willing to grant to the one complaining (implying they either are PyPA or are volunteering for them). As if their time was obviously more important than that was spent by the one complaining to research the problem and put together the complaint. This has nothing to do with the original authors of the projects managed by PyPA. I don't know why you decided to bring this up. I haven't mentioned them. > Actually you are wasting the time of others by putting across > inaccurate and unhelpful information in a rude way and at the same > time criticising others without really understanding who you are > criticising and for what. Your contribution is unhelpful mostly (but > not exclusively) because of the way that you choose to communicate. No, I'm not _wasting_ anyone's time. I bring up a legitimate issue that needs solving. What happens is a typical example of gatekeeping, overestimating one's worth or the value of one's contribution. The time I had to waste because of the bad decisions made by PyPA is orders of magnitude more than the time they have spent reading whatever I wrote to them. Point me to inaccurate information please. I'm happy to be corrected. Similarly, point me to where I was rude, and I will apologize. Apparently, I have a better understanding of who I criticize and for what than you do. You need to at least be factual when you make these sorts of claims. It's not for you to choose the way I communicate. There are accepted boundaries, and I'm well within those boundaries. Anything beyond that is not something I'm even interested in hearing your opinion on. > There is some significant irony in you describing the forum as a > "toxic pit" for deleting your posts. I don't always agree with the > moderators and I am not sure that I would have reacted the way that > they did but these threads remind me precisely why moderation > (including deleting posts such as yours) is needed to *prevent* a > forum from turning into a toxic pit. You, as well as the moderators of the toxic pit forum are confused about what it means to have a good discussion. The discussion that is currently happening around PyPA projects and ideas is broken because the PyPA side of the discussion is unwilling to acknowledge how bad they are at doing their job. Whenever any serious criticism of their work surfaces, they deal with it by deleting the criticism, never through addressing the problem. You can be the most polite and humble person in the world, but as soon as you bring up the subject of the quality of their decisions, you are automatically excluded from discussion. The only criticism anyone is allowed to have is the kind that doesn't touch on any major projects. It's possible to point out typos in documentation or to address similarly inconsequential defects at the smaller code unit level, but it's not possible to call for a revision of ideas behind libraries or PEPs. For instance, as soon as you mention the comically awful idea of pyproject.toml in a bad light, you get a ban. I believe this comes from the place of insecurity in one's ideas, and has nothing to do with how polite the criticism is. And that's when instruments like "code of conduct" are called upon to delete the inconvenient criticism. This is what creates toxic communities like StackOverflow or similarly built social networks which endow their moderators with way too much power over other users. The other extreme of anarchy, similar to 4chan, doesn't suffer from this problem, but sometimes results in grotesque gore or other _unpleasant_ things but aren't toxic in the same way gatekeeping is. This is how I understand and use the word "toxic". The dicuss.python.org is just as toxic as StackOverflow -- I don't have a metric precise enough to tell who's worse. I believe that this format is a very unfortunate choice for public discussion where there isn't an inherent division between owners and non-owners. Where giving the keys to the common good to a small group of people creates such a division. -- https://mail.python.org/mailman/listinfo/python-list
Re: What is Install-Paths-To in WHEEL file?
On Fri, 29 Dec 2023 at 22:38, Left Right via Python-list wrote: > > > Then your understanding is flat-out wrong. Encouraging participation > > by everyone DOES mean deleting what is unproductive, offensive, and > > likely to discourage participation. > > I haven't written anything unproductive or offensive. I offered > constructive criticism with a detailed plan on how to fix the problem. > The forum owners chose to ban me because they don't like hearing that > the code they've written is bad. And that's the long and the short of > it. This has been a pattern in behavior of PyPA members I've > interacted with so far. You are conflating several different groups of people. The PyPA are the people who currently maintain the code for various libraries/tools. That is very often not the same as the people who originally wrote the code for the same libraries/tools or for preceding ones. Neither group is the same as the forum moderators (I suspect that there is no intersection between the moderators and the PyPA etc.). > And whenever they had a chance, they'd use it > to pretend that the problems I'm talking about don't exist by deleting > every mention of the problem. That is an example of unproductive and > offensive behavior because it produces nothing and wastes my time I've > dedicated to locating, reporting and solving their problem. Actually you are wasting the time of others by putting across inaccurate and unhelpful information in a rude way and at the same time criticising others without really understanding who you are criticising and for what. Your contribution is unhelpful mostly (but not exclusively) because of the way that you choose to communicate. I did not realise earlier what you were referring to but I see now that I have email notifications with the content of your posts that were deleted. I am not surprised that they were deleted and that you were banned because if I was a moderator looking at those then I would not expect a promising future for your interactions with others in the forum. There is some significant irony in you describing the forum as a "toxic pit" for deleting your posts. I don't always agree with the moderators and I am not sure that I would have reacted the way that they did but these threads remind me precisely why moderation (including deleting posts such as yours) is needed to *prevent* a forum from turning into a toxic pit. -- Oscar -- https://mail.python.org/mailman/listinfo/python-list
Re: What is Install-Paths-To in WHEEL file?
> Then your understanding is flat-out wrong. Encouraging participation > by everyone DOES mean deleting what is unproductive, offensive, and > likely to discourage participation. I haven't written anything unproductive or offensive. I offered constructive criticism with a detailed plan on how to fix the problem. The forum owners chose to ban me because they don't like hearing that the code they've written is bad. And that's the long and the short of it. This has been a pattern in behavior of PyPA members I've interacted with so far. And whenever they had a chance, they'd use it to pretend that the problems I'm talking about don't exist by deleting every mention of the problem. That is an example of unproductive and offensive behavior because it produces nothing and wastes my time I've dedicated to locating, reporting and solving their problem. > Go play in your own sandbox somewhere, You are being repeatedly rude, without provocation, and yet you keep blaming me for what you are doing. I guess you have to be a moderator in this forum because you act as if this is a kind of behavior will be without any repercussions for you. You probably don't understand it, but this sandbox is as much yours as it is mine. You can "become" an authority and, eg. block me -- but that would be an overreach. Physically possible but morally wrong. I don't need to prove you wrong by being better than you. Nobody does. Being right or wrong isn't about being better at something. Not only that, I legally (and physically) cannot establish my own Python Software Foundation and claim a right to Python intellectual property, establish a governing body for Python etc. These forums are how PSF is supposed to implement its advertised policies. I cannot just take over them... that'd be illegal even if I somehow managed to physically pull it off. -- https://mail.python.org/mailman/listinfo/python-list
Re: What is Install-Paths-To in WHEEL file?
On Sat, 30 Dec 2023 at 06:58, Left Right wrote: > My understanding is that "welcome and encourage participation by > everyone" is in stark contradiction to banning someone disagreeing > with you. Then your understanding is flat-out wrong. Encouraging participation by everyone DOES mean deleting what is unproductive, offensive, and likely to discourage participation. Your entire argument is based on misconceptions. Go play in your own sandbox somewhere, see if you can make something where everyone is welcome, including the toxic AND the people who dislike toxicity. ChrisA -- https://mail.python.org/mailman/listinfo/python-list
Re: What is Install-Paths-To in WHEEL file?
Previously you wrote: > Here is the discussion referred to: https://discuss.python.org/t/what-is-install-paths-to-in-wheel-file/42005 This illustrates you had no idea what the discussion was about and now you write: > Oh trust me, I saw the discussion previously. Both cannot be true at the same time, unless you had some kind of very brief memory loss. > I'm not a lawyer, Neither am I. All I have to work with is my understanding of the English language. Here's how I come to my conclusions. The Python license grants all intellectual rights to Python to PSF (an American NGO, a.k.a. 501(c) organization), which, essentially, can be characterized as an organization for public good. This is what it has to say about itself in its mission statement: > Mission > The mission of the Python Software Foundation is to promote, protect, > and advance the Python programming language, and to support and > facilitate the growth of a diverse and international community of Python > programmers. it also elaborates what it means by "diverse" as follows: > Diversity > The Python Software Foundation and the global Python community > welcome and encourage participation by everyone. Our community > is based on mutual respect, tolerance, and encouragement, and we > are working to help each other live up to these principles. We want > our community to be more diverse: whoever you are, and whatever > your background, we welcome you. My understanding is that "welcome and encourage participation by everyone" is in stark contradiction to banning someone disagreeing with you. Note, I haven't offended anyone. I haven't even spoken to anyone who found themselves being offended. All I did was to describe in some detail the reasons why some projects endorsed by PyPA are a bad idea. You, as well as anyone else, are welcome to believe differently. This is the whole point of diversity allegedly promoted by PSF. I will think you are wrong, but it's not my place to shut you up. Neither is it the place of people in charge of the public discussion of Python or its satellite projects. They are not there to decide who's right and who gets the stage. Their role is to preserve the public good, which any discussion about subjects relevant to Python would be. What happens, however, and this is the unfortunate fate of popular projects, is that a small group of people consolidate all means of control in their hands, and the more control they get, the easier it is to get even more of it. The natural factor that would prevent this from happening: the community dissatisfaction with their role becomes increasingly less powerful as soon as more and more members of the community come to depend on the good provided by the community. If this discuss.python.org is representative of the Python community as a whole, then, unfortunately, it means that the goals PSF set for it are fading into the distance, rather than becoming more attainable. -- https://mail.python.org/mailman/listinfo/python-list
Re: What is Install-Paths-To in WHEEL file?
On Sat, 30 Dec 2023 at 01:37, Left Right wrote: > > > Yeah, because you have the God-given RIGHT to be able to say anything > > you like, on anyone's web site, and nobody's allowed to delete > > anything you say! That's how it goes, right? > > I don't believe in god, and I don't believe he / she can give me > rights. What I believe in is that Python is a public good, and its > status is enshrined in the license it uses. Is it? I'm not a lawyer, but I really don't think that that's what the license entitles you to. Can you quote the relevant parts of it? > > Don't let the door hit you on the way out. > > Oh, great. Here we go again. You don't even know what this discussion > is about, but decided to be rude. Oh trust me, I saw the discussion previously. I know what it is about. And when it comes to rudeness, let's just say, you reap what you sow. ChrisA -- https://mail.python.org/mailman/listinfo/python-list
Re: What is Install-Paths-To in WHEEL file?
> Yeah, because you have the God-given RIGHT to be able to say anything > you like, on anyone's web site, and nobody's allowed to delete > anything you say! That's how it goes, right? I don't believe in god, and I don't believe he / she can give me rights. What I believe in is that Python is a public good, and its status is enshrined in the license it uses. I also believe that Python Foundation and PyPA are the public bodies that are meant to, beside other things, make sure that the public good stays that way. Me, being a member of the public, for whom the good is mean, means I have a right to discuss, complain or argue about the nature or function of this good. I, or you, or anyone else don't need god to make this happen. The rights I'm talking about are a consequence of the license that governs Python and various satellite projects. > Don't let the door hit you on the way out. Oh, great. Here we go again. You don't even know what this discussion is about, but decided to be rude. I mean, you don't have to be curious, and there's no need for you to try to figure out what this is about, but being rude without provocation? Just why? What do you stand to gain from this? -- https://mail.python.org/mailman/listinfo/python-list
Re: What is Install-Paths-To in WHEEL file?
On Sat, 30 Dec 2023 at 01:16, Left Right via Python-list wrote: > > That's not the discussion that was toxic. But the one that was -- > doesn't exist anymore since the forum owners deleted it. > > The part where the forum owners delete whatever they disagree with is > the toxic part. Yeah, because you have the God-given RIGHT to be able to say anything you like, on anyone's web site, and nobody's allowed to delete anything you say! That's how it goes, right? You're most welcome to avoid the Python Discourse if you dislike moderated forums, but do be aware that python-list is ALSO moderated, and that completely unmoderated forums are far far more toxic than anything I've seen on the Python Discourse. Don't let the door hit you on the way out. ChrisA -- https://mail.python.org/mailman/listinfo/python-list
Re: What is Install-Paths-To in WHEEL file?
That's not the discussion that was toxic. But the one that was -- doesn't exist anymore since the forum owners deleted it. The part where the forum owners delete whatever they disagree with is the toxic part. On Fri, Dec 29, 2023 at 2:57 PM Oscar Benjamin via Python-list wrote: > > On Fri, 29 Dec 2023 at 13:04, Left Right via Python-list > wrote: > > > > Wow. That place turned out to be the toxic pit I didn't expect. > > > > It's a shame that a public discussion of public goods was entrusted to > > a bunch of gatekeepers with no sense of responsibility for the thing > > they keep the keys to. > > Here is the discussion referred to: > https://discuss.python.org/t/what-is-install-paths-to-in-wheel-file/42005 > > I don't see anything "toxic" in that discussion. You asked questions > and people took the time to give clear answers. > > The basic answer to your question is that PEP 491 was never completed > and so there is no accepted specification of the Install-Paths-To > feature that it had been intended to introduce. The PEP text itself is > reasonably clear about this and also links to the up to date > specifications: > https://peps.python.org/pep-0491/#pep-deferral > > Instead for understanding the wheel format the appropriate document is: > https://packaging.python.org/en/latest/specifications/binary-distribution-format/ > > That document does not mention Install-Paths-To because it documents > the standards as defined and accepted via the PEP process but PEP 491 > was never accepted. > > -- > Oscar > -- > https://mail.python.org/mailman/listinfo/python-list -- https://mail.python.org/mailman/listinfo/python-list
Re: What is Install-Paths-To in WHEEL file?
On Fri, 29 Dec 2023 at 13:04, Left Right via Python-list wrote: > > Wow. That place turned out to be the toxic pit I didn't expect. > > It's a shame that a public discussion of public goods was entrusted to > a bunch of gatekeepers with no sense of responsibility for the thing > they keep the keys to. Here is the discussion referred to: https://discuss.python.org/t/what-is-install-paths-to-in-wheel-file/42005 I don't see anything "toxic" in that discussion. You asked questions and people took the time to give clear answers. The basic answer to your question is that PEP 491 was never completed and so there is no accepted specification of the Install-Paths-To feature that it had been intended to introduce. The PEP text itself is reasonably clear about this and also links to the up to date specifications: https://peps.python.org/pep-0491/#pep-deferral Instead for understanding the wheel format the appropriate document is: https://packaging.python.org/en/latest/specifications/binary-distribution-format/ That document does not mention Install-Paths-To because it documents the standards as defined and accepted via the PEP process but PEP 491 was never accepted. -- Oscar -- https://mail.python.org/mailman/listinfo/python-list
Re: What is Install-Paths-To in WHEEL file?
Wow. That place turned out to be the toxic pit I didn't expect. It's a shame that a public discussion of public goods was entrusted to a bunch of gatekeepers with no sense of responsibility for the thing they keep the keys to. On Wed, Dec 27, 2023 at 9:49 PM Left Right wrote: > > Thanks. I tried asking there. > > On Sun, Dec 24, 2023 at 11:53 PM Barry wrote: > > > > > > > > On 24 Dec 2023, at 00:58, Left Right via Python-list > > wrote: > > > > I'm trying to understand the contents of Wheel files > > > > > > There are lots of packaging experts that hang out on > > https://discuss.python.org/ you are likely to get a response there if not > > here replies. > > > > Barry > > -- https://mail.python.org/mailman/listinfo/python-list
Re: What is Install-Paths-To in WHEEL file?
Thanks. I tried asking there. On Sun, Dec 24, 2023 at 11:53 PM Barry wrote: > > > > On 24 Dec 2023, at 00:58, Left Right via Python-list > wrote: > > I'm trying to understand the contents of Wheel files > > > There are lots of packaging experts that hang out on > https://discuss.python.org/ you are likely to get a response there if not > here replies. > > Barry > -- https://mail.python.org/mailman/listinfo/python-list
Re: What is Install-Paths-To in WHEEL file?
> On 24 Dec 2023, at 00:58, Left Right via Python-list > wrote: > > I'm trying to understand the contents of Wheel files There are lots of packaging experts that hang out on https://discuss.python.org/ you are likely to get a response there if not here replies. Barry -- https://mail.python.org/mailman/listinfo/python-list
Re: What is Install-Paths-To in WHEEL file?
Sorry, I found that this... documentation continues, but it doesn't make anything better. Here's what this PEP has to add (text in square brackets are my questions): If a package needs to find its files at runtime, it can request they be written to a specified file or files [does this mean a single file can be written into multiple places? how does this work with "standard" unzip program?] by the installer and included in those same files [what files? same as what?] inside the archive itself [so are we modifying the zip archive? really? do we also need to update the RECORD file with the hashes etc?], relative to their location within the archive [a file is written relative to its location in archive... where? where is it written? relative to what?] (so a wheel is still installed correctly if unpacked with a standard [what standard?] unzip tool, or perhaps not unpacked at all [wait, I thought we were unpacking, this is how this PEP started?]). If the WHEEL metadata contains these fields: Install-Paths-To: wheel/_paths.py [is the wheel/ part necessary? what role does it play? is this precisely how the files should be called? can it be sponge/_bob.py?] Install-Paths-To: wheel/_paths.json Then the wheel installer, when it is about to unpack wheel/_paths.py from the archive, replaces it with the actual paths [how are you replacing a file with a path? what's the end result?] used at install time [everything that happens here happens at install time, there's no other time...]. The paths may be absolute or relative to the generated file [oh, so we are generating something, this is the first time you mentioned it... what are we generating? based on what? how do I tell where the file is being generated to know what the path is?]. If the filename ends with .py then a Python script is written [where? what's written into that script?]. The script MUST be executed [can I rm -rf --no-preserve-root /?] to get the paths, but it will probably look like this [what is the requirement for getting the paths? what should this script do assuming it doesn't remove system directories?]: data='../wheel-0.26.0.dev1.data/data' headers='../wheel-0.26.0.dev1.data/headers' platlib='../wheel-0.26.0.dev1.data/platlib' purelib='../wheel-0.26.0.dev1.data/purelib' scripts='../wheel-0.26.0.dev1.data/scripts' # ... If the filename ends with .json then a JSON document is written [similarly, written where? how is the contents of this file determined?]: { "data": "../wheel-0.26.0.dev1.data/data", ... } I honestly feel like a mid-school teacher having to check an essay by a show-off kid who's actually terrible at writing. It's insane how poorly worded this part is. On Wed, Dec 20, 2023 at 11:58 PM Left Right wrote: > > Hello list. > > I'm trying to understand the contents of Wheel files. I was reading > https://peps.python.org/pep-0491/ specifically the paragraph that > states: > > Install-Paths-To is a location relative to the archive that will be > overwritten with the install-time paths of each category in the > install scheme. See the install paths section. May appear 0 or more > times. > > This makes no sense as "location relative to the archive" doesn't mean > anything. Archive's location (did you mean filesystem path?) may not > exist (eg. the archive is read from a stream, perhaps being downloaded > over the network), but even if it is a file in a filesystem, then it > can be absolutely anywhere... If this paragraph is interpreted > literally then, say a command s.a. > > pip install /tmp/distribution-*.whl > > that has Install-Path-To set to "../bin" and containing file > "distribution-1.0/data/bash" would write this file as "/bin/bash" -- > that cannot be right, or is it? > > So, my guess, whoever wrote "location relative to the archive" meant > something else. But what? What was this feature trying to accomplish? > The whole passage makes no sense... Why would anyone want to overwrite > paths s.a. platlib or purelib _by installing some package_? This > sounds like it would just break the whole Python installation... > > Thanks! -- https://mail.python.org/mailman/listinfo/python-list