PMXBOT Log file Viewer

Help | Karma | Search:

#pypa logs for Thursday the 17th of September, 2015

(Back to #pypa overview) (Back to channel listing) (Animate logs)
[11:43:27] <nedbat> i'm frustrated by the recent difficulties with wheel: first it didn't work on 3.5, now it fails for multi-entrypoint projects on any version of py3. What's an actual thing I can do to help?
[11:47:14] <ronny> hi
[11:47:41] <ronny> dstufft: btw, whats the state on the virtualenv rewrite?
[11:49:13] <dstufft> nedbat: can you define files on multi-entrypoint?
[11:49:21] <nedbat> dstufft: define files?
[11:49:34] <dstufft> ronny: Haven't beenw orking on it lately, been focusing on other things
[11:49:37] <dstufft> nedbat: fails*
[11:49:43] <dstufft> I just woke up
[11:49:47] <dstufft> words are hard
[11:49:59] <nedbat> dstufft: https://bitbucket.org/pypa/wheel/issues/148/unorderable-types-error-for-python-3
[11:51:43] <dstufft> https://bitbucket.org/pypa/wheel/commits/af5f7b357f837066cf2c3ce2beadb3dab2c290f6
[11:54:10] <nedbat> dstufft: i saw that commit in the history, but how does it relate? The problem exists on tip
[11:54:25] <dstufft> I'm wondering if that commit broke it.
[11:54:58] <dstufft> the previous release of wheel didn't contain it
[11:57:32] <ronny> dstufft: wrong code line
[11:57:44] <ronny> dstufft: you might want to get your morning coffee ^^
[11:58:49] <ronny> https://bitbucket.org/pypa/wheel/commits/e786ad555bd404ef15725cdec7468195b168bd4c
[11:59:13] <ronny> so bascially python2.6 support was done wrong
[12:06:31] <nedbat> i haven't dug into the code here, but isn't the problem that EntryPoint (which is not defined in wheel, but in distutils I guess?) doesn't define an ordering for itself.
[12:23:24] <dstufft> nedbat: yea
[12:23:28] <dstufft> it's defined in setuptools
[13:00:39] <ionelmc> ronny: can i use setuptools_scm only for part of the version?
[13:00:44] <ionelmc> hmmm
[13:01:10] <ronny> ionelmc: which part?
[13:01:16] <ionelmc> maybe that don't make sense, maybe i could use the internal functions in setuptools_scm? but is that public api?
[13:01:32] <ronny> ionelmc: please outline the use-case
[13:01:59] <ionelmc> i want to have something like version="1.2.3+{commit_count}"
[13:02:12] <ionelmc> where {commit_count} will be replaced by some number or something
[13:02:48] <ionelmc> it's not really a setuptools_scm thing
[13:03:01] <ionelmc> do anyone do stuff like that in setup.py?
[13:03:48] <ronny> ionelmc: you can supply custom functions for the version and local version parts to setuptools_scm
[13:04:01] <ronny> so you can make it compose tag and distance easyly
[13:04:43] <ronny> the global version would be simply be tag, the next vesion would simply be '' or distance
[13:05:43] <ionelmc> ronny: interesting
[13:05:43] <ionelmc> nice
[13:05:48] <ionelmc> ok, another thing
[13:06:05] <ionelmc> cooooould setuptools_scm maybe bundle itself in the sdist?
[13:06:16] <ionelmc> so no external deps on sdist install?
[13:06:20] <ronny> i suggest you wite a own variant of https://github.com/pypa/setuptools_scm/blob/master/setuptools_scm/version.py#L122
[13:06:56] <ronny> thats not implemented yet, due to setuptools difficulties, its somewhere on my todo, but not with priority anymore
[13:09:11] <ronny> ionelmc: btw, why do you want local versions for the commit distances?
[13:36:34] <ionelmc> ronny: i give bad example, i want "development versions"
[13:36:42] <ionelmc> 1.2.3.dev{distance}
[13:38:07] <ionelmc> ronny: so there's https://github.com/ionelmc/virtualenv/ for which i want to start doing devel releases on pypi (under alternate name)
[13:38:45] <ionelmc> but using setuptools_scm there would be maybe too risky, that's why i asked for bundling in sdist
[13:39:35] <ionelmc> alternatively, i only publish wheels and then there's no problem
[13:42:44] <ronny> ionelmc: setutools_scm automatically does those
[13:43:16] <ronny> ionelmc: setuptools scm per default looks at the tag, and calculates the next development version
[13:43:16] <ionelmc> ronny: those what? dev distance?
[13:43:50] <ronny> ionelmc: if your last tag is 1.3.1 and your distance is 12, setuptools_scm comutes 1.3.2.dev12
[13:43:59] <ionelmc> ronny: yes yes, perfect
[13:44:28] <ronny> id your tag is 1.4.0.dev, setuptools_scm computes 1.4.0.dev12
[15:11:42] <nedbat> dstufft: I'm doing what I can: https://bitbucket.org/pypa/wheel/pull-requests/59/fix-multi-entrypoint-failure-on-python-3/diff
[16:02:21] <ronny> dstufft: at some point i'd like to steal some of your time to discuss an idea for reliable devendoring and speeding up installs in virutalenvs
[16:02:30] <ronny> (while making the virtualens much smaller)
[16:57:17] <dstufft> nedbat: awesome
[16:57:36] <dstufft> ronny: best thing is to email me, my schedule is real erratic at the moment
[18:40:06] <agronholm> ronny: ok so let me start from the beginning
[18:40:51] <agronholm> as part of my build process, I push my changes to git on the testing server, where jenkins is then notified and runs a build script in a virtualenv
[18:40:55] <agronholm> https://bpaste.net/show/26a6b0953620
[18:41:48] <agronholm> but since this script modifies the files there (see the Sencha build process), the computed version will have +dirty on it, causing pip to refuse installation from the devpi server even with --pre
[18:42:15] <ronny> agronholm: i suppose you use git?
[18:42:18] <agronholm> yes
[18:42:23] <agronholm> as I just said
[18:42:47] <ronny> the quickest way would be to write a function to determine the local tag
[18:43:39] <ronny> and pass that as the method to pass in a local version number
[18:43:42] <agronholm> ok so an alternative to the "dirty-tag" local scheme
[18:45:45] <ronny> i would suggest to simply use something def overridable_dirty_tag(version): return os.environ.get("SCM_DIRTY_TAG", '+dirty') if version.dirty else ''
[18:46:07] <ronny> and then pass that function in as local scheme
[18:46:23] <agronholm> ronny: ok thanks
[18:46:35] <agronholm> I was wondering if I was doing something wrong here
[18:48:51] <agronholm> of course avoiding the dirtying would be great if that was possible but I don't think it's possible to have bdist_wheel pick up files from a build directory
[18:56:35] <ionelmc> ronny: what about bundling, what's needed for that?
[20:09:28] <ronny> agronholm: bdist_wheel is implemented in terms of commands - i suspect you can just subclass it and add a install_js_build command to its implementation commands
[20:10:06] <ronny> ionelmc: extra support in setuptools, its in my pipeline, but rather complex
[20:10:22] <agronholm> ronny: too hacky for me :) the local version hack works fine
[20:10:33] <ionelmc> ronny: can't you just make the sdist have .eggs/setuptools_scm in it?
[20:10:40] <agronholm> (and isn't really much of a hack)
[20:29:40] <ronny> ionelmc: a propper shipped egg is kind of insane to make, i'd much prefer to have something that runs runs pip install -t -U ...
[22:15:54] <agronholm> ronny: I don't suppose you're still here?
[22:16:15] <agronholm> I really have nowhere else to turn to, and I still haven't gotten my devpi setup to work
[22:19:59] <agronholm> I'm getting pretty desperate here
[22:20:34] <agronholm> pip insists on always appending a / to the url and then devpi gives the wrong results page
[22:23:46] <dstufft> if devpi doesn't have a / then it's implementing the protocol wrong
[22:26:09] <agronholm> none of the links generated seem to take the outside URL into account
[22:26:37] <agronholm> nevermind
[22:27:15] <agronholm> the links are generated, but they lead to the same search page
[22:28:38] <ionelmc> ronny: oooh damn, cause egg are version specific
[22:28:40] <agronholm> ok apparently devpi can't handle the prefix
[22:28:41] <ionelmc> damn it :)
[22:28:59] <ionelmc> can't we teach setuptools to use eggs?
[22:29:13] <agronholm> ionelmc: out of curiosity, what do you need eggs for?
[22:29:14] <ionelmc> s/eggs/wheels/
[22:29:19] <agronholm> ah :)
[22:29:33] <agronholm> why do you need setuptools to handle them
[22:30:00] <ionelmc> agronholm: see discussion above about setuptools_scm
[22:30:23] <ionelmc> just thinking out loud
[22:34:55] <agronholm> finally it works \o/
[22:47:55] <ronny> agronholm: what do you use as index url?
[22:48:23] <ronny> ionelmc: iy ca be thaught, but someone needs to take the week needed to implement it
[22:48:35] <ronny> ionelmc: and a week is a very frienfly guess
[22:48:42] <agronholm> see pm