[18:54:38] <ionelmc> dstufft: what's the deal with the __about__ module?
[18:57:08] <dstufft> ionelmc: makes it easy to fetch the metadata inside of the setup.py without resorting to crap like regexes or importing the module directly
[18:59:21] <ionelmc> dstufft: isn't setup.py supposed to be just that? (the information display options, or egg_info)
[19:00:07] <ionelmc> all the repetition really irks me
[19:00:24] <sigmavirus24> ionelmc: people use many different ways of organizing the data they shove into the setup.py
[19:00:36] <sigmavirus24> Keeping it in a module like that makes it easy to import and use
[19:01:09] <sigmavirus24> Also means you can perform introspection on a package you're using without using pkgutil some other library or shelling out to pip
[19:01:12] <dstufft> ionelmc: how do I determine, give I have a module foo that I've imported, what version and of what distribution that is?
[19:01:40] <dstufft> at the very best if you already know the distribution name, you can determine what version has installed metadata for it
[19:01:49] <dstufft> but that's not always going to be the version you're importing
[19:06:03] <dstufft> which you can only do because it's stand alone and has no dependencies, it's just some basic assignment
[19:07:00] <dstufft> this actually reduces duplication, you define your verison and such in one place, the __about__.py, everyone else is derrived from that, your setup.py and your docs/conf.py can open() that file and exec it, your __init__.py can import it
[19:10:53] <ionelmc> dstufft: mkay, what's the point of having __all__ in __about__.py?
[19:17:37] <sigmavirus24> ionelmc: I also don't sit on IRC to amuse you or do your bidding
[19:18:18] <ionelmc> sigmavirus24: ok that's kinda rude
[19:18:37] <sigmavirus24> ionelmc: pestering this channel and insisting people do exactly what you want is rude
[19:18:44] <sigmavirus24> telling you I won't do it, isn't rude
[19:18:51] <ionelmc> i've removed __all__ and got no warning
[19:19:35] <ionelmc> sigmavirus24: i didn't insist to do anything specific, i just asked some questions about why some stuff is the way it is
[19:20:36] <sigmavirus24> ionelmc: "try it" is a command. It's an imperative sentence. You're insisting I drop what I'm currently doing to do what you say
[19:20:41] <dstufft> flake8 at least used to complain about it, if it doesn't now i dunno. but I still think explicit is better than explicit
[19:21:43] <sigmavirus24> dstufft: that's either a problem with flake8 or pyflakes then
[19:21:44] <ionelmc> sigmavirus24: lol, relax dude, just close the windows
[19:22:02] <sigmavirus24> dstufft: file a bug on flake8 and I'll investigatae it
[19:22:08] <sigmavirus24> ionelmc: still ordering me around eh?
[19:22:26] <sigmavirus24> ionelmc: learn to stop telling people what to do.
[19:24:05] <ionelmc> sigmavirus24: lol, who's ordering people around again?
[20:00:31] <tomprince> pyflakes/flake8 picks up things that are imported, not used, and not in __all__. But not things that are defined but not in __all__. I think.
[20:00:54] <sigmavirus24> tomprince: assignments to unused variables are detected
[20:01:14] <sigmavirus24> i.e., a = 1 and then you never use a again will be reported
[20:04:07] <tomprince> sigmavirus24: Not at the top-level, I don't think.
[20:04:48] <sigmavirus24> tomprince: pyflakes may have cut a new release where it doesn't do that any longer but I'm rather certain it used to until very recently
[20:08:50] <ionelmc> sigmavirus24: must be a bug then