diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 672cc45c7..e31d4c9bb 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -106,8 +106,7 @@ jobs: with: python-version: ${{ matrix.python_version }} - run: | - pip install -r tests/requirements.txt - pip install --editable . + pip install --editable .[tests] pytest -vv strategy: fail-fast: false @@ -136,8 +135,7 @@ jobs: with: python-version: ${{ matrix.python_version }} - run: | - pip install -r tests/requirements.txt - pip install --editable . + pip install --editable .[tests] pytest -vv strategy: fail-fast: false diff --git a/.readthedocs.yml b/.readthedocs.yml index 0ee7e5c8d..515a3c9bf 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -1,5 +1,15 @@ +version: 2 build: - image: latest + os: ubuntu-22.04 + tools: + python: "3.12" + python: - version: 3.8 -requirements_file: docs/requirements.txt + install: + - method: pip + path: . + extra_requirements: + - docs + +sphinx: + configuration: docs/conf.py diff --git a/docs/conf.py b/docs/conf.py index 5416461cc..b20001c66 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -84,18 +84,11 @@ # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # -on_rtd = os.environ.get('READTHEDOCS') == 'True' -if on_rtd: - html_theme = 'default' - html_theme_options = { - 'logo_only': True, - } -else: - html_theme = 'alabaster' - html_theme_options = { - 'logo': 'images/GNPy-logo.png', - 'logo_name': False, - } +html_theme = 'alabaster' +html_theme_options = { + 'logo': 'images/GNPy-logo.png', + 'logo_name': False, +} html_logo = 'images/GNPy-logo.png' diff --git a/docs/requirements.txt b/docs/requirements.txt deleted file mode 100644 index 0059c8177..000000000 --- a/docs/requirements.txt +++ /dev/null @@ -1,12 +0,0 @@ -alabaster>=0.7.12,<1 -docutils>=0.17.1,<1 -matplotlib>=3.7.3,<4 -myst-parser>=0.16.1,<1 -networkx>=3.1,<4 -numpy>=1.24.4,<2 -Pygments>=2.11.2,<3 -rstcheck -scipy>=1.10.1,<2 -Sphinx>=5.3.0,<6 -sphinxcontrib-bibtex>=2.4.1,<3 -xlrd>=1.2.0,<2 \ No newline at end of file diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 1c7a0043e..000000000 --- a/requirements.txt +++ /dev/null @@ -1,11 +0,0 @@ -# matplotlib 3.8 removed support for Python 3.8 -matplotlib>=3.7.3,<4 -# networkx 3.2 removed support for Python 3.8 -networkx>=3.1,<4 -# numpy 1.25 removed support for Python 3.8 -numpy>=1.24.4,<2 -pbr>=6.0.0,<7 -# scipy 1.11 removed support for Python 3.8 -scipy>=1.10.1,<2 -# xlrd 2.x removed support for .xlsx, it's only .xls now -xlrd>=1.2.0,<2 diff --git a/setup.cfg b/setup.cfg index 029ddf53d..8069c3bb6 100644 --- a/setup.cfg +++ b/setup.cfg @@ -49,3 +49,35 @@ console_scripts = gnpy-transmission-example = gnpy.tools.cli_examples:transmission_main_example gnpy-path-request = gnpy.tools.cli_examples:path_requests_run gnpy-convert-xls = gnpy.tools.convert:_do_convert + +[options] +install_requires = + # matplotlib 3.8 removed support for Python 3.8 + matplotlib>=3.7.3,<4 + # networkx 3.2 removed support for Python 3.8 + networkx>=3.1,<4 + # numpy 1.25 removed support for Python 3.8 + numpy>=1.24.4,<2 + pbr>=6.0.0,<7 + # scipy 1.11 removed support for Python 3.8 + scipy>=1.10.1,<2 + # xlrd 2.x removed support for .xlsx, it's only .xls now + xlrd>=1.2.0,<2 + +[options.extras_require] +tests = + build>=1.0.3,<2 + pytest>=7.4.3,<8 + # pandas 2.1 removed support for Python 3.8 + pandas>=2.0.3,<3 + # flake v6 killed the --diff option + flake8>=5.0.4,<6 + +docs = + alabaster>=0.7.12,<1 + docutils>=0.17.1,<1 + myst-parser>=0.16.1,<1 + Pygments>=2.11.2,<3 + rstcheck + Sphinx>=5.3.0,<6 + sphinxcontrib-bibtex>=2.4.1,<3 diff --git a/tests/requirements.txt b/tests/requirements.txt deleted file mode 100644 index 72676e39d..000000000 --- a/tests/requirements.txt +++ /dev/null @@ -1,7 +0,0 @@ -build>=1.0.3,<2 -pytest>=7.4.3,<8 -# pandas 2.1 removed support for Python 3.8 -pandas>=2.0.3,<3 - -# flake v6 killed the --diff option -flake8>=5.0.4,<6 diff --git a/tox.ini b/tox.ini index 1b8c67dac..f3066da95 100644 --- a/tox.ini +++ b/tox.ini @@ -2,9 +2,8 @@ skipsdist = True [testenv] +extras = tests deps = - -r{toxinidir}/requirements.txt - -r{toxinidir}/tests/requirements.txt cover: pytest-cov linters: flake8 linters: pep8-naming @@ -22,8 +21,7 @@ commands = python -m build [testenv:docs] -deps = - -r{toxinidir}/docs/requirements.txt +extras = docs allowlist_externals = /bin/sh commands =