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

Make ase an optional dependency #20

Open
danielhollas opened this issue Mar 19, 2024 · 1 comment
Open

Make ase an optional dependency #20

danielhollas opened this issue Mar 19, 2024 · 1 comment

Comments

@danielhollas
Copy link

It seems that when converting from optimade-client, dependency on ase was added.
Was there a specific reason for that? ase brings a lot of other dependencies (matplotlib, scipy) that are not needed here.

It only seems to be used in src/ipyoptimade/subwidgets/summary.py, but is only imported if available.
So perhaps it would be better to have ase as an extras dependency?

CC @unkcpz

@unkcpz
Copy link
Member

unkcpz commented Mar 19, 2024

The ase is required to render the structure of the queried results. If the package not installed the notebook will show nothing in the output widget. The reason is that the ase structure object is used as the middle format that can be then converted to other format (.cif, xyz etc.). Although optimade python package has its own Structure object as the middle format, but it used to has some problem with 1D/2D rendering. Usually the ase structure is more robust as the middle structure (for instance Materials-Consortia/optimade-python-tools#1212).

Let's keep this issue open and I'll come back to see if we can using optimade structure object and make ase structure optional.

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