diff --git a/pyproject.toml b/pyproject.toml index 71c4ac45a..7d70cbb69 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,6 +5,87 @@ requires = [ "numpy", "cython>=0.29" ] +build-backend = "setuptools.build_meta" + + +[project] +name = "mrsimulator" +description = "A python toolbox for simulating fast real-time solid-state NMR spectra." +readme = "README.md" +dynamic = ["version"] +license = {file = "LICENSE"} +requires-python = ">= 3.8" +keywords = [ + "spectrum", "material", "simulation", "SAS", "NMR", "PASS", "CSA", + "spectral-analysis", "MAT", "lineshape", "nuclear-shielding", "SSNMR", + "spinning-sidebands", "quadrupole", "czjzek", "extended-czjzek", + "glass-nmr", "MQMAS", "STMAS" +] + +dependencies = [ + "numpy>=1.20", + "csdmpy>=0.6", + "pydantic>=2.8", + "monty>=2.0.4", + "typing-extensions>=3.7", + "astropy", + "psutil>=5.4.8", + "joblib>=1.0.0", + "pandas>=1.1.3", + "lmfit>=1.0.2", + "matplotlib>=3.3.4", +] + +authors = [ + {name = "Deepansh J. Srivastava"}, + {name = "Tzu-Ping Chung"}, + {name = "Another person"}, + {email = "different.person@example.com"}, +] + +maintainers = [ + {name = "Deepansh J. Srivastava"} +] + +classifiers = [ + # How mature is this project? Common values are + # 3 - Alpha + # 4 - Beta + # 5 - Production/Stable + "Development Status :: 4 - Beta", + + # Indicate who your project is intended for + "Intended Audience :: Science/Research", + "Intended Audience :: Education", + "Intended Audience :: Developers", + + "Operating System :: OS Independent", + + "Topic :: Education", + "Topic :: Scientific/Engineering :: Chemistry", + "Topic :: Scientific/Engineering :: Physics", + + # Pick your license as you wish (see also "license" above) + "License :: OSI Approved :: BSD License", + + # Specify the Python versions you support here. + "Programming Language :: C", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", +] + +[project.urls] +Documentation = "https://mrsimulator.readthedocs.io/en/stable/" +Repository = "https://github.com/deepanshs/mrsimulator.git" +Issues = "https://github.com/deepanshs/mrsimulator/issues" + +[project.scripts] +mrsimulator = "mrsimulator.__main__:run" + [tool.pylint.messages_control] extension-pkg-whitelist = ["pydantic", "mrsimulator"] diff --git a/setup.py b/setup.py index 496f55d5b..5bf5a4756 100644 --- a/setup.py +++ b/setup.py @@ -33,7 +33,7 @@ def message(lib, env, command, key): "For example,\n", '\texport LDFLAGS="-L/usr/local/opt/openblas/lib"\n', '\texport CPPFLAGS="-I/usr/local/opt/openblas/include"\n', - f"\nYou can also try installing '{lib}' from {env} with:", + f"\nYou can also try installing '{lib}' from {env} with: ", f"\n\t{command} install {arg}\n", ) warnings.warn("".join(warning)) @@ -284,7 +284,7 @@ def fftw_info(self): include_dirs = list(set(win.include_dirs)) libraries = list(set(win.libraries)) -# other include paths +# Other include paths include_dirs += ["src/c_lib/include/", numpy_include] # print info @@ -353,58 +353,10 @@ def fftw_info(self): if USE_CYTHON: ext_modules = cythonize(ext_modules, language_level=3, gdb_debug=False) -extras = {} # {"all": ["matplotlib>=3.3.4"]} - -description = "A python toolbox for simulating fast real-time solid-state NMR spectra." setup( - name="mrsimulator", version=version, - description=description, - long_description=open(join(module_dir, "README.md")).read(), - long_description_content_type="text/markdown", - author="Deepansh J. Srivastava", - author_email="srivastava.89@osu.edu", - python_requires=">=3.8", - url="https://github.com/deepanshs/mrsimulator/", packages=find_packages("src"), package_dir={"": "src"}, - setup_requires=["numpy>=1.20"], - install_requires=[ - "numpy>=1.20", - "csdmpy>=0.6", - "pydantic>=2.8", - "monty>=2.0.4", - "typing-extensions>=3.7", - "psutil>=5.4.8", - "joblib>=1.0.0", - "pandas>=1.1.3", - "lmfit>=1.0.2", - "matplotlib>=3.3.4", - ], - entry_points={"console_scripts": ["mrsimulator=mrsimulator.__main__:run"]}, - extras_require=extras, ext_modules=ext_modules, include_package_data=True, - zip_safe=False, - license="BSD-3-Clause", - classifiers=[ - # Trove classifiers - # Full list: https://pypi.python.org/pypi?%3Aaction=list_classifiers - "Intended Audience :: Science/Research", - "Intended Audience :: Education", - "Intended Audience :: Developers", - "Operating System :: OS Independent", - "Development Status :: 4 - Beta", - "License :: OSI Approved :: BSD License", - "Programming Language :: C", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", - "Programming Language :: Python :: 3.11", - "Programming Language :: Python :: 3.12", - "Topic :: Education", - "Topic :: Scientific/Engineering :: Chemistry", - "Topic :: Scientific/Engineering :: Physics", - ], ) diff --git a/src/mrsimulator/__init__.py b/src/mrsimulator/__init__.py index 77312f1d2..1176915e1 100644 --- a/src/mrsimulator/__init__.py +++ b/src/mrsimulator/__init__.py @@ -23,7 +23,7 @@ __license__ = "BSD License" __maintainer__ = "Deepansh J. Srivastava" __status__ = "Beta" -__version__ = "0.8.0rc1" +__version__ = "1.0rc1" import os