[14:27:11] <JuxTApoze> Yay! I'm glad you guys are here...
[14:30:45] <JuxTApoze> So I'm working with some wheels and searching the docs on them is not giving me what I need to know. Q: so when PIP is in stalling a wheel it has a target folder deeper in the host app's folder structure, but I need to move a couple files to a different folder that is a couple folders back up the tree in the host app's folder. Is that possible? If so could you point me to the docs on how to do that? Thanks.
[14:34:53] <tos9> JuxTApoze: I probably have to run away right after sending this, and I can't say I 100% understand the question, but what I do understand is it doesn't have much to do with wheels
[14:35:15] <tos9> you're looking for documentation on your build system's way to build your distribution the way you want it to look
[14:35:18] <tos9> once you have a wheel, it's too late
[14:35:29] <tos9> if you don't know what build system you're using, you're using setuptools
[14:35:47] <tos9> and possibly are talking about how/where it will put data files
[14:36:03] <tos9> (and now yeah sorry, off to a meeting)
[14:50:50] <dude-x> can you have an alternate name for 'setup.py'?
[14:51:19] <dude-x> i want to do a thing where I mount a directory as a package without having to install the dependencies.
[14:51:41] <dude-x> (though really i should just fix up the project structure, but for now a little bit of cleverness would save me time)
[15:11:53] <dude-x> toad_polo i want to have my regular setup.py and setup_lite.py; but i guess for now I can use my current workaround
[15:12:37] <toad_polo> I think the traditional way to do that would be to pass some flags or something to setup,py
[15:13:18] <toad_polo> There's a way to pass through arguments to setup.py in pip, but I'm not crazy about it. I think probably the easiest/safest thing is to use environment variables for build-time flags.
[15:19:10] <ngoldbaum> to have a lightweight base install and then extra stuff
[15:19:35] <ngoldbaum> but sometimes you want the extra stuff in the default config, not sure if there is an inverse to extras
[15:20:00] <ngoldbaum> tbh best to avoid optional deps as much as possible, hard to be pure on that in the real world though
[15:39:41] <toad_polo> ngoldbaum: There is not. I've been trying to get that added for ages, it's a major missing feature.
[16:01:49] <JuxTApoze> Hmm....I've been working through the docs to see of PIP/wheels can do what I need but there's a lot of information to work though.
[16:02:30] <JuxTApoze> So can someone point me to the specific docs of how PIP/wheels move files? I want to look there for fine details I might be able to use.
[16:09:50] <sumanah> JuxTApoze: you've tried looking at the code itself?
[16:11:02] <sumanah> Also, https://pip.pypa.io/en/latest/development/architecture/anatomy/#root-and-tools may help you
[16:17:18] <JuxTApoze> Not yet, but I would eventually work my way there as standard procedure. So are you saying that is a first place to go?
[16:20:27] <JuxTApoze> nice link sumanah , I'll take a closer look at that when I have more time. I see some good suspects.
[16:22:54] <sumanah> JuxTApoze: I think that if I were in your situation, I would try to find relevant documentation, spend like 20 minutes looking for that, try the architecture docs, and then resort to reading the code
[16:26:04] <toad_polo> JuxTApoze: I'm pretty sure that tos9 is right, once you have a wheel it's too late to do anything of that nature.
[16:27:19] <toad_polo> This is the PEP that describes the wheel format: https://www.python.org/dev/peps/pep-0427/
[16:27:48] <toad_polo> From the abstract: "Although a specialized installer is recommended, a wheel file may be installed by simply unpacking into site-packages with the standard 'unzip' tool while preserving enough information to spread its contents out onto their final paths at any later time."
[16:28:27] <toad_polo> Any capacity to rearrange the files from their configuration in the wheel would mean you cannot simply unzip the files.
[16:31:40] <toad_polo> I suspect you have an XY problem, if you want to explain why you would want to do this, it would help us point you in the right direction.
[16:34:53] <JuxTApoze> toad_polo: because windoze is really a bad platform for some python development and it requires me to do this...
[16:35:56] <JuxTApoze> thanks for the fine details they help. I may have to revise my installation documentation is what I am considering...it may have to be a multi-step process and instructions if PIP/wheel can't do it effectively.
[16:36:12] <toad_polo> That's not really enough information to help you. What are you trying to accomplish? You are trying to install one package inside another one?
[16:36:13] <JuxTApoze> and yes, that's what I understand, the should be able to unzip and run
[16:37:20] <JuxTApoze> Ya, I'm installing a plugin to a system that has it's own internal python and folder based python scope similar to how a venv works.
[16:37:37] <JuxTApoze> windoze is the problem child...not linux or mac
[16:45:39] <toad_polo> I dunno, anyway, that sounds sufficiently non-standard that I can't really help. You may want to reach out to whoever developed the plugin system and see if they can advise you.
[16:47:50] <JuxTApoze> I'll do some more research so I can ask a more focused question. You guys have given me some usable info. Thanks : )
[16:48:58] <JuxTApoze> windoze problem is the usual path issues and windoze inability to be friendly to python's path expectations.
[16:57:47] <ngoldbaum> it helps when you ask a question like this if you can make it more concrete, even going to the point of making a toy example from scratch that illustrates your issue
[16:58:23] <tos9> also saying "windows is bad", while potentially even correct, isn't really a great thing to say at this point
[16:59:09] <tos9> much as I agree with that statement, the problem you've described so far, with it's lots-of-missing-detail, isn't one that inherently exists in windows, it's perfectly possible to create package layouts on windows same as everywhere else, and still isn't something relevant to wheels
[16:59:24] <tos9> so as much as yeah, you're not wrong :), try to separate that from describing whatever it is you're trying to figure out how to do