[00:33:42] <tchaypo> error in setup command: Invalid environment marker: python_version>='2.7'
[00:38:58] <lifeless> tchaypo: Nakato: also we have some work to do with test-requires: http://logs.openstack.org/07/192007/1/check/check-tempest-dsvm-full/2096399/logs/devstacklog.txt.gz#_2015-06-15_23_20_45_443
[00:39:43] <lifeless> I don't know if thats 'changes in pbr' or 'changes in how we mark up test requirements' or 'changes in setuptools'
[06:12:25] <tchaypo> For backwards compatibility, only ; starts an inline comment, while # does not.
[06:13:03] <tchaypo> so document that the file is parsed by safe_config_parser, hence its rules apply - # comments an entire line, if it appears before any non-whitespace characters, but ; is used for in-line comments
[06:13:41] <Nakato> My testing is showing that doco is not correct about ;
[07:09:28] <Nakato> So in-line comments are passed through is that something that we shold stop?
[07:10:54] <lifeless> I don't think you have control over that:)
[07:11:15] <lifeless> what we put into the generated setup_kwargs obviously has to match setuptools needs
[07:21:34] <lifeless> https://docs.python.org/3/library/configparser.html#customizing-parser-behaviour is worth a read
[07:25:02] <lifeless> I can see writing a new iniparser thing in my future. Sigh
[15:11:19] <MathewJennings> Hi all, I am a new contributor who just introduced himself in an email to the Dev mailing list. My name is Mathew Jennings and I am a summer intern at Foursquare. I'm trying to implement an option for the 'pip wheel' command and was wondering if anyone could help me properly test it.
[15:24:53] <Wooble> MathewJennings: I assume the timeout you're seeing in travis is from that pytest.set_trace() you introduce. It's waiting for input.
[15:27:03] <MathewJennings> Ah, yes, I had not realized that I missed that when I committed my changes. Thank you. I also found it difficult to run specific tests locally on my machine. How do you recommend doing this? When I try to test, it always executes all of the functional and all of the unit tests, which takes ~10 minutes to finish.
[15:29:51] <Wooble> I'd assume py.test has a way to do that (I don't use it).
[15:31:39] <Wooble> appears to be "py.test test_file.py:TestClass" or similar.
[17:02:22] <MathewJennings> So I wrote a functional test in test_wheel.py, called test_pip_wheel_specify_architecture. I placed two wheels in test/data/packages: emptywheel-1.0-cp27-none-linux_x86_64.whl and tests/data/packages/emptywheel-1.0-cp27-none-macosx_10_9_x86_64.whl. My test's body looks like this:
[17:05:15] <MathewJennings> Er, well, not sure if there's a good way t copy multiple line of code into here. Sorry, I'm quite new to this. Essentially, I run result = script.pip('wheel', '--no-index', '--find-links', data.find_links, '--arch', 'linux)x86_64', 'emptywheel',) and make sure that the the linux-only wheel I mentioned is listed in result.files_created. I also do the same for the mac wheel, specifying the masosx_10_9_x86_64 architecture.
[17:06:04] <MathewJennings> This test runs perfectly locally. But it seems to be failing on Travis CI: https://travis-ci.org/pypa/pip/builds/67060242
[17:06:19] <MathewJennings> Does anyone know why that might be?
[17:14:43] <MathewJennings> I'm wondering if adding a couple of test wheels to tests/data/packages for my test didn't translate to the Travis CI build for some reason, and it just can't find the 'emptywheel's I'm asking to search for.
[18:09:50] <MathewJennings> Does anyone know if there is a "correct" way to add test data to tests/data/packages, or is it sufficient to just add files to that directory and push them upstream?
[20:09:23] <lifeless> and pip has pkg_resources vendored anyhow
[20:09:38] <dstufft> lifeless: not sure what you mean by "environment metadata"
[20:10:01] <dstufft> you mean looking up the version via a pkg_resources like API?
[20:10:48] <lifeless> so pbr just asks for the distribution object
[20:10:53] <lifeless> and falls back from that to git
[20:11:09] <lifeless> it does that via pkg_resources. pip always has pkg_resources available
[20:12:29] <dstufft> we don't want to know what version of pip is installed, we want to know what version of pip is running because there are many common cases where you run pip without installing it (and I'd like to use the same system for virtualenv, which is even more likely to be ran without being installed, since that's a supported configuration)
[20:12:45] <lifeless> sure, pbr obviously likes that too
[20:12:53] <lifeless> so if there are bugs there we can fix)
[20:13:00] <lifeless> does virtualenv vendor pkg_resources ?
[20:18:04] <lifeless> so we can either write something that looks very similar to pkg resources metadata, or vendor a package_resources, or a mini-can-only-get-version-impl in this thing in some form. I'm not proposing answers yet, just sketching the space
[20:18:28] <dstufft> I don't need a fnacy version object or anything though fwiw, it could even be as a simple as open("pip/_version", "wb").write("7.1")
[20:19:17] <dstufft> lifeless: oh I forgot the other thing, is we'd need to support all of the versions that pip itself supports, so 2.6, 2.7, 3.2+ currently
[20:25:41] <dstufft> maxking: https://warehouse.python.org/user/dstufft/ that's what I did before. https://rubygems.org/profiles/aaronp shows what rubygems does, https://www.npmjs.com/~substack shows what npm does
[20:25:43] <sigmavirus24> And that care can disappear ;)
[20:26:07] <sigmavirus24> I'm also just teasing a bit because I hate some versions of Python (2.6, and 3.2 among them)
[20:26:07] <dstufft> maxking: soemthing along those lines is probably reasonable
[20:26:20] <lifeless> sigmavirus24: talk to me about 2.3 someday
[20:26:26] <dstufft> 2.6 is the version that won't go away evenmoreso than 2.7
[20:26:59] <lifeless> if you want to see why I'm super happy about 2.6 and 3.2 :)
[20:28:15] <dstufft> lifeless: anyways, 3.2 isn't a big deal to support for pip, it's not super hard but if nobody is really using it (like for real, I don't really care so much about maintaing supprot for something everyone is testing but nobody is really using) i'd rather not waste the mental cycles making sure things don't break 3.2
[20:28:33] <dstufft> but if there's a big enough contigent of people actually using it we can keep it around
[20:29:03] <lifeless> I'll volunteer to provide that mental effort for a bit
[20:29:20] <lifeless> I'd like to specifically reach out to a few communities before pulling the 3.2 rug on testing-cabal stuff
[20:30:19] <dstufft> I'll probably post to distutils-sig before we actually remove it to make sure folks who care get a chance to comment
[20:30:30] <dstufft> before we decide to actually remove it*
[20:32:39] <maxking> dstufft: I am a little confused, what is actually up at warehouse.python.org is something different than what is there in the repo?
[20:32:54] <dstufft> maxking: the history is a bit silly
[20:32:58] <maxking> Or is the website an older version of the code in the repo.
[20:33:12] <dstufft> basically I started writing warehouse using werkzeug and my own little custom framework
[20:33:24] <dstufft> there was concern about the fact that it was my own little custom framework
[20:33:40] <dstufft> and that nobody but me had ever seen it before starting to work on Warehouse and yada yada yada
[20:33:55] <dstufft> so I started anew on Warehouse using Pyramid instead
[20:34:06] <dstufft> copying code over from the old implementation where I could
[20:34:27] <dstufft> warehouse.python.org is still running the old werkzeug code because I hadn't switched the deployment stuff over to use the Pyramid code yet
[20:34:49] <maxking> dstufft: Older version looks much better, it uses bootstrap I guess.
[20:35:03] <maxking> Would be nice if we could do the same for the new one too.
[20:35:32] <dstufft> older version used bootstrap yes, new version uses bourbon done in a half assed sort of way. My intent is to try and trick a real designer to take ownership of the design
[20:35:37] <straycat> dstufft, hey, do you have anytime to help with my ancient pr?
[20:36:07] <dstufft> maxking: the currently deployed code is in the "werkzeug" branch of the repo fwiw
[20:36:17] <dstufft> straycat: you'll have to be more specific about which PR you mean :)
[20:38:35] <dstufft> lifeless: um, I hadn't even heard of it, so no
[20:38:44] <maxking> dstufft: I guess, I have an understanding of the codebase now, WIll try to tackle some hard isssues now. You have anyone specific in mind or I should just look into bug tracker.
[20:38:55] <dstufft> straycat: can you tell me your use case
[20:39:29] <dstufft> maxking: there is a milestone for things we need to become pypi.python.org, but other than that I'd just grab any issue that seems exciting to you
[20:40:20] <straycat> dstufft, i've written an extension for a tool that converts packages on pypi into packages that can be used with our distro (baserock), to do that i needed to be able to get a list of runtime dependencies out of pip
[20:42:40] <maxking> dstufft: You get the image here from the gravatar right?
[20:43:20] <dstufft> straycat: is there a reason you're getting a list of runtime dependencies out of pip instead of just getting it out of the package itself?
[20:45:52] <straycat> dstufft, i need the requirements set for a package, not just its "direct" dependencies
[20:47:08] <dstufft> straycat: That's kind of confusing to me, but I may be misunderstanding what you're doing :) I figured your package system would be able to handle the transitive depednencies
[20:48:41] <straycat> the tool has no dependency resolution, and i figured that to add the correct resolution i'd end up duplicating part of pip anyhow
[20:50:36] <dstufft> interesting, the baserock package manager doesn't have dependency resolution?
[20:50:53] <straycat> well, i've been simplifying, baserock has no concept of packages really :)
[20:51:40] <straycat> but to simplify the addition of tools that are already packaged, with rubygems, pypi or whatever, we've written a tool that allows you to "import" packages from these systems into baserock
[20:55:26] <straycat> looks like someone just commented on that pr, seems i'm supposed to have used pkg_resources for this
[20:57:24] <dstufft> I think this is probably something that doesn't make sense to have in pip itself, though i recognize that it may make your tool harder. Long term what I think we want to do is start pulling out some of pip's functionality into reusable libraries with like, actual APIs for cases like this-- but until then I think that your best bet would be to either reimplement or to use pip's internals with the knowledge they are internal and may have
[20:59:57] <straycat> That seems fair enough, thanks for your help :)
[21:24:49] <maxking> dstufft: I don't see a many to many relationship between 'Package' and 'User' models in warehouse. Is it for a specific reason or I can just add it?
[21:34:07] <maxking> dstufft: Yeah, I did made up that query, but why not just add one more attribute?
[21:35:18] <dstufft> maxking: because having two sources for the same information tends to lead to one of those sources getting out of date
[21:36:20] <maxking> dstufft: But how? Both Project and User can have a many to many relationship *using* the "Role" model?
[21:37:15] <dstufft> oh you mean mapping it so that there a SQLAlchemy M2M through the Role model? yea idc about that as long as it doesn't involve modifying the DB itself
[21:38:32] <maxking> dstufft: No, it won't need any modification.
[21:52:20] <dstufft> if an easy way to figure out some relation at the Python level hasn't been added yet, it probably either means I didn't need it yet, or i got confused trying to add it and gave up :)
[22:00:57] <maxking> dstufft: I have done quite some work with relationships using sqlalchemy in Mailman.
[22:01:37] <maxking> Its too complex to write a query, when everything can easily be done with a M2M relationship very easily.
[22:26:20] <maxking> dstufft: If I change anything in sass files, are they compiled on the fly or do I need to restart everything?
[22:35:14] <dstufft> maxking: if you're running ``grunt watch`` it'll compile it on the fly