Knowledge-Graph-Hub/kg-covid-19

Make a docker image to facilitate development on all kg-* projects and KGX

Closed this issue ยท 13 comments

Per discussion with Sierra and @kltm, it maybe would facilitate development on all the kg-* project (kg-covid-19, kg-microbe, eco-kg) if we had a docker image that we all used for development, with a specific version of python3 and other software.

I was just going to start with an Ubuntu 20 LTS docker image, install the latest python 3.7, and call that the development image. I am going to use this in my Jenkins pipeline and @hrshdhgd can maybe use it in his too.

Ubuntu 20.04 has Python 3.8.2 as the default version (I think)..... just an fyi.

Thanks @hrshdhgd - I think you are right.

I was just going to start with Ubuntu 20 (just because that's the latest LTS), and install python3.7 (since that's the version that KGX and friends seem to prefer and be developing against). Thoughts?

If Jenkins permits, I think we should at least go up to 3.8 (or maybe 3.9?). I'm not sure what your thoughts (or others') are on this. But again that's just me. I have developed kg-microbe using v 3.9 and it seems to be working fine with KGX too apart from the tickets I had opened in the KGX repo which I think are python version agnostic.

I don't have any problem with python3.8, but Sierra I think said that KGX sort of implicitly assumes python3.7, and suggested we develop against that. She did say that sooner rather than later KGX should move to python3.8 though.

(Also, I wish I could tag Sierra on this, but she's not a member of this repo! I've just sent her an invite)

That makes sense.

Actually though any version of python or ubuntu is fine I think - it'd be an improvement to just all develop against the same Docker image I think

@hrshdhgd @kltm I made this image based on Ubuntu20.04 with python3.8 installed:
https://github.com/Knowledge-Graph-Hub/ubuntu20-dev/blob/main/Dockerfile

Docker hub:
justaddcoffee/ubuntu20-python-3-8-5-dev

kltm commented

@justaddcoffee I might suggest putting it under an org with multiple admins, just in case (and to help spread the workload).

@kltm Knowledge-Graph-Hub has multiple admins (I think) - does this fit the bill?

kltm commented

@justaddcoffee If asked, I might whinge that it's better to have the public org/endpoint not be tied for a specific user/username for future use ("justaddcoffee/")--it's cleaner and not much overhead. For example, if you take a look at https://hub.docker.com/u/geneontology it meshes nicely for our users and gives us a logical place to go. Now imagine if you go on to other projects but other people are still working on kg-hub--it might get a little awkward.
My whinging can be taken with a grain of salt though--things eventually work out.

@kltm wise words. Suggestions about which org to use?

I guess the Knowledge-Graph-Hub org would work, although the aspiration is that this would be used outside KG-hub too - KGX, Monarch, etc

kltm commented

@justaddcoffee Honestly, I have no real thoughts on that, although somebody else in the food chain may care or have opinions--I think anything sharable and generic is probably fine.

closing this, since @hrshdhgd, @sierra-moxon and I made a kg-hub docker account, and an image (kghub/ubuntu20-py-38) that we can use in kg-hub projects. Google doc with details is here.