From 7da3d22264b4400204f408d24714f215f8967f2c Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 14 May 2024 08:38:16 -0400 Subject: [PATCH 1/6] merge setup.py into pyproject.toml --- pyproject.toml | 81 +++++++++++++++++++++++++++++++++++++++++- setup.py | 95 -------------------------------------------------- 2 files changed, 80 insertions(+), 96 deletions(-) delete mode 100644 setup.py diff --git a/pyproject.toml b/pyproject.toml index d37fe8ed7..4edbc5646 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,11 +1,90 @@ [project] name = "maggma" -dynamic = ["version", "readme", "scripts", "classifiers", "dependencies","optional-dependencies", "license"] +readme = "README.md" requires-python = ">=3.8" description="Framework to develop datapipelines from files on disk to full dissemenation API" authors =[ {name = "The Materials Project", email = "feedback@materialsproject.org"} ] +classifiers=[ + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Science/Research", + "Intended Audience :: System Administrators", + "Intended Audience :: Information Technology", + "Operating System :: OS Independent", + "Topic :: Other/Nonlisted Topic", + "Topic :: Database :: Front-Ends", + "Topic :: Scientific/Engineering", + ] +license="modified BSD" +dependencies = [ + "setuptools", + "ruamel.yaml>=0.17", + "pydantic>=2.0", + "pydantic-settings>=2.0.3", + "pymongo>=4.2.0", + "monty>=2023.9.25", + "mongomock>=3.10.0", + "pydash>=4.1.0", + "jsonschema>=3.1.1", + "tqdm>=4.19.6", + "mongogrant>=0.3.1", + "aioitertools>=0.5.1", + "numpy>=1.17.3", + "fastapi>=0.42.0", + "pyzmq>=24.0.1", + "dnspython>=1.16.0", + "sshtunnel>=0.1.5", + "msgpack>=0.5.6", + "orjson>=3.9.0", + "boto3>=1.20.41", + "python-dateutil>=2.8.2", + "uvicorn>=0.18.3", + ] + +[project.urls] +Docs = "https://materialsproject.github.io/maggma/" +Repo = "https://github.com/materialsproject/maggma" +Package = "https://pypi.org/project/maggma" + +[project.scripts] +mrun = "maggma.cli:run" + +[project.optional-dependencies] +vasp = ["pymatgen"] +vault = ["hvac>=0.9.5"] +memray = ["memray>=1.7.0"] +montydb = ["montydb>=2.3.12"] +notebook_runner = ["IPython>=8.11", "nbformat>=5.0", "regex>=2020.6"] +azure = ["azure-storage-blob>=12.16.0", "azure-identity>=1.12.0"] +open_data = ["pandas>=2.1.4", "jsonlines>=4.0.0"] +testing = [ + "pytest", + "pytest-cov", + "pytest-mock", + "pytest-asyncio", + "pytest-xdist", + "pre-commit", + "moto", + "ruff", + "responses<0.22.0", + "types-pyYAML", + "types-setuptools", + "types-python-dateutil", + "starlette[full]" + ] +docs = [ + "mkdocs>=1.4.0", + "mkdocs-material>=8.3.9", + "mkdocs-minify-plugin>=0.5.0", + "mkdocstrings[python]>=0.18.1", + "jinja2<3.2.0", + ] [build-system] requires = ["setuptools>=61.0.0", "setuptools_scm[toml]>=5"] diff --git a/setup.py b/setup.py deleted file mode 100644 index 07edb877c..000000000 --- a/setup.py +++ /dev/null @@ -1,95 +0,0 @@ -from pathlib import Path - -from setuptools import find_packages, setup - -module_dir = Path(__file__).resolve().parent - -with open(module_dir / "README.md") as f: - long_desc = f.read() -setup( - name="maggma", - use_scm_version=True, - setup_requires=["setuptools_scm"], - description="Framework to develop datapipelines from files on disk to full dissemination API", - long_description=long_desc, - long_description_content_type="text/markdown", - url="https://github.com/materialsproject/maggma", - author="The Materials Project", - author_email="feedback@materialsproject.org", - license="modified BSD", - packages=find_packages("src"), - package_dir={"": "src"}, - package_data={"maggma": ["py.typed"]}, - zip_safe=False, - include_package_data=True, - install_requires=[ - "setuptools", - "ruamel.yaml>=0.17", - "pydantic>=2.0", - "pydantic-settings>=2.0.3", - "pymongo>=4.2.0", - "monty>=2023.9.25", - "mongomock>=3.10.0", - "pydash>=4.1.0", - "jsonschema>=3.1.1", - "tqdm>=4.19.6", - "mongogrant>=0.3.1", - "aioitertools>=0.5.1", - "numpy>=1.17.3", - "fastapi>=0.42.0", - "pyzmq>=24.0.1", - "dnspython>=1.16.0", - "sshtunnel>=0.1.5", - "msgpack>=0.5.6", - "orjson>=3.9.0", - "boto3>=1.20.41", - "python-dateutil>=2.8.2", - "uvicorn>=0.18.3", - ], - extras_require={ - "vault": ["hvac>=0.9.5"], - "memray": ["memray>=1.7.0"], - "montydb": ["montydb>=2.3.12"], - "notebook_runner": ["IPython>=8.11", "nbformat>=5.0", "regex>=2020.6"], - "azure": ["azure-storage-blob>=12.16.0", "azure-identity>=1.12.0"], - "open_data": ["pandas>=2.1.4", "jsonlines>=4.0.0"], - "testing": [ - "pytest", - "pytest-cov", - "pytest-mock", - "pytest-asyncio", - "pytest-xdist", - "pre-commit", - "moto", - "ruff", - "responses<0.22.0", - "types-pyYAML", - "types-setuptools", - "types-python-dateutil", - "starlette[full]", - ], - "docs": [ - "mkdocs>=1.4.0", - "mkdocs-material>=8.3.9", - "mkdocs-minify-plugin>=0.5.0", - "mkdocstrings[python]>=0.18.1", - "jinja2<3.2.0", - ], - }, - classifiers=[ - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", - "Programming Language :: Python :: 3.11", - "Development Status :: 5 - Production/Stable", - "Intended Audience :: Science/Research", - "Intended Audience :: System Administrators", - "Intended Audience :: Information Technology", - "Operating System :: OS Independent", - "Topic :: Other/Nonlisted Topic", - "Topic :: Database :: Front-Ends", - "Topic :: Scientific/Engineering", - ], - entry_points={"console_scripts": ["mrun = maggma.cli:run"]}, -) From bb0f9513e33211479958c9f95d10626f962292a2 Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 14 May 2024 08:40:04 -0400 Subject: [PATCH 2/6] fix license --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 4edbc5646..c89946bb0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,7 +21,7 @@ classifiers=[ "Topic :: Database :: Front-Ends", "Topic :: Scientific/Engineering", ] -license="modified BSD" +license="LICENSE" dependencies = [ "setuptools", "ruamel.yaml>=0.17", From e7091fa8e68b4aab8b9ed4945841062b583d1a6d Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 14 May 2024 08:41:30 -0400 Subject: [PATCH 3/6] fix license --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index c89946bb0..3e84b0b54 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,7 +21,7 @@ classifiers=[ "Topic :: Database :: Front-Ends", "Topic :: Scientific/Engineering", ] -license="LICENSE" +license = { file = "LICENSE" } dependencies = [ "setuptools", "ruamel.yaml>=0.17", From df6eff6f089fe457cd642cb27f8de564c43ba4c6 Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 14 May 2024 08:44:35 -0400 Subject: [PATCH 4/6] fix license --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 3e84b0b54..02697842d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,6 @@ [project] name = "maggma" readme = "README.md" -requires-python = ">=3.8" description="Framework to develop datapipelines from files on disk to full dissemenation API" authors =[ {name = "The Materials Project", email = "feedback@materialsproject.org"} @@ -21,7 +20,8 @@ classifiers=[ "Topic :: Database :: Front-Ends", "Topic :: Scientific/Engineering", ] -license = { file = "LICENSE" } +license = {file = "LICENSE"} +requires-python = ">=3.8" dependencies = [ "setuptools", "ruamel.yaml>=0.17", From db5c9bdbf4bb95ac04260505c05b65f0c5982087 Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 14 May 2024 08:45:17 -0400 Subject: [PATCH 5/6] fix version --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index 02697842d..90db98b24 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,7 @@ [project] name = "maggma" readme = "README.md" +dynamic = ["version"] description="Framework to develop datapipelines from files on disk to full dissemenation API" authors =[ {name = "The Materials Project", email = "feedback@materialsproject.org"} From be86e5d71001c9a0ef9470e22d5da36e43d4e424 Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 14 May 2024 08:49:14 -0400 Subject: [PATCH 6/6] ruff: inherit target version from requires-python --- pyproject.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 90db98b24..30f5692ca 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -101,7 +101,6 @@ version_scheme = "no-guess-dev" line-length = 120 [tool.ruff] -target-version = "py38" line-length = 120 select = [ "B", # flake8-bugbear