From 657d1de7233ee0aef057ecd491adc86e73b92fdf Mon Sep 17 00:00:00 2001 From: R-Palazzo Date: Wed, 28 Feb 2024 13:34:20 +0000 Subject: [PATCH 01/12] define pyproject.toml --- pyproject.toml | 117 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 pyproject.toml diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..7a83b70 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,117 @@ +[build-system] +requires = ['setuptools', 'wheel'] +build-backend = 'setuptools.build_meta' + +[project] +authors = [{ name = 'DataCebo, Inc.', email = 'info@sdv.dev' }] +classifiers = [ + 'Development Status :: 2 - Pre-Alpha', + 'Intended Audience :: Developers', + 'License :: Free for non-commercial use', + 'Natural Language :: English', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', + 'Programming Language :: Python :: 3.10', + 'Programming Language :: Python :: 3.11', + 'Topic :: Scientific/Engineering :: Artificial Intelligence', +] +description = 'Create sequential synthetic data of mixed types using a GAN.' +keywords = ['deepecho', 'DeepEcho'] +name = 'deepecho' +version = '0.5.1.dev0' +license = { text = 'BSL-1.1' } +requires-python = '>=3.8,<3.12' +readme = 'README.md' +urls = { 'Homepage' = 'https://github.com/sdv-dev/DeepEcho' } + +dependencies = [ + "numpy>=1.20.0,<2;python_version<'3.10'", + "numpy>=1.23.3,<2;python_version>='3.10'", + "pandas>=1.1.3;python_version<'3.10'", + "pandas>=1.3.4;python_version>='3.10' and python_version<'3.11'", + "pandas>=1.5.0;python_version>='3.11'", + "torch>=1.8.0;python_version<'3.10'", + "torch>=1.11.0;python_version>='3.10' and python_version<'3.11'", + "torch>=2.0.0;python_version>='3.11'", + "tqdm>=4.15,<5", +] + +[project.optional-dependencies] + +test = [ + 'pytest>=3.4.2', + 'pytest-cov>=2.6.0', + 'pytest-rerunfailures>=9.0.0,<10', + 'jupyter>=1.0.0,<2', + 'rundoc>=0.4.3,<0.5', +] + +dev = [ + # test + 'pytest>=3.4.2', + 'pytest-cov>=2.6.0', + 'pytest-rerunfailures>=9.0.0,<10', + 'jupyter>=1.0.0,<2', + 'rundoc>=0.4.3,<0.5', + + # general + 'setuptools<49.2', + 'bumpversion>=0.5.3,<0.6', + 'pip>=9.0.1', + 'watchdog>=0.8.3,<0.11', + + # style check + 'flake8>=3.7.7,<4', + 'flake8-absolute-import>=1.0,<2', + 'flake8-docstrings>=1.5.0,<2', + 'flake8-sfs>=0.0.3,<0.1', + 'isort>=4.3.4,<5', + 'pylint>=2.5.3,<3', + 'flake8-builtins>=1.5.3,<1.6', + 'flake8-debugger>=4.0.0,<4.1', + 'flake8-mock>=0.3,<0.4', + 'dlint>=0.11.0,<0.12', + 'flake8-eradicate>=1.1.0,<1.2', + 'flake8-mutable>=1.2.0,<1.3', + 'flake8-fixme>=1.1.1,<1.2', + 'flake8-multiline-containers>=0.0.18,<0.1', + 'flake8-quotes>=3.3.0,<4', + 'flake8-variables-names>=0.0.4,<0.1', + 'pep8-naming>=0.12.1,<0.13', + 'flake8-expression-complexity>=0.0.9,<0.1', + 'flake8-print>=4.0.0,<4.1', + + # fix style issues + 'autoflake>=1.1,<2', + 'autopep8>=1.4.3,<1.6', + + # distribute on PyPI + 'twine>=1.10.0,<4', + 'wheel>=0.30.0', + + # Advanced testing + 'coverage>=4.5.1,<6', + 'tox>=2.9.1,<4', + + # Invoking test commands + 'invoke' +] + +[tool.setuptools] +include-package-data = true + +[tool.setuptools.packages.find] +include = ['deepecho', 'deepecho.*'] +namespaces = false + +[tool.isort] +include_trailing_comment = true +line_length = 99 +lines_between_types = 0 +multi_line_output = 4 +not_skip = ['__init__.py'] +use_parentheses = true + +[tool.pytest.ini_options] +collect_ignore = ["pyproject.toml"] From 4cef911946a53a0650b3c86d3ddb532f72d0619d Mon Sep 17 00:00:00 2001 From: R-Palazzo Date: Wed, 28 Feb 2024 13:34:32 +0000 Subject: [PATCH 02/12] update makefile --- Makefile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 76bb787..9800c77 100644 --- a/Makefile +++ b/Makefile @@ -145,8 +145,7 @@ coverage: ## check code coverage quickly with the default Python .PHONY: dist dist: clean ## builds source and wheel package - python setup.py sdist - python setup.py bdist_wheel + python -m build --wheel --sdist ls -l dist .PHONY: publish-confirm From 741215ba2e842ce39467581b6c54ec7577400eb6 Mon Sep 17 00:00:00 2001 From: R-Palazzo Date: Wed, 28 Feb 2024 13:34:44 +0000 Subject: [PATCH 03/12] update setup.cfg --- setup.cfg | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/setup.cfg b/setup.cfg index 326e768..0fc6494 100644 --- a/setup.cfg +++ b/setup.cfg @@ -16,7 +16,7 @@ values = [bumpversion:part:candidate] -[bumpversion:file:setup.py] +[bumpversion:file:pyproject.toml] search = version='{current_version}' replace = version='{new_version}' @@ -43,20 +43,9 @@ ignore-names = Y, Y_padded -[isort] -include_trailing_comment = True -line_length = 99 -lines_between_types = 0 -multi_line_output = 4 -not_skip = __init__.py -use_parentheses = True - [aliases] test = pytest -[tool:pytest] -collect_ignore = ['setup.py'] - [pylint] persistent = no extension-pkg-whitelist = numpy From bcaf1feb7dba87474ed4226a16bb0ecef645e26e Mon Sep 17 00:00:00 2001 From: R-Palazzo Date: Wed, 28 Feb 2024 13:34:52 +0000 Subject: [PATCH 04/12] update task.py --- tasks.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/tasks.py b/tasks.py index 3e1b0e4..5f9190d 100644 --- a/tasks.py +++ b/tasks.py @@ -56,28 +56,29 @@ def _validate_python_version(line): @task def install_minimum(c): - with open('setup.py', 'r') as setup_py: - lines = setup_py.read().splitlines() + with open('pyproject.toml', 'r') as pyproject: + lines = pyproject.read().splitlines() versions = [] started = False for line in lines: if started: if line == ']': - break + started = False + continue line = line.strip() if _validate_python_version(line): requirement = re.match(r'[^>]*', line).group(0) requirement = re.sub(r"""['",]""", '', requirement) - version = re.search(r'>=?(\d\.?)+', line).group(0) + version = re.search(r'>=?(\d\.?)+\w*', line).group(0) if version: version = re.sub(r'>=?', '==', version) version = re.sub(r"""['",]""", '', version) requirement += version versions.append(requirement) - elif line.startswith('install_requires = ['): + elif (line.startswith('dependencies = [')): started = True c.run(f'python -m pip install {" ".join(versions)}') From 958b4e4bed0bc906da00b6412e3e183ab9541428 Mon Sep 17 00:00:00 2001 From: R-Palazzo Date: Wed, 28 Feb 2024 13:35:06 +0000 Subject: [PATCH 05/12] remove setup.py --- setup.py | 117 ------------------------------------------------------- 1 file changed, 117 deletions(-) delete mode 100644 setup.py diff --git a/setup.py b/setup.py deleted file mode 100644 index c219d66..0000000 --- a/setup.py +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -"""The setup script.""" - -from setuptools import setup, find_packages - -with open('README.md', encoding='utf-8') as readme_file: - readme = readme_file.read() - -with open('HISTORY.md', encoding='utf-8') as history_file: - history = history_file.read() - -install_requires = [ - "numpy>=1.20.0,<2;python_version<'3.10'", - "numpy>=1.23.3,<2;python_version>='3.10'", - "pandas>=1.1.3;python_version<'3.10'", - "pandas>=1.3.4;python_version>='3.10' and python_version<'3.11'", - "pandas>=1.5.0;python_version>='3.11'", - "torch>=1.8.0;python_version<'3.10'", - "torch>=1.11.0;python_version>='3.10' and python_version<'3.11'", - "torch>=2.0.0;python_version>='3.11'", - 'tqdm>=4.15,<5', -] - -setup_requires = [ - 'pytest-runner>=2.11.1', -] - -tests_require = [ - 'pytest>=3.4.2', - 'pytest-cov>=2.6.0', - 'pytest-rerunfailures>=9.0.0,<10', - 'jupyter>=1.0.0,<2', - 'rundoc>=0.4.3,<0.5', -] - -development_requires = [ - # general - 'setuptools<49.2', - 'bumpversion>=0.5.3,<0.6', - 'pip>=9.0.1', - 'watchdog>=0.8.3,<0.11', - - # style check - 'flake8>=3.7.7,<4', - 'flake8-absolute-import>=1.0,<2', - 'flake8-docstrings>=1.5.0,<2', - 'flake8-sfs>=0.0.3,<0.1', - 'isort>=4.3.4,<5', - 'pylint>=2.5.3,<3', - 'flake8-builtins>=1.5.3,<1.6', - 'flake8-debugger>=4.0.0,<4.1', - 'flake8-mock>=0.3,<0.4', - 'dlint>=0.11.0,<0.12', - 'flake8-eradicate>=1.1.0,<1.2', - 'flake8-mutable>=1.2.0,<1.3', - 'flake8-fixme>=1.1.1,<1.2', - 'flake8-multiline-containers>=0.0.18,<0.1', - 'flake8-quotes>=3.3.0,<4', - 'flake8-variables-names>=0.0.4,<0.1', - 'pep8-naming>=0.12.1,<0.13', - 'flake8-expression-complexity>=0.0.9,<0.1', - 'flake8-print>=4.0.0,<4.1', - - # fix style issues - 'autoflake>=1.1,<2', - 'autopep8>=1.4.3,<1.6', - - # distribute on PyPI - 'twine>=1.10.0,<4', - 'wheel>=0.30.0', - - # Advanced testing - 'coverage>=4.5.1,<6', - 'tox>=2.9.1,<4', - - # Invoking test commands - 'invoke' -] - -setup( - author='DataCebo, Inc.', - author_email='info@sdv.dev', - classifiers=[ - 'Development Status :: 2 - Pre-Alpha', - 'Intended Audience :: Developers', - 'License :: Free for non-commercial use', - 'Natural Language :: English', - 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.8', - 'Programming Language :: Python :: 3.9', - 'Programming Language :: Python :: 3.10', - 'Programming Language :: Python :: 3.11', - 'Topic :: Scientific/Engineering :: Artificial Intelligence', - ], - description='Create sequential synthetic data of mixed types using a GAN.', - extras_require={ - 'test': tests_require, - 'dev': development_requires + tests_require, - }, - include_package_data=True, - install_requires=install_requires, - keywords='deepecho deepecho DeepEcho', - license='BSL-1.1', - long_description=readme + '\n\n' + history, - long_description_content_type='text/markdown', - name='deepecho', - packages=find_packages(include=['deepecho', 'deepecho.*']), - python_requires='>=3.8,<3.12', - setup_requires=setup_requires, - test_suite='tests', - tests_require=tests_require, - url='https://github.com/sdv-dev/DeepEcho', - version='0.5.1.dev0', - zip_safe=False, -) From 091d028a88cc52333e4bad7f2268b4bfed257d38 Mon Sep 17 00:00:00 2001 From: R-Palazzo Date: Wed, 28 Feb 2024 15:50:43 +0000 Subject: [PATCH 06/12] update pyproject.toml --- pyproject.toml | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 7a83b70..4ad3db9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,6 +3,8 @@ requires = ['setuptools', 'wheel'] build-backend = 'setuptools.build_meta' [project] +name = 'deepecho' +description = 'Create sequential synthetic data of mixed types using a GAN.' authors = [{ name = 'DataCebo, Inc.', email = 'info@sdv.dev' }] classifiers = [ 'Development Status :: 2 - Pre-Alpha', @@ -16,15 +18,11 @@ classifiers = [ 'Programming Language :: Python :: 3.11', 'Topic :: Scientific/Engineering :: Artificial Intelligence', ] -description = 'Create sequential synthetic data of mixed types using a GAN.' keywords = ['deepecho', 'DeepEcho'] -name = 'deepecho' version = '0.5.1.dev0' license = { text = 'BSL-1.1' } requires-python = '>=3.8,<3.12' readme = 'README.md' -urls = { 'Homepage' = 'https://github.com/sdv-dev/DeepEcho' } - dependencies = [ "numpy>=1.20.0,<2;python_version<'3.10'", "numpy>=1.23.3,<2;python_version>='3.10'", @@ -37,8 +35,13 @@ dependencies = [ "tqdm>=4.15,<5", ] -[project.optional-dependencies] +[project.urls] +"Source Code"= "https://github.com/sdv-dev/SDGym/" +"Issue Tracker" = "https://github.com/sdv-dev/SDGym/issues" +"Twitter" = "https://twitter.com/sdv_dev" +"Chat" = "https://bit.ly/sdv-slack-invite" +[project.optional-dependencies] test = [ 'pytest>=3.4.2', 'pytest-cov>=2.6.0', @@ -46,14 +49,8 @@ test = [ 'jupyter>=1.0.0,<2', 'rundoc>=0.4.3,<0.5', ] - dev = [ - # test - 'pytest>=3.4.2', - 'pytest-cov>=2.6.0', - 'pytest-rerunfailures>=9.0.0,<10', - 'jupyter>=1.0.0,<2', - 'rundoc>=0.4.3,<0.5', + 'deepecho[test]', # general 'setuptools<49.2', From 0954e6a10c9b851b845938f5bf0674362135a035 Mon Sep 17 00:00:00 2001 From: R-Palazzo Date: Thu, 29 Feb 2024 17:40:38 +0000 Subject: [PATCH 07/12] use tomli --- .github/workflows/readme.yml | 1 + CONTRIBUTING.rst | 4 +- pyproject.toml | 1 + tasks.py | 80 +++++++++++++++++------------------- 4 files changed, 42 insertions(+), 44 deletions(-) diff --git a/.github/workflows/readme.yml b/.github/workflows/readme.yml index b3a4413..5f8ba53 100644 --- a/.github/workflows/readme.yml +++ b/.github/workflows/readme.yml @@ -22,5 +22,6 @@ jobs: run: | python -m pip install --upgrade pip python -m pip install invoke rundoc . + python -m pip install tomli - name: Run the README.md run: invoke readme diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 0205c61..08a98bb 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -219,9 +219,9 @@ This will perform the following actions: 2. Bump the current version to the next release candidate, ``X.Y.Z.dev(N+1)`` After this is done, the new pre-release can be installed by including the ``dev`` section in the -dependency specification, either in ``setup.py``:: +dependency specification, either in ``pyproject.toml``:: - install_requires = [ + dependencies = [ ... 'deepecho>=X.Y.Z.dev', ... diff --git a/pyproject.toml b/pyproject.toml index 4ad3db9..91774e7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -48,6 +48,7 @@ test = [ 'pytest-rerunfailures>=9.0.0,<10', 'jupyter>=1.0.0,<2', 'rundoc>=0.4.3,<0.5', + 'tomli>=2.0.0,<3', ] dev = [ 'deepecho[test]', diff --git a/tasks.py b/tasks.py index 5f9190d..91c3bce 100644 --- a/tasks.py +++ b/tasks.py @@ -2,15 +2,15 @@ import inspect import operator import os -import re -import pkg_resources -import platform import shutil import stat +import sys from pathlib import Path +import tomli from invoke import task - +from packaging.requirements import Requirement +from packaging.version import Version COMPARISONS = { '>=': operator.ge, @@ -39,49 +39,45 @@ def unit(c): c.run('python -m pytest ./tests/unit --reruns 3') -def _validate_python_version(line): - is_valid = True - for python_version_match in re.finditer(r"python_version(<=?|>=?|==)\'(\d\.?)+\'", line): - python_version = python_version_match.group(0) - comparison = re.search(r'(>=?|<=?|==)', python_version).group(0) - version_number = python_version.split(comparison)[-1].replace("'", "") - comparison_function = COMPARISONS[comparison] - is_valid = is_valid and comparison_function( - pkg_resources.parse_version(platform.python_version()), - pkg_resources.parse_version(version_number), - ) +def _get_minimum_versions(dependencies, python_version): + min_versions = {} + for dependency in dependencies: + if '@' in dependency: + name, url = dependency.split(' @ ') + min_versions[name] = f'{name} @ {url}' + continue + + req = Requirement(dependency) + if ';' in dependency: + marker = req.marker + if marker and not marker.evaluate({'python_version': python_version}): + continue # Skip this dependency if the marker does not apply to the current Python version + + if req.name not in min_versions: + min_version = next((spec.version for spec in req.specifier if spec.operator in ('>=', '==')), None) + if min_version: + min_versions[req.name] = f'{req.name}=={min_version}' - return is_valid + elif '@' not in min_versions[req.name]: + existing_version = Version(min_versions[req.name].split('==')[1]) + new_version = next((spec.version for spec in req.specifier if spec.operator in ('>=', '==')), existing_version) + if new_version > existing_version: + min_versions[req.name] = f'{req.name}=={new_version}' # Change when a valid newer version is found + + return list(min_versions.values()) @task def install_minimum(c): - with open('pyproject.toml', 'r') as pyproject: - lines = pyproject.read().splitlines() - - versions = [] - started = False - for line in lines: - if started: - if line == ']': - started = False - continue - - line = line.strip() - if _validate_python_version(line): - requirement = re.match(r'[^>]*', line).group(0) - requirement = re.sub(r"""['",]""", '', requirement) - version = re.search(r'>=?(\d\.?)+\w*', line).group(0) - if version: - version = re.sub(r'>=?', '==', version) - version = re.sub(r"""['",]""", '', version) - requirement += version - versions.append(requirement) - - elif (line.startswith('dependencies = [')): - started = True - - c.run(f'python -m pip install {" ".join(versions)}') + with open('pyproject.toml', 'rb') as pyproject_file: + pyproject_data = tomli.load(pyproject_file) + + dependencies = pyproject_data.get('project', {}).get('dependencies', []) + python_version = '.'.join(map(str, sys.version_info[:2])) + minimum_versions = _get_minimum_versions(dependencies, python_version) + + if minimum_versions: + c.run(f'python -m pip install {" ".join(minimum_versions)}') @task From a0c65a00894c34e822053dbd03edbedebc66dd27 Mon Sep 17 00:00:00 2001 From: R-Palazzo Date: Fri, 1 Mar 2024 08:50:13 +0000 Subject: [PATCH 08/12] packaging --- .github/workflows/readme.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/readme.yml b/.github/workflows/readme.yml index 5f8ba53..03a14ac 100644 --- a/.github/workflows/readme.yml +++ b/.github/workflows/readme.yml @@ -23,5 +23,6 @@ jobs: python -m pip install --upgrade pip python -m pip install invoke rundoc . python -m pip install tomli + python -m pip install packaging - name: Run the README.md run: invoke readme From 0347ed91785c99f56831e39b7191b1f4dc175bbb Mon Sep 17 00:00:00 2001 From: R-Palazzo Date: Fri, 1 Mar 2024 09:33:01 +0000 Subject: [PATCH 09/12] test_tasks file --- pyproject.toml | 8 ++++---- tests/test_tasks.py | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 4 deletions(-) create mode 100644 tests/test_tasks.py diff --git a/pyproject.toml b/pyproject.toml index 91774e7..7a7e408 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -32,12 +32,12 @@ dependencies = [ "torch>=1.8.0;python_version<'3.10'", "torch>=1.11.0;python_version>='3.10' and python_version<'3.11'", "torch>=2.0.0;python_version>='3.11'", - "tqdm>=4.15,<5", + 'tqdm>=4.15,<5', ] [project.urls] -"Source Code"= "https://github.com/sdv-dev/SDGym/" -"Issue Tracker" = "https://github.com/sdv-dev/SDGym/issues" +"Source Code"= "https://github.com/sdv-dev/Deepecho/" +"Issue Tracker" = "https://github.com/sdv-dev/Deepecho/issues" "Twitter" = "https://twitter.com/sdv_dev" "Chat" = "https://bit.ly/sdv-slack-invite" @@ -112,4 +112,4 @@ not_skip = ['__init__.py'] use_parentheses = true [tool.pytest.ini_options] -collect_ignore = ["pyproject.toml"] +collect_ignore = ['pyproject.toml'] diff --git a/tests/test_tasks.py b/tests/test_tasks.py new file mode 100644 index 0000000..c78986c --- /dev/null +++ b/tests/test_tasks.py @@ -0,0 +1,38 @@ +"""Tests for the ``tasks.py`` file.""" +from tasks import _get_minimum_versions + + +def test_get_minimum_versions(): + """Test the ``_get_minimum_versions`` method. + + The method should return the minimum versions of the dependencies for the given python version. + If a library is linked to an URL, the minimum version should be the URL. + """ + # Setup + dependencies = [ + "numpy>=1.20.0,<2;python_version<'3.10'", + "numpy>=1.23.3,<2;python_version>='3.10'", + "pandas>=1.2.0,<2;python_version<'3.10'", + "pandas>=1.3.0,<2;python_version>='3.10'", + 'humanfriendly>=8.2,<11', + 'pandas @ git+https://github.com/pandas-dev/pandas.git@master#egg=pandas' + ] + + # Run + minimum_versions_39 = _get_minimum_versions(dependencies, '3.9') + minimum_versions_310 = _get_minimum_versions(dependencies, '3.10') + + # Assert + expected_versions_39 = [ + 'numpy==1.20.0', + 'pandas @ git+https://github.com/pandas-dev/pandas.git@master#egg=pandas', + 'humanfriendly==8.2', + ] + expected_versions_310 = [ + 'numpy==1.23.3', + 'pandas @ git+https://github.com/pandas-dev/pandas.git@master#egg=pandas', + 'humanfriendly==8.2', + ] + + assert minimum_versions_39 == expected_versions_39 + assert minimum_versions_310 == expected_versions_310 From 0d47b1294f0bb31c716053ba92d3032b4970efeb Mon Sep 17 00:00:00 2001 From: R-Palazzo Date: Fri, 1 Mar 2024 14:41:28 +0000 Subject: [PATCH 10/12] add 'pytest-runner>=2.11.1' --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 7a7e408..66cd3b8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [build-system] -requires = ['setuptools', 'wheel'] +requires = ['setuptools', 'wheel', 'pytest-runner>=2.11.1'] build-backend = 'setuptools.build_meta' [project] From 2605e2bc2989570cf3fe98135e16157e038e8538 Mon Sep 17 00:00:00 2001 From: R-Palazzo Date: Fri, 1 Mar 2024 15:06:15 +0000 Subject: [PATCH 11/12] remove pytest-runner --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 66cd3b8..7a7e408 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [build-system] -requires = ['setuptools', 'wheel', 'pytest-runner>=2.11.1'] +requires = ['setuptools', 'wheel'] build-backend = 'setuptools.build_meta' [project] From 551a6702a77dcf0b3799162f109873c4ac89d23c Mon Sep 17 00:00:00 2001 From: R-Palazzo Date: Fri, 1 Mar 2024 15:41:02 +0000 Subject: [PATCH 12/12] move pytest-runner to test dependency --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index 7a7e408..7df2e65 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -48,6 +48,7 @@ test = [ 'pytest-rerunfailures>=9.0.0,<10', 'jupyter>=1.0.0,<2', 'rundoc>=0.4.3,<0.5', + 'pytest-runner >= 2.11.1', 'tomli>=2.0.0,<3', ] dev = [