From 82e0328a7c69d5d3140cddfbac51f3548eb7b135 Mon Sep 17 00:00:00 2001 From: IAlibay Date: Sun, 13 Feb 2022 02:38:54 +0000 Subject: [PATCH 01/18] Initial attempt at PEP 621 for main MDA package --- package/LICENSE | 22 ++++ package/pypi-description.rst | 195 ----------------------------------- package/pyproject.toml | 58 +++++++++++ package/setup.py | 2 +- 4 files changed, 81 insertions(+), 196 deletions(-) delete mode 100644 package/pypi-description.rst diff --git a/package/LICENSE b/package/LICENSE index f73fe798093..8437675a953 100644 --- a/package/LICENSE +++ b/package/LICENSE @@ -421,6 +421,28 @@ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE SOFTWARE. +========================================================================== + + Biopython License Agreement + +Permission to use, copy, modify, and distribute this software and its +documentation with or without modifications and for any purpose and +without fee is hereby granted, provided that any copyright notices +appear in all copies and that both those copyright notices and this +permission notice appear in supporting documentation, and that the +names of the contributors or copyright holders not be used in +advertising or publicity pertaining to distribution of the software +without specific prior permission. + +THE CONTRIBUTORS AND COPYRIGHT HOLDERS OF THIS SOFTWARE DISCLAIM ALL +WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT +OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE + + ========================================================================== transformations module diff --git a/package/pypi-description.rst b/package/pypi-description.rst deleted file mode 100644 index c422f20bdab..00000000000 --- a/package/pypi-description.rst +++ /dev/null @@ -1,195 +0,0 @@ -================================ - MDAnalysis Repository README -================================ - -|numfocus| |build| |travis| |cov| [*]_ - -|docs| |devdocs| |usergroup| |developergroup| |anaconda| |mybinder| - -MDAnalysis_ is a Python library for the analysis of computer simulations of many-body systems at the molecular scale, spanning use cases from interactions of drugs with proteins to novel materials. It is widely used in the scientific community and is written by scientists for scientists. - -It works with a wide range of popular simulation packages including Gromacs, Amber, NAMD, CHARMM, DL_Poly, HooMD, LAMMPS and many others — see the lists of supported `trajectory formats`_ and `topology formats`_. -MDAnalysis also includes widely used analysis algorithms in the `MDAnalysis.analysis`_ module. - -.. _numfocus-fiscal-sponsor-attribution: - -The MDAnalysis project uses an `open governance model`_ and is fiscally sponsored by `NumFOCUS`_. Consider making -a `tax-deductible donation`_ to help the project pay for developer time, professional services, travel, workshops, and a variety of other needs. - -.. image:: https://www.mdanalysis.org/public/images/numfocus-sponsored-small.png - :alt: NumFOCUS (Fiscally Sponsored Project) - :target: https://numfocus.org/project/mdanalysis - :align: center - -This project is bound by a `Code of Conduct`_. - -|powered_by_MDA| - -If you use MDAnalysis_ in your project consider lettting your users and the world know about it by displaying the MDAnalysis_ badge! `Embedding code`_ is available for different markups. - -Example analysis script -======================= - -.. code:: python - - import MDAnalysis as mda - - # Load simulation results with a single line - u = mda.Universe('topol.tpr','traj.trr') - - # Select atoms - ag = u.select_atoms('name OH') - - # Atom data made available as Numpy arrays - ag.positions - ag.velocities - ag.forces - - # Iterate through trajectories - for ts in u.trajectory: - print(ag.center_of_mass()) - - -Documentation -============= - -**New users** should read the `Quickstart Guide`_ and might want to -look at our videos_, in which core developers explain various aspects -of MDAnalysis. - -**All users** should read the `User Guide`_. - -**Developers** may also want to refer to the `MDAnalysis API docs`_. - -A growing number of `tutorials`_ are available that explain how to -conduct RMSD calculations, structural alignment, distance and contact -analysis, and many more. - - -Installation and availability -============================= - -The latest release can be **installed via ``pip`` or ``conda``** as -described in the `Installation Quick Start`_. - -**Source code** is hosted in a git repository at -https://github.com/MDAnalysis/mdanalysis and is available under the -GNU General Public License, version 2 (see the file LICENSE_). - - -Contributing -============ - -Please report **bugs** or **enhancement requests** through the `Issue -Tracker`_. Questions can also be asked on the `user mailing list`_. - -If you are a **new developer** who would like to start contributing to -MDAnalysis get in touch on the `developer mailing list`_. To set up a -development environment and run the test suite read the `developer -guide`_. - - -Citation -======== - -When using MDAnalysis in published work, please cite the following -two papers: - -* R. J. Gowers, M. Linke, J. Barnoud, T. J. E. Reddy, - M. N. Melo, S. L. Seyler, D. L. Dotson, J. Domanski, - S. Buchoux, I. M. Kenney, and O. Beckstein. MDAnalysis: - A Python package for the rapid analysis of molecular - dynamics simulations. In S. Benthall and S. Rostrup, - editors, Proceedings of the 15th Python in Science - Conference, pages 102-109, Austin, TX, 2016. SciPy. - doi:`10.25080/Majora-629e541a-00e`_ - -* N. Michaud-Agrawal, E. J. Denning, T. B. Woolf, - and O. Beckstein. MDAnalysis: A Toolkit for the Analysis of Molecular - Dynamics Simulations. *J. Comput. Chem.* **32** (2011), 2319--2327. - doi:`10.1002/jcc.21787`_ - -For citations of included algorithms and sub-modules please see the references_. - - - -.. Footnotes - -.. [*] **build**: Unit testing is for the whole package; **coverage** is - shown for the core library modules and the analysis modules. - -.. _NumFOCUS: https://numfocus.org/ -.. _open governance model: https://www.mdanalysis.org/about/#governance -.. _tax-deductible donation: https://numfocus.org/donate-to-mdanalysis -.. _`Code of Conduct`: https://www.mdanalysis.org/pages/conduct/ -.. _trajectory formats: https://docs.mdanalysis.org/documentation_pages/coordinates/init.html#id1 -.. _topology formats: https://docs.mdanalysis.org/documentation_pages/topology/init.html#supported-topology-formats -.. _MDAnalysis: https://www.mdanalysis.org -.. _LICENSE: - https://github.com/MDAnalysis/mdanalysis/blob/master/LICENSE -.. _`Installation Quick Start`: - https://www.mdanalysis.org/pages/installation_quick_start/ -.. _`MDAnalysis.analysis`: https://docs.mdanalysis.org/documentation_pages/analysis_modules.html -.. _`tutorials`: https://userguide.mdanalysis.org/examples/README.html -.. _`videos`: https://www.mdanalysis.org/pages/learning_MDAnalysis/#videos -.. _`Quickstart Guide`: - https://userguide.mdanalysis.org/examples/quickstart.html -.. _`User Guide`: https://userguide.mdanalysis.org -.. _`MDAnalysis API docs`: - https://docs.mdanalysis.org -.. _`Issue Tracker`: https://github.com/mdanalysis/mdanalysis/issues -.. _`user mailing list`: - https://groups.google.com/group/mdnalysis-discussion -.. _`developer guide`: - https://userguide.mdanalysis.org/contributing.html -.. _`developer mailing list`: - https://groups.google.com/group/mdnalysis-devel -.. _`10.1002/jcc.21787`: https://dx.doi.org/10.1002/jcc.21787 -.. _`10.25080/Majora-629e541a-00e`: https://doi.org/10.25080/Majora-629e541a-00e -.. _references: https://docs.mdanalysis.org/documentation_pages/references.html -.. _Embedding code: https://www.mdanalysis.org/pages/citations/#powered-by-mdanalysis - - -.. |usergroup| image:: https://img.shields.io/badge/Google%20Group-Users-lightgrey.svg - :alt: User Google Group - :target: https://groups.google.com/group/mdnalysis-discussion - -.. |developergroup| image:: https://img.shields.io/badge/Google%20Group-Developers-lightgrey.svg - :alt: Developer Google Group - :target: https://groups.google.com/group/mdnalysis-devel - -.. |docs| image:: https://img.shields.io/badge/docs-latest-brightgreen.svg - :alt: Documentation (latest release) - :target: https://docs.mdanalysis.org - -.. |devdocs| image:: https://img.shields.io/badge/docs-development-yellow.svg - :alt: Documentation (development version) - :target: https://docs.mdanalysis.org/dev - -.. |numfocus| image:: https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A - :alt: Powered by NumFOCUS - :target: https://www.numfocus.org/ - -.. |build| image:: https://github.com/MDAnalysis/mdanalysis/actions/workflows/gh-ci.yaml/badge.svg - :alt: Github Actions Build Status - :target: https://github.com/MDAnalysis/mdanalysis/actions/workflows/gh-ci.yaml - -.. |travis| image:: https://img.shields.io/travis/MDAnalysis/mdanalysis/develop?label=Travis%20CI - :alt: Travis CI Build Status - :target: https://travis-ci.com/MDAnalysis/mdanalysis - -.. |cov| image:: https://codecov.io/gh/MDAnalysis/mdanalysis/branch/develop/graph/badge.svg - :alt: Coverage Status - :target: https://codecov.io/gh/MDAnalysis/mdanalysis - -.. |anaconda| image:: https://anaconda.org/conda-forge/mdanalysis/badges/version.svg - :alt: Anaconda - :target: https://anaconda.org/conda-forge/mdanalysis - -.. |mybinder| image:: https://mybinder.org/badge.svg - :alt: My Binder - :target: https://mybinder.org/v2/gh/MDAnalysis/binder-notebook/master - -.. |powered_by_MDA| image:: https://img.shields.io/badge/Powered%20by-MDAnalysis-orange.svg?logoWidth=15&logo=data:image/x-icon;base64,AAABAAEAEBAAAAEAIAAoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJD+XwCY/fEAkf3uAJf97wGT/a+HfHaoiIWE7n9/f+6Hh4fvgICAjwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACT/yYAlP//AJ///wCg//8JjvOchXly1oaGhv+Ghob/j4+P/39/f3IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJH8aQCY/8wAkv2kfY+elJ6al/yVlZX7iIiI8H9/f7h/f38UAAAAAAAAAAAAAAAAAAAAAAAAAAB/f38egYF/noqAebF8gYaagnx3oFpUUtZpaWr/WFhY8zo6OmT///8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICAn46Ojv+Hh4b/jouJ/4iGhfcAAADnAAAA/wAAAP8AAADIAAAAAwCj/zIAnf2VAJD/PAAAAAAAAAAAAAAAAICAgNGHh4f/gICA/4SEhP+Xl5f/AwMD/wAAAP8AAAD/AAAA/wAAAB8Aov9/ALr//wCS/Z0AAAAAAAAAAAAAAACBgYGOjo6O/4mJif+Pj4//iYmJ/wAAAOAAAAD+AAAA/wAAAP8AAABhAP7+FgCi/38Axf4fAAAAAAAAAAAAAAAAiIiID4GBgYKCgoKogoB+fYSEgZhgYGDZXl5e/m9vb/9ISEjpEBAQxw8AAFQAAAAAAAAANQAAADcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjo6Mb5iYmP+cnJz/jY2N95CQkO4pKSn/AAAA7gAAAP0AAAD7AAAAhgAAAAEAAAAAAAAAAACL/gsAkv2uAJX/QQAAAAB9fX3egoKC/4CAgP+NjY3/c3Nz+wAAAP8AAAD/AAAA/wAAAPUAAAAcAAAAAAAAAAAAnP4NAJL9rgCR/0YAAAAAfX19w4ODg/98fHz/i4uL/4qKivwAAAD/AAAA/wAAAP8AAAD1AAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALGxsVyqqqr/mpqa/6mpqf9KSUn/AAAA5QAAAPkAAAD5AAAAhQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADkUFBSuZ2dn/3V1df8uLi7bAAAATgBGfyQAAAA2AAAAMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAADoAAAA/wAAAP8AAAD/AAAAWgC3/2AAnv3eAJ/+dgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9AAAA/wAAAP8AAAD/AAAA/wAKDzEAnP3WAKn//wCS/OgAf/8MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIQAAANwAAADtAAAA7QAAAMAAABUMAJn9gwCe/e0Aj/2LAP//AQAAAAAAAAAA - :alt: Powered by MDAnalysis - :target: https://www.mdanalysis.org diff --git a/package/pyproject.toml b/package/pyproject.toml index 931cf83aa3a..355bdb8b04e 100644 --- a/package/pyproject.toml +++ b/package/pyproject.toml @@ -12,3 +12,61 @@ requires = [ "setuptools", "wheel", ] + +[project] +name = "MDAnalysis" +version = 2.1.0-dev0 +license = {file = "LICENSE"} +authors = [ + {name = 'MDAnalysis Core Developers', email = 'mdanalysis@numfocus.org'} +] +maintainers = [ + {name = 'MDAnalysis Core Developers', email = 'mdanalysis@numfocus.org'} +] +requires-python = ">=3.7" +dependencies = [ + 'numpy>=1.18.0', + 'biopython>=1.71', + 'networkx>=1.0', + 'GridDataFormats>=0.4.0', + 'mmtf-python>=1.0.0', + 'joblib>=0.12', + 'scipy>=1.0.0', + 'matplotlib>=1.5.1', + 'tqdm>=4.43.0', + 'threadpoolctl', +] +readme = "../README.rst" +keywords = [ + "python", "science", "chemistry", "biophysics", "molecular-dynamics", + "computational-chemistry", "molecular-simulation", "analysis", + "trajectory-analysis", +] +classifiers = [ + 'Development Status :: 6 - Mature', + 'Environment :: Console', + 'Intended Audience :: Science/Research', + 'License :: OSI Approved :: GNU General Public License v2 (GPLv2)', + 'Operating System :: POSIX', + 'Operating System :: MacOS :: MacOS X', + 'Operating System :: Microsoft :: Windows ', + 'Programming Language :: Python', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', + 'Programming Language :: C', + 'Topic :: Scientific/Engineering', + 'Topic :: Scientific/Engineering :: Bio-Informatics', + 'Topic :: Scientific/Engineering :: Chemistry', + 'Topic :: Software Development :: Libraries :: Python Modules', +] +urls = {'Documentation': 'https://docs.mdanalysis.org/', + 'User Guide': 'https://userguide.mdanalysis.org/', + 'Issue Tracker': 'https://github.com/mdanalysis/mdanalysis/issues', + 'User Group': 'https://groups.google.com/g/mdnalysis-discussion/', + 'Discord': 'https://discord.com/channels/807348386012987462/', + 'Blog': 'https://www.mdanalysis.org/blog/', + 'Twitter': 'https://twitter.com/mdanalysis', + 'Source': 'https://github.com/mdanalysis/mdanalysis'} + diff --git a/package/setup.py b/package/setup.py index 3634a972c81..072480c12b0 100755 --- a/package/setup.py +++ b/package/setup.py @@ -627,7 +627,7 @@ def long_description(readme): 'Twitter': 'https://twitter.com/mdanalysis', 'Source': 'https://github.com/mdanalysis/mdanalysis', }, - license='GPL 2', + license='GPL-2.0-or-later', classifiers=CLASSIFIERS, provides=['MDAnalysis'], packages=find_packages(), From 6e4c9b016376a245be7b10e28042232e84160174 Mon Sep 17 00:00:00 2001 From: IAlibay Date: Sun, 13 Feb 2022 02:47:11 +0000 Subject: [PATCH 02/18] version should be string --- package/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/pyproject.toml b/package/pyproject.toml index 355bdb8b04e..3e1079ecb9e 100644 --- a/package/pyproject.toml +++ b/package/pyproject.toml @@ -15,7 +15,7 @@ requires = [ [project] name = "MDAnalysis" -version = 2.1.0-dev0 +version = "2.1.0-dev0" license = {file = "LICENSE"} authors = [ {name = 'MDAnalysis Core Developers', email = 'mdanalysis@numfocus.org'} From 40be8aacb56b705267194af42a1175c07a49ba89 Mon Sep 17 00:00:00 2001 From: IAlibay Date: Sun, 13 Feb 2022 02:51:48 +0000 Subject: [PATCH 03/18] toml tables not python --- package/pyproject.toml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/package/pyproject.toml b/package/pyproject.toml index 3e1079ecb9e..08d91b9a665 100644 --- a/package/pyproject.toml +++ b/package/pyproject.toml @@ -61,12 +61,12 @@ classifiers = [ 'Topic :: Scientific/Engineering :: Chemistry', 'Topic :: Software Development :: Libraries :: Python Modules', ] -urls = {'Documentation': 'https://docs.mdanalysis.org/', - 'User Guide': 'https://userguide.mdanalysis.org/', - 'Issue Tracker': 'https://github.com/mdanalysis/mdanalysis/issues', - 'User Group': 'https://groups.google.com/g/mdnalysis-discussion/', - 'Discord': 'https://discord.com/channels/807348386012987462/', - 'Blog': 'https://www.mdanalysis.org/blog/', - 'Twitter': 'https://twitter.com/mdanalysis', - 'Source': 'https://github.com/mdanalysis/mdanalysis'} +urls = {'Documentation' = 'https://docs.mdanalysis.org/', + 'User Guide' = 'https://userguide.mdanalysis.org/', + 'Issue Tracker' = 'https://github.com/mdanalysis/mdanalysis/issues', + 'User Group' = 'https://groups.google.com/g/mdnalysis-discussion/', + 'Discord' = 'https://discord.com/channels/807348386012987462/', + 'Blog' = 'https://www.mdanalysis.org/blog/', + 'Twitter' = 'https://twitter.com/mdanalysis', + 'Source' = 'https://github.com/mdanalysis/mdanalysis'} From 90f5616ab934adeeb6085f3246d3a075006423ad Mon Sep 17 00:00:00 2001 From: IAlibay Date: Sun, 13 Feb 2022 02:56:48 +0000 Subject: [PATCH 04/18] switch to project.urls, hope the whitespace works --- package/pyproject.toml | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/package/pyproject.toml b/package/pyproject.toml index 08d91b9a665..72e9c6b5326 100644 --- a/package/pyproject.toml +++ b/package/pyproject.toml @@ -61,12 +61,14 @@ classifiers = [ 'Topic :: Scientific/Engineering :: Chemistry', 'Topic :: Software Development :: Libraries :: Python Modules', ] -urls = {'Documentation' = 'https://docs.mdanalysis.org/', - 'User Guide' = 'https://userguide.mdanalysis.org/', - 'Issue Tracker' = 'https://github.com/mdanalysis/mdanalysis/issues', - 'User Group' = 'https://groups.google.com/g/mdnalysis-discussion/', - 'Discord' = 'https://discord.com/channels/807348386012987462/', - 'Blog' = 'https://www.mdanalysis.org/blog/', - 'Twitter' = 'https://twitter.com/mdanalysis', - 'Source' = 'https://github.com/mdanalysis/mdanalysis'} + +[project.urls] +Documentation = 'https://docs.mdanalysis.org/' +User Guide = 'https://userguide.mdanalysis.org/' +Issue Tracker = 'https://github.com/mdanalysis/mdanalysis/issues' +User Group = 'https://groups.google.com/g/mdnalysis-discussion/' +Discord = 'https://discord.com/channels/807348386012987462/' +Blog = 'https://www.mdanalysis.org/blog/' +Twitter = 'https://twitter.com/mdanalysis' +Source = 'https://github.com/mdanalysis/mdanalysis' From 5b44eb9a89381d76478dadeafabc538f7d245e77 Mon Sep 17 00:00:00 2001 From: IAlibay Date: Sun, 13 Feb 2022 03:02:45 +0000 Subject: [PATCH 05/18] quoted keys _should_ be fine? --- package/pyproject.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/pyproject.toml b/package/pyproject.toml index 72e9c6b5326..71a4196a72f 100644 --- a/package/pyproject.toml +++ b/package/pyproject.toml @@ -64,9 +64,9 @@ classifiers = [ [project.urls] Documentation = 'https://docs.mdanalysis.org/' -User Guide = 'https://userguide.mdanalysis.org/' -Issue Tracker = 'https://github.com/mdanalysis/mdanalysis/issues' -User Group = 'https://groups.google.com/g/mdnalysis-discussion/' +"User Guide" = 'https://userguide.mdanalysis.org/' +"Issue Tracker" = 'https://github.com/mdanalysis/mdanalysis/issues' +"User Group" = 'https://groups.google.com/g/mdnalysis-discussion/' Discord = 'https://discord.com/channels/807348386012987462/' Blog = 'https://www.mdanalysis.org/blog/' Twitter = 'https://twitter.com/mdanalysis' From 3f5b303d25782751df8d8aadbcefd213f4f2b739 Mon Sep 17 00:00:00 2001 From: IAlibay Date: Sun, 13 Feb 2022 04:25:12 +0000 Subject: [PATCH 06/18] pyproject.toml for testsuite --- package/pyproject.toml | 4 +-- package/setup.py | 2 +- testsuite/pyproject.toml | 56 ++++++++++++++++++++++++++++++++++++++++ testsuite/setup.py | 14 +++++----- 4 files changed, 66 insertions(+), 10 deletions(-) create mode 100644 testsuite/pyproject.toml diff --git a/package/pyproject.toml b/package/pyproject.toml index 71a4196a72f..08bb6608de9 100644 --- a/package/pyproject.toml +++ b/package/pyproject.toml @@ -18,7 +18,7 @@ name = "MDAnalysis" version = "2.1.0-dev0" license = {file = "LICENSE"} authors = [ - {name = 'MDAnalysis Core Developers', email = 'mdanalysis@numfocus.org'} + {name = 'MDAnalysis Development Team', email = 'mdanalysis@numfocus.org'} ] maintainers = [ {name = 'MDAnalysis Core Developers', email = 'mdanalysis@numfocus.org'} @@ -46,7 +46,7 @@ classifiers = [ 'Development Status :: 6 - Mature', 'Environment :: Console', 'Intended Audience :: Science/Research', - 'License :: OSI Approved :: GNU General Public License v2 (GPLv2)', + 'License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)', 'Operating System :: POSIX', 'Operating System :: MacOS :: MacOS X', 'Operating System :: Microsoft :: Windows ', diff --git a/package/setup.py b/package/setup.py index 072480c12b0..013cdecef07 100755 --- a/package/setup.py +++ b/package/setup.py @@ -570,7 +570,7 @@ def long_description(readme): 'Development Status :: 6 - Mature', 'Environment :: Console', 'Intended Audience :: Science/Research', - 'License :: OSI Approved :: GNU General Public License v2 (GPLv2)', + 'License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)', 'Operating System :: POSIX', 'Operating System :: MacOS :: MacOS X', 'Operating System :: Microsoft :: Windows ', diff --git a/testsuite/pyproject.toml b/testsuite/pyproject.toml new file mode 100644 index 00000000000..77ae8f19ffb --- /dev/null +++ b/testsuite/pyproject.toml @@ -0,0 +1,56 @@ +[build-system] +# Minimum requirements for the build system to execute +requires = [ + "packaging", + "setuptools", + "wheel", +] + +[project] +name = "MDAnalysisTests" +version = "2.1.0-dev0" +license = {file = "LICENSE"} +authors = [ + {name = 'MDAnalysis Development Team', email = 'mdanalysis@numfocus.org'} +] +maintainers = [ + {name = 'MDAnalysis Core Developers', email = 'mdanalysis@numfocus.org'} +] +requires-python = ">=3.7" +dependencies = [ + 'MDAnalysis==2.1.0-dev0', + 'pytest>=3.3.0', + 'hypothesis', +] +readme = "README" +keywords = [ + "python", "science", "chemistry", "biophysics", "molecular-dynamics", + "computational-chemistry", "molecular-simulation", "analysis", + "trajectory-analysis", +] +classifiers = [ + 'Development Status :: 6 - Mature', + 'Environment :: Console', + 'Intended Audience :: Science/Research', + 'License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)', + 'Operating System :: POSIX', + 'Operating System :: MacOS :: MacOS X', + 'Operating System :: Microsoft :: Windows ', + 'Programming Language :: Python', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', + 'Programming Language :: C', + 'Topic :: Scientific/Engineering', + 'Topic :: Scientific/Engineering :: Bio-Informatics', + 'Topic :: Scientific/Engineering :: Chemistry', + 'Topic :: Software Development :: Libraries :: Python Modules', +] + +[project.urls] +Documentation = 'https://userguide.mdanalysis.org/stable/testing.html' +"CI Coverage" = 'https://codecov.io/gh/MDAnalysis/mdanalysis' +"Developer Group" = 'https://groups.google.com/g/mdnalysis-devel' +"Issue Tracker" = 'https://github.com/mdanalysis/mdanalysis/issues' +Source = 'https://github.com/mdanalysis/mdanalysis' diff --git a/testsuite/setup.py b/testsuite/setup.py index 5a098b07d24..a417255754b 100755 --- a/testsuite/setup.py +++ b/testsuite/setup.py @@ -95,7 +95,7 @@ def run(self): 'Development Status :: 6 - Mature', 'Environment :: Console', 'Intended Audience :: Science/Research', - 'License :: OSI Approved :: GNU General Public License v2 (GPLv2)', + 'License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)', 'Operating System :: POSIX', 'Operating System :: MacOS :: MacOS X', 'Operating System :: Microsoft :: Windows ', @@ -128,7 +128,7 @@ def run(self): 'Issue Tracker': 'https://github.com/mdanalysis/mdanalysis/issues', 'Source': 'https://github.com/mdanalysis/mdanalysis', }, - license='GPL 2', + license='GPL-2.0-or-later', classifiers=CLASSIFIERS, packages=find_packages(), package_dir={'MDAnalysisTests': 'MDAnalysisTests', @@ -180,11 +180,11 @@ def run(self): 'data/*.sdf', ], }, - install_requires=[ - 'MDAnalysis=={0!s}'.format(RELEASE), # same as this release! - 'pytest>=3.3.0', # Raised to 3.3.0 due to Issue 2329 - 'hypothesis', - ], + #install_requires=[ + # 'MDAnalysis=={0!s}'.format(RELEASE), # same as this release! + # 'pytest>=3.3.0', # Raised to 3.3.0 due to Issue 2329 + # 'hypothesis', + #], # had 'KeyError' as zipped egg (2MB savings are not worth the # trouble) zip_safe=False, From fe05f9ff385b888534bf9ddeec15ebe4aa760fdf Mon Sep 17 00:00:00 2001 From: IAlibay Date: Sun, 13 Feb 2022 04:27:26 +0000 Subject: [PATCH 07/18] uncomment test --- testsuite/setup.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/testsuite/setup.py b/testsuite/setup.py index a417255754b..daf073d458f 100755 --- a/testsuite/setup.py +++ b/testsuite/setup.py @@ -180,11 +180,11 @@ def run(self): 'data/*.sdf', ], }, - #install_requires=[ - # 'MDAnalysis=={0!s}'.format(RELEASE), # same as this release! - # 'pytest>=3.3.0', # Raised to 3.3.0 due to Issue 2329 - # 'hypothesis', - #], + install_requires=[ + 'MDAnalysis=={0!s}'.format(RELEASE), # same as this release! + 'pytest>=3.3.0', # Raised to 3.3.0 due to Issue 2329 + 'hypothesis', + ], # had 'KeyError' as zipped egg (2MB savings are not worth the # trouble) zip_safe=False, From e118a1242efda6a0a33b739e25653a7183c177d2 Mon Sep 17 00:00:00 2001 From: IAlibay Date: Sun, 27 Mar 2022 23:47:53 +0100 Subject: [PATCH 08/18] Remove testsuite pyproject.toml for now, dynamic version --- package/pyproject.toml | 5 ++-- testsuite/pyproject.toml | 56 ---------------------------------------- 2 files changed, 3 insertions(+), 58 deletions(-) delete mode 100644 testsuite/pyproject.toml diff --git a/package/pyproject.toml b/package/pyproject.toml index 08bb6608de9..03fd5138767 100644 --- a/package/pyproject.toml +++ b/package/pyproject.toml @@ -15,7 +15,7 @@ requires = [ [project] name = "MDAnalysis" -version = "2.1.0-dev0" +dynamic = ['version'] license = {file = "LICENSE"} authors = [ {name = 'MDAnalysis Development Team', email = 'mdanalysis@numfocus.org'} @@ -49,12 +49,13 @@ classifiers = [ 'License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)', 'Operating System :: POSIX', 'Operating System :: MacOS :: MacOS X', - 'Operating System :: Microsoft :: Windows ', + 'Operating System :: Microsoft :: Windows', 'Programming Language :: Python', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', + 'Programming Language :: Python :: 3.10', 'Programming Language :: C', 'Topic :: Scientific/Engineering', 'Topic :: Scientific/Engineering :: Bio-Informatics', diff --git a/testsuite/pyproject.toml b/testsuite/pyproject.toml deleted file mode 100644 index 77ae8f19ffb..00000000000 --- a/testsuite/pyproject.toml +++ /dev/null @@ -1,56 +0,0 @@ -[build-system] -# Minimum requirements for the build system to execute -requires = [ - "packaging", - "setuptools", - "wheel", -] - -[project] -name = "MDAnalysisTests" -version = "2.1.0-dev0" -license = {file = "LICENSE"} -authors = [ - {name = 'MDAnalysis Development Team', email = 'mdanalysis@numfocus.org'} -] -maintainers = [ - {name = 'MDAnalysis Core Developers', email = 'mdanalysis@numfocus.org'} -] -requires-python = ">=3.7" -dependencies = [ - 'MDAnalysis==2.1.0-dev0', - 'pytest>=3.3.0', - 'hypothesis', -] -readme = "README" -keywords = [ - "python", "science", "chemistry", "biophysics", "molecular-dynamics", - "computational-chemistry", "molecular-simulation", "analysis", - "trajectory-analysis", -] -classifiers = [ - 'Development Status :: 6 - Mature', - 'Environment :: Console', - 'Intended Audience :: Science/Research', - 'License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)', - 'Operating System :: POSIX', - 'Operating System :: MacOS :: MacOS X', - 'Operating System :: Microsoft :: Windows ', - 'Programming Language :: Python', - 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.7', - 'Programming Language :: Python :: 3.8', - 'Programming Language :: Python :: 3.9', - 'Programming Language :: C', - 'Topic :: Scientific/Engineering', - 'Topic :: Scientific/Engineering :: Bio-Informatics', - 'Topic :: Scientific/Engineering :: Chemistry', - 'Topic :: Software Development :: Libraries :: Python Modules', -] - -[project.urls] -Documentation = 'https://userguide.mdanalysis.org/stable/testing.html' -"CI Coverage" = 'https://codecov.io/gh/MDAnalysis/mdanalysis' -"Developer Group" = 'https://groups.google.com/g/mdnalysis-devel' -"Issue Tracker" = 'https://github.com/mdanalysis/mdanalysis/issues' -Source = 'https://github.com/mdanalysis/mdanalysis' From fda76340945738e3fe75005eccf75e19dc9ccf33 Mon Sep 17 00:00:00 2001 From: IAlibay Date: Sun, 27 Mar 2022 23:55:29 +0100 Subject: [PATCH 09/18] try to circumvent disutil issues with manifest --- package/MANIFEST.in | 1 + 1 file changed, 1 insertion(+) diff --git a/package/MANIFEST.in b/package/MANIFEST.in index 960ce3960e6..fe5419ba475 100644 --- a/package/MANIFEST.in +++ b/package/MANIFEST.in @@ -6,6 +6,7 @@ global-include *.cpp include MDAnalysis/lib/src/transformations/* recursive-include doc * include README INSTALL CHANGELOG LICENSE AUTHORS +include ../README.rst include setup.py global-exclude doc/html/html global-exclude *.pyc From b00d4c5dda71013bc93c3a52649cf63a58f673c3 Mon Sep 17 00:00:00 2001 From: IAlibay Date: Mon, 28 Mar 2022 00:00:38 +0100 Subject: [PATCH 10/18] Add trove-classifiers for better testing of pyproject.toml classifiers --- .github/actions/setup-deps/action.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/actions/setup-deps/action.yaml b/.github/actions/setup-deps/action.yaml index 57657d8131e..1c979e06287 100644 --- a/.github/actions/setup-deps/action.yaml +++ b/.github/actions/setup-deps/action.yaml @@ -74,6 +74,8 @@ inputs: default: 'pytest-cov==2.10.1' pytest-xdist: default: 'pytest-xdist' + trove-classifiers: + default: 'trove-classifiers' # pip-install optional dependencies duecredit: default: 'duecredit' @@ -137,6 +139,7 @@ runs: ${{ inputs.coverage }} ${{ inputs.pytest-cov }} ${{ inputs.pytest-xdist }} + ${{ inputs.trove-classifiers }} PIP_OPT_DEPS: | ${{ inputs.duecredit }} ${{ inputs.parmed }} From 3153109b3ecd3d6cdbed79bd1e61f7f220c179ab Mon Sep 17 00:00:00 2001 From: IAlibay Date: Mon, 28 Mar 2022 00:07:06 +0100 Subject: [PATCH 11/18] temp disable readme from pyproject.toml --- package/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/pyproject.toml b/package/pyproject.toml index 03fd5138767..b99c5b7c5e6 100644 --- a/package/pyproject.toml +++ b/package/pyproject.toml @@ -36,7 +36,7 @@ dependencies = [ 'tqdm>=4.43.0', 'threadpoolctl', ] -readme = "../README.rst" +#readme = "../README.rst" keywords = [ "python", "science", "chemistry", "biophysics", "molecular-dynamics", "computational-chemistry", "molecular-simulation", "analysis", From 755a65e50b0416113466f0d881f8a07d7af49471 Mon Sep 17 00:00:00 2001 From: IAlibay Date: Mon, 28 Mar 2022 00:15:53 +0100 Subject: [PATCH 12/18] don't forget packaging --- package/pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/package/pyproject.toml b/package/pyproject.toml index b99c5b7c5e6..12f02ce0e0e 100644 --- a/package/pyproject.toml +++ b/package/pyproject.toml @@ -35,6 +35,7 @@ dependencies = [ 'matplotlib>=1.5.1', 'tqdm>=4.43.0', 'threadpoolctl', + 'packaging' ] #readme = "../README.rst" keywords = [ From fa6063a36d164bb6cb8fd77394cbb864bc60396f Mon Sep 17 00:00:00 2001 From: IAlibay Date: Mon, 28 Mar 2022 00:18:43 +0100 Subject: [PATCH 13/18] move readme to dynamic section --- package/pyproject.toml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/package/pyproject.toml b/package/pyproject.toml index 12f02ce0e0e..843cc4f5e90 100644 --- a/package/pyproject.toml +++ b/package/pyproject.toml @@ -15,7 +15,7 @@ requires = [ [project] name = "MDAnalysis" -dynamic = ['version'] +dynamic = ['version', 'readme'] license = {file = "LICENSE"} authors = [ {name = 'MDAnalysis Development Team', email = 'mdanalysis@numfocus.org'} @@ -37,7 +37,6 @@ dependencies = [ 'threadpoolctl', 'packaging' ] -#readme = "../README.rst" keywords = [ "python", "science", "chemistry", "biophysics", "molecular-dynamics", "computational-chemistry", "molecular-simulation", "analysis", From a7ed38bbff668d9a33b36ae835dc4921cc8abf3a Mon Sep 17 00:00:00 2001 From: IAlibay Date: Mon, 28 Mar 2022 00:20:02 +0100 Subject: [PATCH 14/18] revert manifest --- package/MANIFEST.in | 1 - 1 file changed, 1 deletion(-) diff --git a/package/MANIFEST.in b/package/MANIFEST.in index fe5419ba475..960ce3960e6 100644 --- a/package/MANIFEST.in +++ b/package/MANIFEST.in @@ -6,7 +6,6 @@ global-include *.cpp include MDAnalysis/lib/src/transformations/* recursive-include doc * include README INSTALL CHANGELOG LICENSE AUTHORS -include ../README.rst include setup.py global-exclude doc/html/html global-exclude *.pyc From fd7ccda7a32073819d30c3c7e0926c49b356ed5c Mon Sep 17 00:00:00 2001 From: IAlibay Date: Mon, 28 Mar 2022 00:35:11 +0100 Subject: [PATCH 15/18] remove readme completely for now --- package/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/pyproject.toml b/package/pyproject.toml index 843cc4f5e90..a19d12aaf71 100644 --- a/package/pyproject.toml +++ b/package/pyproject.toml @@ -15,7 +15,7 @@ requires = [ [project] name = "MDAnalysis" -dynamic = ['version', 'readme'] +dynamic = ['version',] license = {file = "LICENSE"} authors = [ {name = 'MDAnalysis Development Team', email = 'mdanalysis@numfocus.org'} From 2977ddbe8393ea97a708dcac526111b88fde21ab Mon Sep 17 00:00:00 2001 From: IAlibay Date: Wed, 7 Dec 2022 11:05:22 +0000 Subject: [PATCH 16/18] various pyproject.toml fixups --- package/pyproject.toml | 40 +++++++++++++++++++++++++++++++++------- package/setup.py | 3 +-- 2 files changed, 34 insertions(+), 9 deletions(-) diff --git a/package/pyproject.toml b/package/pyproject.toml index e4c336b5a7b..386cc26992a 100644 --- a/package/pyproject.toml +++ b/package/pyproject.toml @@ -28,25 +28,29 @@ requires = [ name = "MDAnalysis" dynamic = ['version',] license = {file = "LICENSE"} +readmer = "README.rst" +description = "An object-oriented toolkit to analyze molecular dynamics trajectories." authors = [ {name = 'MDAnalysis Development Team', email = 'mdanalysis@numfocus.org'} ] maintainers = [ {name = 'MDAnalysis Core Developers', email = 'mdanalysis@numfocus.org'} ] -requires-python = ">=3.7" +requires-python = ">=3.8" dependencies = [ - 'numpy>=1.18.0', + 'numpy>=1.20.0', 'biopython>=1.71', - 'networkx>=1.0', + 'networkx>=2.0', 'GridDataFormats>=0.4.0', 'mmtf-python>=1.0.0', 'joblib>=0.12', - 'scipy>=1.0.0', + 'scipy>=1.5.0', 'matplotlib>=1.5.1', 'tqdm>=4.43.0', 'threadpoolctl', - 'packaging' + 'packaging', + 'fasteners', + 'gsd>=1.9.3', ] keywords = [ "python", "science", "chemistry", "biophysics", "molecular-dynamics", @@ -62,11 +66,10 @@ classifiers = [ 'Operating System :: MacOS :: MacOS X', 'Operating System :: Microsoft :: Windows', 'Programming Language :: Python', - 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10', + 'Programming Language :: Python :: 3.11', 'Programming Language :: C', 'Topic :: Scientific/Engineering', 'Topic :: Scientific/Engineering :: Bio-Informatics', @@ -74,6 +77,29 @@ classifiers = [ 'Topic :: Software Development :: Libraries :: Python Modules', ] +[project.optional-dependencies] +extra_formats = [ + "netCDF4>=1.0", + "h5py>=2.10", + "chemfiles>=0.10", + "pyedr>=0.7.0", +] +analysis = [ + "seaborn", + "scikit-learn", + "tidynamics>=1.0.0", +] +doc = [ + "sphinx", + "sphinx-sitemap", + "sphinx_rtd_theme", + "msmb_theme==1.2.0", + "sphinxcontrib-bibtex", + "pybtex", + "pybtex-docutils", +] + + [project.urls] Documentation = 'https://docs.mdanalysis.org/' "User Guide" = 'https://userguide.mdanalysis.org/' diff --git a/package/setup.py b/package/setup.py index 1efd0e05eec..756672a719f 100755 --- a/package/setup.py +++ b/package/setup.py @@ -610,8 +610,7 @@ def long_description(readme): setup(name='MDAnalysis', version=RELEASE, - description=('An object-oriented toolkit to analyze molecular dynamics ' - 'trajectories generated by CHARMM, Gromacs, NAMD, LAMMPS, or Amber.'), + description='An object-oriented toolkit to analyze molecular dynamics trajectories.', long_description=LONG_DESCRIPTION, long_description_content_type='text/x-rst', author='MDAnalysis Development Team', From 6c1b3ab8625ccb8751c71f96c1266f0a6d5f4d5a Mon Sep 17 00:00:00 2001 From: IAlibay Date: Wed, 7 Dec 2022 11:24:02 +0000 Subject: [PATCH 17/18] Add changelog entry --- package/CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/package/CHANGELOG b/package/CHANGELOG index 7efe1751e54..19520ca8695 100644 --- a/package/CHANGELOG +++ b/package/CHANGELOG @@ -39,6 +39,7 @@ Fixes (e.g. bonds, angles) (PR #3779). Enhancements + * MDAnalysis now follows PEP621 (PR #3528) * Improve C content of libxdr Cython, add `read_direct` methods to read coordinates, velocities and forces directly into memoryviews of `Timestep` attributes, make `TRR` timestep have positions, velocities and forces on From f638e1b781c3943ac2726bb8e53d05b16e456245 Mon Sep 17 00:00:00 2001 From: IAlibay Date: Wed, 7 Dec 2022 11:47:04 +0000 Subject: [PATCH 18/18] fix typo --- package/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/pyproject.toml b/package/pyproject.toml index 386cc26992a..f8c0ab75bc2 100644 --- a/package/pyproject.toml +++ b/package/pyproject.toml @@ -28,7 +28,7 @@ requires = [ name = "MDAnalysis" dynamic = ['version',] license = {file = "LICENSE"} -readmer = "README.rst" +readme = "README.rst" description = "An object-oriented toolkit to analyze molecular dynamics trajectories." authors = [ {name = 'MDAnalysis Development Team', email = 'mdanalysis@numfocus.org'}