[16:02:39] <hazzadous> I'm having a hard time trying to make setuptools egg_info run in sensible time with my project. There are alot of files that are safe to ignore, but having a look at in implementation it looks like irrespective of settings, setuptools will stat the entire directory tree
[16:46:31] <hazzadous> It's a little bit of a mess and doesn't make much sense at the moment, but my testing is just to see if I can prevent it from looking in .git (which I can tell it does via strace)
[16:59:44] <Ivo> hazzadous: you could use the package_data setup() keyword, instead of MANIFEST.in and include_package_data
[17:00:53] <hazzadous> I'll give it a try Ivo although sure I already have
[17:01:11] <Ivo> I think using package_data instead of include_package_data might turn off the vcs search
[17:02:00] <Ivo> jaraco: does that sound right to you?
[17:03:09] <Ivo> jaraco: afaict hazzadous is having a problem where the size of their git repo is making the vcs searching that setuptools does take extremely long
[17:04:05] <hazzadous> indeed Ivo , plus all its submodules...
[17:09:19] <mgedmin> hazzadous, if all you care is making 'install' fast, how about building a wheel so you could install it really quickly?
[17:12:34] <jaraco> Ivo, hazzadous, I'm actually unsure under what conditions the files are found using file_finders. It might be the case that it's only when include_package_data is true, but I'd have to go to the source to be sure.
[17:14:17] <jaraco> hazzadous, it may also be the case that there are performance improvements to be had with the git file finder - I'd recommend filing a ticket with that project first, as any other solution is going to require you to maintain your package data in two places (source control and in a file), whereas using file_finders is more DRY.
[17:14:39] <jaraco> It's conceivable they haven't considered your use case, so could use it to improve the performance for everyone.
[17:35:40] <hazzadous> jaraco, Ivo I'm not really sure that it's even anything to do with git finder. Looking at the egg_info cmd, it will always call find_sources (which builds SOURCES.txt), which will always call findall, which will always walk the whole dir tree unless I'm being silly.
[17:36:38] <jaraco> That's probably true if you're talking about source files and not non-Python files.
[17:36:44] <Ivo> i would've assumed that it wouldn't include dotfiles by default, but i could be wrong
[17:36:51] <jaraco> hazzadous, in that case, your issue may lie in distutils and not setuptools.
[17:37:17] <hazzadous> Ivo, jaraco yeah I think thats the case. I'll get back to you if not
[17:37:20] <jaraco> It sounds like you've traced the issue. hazzadous, do you know if the offending profile is primarily in distutils or setuptools?
[17:38:48] <jaraco> Once you know, I suggest filing a ticket with either Python or Setuptools, preferably with zip file or script that can demonstrate the slow behavior. Even if the issue is with distutils, a fix would only happen in Python 3.3+ and maybe only 3.5+, so Setuptools would be on the hook for backward-compatibilty.
[17:39:41] <Ivo> how does that get into my clipboard
[17:39:48] <hazzadous> Sorry, I've got small distracting people here. I'll have to get back to you on this...
[17:41:33] <jaraco> Ivo: you can always strike things from the logs if you don't want them on the record.
[17:41:52] <jaraco> of course, a public key is not particularly important to strike.
[17:42:37] <Ivo> meh fudge it, as you said only a public key
[17:42:50] <Ivo> its hanging around on github anyway
[17:44:32] <Ivo> low hanging fruit would be line #299 of that file as well, only cares about older vcs' folders
[17:44:58] <dstufft> a private key isn't too important to strike either, becuase once it's posted it's no longer private and you have to revoke it anyways :D
[17:46:09] <Ivo> thats the one i added for pypa salt
[17:46:38] <Ivo> was thinking of maybe putting an index page on bootstrap.pypa.io if that wasn't too meddlesome
[17:46:56] <jaraco> Ivo: yep, that's the manifest maker... but I'm not sure when/how that's called, so I'll wait until I have a better problem description (and more time) before I investigate further.
[20:57:27] <felipec> I want this for a testing script
[21:20:02] <Ivo> felipec: I would imagine the mercurial project would be able to more authoratively tell you than us, but that's about how you generally install the latest committed version of a python project, ya
[21:21:33] <felipec> Ivo: I was just wondering if that clones the whole repository and maybe there was a quicker way
[21:22:28] <Ivo> afaik that would normally clone the whole repo, yeah. If hg has a way only to retrieve the latest state of a repository, you can do that, and then give the same command but pointed to the directory you cloned in
[21:23:00] <Ivo> or maybe mercurial offer a snapshot tarball/zipball of the latest head
[21:23:37] <Ivo> 3.0 was released on pypi just a few days ago it seems
[21:25:23] <felipec> Ivo: yeah 3.0 is released, but then comes 3.1, and so on
[21:26:58] <Ivo> 3.1 surely isn't as big a deal as 3.0 tho
[21:29:00] <felipec> Ivo: sure, but I test against multiple versions of Mercurial, why not the development one?
[21:29:37] <felipec> I'm getting the wrong version with that command though =/ 2.9.2+282-024f38f6d5f6
[21:29:57] <Ivo> well grabbing it from pypi would be faster than cloning, is all, but I'm just suggesting stuff :)
[21:40:48] <felipec> Ivo: pip 1.5.4 from /usr/lib/python2.7/site-packages (python 2.7)
[21:45:11] <Ivo> felipec: you could use --ignore-installed but I'm not sure about the uninstall behaviour; again, I'd recommend working in a virtualenv for testing development or multiple versions of things
[21:45:13] <felipec> Ivo: I think maybe this is not an issue anyway... since I want this for TravisCI, and it has the permissions to override the system I think
[21:45:46] <felipec> Ivo: yeap, --ignore-installed works :)