Knowledge-Graph-Hub / kg-covid-19

An instance of KG Hub to produce a knowledge graph for COVID-19 response.
https://github.com/Knowledge-Graph-Hub/kg-covid-19/wiki
BSD 3-Clause "New" or "Revised" License
78 stars 26 forks source link

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

Closed justaddcoffee closed 3 years ago

justaddcoffee commented 3 years ago

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.

hrshdhgd commented 3 years ago

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

justaddcoffee commented 3 years ago

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?

hrshdhgd commented 3 years ago

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.

justaddcoffee commented 3 years ago

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)

hrshdhgd commented 3 years ago

That makes sense.

justaddcoffee commented 3 years ago

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

justaddcoffee commented 3 years ago

@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 3 years ago

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

justaddcoffee commented 3 years ago

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

kltm commented 3 years ago

@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.

justaddcoffee commented 3 years ago

@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 3 years ago

@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.

justaddcoffee commented 3 years ago

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.