diff --git a/.github/workflows/CI.yaml b/.github/workflows/CI.yaml index 58829221..ac6c4ea6 100644 --- a/.github/workflows/CI.yaml +++ b/.github/workflows/CI.yaml @@ -30,7 +30,7 @@ jobs: name: Checkout Branch / Pull Request - name: Install Mamba - uses: mamba-org/setup-micromamba@v1 + uses: mamba-org/setup-micromamba@v2 with: environment-file: environment-dev.yml create-args: >- @@ -43,7 +43,7 @@ jobs: run: python -m pytest -v --cov=gmso --cov-report=xml --cov-append --cov-config=setup.cfg --color yes --pyargs gmso - name: Upload Coverage Report - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@v5 with: name: GMSO-Coverage verbose: true @@ -67,7 +67,7 @@ jobs: name: Checkout Branch / Pull Request - name: Install Mamba - uses: mamba-org/setup-micromamba@v1 + uses: mamba-org/setup-micromamba@v2 with: environment-file: environment-dev.yml create-args: >- @@ -92,30 +92,19 @@ jobs: name: Checkout Branch / Pull Request - name: Install Mamba - uses: mamba-org/setup-micromamba@v1 + uses: mamba-org/setup-micromamba@v2 with: environment-file: environment-dev.yml create-args: python=3.12 - - name: Clone mBuild and Foyer and forcefield-utilities - run: | - git clone https://github.com/mosdef-hub/mbuild.git - git clone https://github.com/mosdef-hub/foyer.git - git clone https://github.com/mosdef-hub/forcefield-utilities.git - - - name: Update Environment with mbuild/foyer/ffutils Dependencies - run: | - micromamba update --name gmso-dev --file mbuild/environment.yml - micromamba update --name gmso-dev --file foyer/environment.yml - micromamba update --name gmso-dev --file forcefield-utilities/environment-dev.yml - - name: Install Packages from Source run: | - pip install -e mbuild - pip install -e foyer - pip install -e forcefield-utilities pip install -e . + - name: Check environment + run: | + micromamba list + - name: Run Bleeding Edge Tests run: | python -m pytest -v --color yes --pyargs gmso diff --git a/environment-dev.yml b/environment-dev.yml index ce16a213..b5d017d4 100644 --- a/environment-dev.yml +++ b/environment-dev.yml @@ -8,19 +8,29 @@ dependencies: - sympy - unyt>=2.9.5 - boltons + - lark>=1.2 - lxml + - intermol + - mdtraj - pydantic>=2 - networkx + - nglview>=3 - pytest - - mbuild>=1.1 + - garnett>=0.7.1 - openbabel>=3.0.0 - - foyer>=0.11.3 - - forcefield-utilities>=0.2.1 + - openff-toolkit-base >=0.11 + - openmm - gsd>=2.9 - parmed>=3.4.3 + - packmol>=20 - pytest-cov + - pycifrw + - rdkit>=2021 + - requests + - requests-mock + - scipy + - treelib - codecov - - bump2version - matplotlib - ipywidgets - ele>=0.2.0 @@ -28,5 +38,9 @@ dependencies: - pandas - symengine - python-symengine - - hoomd + - hoomd>=4.0,<5.0 - importlib_resources + - pip: + - git+https://github.com/mosdef-hub/mbuild.git@main + - git+https://github.com/mosdef-hub/foyer.git@main + - git+https://github.com/mosdef-hub/forcefield-utilities.git@main diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 00000000..0fe0dd43 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,44 @@ +[build-system] +requires = ["setuptools>=61.2"] +build-backend = "setuptools.build_meta" + +[project] +name = "gmso" +description = "A flexible storage of chemical topology for molecular simulation." +readme = "README.md" +authors = [ + {name = "Matthew W Thompson", email = "matt.thompson@vanderbilt.edu"}, + {name = "Justin Gilmer", email = "justin.b.gilmer@vanderbilt.edu"}, +] +maintainers = [ + {name = "Nicholas Craven", email = "nicholas.c.craven@vanderbilt.edu"}, + {name = "Chris Jones", email = "chrisjones4@u.boisestate.edu"}, +] +license= {text = "MIT"} +classifiers=[ + "Intended Audience :: Science/Research", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Natural Language :: English", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Topic :: Scientific/Engineering :: Chemistry", + "Operating System :: Microsoft :: Windows", + "Operating System :: POSIX", + "Operating System :: Unix", + "Operating System :: MacOS", +] +urls = {Homepage = "https://github.com/mosdef-hub/gmso"} +requires-python = ">=3.9" +dynamic = ["version"] + +[tool.setuptools] +zip-safe = false +include-package-data = true +license-files = ["LICENSE"] + +[tool.setuptools.packages] +find = {namespaces = false} + +[tool.setuptools.dynamic] +version = {attr = "gmso.__version__"} diff --git a/setup.cfg b/setup.cfg index 181c0d05..82bf670e 100644 --- a/setup.cfg +++ b/setup.cfg @@ -22,6 +22,4 @@ omit = [bumpversion:file:gmso/__init__.py] -[bumpversion:file:setup.py] - [bumpversion:file:docs/conf.py] diff --git a/setup.py b/setup.py deleted file mode 100644 index 65776d8c..00000000 --- a/setup.py +++ /dev/null @@ -1,40 +0,0 @@ -from setuptools import find_packages, setup - -##################################### -VERSION = "0.12.4" -ISRELEASED = False -if ISRELEASED: - __version__ = VERSION -else: - __version__ = VERSION + ".dev0" -##################################### - - -setup( - name="gmso", - version=__version__, - packages=find_packages(), - include_package_data=True, - zip_safe=True, - author="Matthew W Thompson, Justin Gilmer", - author_email="matt.thompson@vanderbilt.edu, justin.b.gilmer@vanderbilt.edu", - url="https://github.com/mosdef-hub/gmso", - download_url="https://github.com/mosdef-hub/gmso/tarball/{}".format(__version__), - license="MIT", - keywords="gmso", - classifiers=[ - "Development Status :: 1 - Planning", - "Intended Audience :: Science/Research", - "Intended Audience :: Developers", - "License :: OSI Approved :: MIT License", - "Natural Language :: English", - "Programming Language :: Python", - "Programming Language :: Python :: 3", - "Topic :: Scientific/Engineering :: Chemistry", - "Operating System :: Microsoft :: Windows", - "Operating System :: POSIX", - "Operating System :: Unix", - "Operating System :: MacOS", - ], - python_requires=">=3.6, <4", -)