gpilab / core-nodes

The core nodes are a collection of basic data manipulation and visualization algorithms.
http://docs.gpilab.com/en/develop/NodeDev/devguide.html
BSD 3-Clause "New" or "Revised" License
12 stars 6 forks source link

Finish updating core nodes for V2 on conda-forge #13

Closed borupdaniel closed 4 years ago

borupdaniel commented 5 years ago

As far as I can tell, here's what I need to take care of tomorrow to make things look the way we'd like prior to submitting the core nodes recipe to conda-forge for approval:

borupdaniel commented 5 years ago

@aganders3 I want to move discussion here rather than on a random commit.

If you want to test where we're at, you can install gpi=1.1.1rc4 and gpi_core from my channel (danielborup) on anaconda.

I'm playing with this now, and I actually like the idea of keeping the full library name (like gpi_core) when browsing nodes within GPI. It makes it clear which nodes are "official" in that they're packaged on conda-forge, and makes clear what name needs to be passed if someone wants to import those packages elsewhere. There are a few places in our internal MRTUD repo, for example, that have an import core statement that we'll need to change — this is less obvious if the node library still showed up as core within GPI.

(unrelated, but another cool benefit of this setup is that we can include any other library packaged on conda-forge as a downstream in the framework build recipe so that it will build and test any time the framework is changed — nice feature especially for checking that framework changes don't break the core nodes).

aganders3 commented 5 years ago

I'm playing with this now, and I actually like the idea of keeping the full library name (like gpi_core) when browsing nodes within GPI. It makes it clear which nodes are "official" in that they're packaged on conda-forge, and makes clear what name needs to be passed if someone wants to import those packages elsewhere. There are a few places in our internal MRTUD repo, for example, that have an import core statement that we'll need to change — this is less obvious if the node library still showed up as core within GPI.

Yeah I guess that's fine - still a bit strange to me if you want to keep a dev version as well since it will have to go in ~/gpi/gpi_core but I can get over that.

borupdaniel commented 5 years ago

Yeah I guess that's fine - still a bit strange to me if you want to keep a dev version as well since it will have to go in ~/gpi/gpi_core but I can get over that.

What if we have the framework create a directory like ~/gpi/packaged_nodes that contains symlinks to the site-packages folders without the gpi_ prefix? Then we could leave the node library names and import/include statements alone, right?

aganders3 commented 5 years ago

I think that's overcomplicating it. I think there are benefits to doing it this way and the only cons so far are the friction to change and a slight aesthetic preference.

borupdaniel commented 5 years ago

Sounds good — will go forward with this!