From 586adf50c4bfa6464e420c0b3bb91618878dd7f1 Mon Sep 17 00:00:00 2001 From: hechtprojects Date: Thu, 21 Mar 2024 11:37:52 +0100 Subject: [PATCH 1/2] PyPI setup finished; version number updated --- .gitignore | 14 +--- AUTHORS | 4 +- CHANGELOG.md | 5 +- MANIFEST.in | 3 + README.md | 17 ++--- amep/_version.py | 2 +- doc/source/conf.py | 2 +- doc/source/gettingstarted/installation.rst | 9 ++- pyproject.toml | 84 +++++++++++++++------- 9 files changed, 85 insertions(+), 55 deletions(-) create mode 100644 MANIFEST.in diff --git a/.gitignore b/.gitignore index 27c22e6..d5d1b6e 100644 --- a/.gitignore +++ b/.gitignore @@ -16,18 +16,7 @@ *.zip # full directories -tests/ -releases/ -backups/ -eval/ -figures/ -logo/ -toadd/ -files/ -pyh5md/ -projectweek/ -parallelization/ -hdf5/ +amep.egg-info/ # compiled __pycache__/ @@ -51,7 +40,6 @@ config/ build/ # Test and example directories and files -figures test/data test/.coverage test/coverage.xml diff --git a/AUTHORS b/AUTHORS index e3f172d..dd075e7 100644 --- a/AUTHORS +++ b/AUTHORS @@ -28,6 +28,7 @@ Chronological list of authors - Aritra Mukhopadhyay - Mahdieh Ebrahimi - Suvendu Mandal + - Benno Liebchen - Malte Cordts - Lukas Walter @@ -36,4 +37,5 @@ Chronological list of authors - Kay-Robert Dormann - Kai Luca Spanheimer - Aritra Mukhopadhyay - - Mahdieh Ebrahimi \ No newline at end of file + - Mahdieh Ebrahimi + - Benno Liebchen \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ea58ab..390defc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,11 +3,12 @@ All notable changes to **AMEP** will be documented in this file. **AMEP** adheres to [semantic versioning](https://semver.org/). -## AMEP 1.0.0-dev +## AMEP 1.0.0 (21 Mar 2024) This is the first public version of **AMEP**. It fully integrates the analysis of continuum simulation data, fixes various bugs of version 0.5.0, and provides -useful new features. +useful new features. It is also the first version that can be installed via +conda and pip. ### New features: diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..032fcb5 --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,3 @@ +prune amep.egg-info +prune doc +prune test \ No newline at end of file diff --git a/README.md b/README.md index e870313..e9fa451 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) [![GitHub Discussions](https://img.shields.io/github/discussions/amepproject/amep)](https://github.com/amepproject/amep/discussions) -![Python Version from PEP 621 TOML](https://img.shields.io/python/required-version-toml?tomlFilePath=https%3A%2F%2Fraw.githubusercontent.com%2Famepproject%2Famep%2Fdoc%2Fupdate%2Fpyproject.toml) +![Python Version from PEP 621 TOML](https://img.shields.io/python/required-version-toml?tomlFilePath=https%3A%2F%2Fraw.githubusercontent.com%2Famepproject%2Famep%2Fmain%2Fpyproject.toml) [![Static Badge](https://img.shields.io/badge/documentation-amepproject.de-blue)](https://amepproject.de)
amep logo
@@ -116,13 +116,13 @@ Anaconda installation path. ## Installation via pip -The installation via `pip` is recommended. Please ensure that the Python -modules `setuptools` and `build` are installed in your Python environment. -Then, download the latest version from -[https://github.com/amepproject/amep](https://github.com/amepproject/amep) -and install it via `pip install ./amep-.targ.gz`. Alternatively, you -can also install **AMEP** from source by `pip install -e amep` while being one -directory above the source. +**AMEP** can be simply installed using `pip`: + +```bash +pip install amep +``` + +The installation via `pip` is recommended. ## FFmpeg @@ -262,6 +262,7 @@ The following people contributed to **AMEP**: - Aritra Mukhopadhyay (developer) - Mahdieh Ebrahimi (developer) - Suvendu Mandal (developer) +- Benno Liebchen (planning) - Lukas Walter (former developer) - Malte Cordts (former developer) diff --git a/amep/_version.py b/amep/_version.py index cc1a5c9..182b546 100644 --- a/amep/_version.py +++ b/amep/_version.py @@ -20,4 +20,4 @@ """ AMEP version number. """ -__version__ = '1.0.0-dev' \ No newline at end of file +__version__ = "1.0.0" \ No newline at end of file diff --git a/doc/source/conf.py b/doc/source/conf.py index 460a8a3..544c63c 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -9,7 +9,7 @@ project = 'AMEP' copyright = '2023-2024, Lukas Hecht, Kay-Robert Dormann, Kai Luca Spanheimer' author = 'Lukas Hecht, Kay-Robert Dormann, Kai Luca Spanheimer' -release = '1.0.0-dev' +release = '1.0.0' # -- General configuration --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration diff --git a/doc/source/gettingstarted/installation.rst b/doc/source/gettingstarted/installation.rst index 192df59..74651c2 100644 --- a/doc/source/gettingstarted/installation.rst +++ b/doc/source/gettingstarted/installation.rst @@ -35,10 +35,13 @@ you can alternatively add the ``amep`` directory to ``Lib/site-packages`` in the Installation via pip -------------------- +**AMEP** can be simply installed via pip: + +.. code-block:: bash + + pip install amep + The installation via ``pip`` is recommended. -Please ensure that the Python modules ``setuptools`` and ``build`` are installed in your Python environment. -Then, download the latest version from https://github.com/amepproject/amep and install it via ``pip install ./amep-.tar.gz``. -Alternatively, you can can also install from source by ``pip install -e .`` while being inside the unpacked source directory. ------ FFmpeg diff --git a/pyproject.toml b/pyproject.toml index 5bd26a3..62efcfc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,41 +1,73 @@ [project] -name="amep" -version="1.0.0-dev" -license={file="LICENSE"} -authors=[ - {name="Lukas Hecht", email="lukas.hecht@pkm.tu-darmstadt.de"}, - ] -description="""The AMEP (Active Matter Evaluation Package) Python library is a powerful tool for analyzing data from molecular-dynamics (MD), Brownian-dynamics (BD), and continuum simulations. It comprises various methods to analyze structural and dynamical properties of condensed matter systems in general and active matter systems in particular. AMEP is exclusively built on Python, and therefore, it is easy to modify and allows to easily add user-defined methods. AMEP provides an efficient data format for saving both simulation data and analysis results based on the HDF5 file format. To be fast and usable on modern HPC (High Performance Computing) hardware, the methods are optimized to run also in parallel.""" -readme="README.md" -requires-python=">=3.10.0" -keywords=["active matter", "soft matter", "physics", "data analysis"] -classifiers=[ +name = "amep" +version = "1.0.0" +license = {file="LICENSE"} +authors = [ + {name = "Lukas Hecht", email = "lukas.hecht@pkm.tu-darmstadt.de"}, +] +description = "Active Matter Evaluation Package for data analysis of active matter simulations" +readme = "README.md" +requires-python = ">=3.10" +keywords = [ + "active matter", + "soft matter", + "physics", + "data analysis", + "computational physics", +] +classifiers = [ + "Development Status :: 5 - Production/Stable", "Intended Audience :: Science/Research", + "Intended Audience :: Education", + "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", "Topic :: Scientific/Engineering :: Physics", - "Topic :: Scientific/Engineering :: Visualization" + "Topic :: Scientific/Engineering :: Visualization", ] -dependencies=[ - "h5py>=3.7.0", - "matplotlib>=3.6.2", - "numba>=0.56.4", - "numpy>=1.21.6", - "scipy>=1.10.0", - "scikit-image>=0.20.0", - "tqdm>=4.65.0" +dependencies = [ + "h5py >= 3.7.0", + "matplotlib >= 3.6.2", + "numba >= 0.56.4", + "numpy >= 1.21.6", + "scipy >= 1.10.0", + "scikit-image >= 0.20.0", + "tqdm >= 4.65.0" ] + [project.urls] -repository="https://git.rwth-aachen.de/liebchengroup/aghecht/amep" +"Homepage" = "https://amepproject.de/" +"Issues" = "https://github.com/amepproject/amep/issues" +"Repository" = "https://github.com/amepproject/amep" +"Documentation" = "https://amepproject.de/" +"Source Code" = "https://github.com/amepproject/amep" +"Forum" = "https://github.com/amepproject/amep/discussions" +"Changelog" = "https://github.com/amepproject/amep/blob/main/CHANGELOG.md" + +[project.optional-dependencies] +# Should be a copy of the build dependencies below. +dev = [ + "setuptools >= 64", +] [build-system] -requires=["setuptools"] -build-backend="setuptools.build_meta" +requires = ["setuptools >= 64"] +build-backend = "setuptools.build_meta" + [tool.setuptools.packages] -find={} +find = {} + [options.packages.find] -include=["amep"] -exclude=["hdf5", "config"] +include = ["amep"] +exclude = [ + "doc", + "examples", + "test", +] + [tool.setuptools.package-data] "amep.styles" = ["*.mplstyle"] From 57f01f6525ecba6288351b4ec05d4ac5e1636ad5 Mon Sep 17 00:00:00 2001 From: hechtprojects Date: Thu, 21 Mar 2024 12:09:13 +0100 Subject: [PATCH 2/2] pypi link updated in doc --- doc/source/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/source/conf.py b/doc/source/conf.py index 544c63c..8b413cb 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -58,7 +58,7 @@ # Label for this link "name": "PyPI", # URL where the link will redirect - "url": "https://pypi.org/", # required + "url": "https://pypi.org/project/amep/", # required # Icon class (if "type": "fontawesome"), or path to local image (if "type": "local") "icon": "fa-brands fa-python", # The type of image to be used (see below for details)