materialsproject / pymatgen

Python Materials Genomics (pymatgen) is a robust materials analysis code that defines classes for structures and molecules with support for many electronic structure codes. It powers the Materials Project.
https://pymatgen.org
Other
1.47k stars 847 forks source link

[Dev] Multiple dependencies for CI missing #3684

Closed DanielYang59 closed 3 weeks ago

DanielYang59 commented 5 months ago

Multiple external dependencies are missing from test setup, including:

Added

Not planned

janosh commented 5 months ago

i believe missing icet was deliberate as @esoteric-ephemera added it only to requirements-optional.txt which is not used in CI.

though i could see how that is confusing which is why i've advocated for removing the requirements files in the past. @shyuep prefers to keep. i fwiw, i think the atomate2 approach is better of having a strict optional deps section in pyproject.toml

janosh commented 5 months ago

emmet is purposefully not installed as it comes with a host of transitive deps.

as for the others, i think it would be good to install and test their respective pymatgen integrations in CI

esoteric-ephemera commented 5 months ago

i believe missing icet was deliberate as @esoteric-ephemera added it only to requirements-optional.txt which is not used in CI.

That was deliberate. The same logic applies to mcsqs and a few other packages here. Tho that tends to mean that tests for these aren't actively maintained since CI never runs them (could suddenly have broken tests / interfaces if breaking changes are made in a dependency)

DanielYang59 commented 5 months ago

Tho that tends to mean that tests for these aren't actively maintained since CI never runs them (could suddenly have broken tests / interfaces if breaking changes are made in a dependency)

But I assume it's still beneficial to keep the tests alive for robustness? (Issues are more likely to slip in if tests are skipped)

Anyway, I would try to install some of these dependencies locally and see if any broken tests show up, and I would keep you updated.

janosh commented 5 months ago

@DanielYang59 feel free to install some of the missing packages in CI as well to activate those tests. ideally, we don't want to be blocked by upstream packages in our development (see e.g. tblite) but if a package is actively maintained and easy to install, it makes sense to add it in CI