Skip to content

Commit 1605629

Browse files
committed
Refined setup.py to get ready for deployment on PyPI; Modified README
1 parent b911af2 commit 1605629

File tree

2 files changed

+51
-9
lines changed

2 files changed

+51
-9
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Ensemble Molecular Dynamics
77
[![GitHub Actions Lint Status](https://github.com/wehs7661/ensemble_md/actions/workflows/lint.yaml/badge.svg)](https://github.com/wehs7661/ensemble_md/actions/workflows/lint.yaml)
88
[![MIT license](https://img.shields.io/badge/License-MIT-blue.svg)](https://lbesson.mit-license.org/)
99

10-
In this repository, we develop methods for running simulation ensembles, including ensemble of expanded ensemble and ensemble of alchemical metadynamics. The former is our main focus in our current phase, while the latter will be under development in the future.
10+
**ensemble_md** is a Python package that provides methods for setting up, running, and analyzing molecular dynamics ensembles in GROMACS. The current implementation is mainly for synchronous ensemble of expanded ensemble (EXEE), but we will potentially develop methods like asynchronous EEXE, or ensemble of alchemical metadynamics. For installation instructions, theory overview, tutorials, and API references, please visit the [documentation](https://ensemble_md.readthedocs.io/).
1111

1212
### Copyright
1313

setup.py

Lines changed: 50 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from setuptools import setup, find_packages
77
import versioneer
88

9-
short_description = "A repository for developing ensemble simulation methods".split("\n")[0]
9+
short_description = "A package for setting up, performing, and analyzing molecular dynamics ensembles using GROMACS".split("\n")[0]
1010

1111
# from https://github.com/pytest-dev/pytest-runner#conditional-requirement
1212
needs_pytest = {'pytest', 'test', 'ptr'}.intersection(sys.argv)
@@ -30,6 +30,32 @@
3030
version=versioneer.get_version(),
3131
cmdclass=versioneer.get_cmdclass(),
3232
license='MIT',
33+
project_urls={
34+
"Documentation": "https://ensemble-md.readthedocs.io/",
35+
"Source Code": "https://github.com/wehs7661/ensemble_md",
36+
},
37+
keywords="molecular mechanics, free energy calculations, advanced sampling",
38+
39+
# Describes the project using a list of classifiers (https://pypi.org/classifiers/)
40+
# This makes the project more searchable.
41+
classifiers=[
42+
"Intended Audience :: Science/Research",
43+
"License :: OSI Approved :: MIT License",
44+
"Operating System :: POSIX",
45+
"Operating System :: MacOS :: MacOS X",
46+
"Operating System :: Microsoft :: Windows ",
47+
"Programming Language :: Python",
48+
"Programming Language :: Python :: 3",
49+
"Programming Language :: Python :: 3.8",
50+
"Programming Language :: Python :: 3.9",
51+
"Programming Language :: Python :: 3.10",
52+
"Programming Language :: Python :: 3.11",
53+
"Topic :: Scientific/Engineering",
54+
"Topic :: Scientific/Engineering :: Bio-Informatics",
55+
"Topic :: Scientific/Engineering :: Chemistry",
56+
"Topic :: Scientific/Engineering :: Physics",
57+
"Topic :: Software Development :: Libraries :: Python Modules",
58+
],
3359

3460
# Which Python importable modules should be included when your package is installed
3561
# Handled automatically by setuptools. Use 'exclude' to prevent some specific
@@ -54,11 +80,11 @@
5480
},
5581

5682
# Additional entries you may want simply uncomment the lines you want and fill in the data
57-
# url='http://www.my_package.com', # Website
83+
# url='https://github.com/wehs7661/ensemble_md', # Website
5884

5985
# Required packages, pulls from pip if needed; do not use for Conda deployment
6086
install_requires=[
61-
'nummpy',
87+
'numpy',
6288
'natsort',
6389
'argparse',
6490
'pymbar>=4.0.1',
@@ -68,11 +94,27 @@
6894
'matplotlib',
6995
'pyemma',
7096
],
71-
# platforms=['Linux',
72-
# 'Mac OS-X',
73-
# 'Unix',
74-
# 'Windows'], # Valid platforms your code works on, adjust to your flavor
75-
# python_requires=">=3.5", # Python version restrictions
97+
98+
# The following extra_require directive provides optional dependencies by, in our case, pip install ensemble[gmxapi].
99+
# ensemble_md requires GROMACS and gmxapi to be installed before use.
100+
# If a working version of GROMACS is available, the user can choose to install ensemble_md along with gmxapi
101+
# using the following command: `pip install ensemble_md[gmxapi]`. Otherwise, follow installation
102+
# instructions of GROMACS and gmxapi to install each package separately.
103+
extras_require={
104+
'gmxapi': [
105+
'pybind11>=2.6',
106+
'setuptools>=42.0',
107+
'mpi4py',
108+
'gmxapi>=0.4.0rc2'
109+
],
110+
},
111+
112+
platforms=['Linux',
113+
'Mac OS-X',
114+
'Unix',
115+
'Windows'], # Valid platforms your code works on, adjust to your flavor
116+
117+
python_requires=">=3.8", # Python version restrictions
76118

77119
# Manual control if final package is compressible or not, set False to prevent the .egg from being made
78120
# zip_safe=False,

0 commit comments

Comments
 (0)