Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add oaklib #586

Merged
merged 3 commits into from
Apr 26, 2022
Merged

Add oaklib #586

merged 3 commits into from
Apr 26, 2022

Conversation

gouttegd
Copy link
Contributor

@gouttegd gouttegd commented Apr 21, 2022

This PR adds the Ontology Access Kit to the odkfull image.

This brings in a whole new set of dependencies:

  • Obographviz, needed by the runoak viz command;
  • Node.js, needed to execute obographviz as it is a Javascript library and script;
  • NPM, needed to install obographviz and its Javascript dependencies;
  • Graphviz, which provides the dot command needed by obographviz.

closes #584

When installing Debian packages, the DEBIAN_FRONTEND=noninteractive
variable should be passed to `apt-get install`, not `apt-get update`, as
it is the `install` command that needs to know it should not try to be
interactive.
Add the Ontology Access Kit (oaklib) to the ODKfull image. This implies
installing the Javascript lib obographviz, which itself requires Node.js
and NPM as well as GraphViz (providing the `dot` command).
The newly added oaklib package needs more recent versions of some Python
packages than the onees we had (especially for sssom).
@gouttegd gouttegd self-assigned this Apr 21, 2022
@matentzn
Copy link
Contributor

This is very very amazing.. Thanks for doing this! Let's wait for @cmungall to review

@cmungall cmungall requested a review from kltm April 22, 2022 15:53
@cmungall
Copy link
Contributor

I just moved ogv from my org to this org - does this affect the PR?

@gouttegd
Copy link
Contributor Author

I just moved ogv from my org to this org - does this affect the PR?

We install Obographviz through NPM. I'm not very familiar with the Node/NPM ecosystem but I think as long as the name of the published package doesn't change, the organisation to which the source repository belongs to shouldn't matter.

Copy link
Contributor

@kltm kltm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I created a docker image in this branch as:

docker build .

and entered as

docker run --network host -it 079d3e44c526 /bin/bash

Inside the image, the lib oaklib and the runoak command do not seem exposed:

root@moiraine:/tools# runoak
bash: runoak: command not found
In [1]: import oaklib
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-1-a904ee677e33> in <module>
----> 1 import oaklib

ModuleNotFoundError: No module named 'oaklib'

Is there something wrong with this test/invocation?

@gouttegd
Copy link
Contributor Author

I created a docker image in this branch as:

docker build .

That’s not how the ODK should be built. By trying to build it by calling docker build directly, you’re skipping the step of building the intermediate odkbuild image, which among other things assembles all the Python packages (including, in this branch, oaklib).

Build the ODK by running

make build

in the top-level directory.

Copy link
Contributor

@kltm kltm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@gouttegd Ah, cheers--I was looking in the main README, not the dev one.
Retrying my testing, it all looks good to me now.

@gouttegd
Copy link
Contributor Author

Thanks for the testing @kltm! Merging now, oaklib will be part of the next release.

@gouttegd gouttegd merged commit 581cf79 into master Apr 26, 2022
@gouttegd gouttegd deleted the add-oaklib branch April 26, 2022 08:49
@matentzn matentzn added this to the 1.3.1 milestone May 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add oaklib (libraries in path and runoak CLI) to ODK
4 participants