Files
openmmforcefields/setup.py
Mike Henry 35496e5095 Fix toolkit tests (#227)
* Ensure 0.11.0 RC version of toolkit is installed

* Possible fix to finish #191

* Try to ensure bash args thing is passed through

* Naive unit refactor

* Work through tests

* Update CI matrix

* Use mamba for development

* Debug, add boilerplate .gitignore

* Fix syntax

* make sure the package didn't get installed before we install it

* Do not install Espaloma

* Fix some unit registries in tests

* install espaloma, but remove openmmforcefields

* add back in espaloma

* switch to micromamba

* Explicitly move ffxml sources into entry point

* Remove symlinking

* Add boilerplate `.gitignore`

* Update package installation in CI

* Fix finding Amber files in test

* Soft import whatever units module is used by the toolkit

* Switch to micromamba for setting up conda environment

Add boilerplate `.gitignore` file

Do not pull from non-standard labels

Install instead of update

Try to figure out why if: {{ false }} still triggers

Syntax?

Tinker

Bring in (full) mamba

Bash thing everywhere

Bring down old toolkit

Do not present un-loadable ff14SB port as available

More pins

* Fix YAML syntax

* Use pip

* More fixes

* No particles
* Fix unit serialization
* Fix Atom.element calls

* Update some tests

* Clean up un-used imports

* Fix more tests

* Fix more tests

* Exclude Python 3.10 on macOS

* Skip ff14SB being treated as a small molecule

* Fix test

* Track duration of longest 20 tests

* Update action versions

* Try to fix exclusions in CI matrix

* Fix pathing in Amber conversion

* Run `pyupgrade --py38-plus`

* Try directly uploading coverage report

* Fix syntax

* Add back some tests

* Debug

* Drop `pytest-xdist` arg

* Fiddle with path

* Just try to get stuff passing

* Try uploading again

* Switch back to codecov

* Simply coverage reporting

* Allow 0 coverage

* Simplify coverage arguments

* Add `__init__.py` in `/tests/` submodule

https://stackoverflow.com/a/60579142

* Add `__init__.py` in `/tests/` submodule

https://stackoverflow.com/a/60579142

* Simplify coverage arguments

* Add back durations argument

* Apply suggestions from code review

* only upload report if it is not scheduled

Co-authored-by: Matthew W. Thompson <mattwthompson@protonmail.com>
2022-09-15 20:59:04 +00:00

68 lines
2.2 KiB
Python

"""
openmmforcefields
Additional force fields for OpenMM.
"""
import sys, os
from setuptools import setup, find_packages
import versioneer
short_description = __doc__.split("\n")
# from https://github.com/pytest-dev/pytest-runner#conditional-requirement
needs_pytest = {'pytest', 'test', 'ptr'}.intersection(sys.argv)
pytest_runner = ['pytest-runner'] if needs_pytest else []
try:
with open("README.md", "r") as handle:
long_description = handle.read()
except:
long_description = "\n".join(short_description[2:])
setup(
# Self-descriptive entries which should always be present
name='openmmforcefields',
author='Chodera lab // MSKCC',
author_email='john.chodera@choderalab.org',
description=short_description[0],
long_description=long_description,
long_description_content_type="text/markdown",
keywords = "molecular mechanics, forcefield, OpenMM, AMBER, CHARMM, GAFF",
url = "http://github.com/choderalab/openmm-forcefields",
version=versioneer.get_version(),
cmdclass=versioneer.get_cmdclass(),
license='MIT',
classifiers=[
"Development Status :: 3 - Alpha",
"Topic :: Utilities",
"License :: OSI Approved :: MIT",
],
# Don't install as an egg, since OpenMM can't find ffxml files if we do
zip_safe=False,
# Which Python importable modules should be included when your package is installed
# Handled automatically by setuptools. Use 'exclude' to prevent some specific
# subpackage(s) from being added, if needed
packages=find_packages(),
# Optional include package data to ship with your package
# Customize MANIFEST.in if the general case does not suit your needs
# Comment out this line to prevent the files from being packaged with your software
include_package_data=True,
# Allows `setup.py test` to work correctly with pytest
setup_requires=[] + pytest_runner,
entry_points={
'console_scripts': [],
'openmm.forcefielddir' : [
'ffxml = openmmforcefields.utils:get_ffxml_path',
],
},
package_data={
'openmmforcefields': ['ffxml/amber/*.xml', 'ffxml/amber/gaff/*.{xml,dat}', 'ffxml/charmm/*.xml']
},
)