From 18281ddeaa71b66926a124cfafe5e4b974100a59 Mon Sep 17 00:00:00 2001 From: wendtalexander Date: Fri, 25 Apr 2025 10:56:39 +0200 Subject: [PATCH 01/11] [nixio] adding pyproject.toml file --- pyproject.toml | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 pyproject.toml diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 00000000..dc4e489b --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,77 @@ +[project] +name = "nixio" +version = "1.5.4" +description = "Python reimplementation of NIXIO (http://g-node.github.io/nix/)" +readme = "README.rst" +license = { file = "LICENSE" } +authors = [ + { name = "Christian Kellner" }, + { name = "Adrian Stoewer" }, + { name = "Andrey Sobolev" }, + { name = "Jan Grewe" }, + { name = "Balint Morvai" }, + { name = "Achilleas Koutsou" } +] +maintainers = [ + { name = "Christian Kellner", email = "dev@g-node.org" }, + { name = "Adrian Stoewer", email = "dev@g-node.org" }, + { name = "Andrey Sobolev", email = "dev@g-node.org" }, + { name = "Jan Grewe", email = "dev@g-node.org" }, + { name = "Balint Morvai", email = "dev@g-node.org" }, + { name = "Achilleas Koutsou", email = "dev@g-node.org" } +] +requires-python = ">=3.6" +dependencies = [ + "numpy", + "h5py" +] + +[build-system] +requires = ["setuptools>=78.0.2", "wheel"] +build-backend = "setuptools.build_meta" + +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Programming Language :: Python", + "Programming Language :: Python :: 3.6", + "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 :: Python :: 3.12", + "Topic :: Scientific/Engineering" +] + +[project.urls] +Homepage = "https://github.com/G-Node/nixpy" +Documentation= "https://nixpy.readthedocs.io/en/latest/install.html" + +[project.optional-dependencies] +test = [ + "pytest", + "scipy", + "pillow", + "matplotlib" +] +doc = [ + "sphinx" +] + +[tool.setuptools] +include-package-data = true +zip-safe = false + +[tool.setuptools.packages.find] +where = ["."] +include = [ + "nixio", + "nixio.hdf5", + "nixio.util", + "nixio.exceptions", + "nixio.cmd" +] + +[project.scripts] +nixio = "nixio.cmd.main:main" + From 493ad9cff5558010c036b054afb2b62027ab2800 Mon Sep 17 00:00:00 2001 From: wendtalexander Date: Fri, 25 Apr 2025 10:57:13 +0200 Subject: [PATCH 02/11] [setup] metadata flag can be removed --- setup.cfg | 3 --- 1 file changed, 3 deletions(-) diff --git a/setup.cfg b/setup.cfg index 94c44805..2b4b225b 100644 --- a/setup.cfg +++ b/setup.cfg @@ -9,9 +9,6 @@ all_files = 1 [upload_sphinx] upload-dir = build/docs -[metadata] -description_file = README.rst - [aliases] test=pytest From 6384108e489d101886cc7fe2fef9e49dc96ccea8 Mon Sep 17 00:00:00 2001 From: wendtalexander Date: Fri, 25 Apr 2025 10:57:39 +0200 Subject: [PATCH 03/11] [setup] moving to pyproject.toml --- setup.py | 94 -------------------------------------------------------- 1 file changed, 94 deletions(-) delete mode 100644 setup.py diff --git a/setup.py b/setup.py deleted file mode 100644 index 63c58640..00000000 --- a/setup.py +++ /dev/null @@ -1,94 +0,0 @@ -#!/usr/bin/env python -import sys -import os -import json -from setuptools import setup - -__author__ = 'Christian Kellner, Achilleas Koutsou' - -if sys.version_info.major < 3 or (sys.version_info.major > 2 and sys.version_info.minor < 6): - sys.exit('Sorry, nixio requires python >= 3.6!') - -with open('README.rst') as f: - description_text = f.read() - -with open('LICENSE') as f: - license_text = f.read() - - -is_win = os.name == 'nt' - -# load info from nixio/info.json -with open(os.path.join("nixio", "info.json")) as infofile: - infodict = json.load(infofile) - -VERSION = infodict["VERSION"] -AUTHOR = infodict["AUTHOR"] -CONTACT = infodict["CONTACT"] -BRIEF = infodict["BRIEF"] -HOMEPAGE = infodict["HOMEPAGE"] - - -if "dev" in VERSION: - if is_win: - colorcodes = ("", "") - else: - colorcodes = ("\033[93m", "\033[0m") - sys.stderr.write("{}WARNING: You are building a development version " - "of nixpy.{}\n".format(*colorcodes)) - - -def get_wheel_data(): - data = [] - bin = os.environ.get('NIXPY_WHEEL_BINARIES', '') - if bin and os.path.isdir(bin): - data.append( - ('share/nixio/bin', - [os.path.join(bin, f) for f in os.listdir(bin)])) - return data - - -classifiers = [ - 'Development Status :: 5 - Production/Stable', - 'Programming Language :: Python', - 'Programming Language :: Python :: 3.6', - '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 :: Python :: 3.12', - 'Topic :: Scientific/Engineering' -] - -packages = ['nixio', - 'nixio.hdf5', - 'nixio.util', - 'nixio.exceptions', - 'nixio.cmd'] - -setup( - name='nixio', - version=VERSION, - author=AUTHOR, - author_email=CONTACT, - url=HOMEPAGE, - description=BRIEF, - long_description=description_text, - classifiers=classifiers, - license='BSD', - packages=packages, - scripts=[], - python_requires=">=3.6", - tests_require=['pytest', 'scipy', 'pillow', 'matplotlib'], - test_suite='pytest', - setup_requires=['pytest-runner'], - install_requires=['numpy', 'h5py'], - package_data={'nixio': [license_text, description_text]}, - include_package_data=True, - zip_safe=False, - data_files=get_wheel_data(), - entry_points={'console_scripts': [ - 'nixio=nixio.cmd.main:main' - ]} -) From 84aee1c34f2960ae3386822d19b0556b03fb4a85 Mon Sep 17 00:00:00 2001 From: wendtalexander Date: Fri, 25 Apr 2025 11:34:12 +0200 Subject: [PATCH 04/11] [pyproject] adding all section --- pyproject.toml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index dc4e489b..e47793aa 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -57,6 +57,10 @@ test = [ doc = [ "sphinx" ] +all = [ + "nixio[test]", + "nixio[doc]" +] [tool.setuptools] include-package-data = true From fcf24588beb921d483cead8918c5c9ce0e01ee38 Mon Sep 17 00:00:00 2001 From: wendtalexander Date: Fri, 16 May 2025 08:47:24 +0200 Subject: [PATCH 05/11] [pyproject] removing endoflife python version, adding minimal numpy and h5py --- pyproject.toml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index e47793aa..5de949bb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -20,10 +20,10 @@ maintainers = [ { name = "Balint Morvai", email = "dev@g-node.org" }, { name = "Achilleas Koutsou", email = "dev@g-node.org" } ] -requires-python = ">=3.6" +requires-python = ">=3.9" dependencies = [ - "numpy", - "h5py" + "numpy >= 1.26.0", + "h5py>= 2.0.0" ] [build-system] @@ -33,9 +33,6 @@ build-backend = "setuptools.build_meta" classifiers = [ "Development Status :: 5 - Production/Stable", "Programming Language :: Python", - "Programming Language :: Python :: 3.6", - "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", From e866c9264954c48de765b98d7105f860f05c7255 Mon Sep 17 00:00:00 2001 From: wendtalexander Date: Fri, 16 May 2025 10:41:25 +0200 Subject: [PATCH 06/11] [pyproject] downgrading setuptools --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 5de949bb..bbc8eb06 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -27,7 +27,7 @@ dependencies = [ ] [build-system] -requires = ["setuptools>=78.0.2", "wheel"] +requires = ["setuptools>=75.3.2", "wheel"] build-backend = "setuptools.build_meta" classifiers = [ From 2694c10faa59827b6a0a10578497376d216358c6 Mon Sep 17 00:00:00 2001 From: wendtalexander Date: Fri, 16 May 2025 10:52:05 +0200 Subject: [PATCH 07/11] [pyproject] downgrading numpy and python for github actions --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index bbc8eb06..8f149bd9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -20,9 +20,9 @@ maintainers = [ { name = "Balint Morvai", email = "dev@g-node.org" }, { name = "Achilleas Koutsou", email = "dev@g-node.org" } ] -requires-python = ">=3.9" +requires-python = ">=3.8" dependencies = [ - "numpy >= 1.26.0", + "numpy >= 1.24.4", "h5py>= 2.0.0" ] From dd6e1bf780bf5201671d16fcb8acd03baecdff59 Mon Sep 17 00:00:00 2001 From: wendtalexander Date: Sat, 17 May 2025 12:02:19 +0200 Subject: [PATCH 08/11] [pyproject] fixing classifiers and liccense --- pyproject.toml | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 8f149bd9..82a011d8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,9 +1,13 @@ +[build-system] +requires = ["setuptools>=78.0.2", "wheel"] +build-backend = "setuptools.build_meta" + [project] name = "nixio" version = "1.5.4" description = "Python reimplementation of NIXIO (http://g-node.github.io/nix/)" readme = "README.rst" -license = { file = "LICENSE" } +license-files = ["LICENSE"] authors = [ { name = "Christian Kellner" }, { name = "Adrian Stoewer" }, @@ -20,16 +24,11 @@ maintainers = [ { name = "Balint Morvai", email = "dev@g-node.org" }, { name = "Achilleas Koutsou", email = "dev@g-node.org" } ] -requires-python = ">=3.8" +requires-python = ">=3.9" dependencies = [ - "numpy >= 1.24.4", + "numpy >= 1.26.0", "h5py>= 2.0.0" ] - -[build-system] -requires = ["setuptools>=75.3.2", "wheel"] -build-backend = "setuptools.build_meta" - classifiers = [ "Development Status :: 5 - Production/Stable", "Programming Language :: Python", @@ -75,4 +74,3 @@ include = [ [project.scripts] nixio = "nixio.cmd.main:main" - From 4ed3bf0b0ebca31f66cc4550aa9120fa05018de9 Mon Sep 17 00:00:00 2001 From: wendtalexander Date: Sat, 17 May 2025 12:06:29 +0200 Subject: [PATCH 09/11] [pyproject] fixing reintroduced errors --- pyproject.toml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 82a011d8..3ab9bcc0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [build-system] -requires = ["setuptools>=78.0.2", "wheel"] +requires = ["setuptools>=75.3.2", "wheel"] build-backend = "setuptools.build_meta" [project] @@ -24,14 +24,15 @@ maintainers = [ { name = "Balint Morvai", email = "dev@g-node.org" }, { name = "Achilleas Koutsou", email = "dev@g-node.org" } ] -requires-python = ">=3.9" +requires-python = ">=3.8" dependencies = [ - "numpy >= 1.26.0", + "numpy >= 1.24.4", "h5py>= 2.0.0" ] classifiers = [ "Development Status :: 5 - Production/Stable", "Programming Language :: Python", + "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", From 1a965bbd968dee456e9d6676fc5fd6c8a1d62f98 Mon Sep 17 00:00:00 2001 From: wendtalexander Date: Tue, 20 May 2025 20:57:26 +0200 Subject: [PATCH 10/11] [pyproject] upgrading to 3.9 --- pyproject.toml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 3ab9bcc0..82a011d8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [build-system] -requires = ["setuptools>=75.3.2", "wheel"] +requires = ["setuptools>=78.0.2", "wheel"] build-backend = "setuptools.build_meta" [project] @@ -24,15 +24,14 @@ maintainers = [ { name = "Balint Morvai", email = "dev@g-node.org" }, { name = "Achilleas Koutsou", email = "dev@g-node.org" } ] -requires-python = ">=3.8" +requires-python = ">=3.9" dependencies = [ - "numpy >= 1.24.4", + "numpy >= 1.26.0", "h5py>= 2.0.0" ] classifiers = [ "Development Status :: 5 - Production/Stable", "Programming Language :: Python", - "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", From d02bb9022d1911b89f6877b1b92bed58b7a21466 Mon Sep 17 00:00:00 2001 From: wendtalexander Date: Tue, 20 May 2025 21:16:50 +0200 Subject: [PATCH 11/11] [pyproject] moving to a single dev optional-dependencies --- pyproject.toml | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 82a011d8..679960ee 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -44,18 +44,15 @@ Homepage = "https://github.com/G-Node/nixpy" Documentation= "https://nixpy.readthedocs.io/en/latest/install.html" [project.optional-dependencies] -test = [ +dev = [ + "coveralls", "pytest", - "scipy", + "pytest-cov", "pillow", - "matplotlib" -] -doc = [ - "sphinx" -] -all = [ - "nixio[test]", - "nixio[doc]" + "matplotlib", + "scipy", + "sphinx", + "sphinx_rtd_theme" ] [tool.setuptools]