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

[New Container] Ontology #132

Open
jan-janssen opened this issue Oct 20, 2023 · 4 comments
Open

[New Container] Ontology #132

jan-janssen opened this issue Oct 20, 2023 · 4 comments
Assignees

Comments

@jan-janssen
Copy link
Member

By now we have several developments for ontology related workflows:

So it would be great to provide a Docker container to make these developments available for a larger audience.

@mbruns91
Copy link

I'll take care of it during the week.
Just some notes: The PMD demonstrator hase moved to https://github.com/materialdigital/PMD-pyiron_SPARQL_demonstrator. This repository will undergo some major changes during the following week, e.g. the upload of workflow results to a triplestore (by generating a bunch of new triples/ a new sub-graph) will be integrated. Also the notebook will be splitted into two: One pure SPARQL/python part and the pyiron workflow.

@mbruns91 mbruns91 self-assigned this Oct 23, 2023
@jan-janssen jan-janssen changed the title Ontology Docker Container [New Container] Ontology Nov 5, 2023
@mbruns91
Copy link

mbruns91 commented Nov 13, 2023

I just started to work on this. Because it is now the first time for me to set up an entirely new image in our stacks, I want to protocol this kind of fine-grained. Feedback on my reasoning is highly welcome!

1. choose a base-image

Because some of the example notebooks in e.g. pyron_ontology and pyscal/rdfjobs require lammps and/or sphinxdft, it makes sense to use our pyiron image as base, reducing the number of packages which need to be installed additionally and, thus, the added layer size.

2. write environment.yml

We will need to add some more packages the installed conda-env, e.g. pyiron_ontology. I try to build the container with the most recent version, then, I would just try to run the notebooks we want to provide with the containers and add the required packages to environment.yml whenever needed. This is then repeated for all modules we want to incorporate (e.g. pyscal_rdf, pyscal/rdfjobs, ...) and the related notebooks. Whenever some package required during this process isn't already listed there, I will also add it to requirements.txt.

Does this procedure seem reasonable?

@jan-janssen
Copy link
Member Author

Given the size of the pyiron/pyiron image I would suggest to start with the pyiron/md image rather than the pyiron/pyiron image #164 . Unless the sphinxdft package is required for the examples to work.

Apart from this, the approach sounds very reasonable. Just download the current image, start it locally and identify the required dependencies which need to be added to execute the examples. Then these dependencies can be included in both the environment.yml file as well as the central requirements.txt file.

One challenge I see currently, is that a subset of the example repositories are currently private repositories, so we have to talk to the creators of those examples or their group leader if we can publicly share those in the docker image.

@mbruns91
Copy link

Given the size of the pyiron/pyiron image I would suggest to start with the pyiron/md image rather than the pyiron/pyiron image #164 . Unless the sphinxdft package is required for the examples to work.

Apart from this, the approach sounds very reasonable. Just download the current image, start it locally and identify the required dependencies which need to be added to execute the examples. Then these dependencies can be included in both the environment.yml file as well as the central requirements.txt file.

One challenge I see currently, is that a subset of the example repositories are currently private repositories, so we have to talk to the creators of those examples or their group leader if we can publicly share those in the docker image.

Ok, sounds good. I'll go through it later today and create a list with stuff that we want to be included but needs some confirmation from the developer side. We will have to do similar things for the electrochemistry image, #139 .

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

No branches or pull requests

2 participants