[13:58:20] <biryukov> Hi. What are you guys working on now? Just curious.
[14:31:45] <McSinyx[m]> hi biryukov, are you referring to a certain project or to what PyPA in general is doing at the moment?
[15:32:17] <GPHemsley> techalchemy: Can you comment on this comment and the one after? https://github.com/pypa/pipenv/issues/3150#issuecomment-522947210
[15:33:06] <GPHemsley> the behavior of `pipenv install` appears to have changed, and it's unclear if that was intentional, and what the "right" commands to use are for various scenarios
[15:33:39] <techalchemy> GPHemsley, what do you mean it changed
[15:33:46] <techalchemy> are you referring to the bug ?
[15:34:28] <techalchemy> I don't think bugs require full usage updates, we are pushing a bugfix release today...
[15:34:40] <GPHemsley> per the comment, `pipenv install` now installs from the lockfile instead of the pipfile
[15:35:12] <techalchemy> i dont know what you mean that the behavior of that changed, it's been that way for a looooong time
[15:35:16] <techalchemy> that's the entire point of pipenv
[15:35:47] <GPHemsley> the comment provides better details, but... what is the difference between `pipenv install` and `pipenv sync`?
[15:36:05] <techalchemy> install will lock if your lockfile is not up to date
[15:36:13] <GPHemsley> yeah, that's not happening anymore
[15:37:00] <techalchemy> I don't know what that means
[15:48:25] <techalchemy> if a lockfile is present and the relevant pipfile had no dependency updates, there is no resolution performed, thats' what lockfiles are for -- reproducibility
[15:48:38] <techalchemy> if we re-locked on every 'install' run there would be no point in even having a lockfile
[15:48:48] <techalchemy> and also no reproducibility
[15:52:12] <GPHemsley> ok, I see what my problem is
[15:54:58] <techalchemy> I wrote out what I want to aim for on a flight like a year ago
[15:55:16] <techalchemy> but like, on physical paper with a pen
[15:55:18] <GPHemsley> so if the pipfile has not changed, is it correct that `pipenv install --deploy`, `pipenv install`, and `pipenv sync` are all the same?
[15:55:26] <GPHemsley> that's often my preferred method :)
[15:56:07] <techalchemy> right, pipenv install --deploy should fail loudly if your pipfile and lockfile are not in agreement (the 'hash' in your lockfile is just a hash of the contents of your pipfile)
[15:57:10] <techalchemy> so at runtime it hashes your pipfile and compares against the lockfile hash, --deploy will throw an error, 'sync' will just warn that it is installing old stuff, and 'install' will re-lock first
[15:57:45] <techalchemy> 'lock' and 'sync' are meant to be the 2 atomic steps of the workflow basically
[15:58:11] <GPHemsley> and the difference between 'install' and 'update' is just whether it checks the pipfile hash?
[15:58:44] <techalchemy> i.e. resolve dependencies / update lockfile (but never install anything) or manipulate environment (but never resolve/touch the lockfile)
[15:59:29] <techalchemy> yeah update doesn't care about whether the lockfile hash is ok, since that won't tell us anything about whether the packages are current
[15:59:45] <GPHemsley> 'install' = maybe 'lock', then 'sync'; 'update' = 'lock', then 'sync' ?
[16:06:14] <techalchemy> it's not a very good command honestly
[16:06:43] <techalchemy> it's meant to do as little as possible when adding a package to the pipfile, i.e. avoiding updates that aren't necessary
[16:07:45] <techalchemy> unfortunately a byproduct of locking often involves removing packages that aren't deemed necessary anymore, so if you are on python 3 and still need python 2 packages to stick around they will still get dropped
[16:08:42] <GPHemsley> and there is no command that modifies the pipfile without also relocking?
[16:08:55] <techalchemy> there is, `install <blah>`
[16:09:52] <techalchemy> sometimes i want to just update <blah> and its descendents, without touching *anything* else at all no matter what, and there is no way to do that currently
[16:10:05] <GPHemsley> right, that's what I thought
[16:10:19] <GPHemsley> with 'uninstall' being the inverse
[16:10:25] <techalchemy> (because you still have to resolve everything in case some other package depends on one of the descendents or one of the new ones etc)
[16:13:56] <techalchemy> because they get implicitly merged when you install with --dev & it'd make it possible to have a dev environment that was different from your production one
[16:14:10] <GPHemsley> the confusion, of course, is that --dev is significant to other commands not using requirements.txt
[16:15:45] <techalchemy> yeah install --dev, lock -r --dev, update --dev, the last change to the flag was to make them all consistent -- so they all mean 'include dev dependencies along with main ones'
[16:16:04] <techalchemy> that's why the --dev-only flag was added, basically
[16:20:49] <GPHemsley> the difference being that 'lock' also means that, from the perspective of the lockfile
[22:22:28] <sumanah> tos9: those had to do with the legacy PyPI and there are some support requests, especially around account recovery and package name transfers, that still needed or still need attending to.... so I'm closing them and saying "please reopen at https://github.com/pypa/pypi-support/issues " or on the Warehouse issue tracker where appropriate
[22:23:34] <sumanah> a few days ago there were about 270 open issues. I dealt with about half of them then. Now I'm taking them a few dozen at a time
[22:24:21] <sumanah> I'm using some boilerplate text I've written, and customizing it for responses when necessary. In some cases I have learned something
[22:24:34] <sumanah> like with https://sourceforge.net/p/pypi/support-requests/523/
[22:24:53] <tos9> I would be interested in the number of those that anyone responds to :D
[22:25:01] <tos9> considering how long they've hopefully been sitting there
[22:25:16] <sumanah> already one person has reopened their transfer request on the new tracker https://github.com/pypa/pypi-support/issues/425
[22:26:22] <sumanah> folks who were having login issues in 2017 and don't do much in the Python world may come back and say "oh great, they fixed it" and successfully be able to log in
[22:30:40] <sumanah> I don't know. When I hear sirens, it might be because ambulances need to get to hospitals. tos9 you live in .... Montreal? Sorry, I have forgotten