Which thing is "Development Mode"

As of 3.7, there is now a python feature called Development Mode: https://docs.python.org/3/library/devmode.html#devmode Which has a confusingly similar and nearly identical name to a setuptools feature: https://packaging.python.org/guides/distributing-packages-using-setuptools/#... It seems like a bit of bikeshedding could create a name for one of them that disambiguates them. Best, coyot

On 26Feb2021 18:34, Coyot Linden <coyot@lindenlab.com> wrote:
As of 3.7, there is now a python feature called Development Mode:
https://docs.python.org/3/library/devmode.html#devmode
Which has a confusingly similar and nearly identical name to a setuptools feature:
https://packaging.python.org/guides/distributing-packages-using-setuptools/#...
It seems like a bit of bikeshedding could create a name for one of them that disambiguates them.
I disagree. They're both aids to development, with effects suitable to their domains (the interpreter itself for the former and the method of obtaining packages in the latter). I think the names are very apt, and similar because of their purpose. Picking gratuitously different names just to have "different names" seems pointless and confusing to me. This isn't some shared namespace where names need to be different to avoid conflicts such as package names or DNS domain names, but similar scenarios ("I'm doing development") applied to different aspects of a Python environment. Of course it is natural to use a phrase like "development mode" for each. Cheers, Cameron Simpson <cs@cskk.id.au>

I suggest to assign a color to each development mode to distinguish them. Victor On Fri, Feb 26, 2021 at 7:50 PM Coyot Linden <coyot@lindenlab.com> wrote:
As of 3.7, there is now a python feature called Development Mode:
https://docs.python.org/3/library/devmode.html#devmode
Which has a confusingly similar and nearly identical name to a setuptools feature:
https://packaging.python.org/guides/distributing-packages-using-setuptools/#...
It seems like a bit of bikeshedding could create a name for one of them that disambiguates them.
Best,
coyot _______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-leave@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/42NQQHQE... Code of Conduct: http://python.org/psf/codeofconduct/
-- Night gathers, and now my watch begins. It shall not end until my death.

Perhaps refine the packaging nomenclature to be "local development mode"? On Fri, 2021-02-26 at 18:34 +0000, Coyot Linden wrote:
As of 3.7, there is now a python feature called Development Mode:
https://docs.python.org/3/library/devmode.html#devmode
Which has a confusingly similar and nearly identical name to a setuptools feature:
https://packaging.python.org/guides/distributing-packages-using-setuptools/#...
It seems like a bit of bikeshedding could create a name for one of them that disambiguates them.
Best,
coyot _______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-leave@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/42NQQHQE... Code of Conduct: http://python.org/psf/codeofconduct/

Hi Coyot, and welcome! Can you explain the circumstances where a developer, or an end user, might be confused as to which development mode is meant? "Dev mode" is a very common term: Windows 10 has a development mode. So does the X-Box and the Samsung Galaxy phone. Ruby on Rails also has a development mode. So does the Opera web browser. I'm sure that with a bit of googling, we could come up with a dozen more examples. Normally, the context is all we need to disambiguate the different dev modes, and if not, we can disambiguate the two by using fully qualified names: "Galaxy dev mode" and "X-Box dev mode". Under what circumstances is that not sufficient for Python dev mode and setuptools dev mode? -- Steve

On 2/26/21 13:49, Steven D'Aprano wrote:
Hi Coyot, and welcome!
Can you explain the circumstances where a developer, or an end user, might be confused as to which development mode is meant?
"Dev mode" is a very common term: Windows 10 has a development mode. So does the X-Box and the Samsung Galaxy phone. Ruby on Rails also has a development mode. So does the Opera web browser. I'm sure that with a bit of googling, we could come up with a dozen more examples.
Normally, the context is all we need to disambiguate the different dev modes, and if not, we can disambiguate the two by using fully qualified names: "Galaxy dev mode" and "X-Box dev mode".
Under what circumstances is that not sufficient for Python dev mode and setuptools dev mode?
Hi, Steven, and thanks for the kind welcome. As a senior engineer, I occasionally mentor newer engineers and it frequently reminds me that what is obvious to me is not obvious to those starting out. This is one of those cases, where those of us who have been around Python for awhile can perhaps infer from context which his meant, but the phrase "put your Python project into development mode" is ambiguous in a way that is different from your example. This is because both dev modes are a part of Python, unlike operating systems and platforms. That is, Samsung Galaxy and Windows 10 are very different ecosystems, but setuptools and Python features are part of the same ecosystem and often, the same context. Best, coyot P.S. Got a giggle out of Victor's color suggestion, taking bikeshedding literally.

On Mon, 1 Mar 2021 at 16:25, Coyot Linden (Glenn Glazer) <coyot@lindenlab.com> wrote:
This is one of those cases, where those of us who have been around Python for awhile can perhaps infer from context which his meant, but the phrase "put your Python project into development mode" is ambiguous in a way that is different from your example.
The commonly used packaging terminology is actually "editable mode" (at least in the sense that that's what most people seem to call it, so knowing and using that term will get better results from Google ;-)). If you feel inclined to raise a PR against the pip documentation to prefer that term, it can be discussed over there (but note that the underlying setuptools command is `setup.py develop` and that's not likely to change, as it's hard-coded in a number of applications, including pip). But ultimately, I think the reality is that there *are* terminology confusions all over the place in computing, much like in any other discipline (I'm currently teaching someone music, and the number of terms that get re-used in different contexts there is even worse than computing!) So I think that ultimately, beginners simply need to get used to understanding that terms can be context-dependent. It's not easy, and as teachers we can do what we can to make things clearer, but we can't ever completely make such problems go away. Paul

I'm somewhat baffled by your comment here. "Just because something is bad or even often bad, is no reason to let it stay that way or to not try and make things better." I have no idea what gives you the impression that I think that way. *Shrug* I guess I don't understand what you expect here. But if you want to champion a change, I'm not going to stop you. My comment on the packaging terminology stands, though - you'd be better referring to that as "editable mode" as that is common usage, *and* it doesn't clash with the cpython option. Paul On Tue, 2 Mar 2021 at 16:12, Coyot Linden (Glenn Glazer) <coyot@lindenlab.com> wrote:
On 3/1/21 08:49, Paul Moore wrote:
On Mon, 1 Mar 2021 at 16:25, Coyot Linden (Glenn Glazer) <coyot@lindenlab.com> wrote:
This is one of those cases, where those of us who have been around Python for awhile can perhaps infer from context which his meant, but the phrase "put your Python project into development mode" is ambiguous in a way that is different from your example.
The commonly used packaging terminology is actually "editable mode" (at least in the sense that that's what most people seem to call it, so knowing and using that term will get better results from Google ;-)). If you feel inclined to raise a PR against the pip documentation to prefer that term, it can be discussed over there (but note that the underlying setuptools command is `setup.py develop` and that's not likely to change, as it's hard-coded in a number of applications, including pip).
But ultimately, I think the reality is that there *are* terminology confusions all over the place in computing, much like in any other discipline (I'm currently teaching someone music, and the number of terms that get re-used in different contexts there is even worse than computing!) So I think that ultimately, beginners simply need to get used to understanding that terms can be context-dependent. It's not easy, and as teachers we can do what we can to make things clearer, but we can't ever completely make such problems go away.
Paul
I think we have fundamentally different worldviews, Paul. Just because something is bad or even often bad, is no reason to let it stay that way or to not try and make things better. Engineering almost never makes any problem completely go away, the perfect can't be the enemy of the good.
Personally, since it is newer and not stuck with the problems you mention, I would prefer to change the name of the new Python runtime option than mess with the setuptools mess.
Best,
coyot
participants (7)
-
Cameron Simpson
-
Coyot Linden
-
Coyot Linden (Glenn Glazer)
-
Paul Bryan
-
Paul Moore
-
Steven D'Aprano
-
Victor Stinner