On 2020-02-10 6:13 a.m., Cameron Simpson wrote:
On 10Feb2020 18:26, Chris Angelico <ros...@gmail.com> wrote:
On Mon, Feb 10, 2020 at 6:09 PM Matthew Einhorn
<moiein2...@gmail.com> wrote:
On Sun, Feb 9, 2020, 11:03 AM Paul Moore <p.f.mo...@gmail.com> wrote:
On Sun, 9 Feb 2020 at 14:39, Soni L. <fakedme...@gmail.com> wrote:
> Figuring out versioning is hard. PyPI should encourage semver by
> including PEP 440 version strings that you can copy and paste into
> install_requires.
I use PEP440 version strings, but they're not semver strings.
I feel sorry for you
[...]
I think they mean that instead of e.g. https://pypi.org/project/six/
just showing `pip install six`, it should also show example
install_requires values. E.g. `install_requires: ['six~=1.14.0']`.
Or maybe a dropdown where you select the compatibility you want and
and it formats the version string.
This does seem like a good way to encourage people to specify or at
least think about versioned dependencies, although I wonder how many
people look at pypi when specifying their dependencies in
`install_requires`?
-1. I don't want everyone to pin to an exact version just because it's
the obvious copy/paste command. That's what happens all the time in
the Node.js world, and the result is a constant battle to get everyone
to upgrade their packages, because they've unnecessarily pinned them.
Instead, encourage everyone to install *without* version numbers. If
that results in a package being broken because of a
backward-incompatible change, that's the fault of the package, and it
SHOULD be seen as a problem.
I'm with Chris here. Install without versions unless you've s specific
requirement such as a feature to use or a bug/misfeature to avoid.
I look on pinning as a tool for reproducability; if I've tested
against my venv happily, my build/install should use the versions from
its "pip freeze".
I still think PyPI should suggest/encourage using at least >= by
default. for comparison Rust/Cargo enforces semver and altho you specify
a dependency like tokio="0.2" it'll actually use any compatible version
as defined by semver.
there are many reasons to at least specify a minimum version. I see the
reasons not to specify maximum versions tho.
Cheers,
Cameron Simpson <c...@cskk.id.au>
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at
https://mail.python.org/archives/list/python-ideas@python.org/message/W7F64IGV5TCOTVHNQW7T6JKTHBCGMJUB/
Code of Conduct: http://python.org/psf/codeofconduct/
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at
https://mail.python.org/archives/list/python-ideas@python.org/message/PAG6BKDB4O6HYPQ64TWDJ3DX2KBWYBFQ/
Code of Conduct: http://python.org/psf/codeofconduct/