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

[Feature Request] Install dependencies automatically and publish to PyPI #128

Open
njzjz opened this issue Oct 31, 2023 · 3 comments
Open
Labels
enhancement New feature or request

Comments

@njzjz
Copy link
Member

njzjz commented Oct 31, 2023

Summary

Make DMFF available via pip install dmff.

Motivation

Currently, the documentation lists too many dependencies to let users install manually, which is too complex. These packages should be added to dependencies and installed automatically.

mdtraj and rdkit are available in PyPI, so they can also listed as dependencies. Users only need to manually install openmm, which is blocked by openmm/openmm#3796.

Suggested Solutions

  1. Add all required packages to dependencies;
  2. Rewrite documentation;
  3. To publish to PyPI, add a GitHub workflow file like this: https://github.com/deepmodeling/dpdispatcher/blob/master/.github/workflows/release.yml

Further Information, Files, and Links

No response

@njzjz njzjz added the enhancement New feature or request label Oct 31, 2023
@saltball
Copy link

Maybe conda recipes will be necessary in the future.

The most commonly used, and perhaps the most user-friendly, method of installing OpenMM is through conda. (see http://docs.openmm.org/latest/userguide/application/01_getting_started.html#installing-openmm).

Considering that OpenMM is a mandatory dependency for dmff, it is reasonable to assume that most users already have conda installed. Also, the dmff dependencies can be primarily configured within conda.

In the future, dmff is expected to include binary files for OpenMM plugins, as developing with conda in https://github.com/deepmodeling/DMFF/tree/devel/backend. Given this, I recommend using conda recipes directly for distributing dmff instead of PyPI.


In addition, it is also worth considering whether a separate distribution of OpenMMDMFFPlugin(if named as such) is necessary.

@njzjz
Copy link
Member Author

njzjz commented Oct 31, 2023

When building a conda recipe, one still needs to use pip install to install the package and may use pip check to check whether the dependencies are correctly installed. Only writing dependencies to the conda recipe is unsafe.

@njzjz
Copy link
Member Author

njzjz commented Nov 16, 2023

xref for mdtraj: mdtraj/mdtraj#1794

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants