[02:40:00] <kevc> seems it's still problematic. Maybe I should raise an issue on github, but I'm sure it'll get closed with the issue being a broken package rather than a virtualenv issue.
[02:41:57] <dstufft> kevc: I mean, at some level there's only so much we can do to work around broken packages :( Future changes to pip to speed things up will likely break anything explicitly based on ordering anyways
[02:48:08] <kevc> dstufft: sure, but I've never managed to get virtualenv working _without_ workarounds
[06:24:00] <mgedmin> is pip creating pip-selfcheck.json files in the root of every virtualenv now?
[10:58:46] <jhermann> my venvs are in .venv/name, dump all the data you want in there ;)
[11:33:12] <doismellburning> speaking as someone who's seen "we support Django 1.7!" when they had an ordering bug and setup.py was reinstalling Django<1.7, like, yeah
[11:33:15] <mgedmin> TBH I usually don't have requirements.txt
[11:45:07] <ionelmc> mgedmin: still not convinced to use tox?
[11:46:22] <doismellburning> I do for apps, never for libraries
[11:46:29] <doismellburning> (probably should though)
[11:46:58] <doismellburning> but to call it a concrete dependencies file is a bit generous; it's not actually generated in the way Gemfile.lock etc. is
[11:47:08] <ionelmc> doismellburning: did you check that pylibrary template?
[11:47:21] <ionelmc> doismellburning: yeah, you do it by hand :(
[11:47:38] <doismellburning> ionelmc: sorry what template?
[11:47:38] <ionelmc> tho i don;t have long list of deps for libraries
[11:47:54] <ionelmc> something is definitely wrong if you make a library that has hundred dependencies
[14:20:00] <ionelmc> MrJones: have you looked over https://packaging.python.org/ ?
[14:20:04] <ronny> an sdist would be a package as well
[14:20:52] <ronny> MrJones: pip supports sdist (tarball/zip including a setup.py, usually made by sdist command) and wheels
[14:20:59] <MrJones> ionelmc: this guide introduces a Python "package", linked to: https://packaging.python.org/en/latest/glossary.html#term-distribution-package
[14:21:22] <MrJones> but that paragraph is absolutely uselessly vague
[14:21:30] <MrJones> if I click around more on "package" I suddenly end up with a module package
[14:21:59] <ronny> hmm, i use devpi client/server instead of that thing
[14:22:04] <MrJones> tl;dr: I'd say the packaging guide also really drops the ball at early introduction of a nice and simple definition of how a package looks like, unless I'm missing it (disclaimer: haven't read the whole guide yet)
[14:22:30] <MrJones> does it actually want a source distribution?
[14:22:39] <ionelmc> MrJones: have you looked over https://packaging.python.org/en/latest/distributing.html ?
[14:23:49] <MrJones> maybe https://pypi.python.org/pypi/pypiserver should be updated to refer to package (source distribution), .egg, wheels, ... instead of package, .egg, wheels
[14:23:59] <MrJones> because that would help a lot figuring out what it actually means by "package"
[14:24:07] <ionelmc> MrJones: be aware that it's hard for maintainer to improve the guide without feedback (hard to imagine what's hard to understand for new people , since you already know how to do it)
[14:24:09] <MrJones> ionelmc: that is helpful, thanks. I guess sdist is what I want
[14:24:24] <MrJones> the problem is more the pypiserver help page I find now
[14:24:31] <ionelmc> MrJones: so if you have suggestions, it's always welcome
[14:24:33] <MrJones> since 'package' can mean a lot of things, including .egg I guess?
[14:24:56] <MrJones> it should really refer to package (source distribution), or clarify it means the sdist source distribution format of setuptools somewhere
[14:25:32] <ronny> problem is suggestions dont fix the docs unless they land at a maintainer, bugtracker or pull request ^^
[14:25:40] <ionelmc> MrJones: historically package meant `dir with __init__.py file`, while distribution meant an archive (like tarbal,zip, egg or whl)
[14:26:08] <MrJones> so does pypiserver actually mean a "dir with file" or an archive? the help page for pypiserver really sucks in that regard by its use of "package"
[14:26:12] <MrJones> couldn't be any more vague really
[14:26:21] <MrJones> wheels or .egg distribution is pretty obvious since that is a defined known format I suppose
[14:29:41] <MrJones> "pypiserver is a minimal PyPI compatible server. It can be used to upload and serve packages, wheels and eggs to pip or easy_install. The packages are stored inside a regular directory."
[14:29:48] <MrJones> packages really just fall from the sky.
[14:29:56] <MrJones> no explanation what that is specifically, e.g. sdist packages
[14:30:27] <ionelmc> MrJones: i agree, and _you_ can fix it :-)
[14:31:05] <MrJones> well right now I gotta fix my egg-producing code to use sdist instead because otherwise our packaging server is quite useless offering eggs to pip
[14:37:04] <ronny> MrJones: before i introduced devpi at the company i work at, they said the same ^^
[14:37:33] <MrJones> so to be absolutely sure of this, "python3 setup.py sdist" and the resulting .tar.gz is what pypiserver calls a "package" and what pip should want for installing?
[14:37:38] <MrJones> or does pip not like that either
[14:38:05] <ronny> MrJones: that looks fine, asuming the setup.py is correct ^^
[14:38:39] <MrJones> well, I got that on my little pypiserver now (it's listed in the index), but I still get: No distributions at all found for unifrhermes
[15:04:11] <ionelmc> doismellburning: are you asking from service conf POV (eg: init scripts/supervisord conf etc)?
[15:05:43] <doismellburning> I mean that I have a Python IRC bot, and someone is suggesting I should distribute it via PyPI
[15:06:47] <ionelmc> doismellburning: what are your concerns?
[15:08:05] <doismellburning> mostly "I feel requirements files best express application dependencies"
[15:12:17] <ionelmc> doismellburning: not sure i understand, are you concerned about where to put/how the concrete deps (the ones with the version pins) ?
[15:12:37] <ionelmc> and how that comes into play if you install said irc bot via pip?
[15:15:40] <doismellburning> ionelmc: I guess so, yes
[15:16:57] <ionelmc> doismellburning: there's no right answer but consider this: if you pin the versions (strictly) then you might as well just vendor the deps like pip or requests do
[15:17:29] <ionelmc> so i guess it boils down to "do you actually want that?"
[15:18:21] <doismellburning> vendoring's more effort and doesn't get me support from things like requires.io
[15:22:30] <ionelmc> and the app is rigged to run from that venv
[16:34:27] <GoClick> How can I upgrade something from the command line to more than 1.5 but less than 1.6? eg it’s at 1.5.2 now and I’m good with 1.5.3 or 1.5.4 but not 1.6? I get setting it in the requirements file, but what about the command line?
[16:34:50] <ionelmc> GoClick: sure you can, but you probably need to quote arguments
[21:05:00] <tdsmith> even for apps pinned dependencies can be annoying if users aren't using virtualenvs religiously. probably makes life harder for e.g. debian packagers with a single global namespace for python module dependencies and poor support for multiple versions. homebrew mostly doesn't care since we give apps private pythonpaths