diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index d687eb151..c22d14c5a 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -36,7 +36,7 @@ jobs: fail-fast: false matrix: os: ["ubuntu-latest"] - python-version: ["3.8"] + python-version: ["3.13"] name: Style check defaults: run: diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index a9ff1a951..aad5889a0 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -17,7 +17,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: '3.8' + python-version: '3.13' - name: Install dependencies run: | python -m pip install --upgrade pip diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index 577326427..2cf8a1fc0 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -38,7 +38,7 @@ jobs: fail-fast: false matrix: os: ["ubuntu-latest", "macos-latest"] - python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] defaults: run: @@ -71,7 +71,7 @@ jobs: fail-fast: false matrix: os: ["ubuntu-latest"] - python-version: ["3.8"] + python-version: ["3.9"] defaults: run: shell: bash @@ -80,7 +80,7 @@ jobs: - name: "Set up python" uses: actions/setup-python@v4 with: - python-version: 3.8 + python-version: 3.9 - name: "Install NiMARE" shell: bash {0} run: pip install -e .[minimum,tests,cbmr] @@ -103,7 +103,7 @@ jobs: fail-fast: false matrix: os: ["ubuntu-latest"] - python-version: ["3.8"] + python-version: ["3.13"] defaults: run: shell: bash @@ -135,7 +135,7 @@ jobs: fail-fast: false matrix: os: ["ubuntu-latest"] - python-version: ["3.8"] + python-version: ["3.13"] defaults: run: shell: bash @@ -167,7 +167,7 @@ jobs: fail-fast: false matrix: os: ["ubuntu-latest"] - python-version: ["3.8"] + python-version: ["3.13"] defaults: run: shell: bash @@ -199,7 +199,7 @@ jobs: fail-fast: false matrix: os: ["ubuntu-latest"] - python-version: ["3.8"] + python-version: ["3.13"] defaults: run: shell: bash diff --git a/docs/installation.rst b/docs/installation.rst index 9efd575d3..07c5c8c15 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -15,12 +15,12 @@ If you want to use the most up-to-date version, you can install from the ``main` pip install git+https://github.com/neurostuff/NiMARE.git -NiMARE requires Python ``>=3.8`` and a number of packages. +NiMARE requires Python ``>=3.9`` and a number of packages. For a complete list, please see ``nimare/setup.cfg``. .. note:: - We only support Python versions that are part of the Python release cycle (i.e., 3.8, 3.9, - 3.10, 3.11, and 3.12). For more information, see `Python Supported Versions`_. + We only support Python versions that are part of the Python release cycle (i.e., 3.9, 3.10, + 3.11, 3.12, and 3.13). For more information, see `Python Supported Versions`_. What Next? ---------- diff --git a/nimare/annotate/gclda.py b/nimare/annotate/gclda.py index 24deccf4e..b5f5f06c5 100755 --- a/nimare/annotate/gclda.py +++ b/nimare/annotate/gclda.py @@ -183,7 +183,7 @@ def __init__( if n_terms_in_corpus != n_terms: LGR.warning( "Some terms in count_df do not appear in corpus. " - f"Retaining {n_terms_in_corpus/n_terms} terms." + f"Retaining {n_terms_in_corpus / n_terms} terms." ) # Get updated vocabulary diff --git a/nimare/reports/base.py b/nimare/reports/base.py index abf445147..2d11c48af 100644 --- a/nimare/reports/base.py +++ b/nimare/reports/base.py @@ -472,22 +472,22 @@ def __init__( dataset, sel_id, meta_type, - self.fig_dir / f"preliminary_dset-{dset_i+1}_summary.html", + self.fig_dir / f"preliminary_dset-{dset_i + 1}_summary.html", ) # Plot mask plot_mask( dataset.masker.mask_img, - self.fig_dir / f"preliminary_dset-{dset_i+1}_figure-mask.png", + self.fig_dir / f"preliminary_dset-{dset_i + 1}_figure-mask.png", ) if meta_type == "CBMA": # Plot coordinates for CBMA estimators plot_coordinates( dataset.coordinates, - self.fig_dir / f"preliminary_dset-{dset_i+1}_figure-static.png", - self.fig_dir / f"preliminary_dset-{dset_i+1}_figure-interactive.html", - self.fig_dir / f"preliminary_dset-{dset_i+1}_figure-legend.png", + self.fig_dir / f"preliminary_dset-{dset_i + 1}_figure-static.png", + self.fig_dir / f"preliminary_dset-{dset_i + 1}_figure-interactive.html", + self.fig_dir / f"preliminary_dset-{dset_i + 1}_figure-legend.png", ) elif meta_type == "IBMA": # Use "z_maps", for Fishers, and Stouffers; otherwise use "beta_maps". @@ -505,32 +505,32 @@ def __init__( _plot_relcov_map( maps_arr, self.results.estimator.masker, - self.fig_dir / f"preliminary_dset-{dset_i+1}_figure-relcov.png", + self.fig_dir / f"preliminary_dset-{dset_i + 1}_figure-relcov.png", ) else: dof_map = self.results.get_map("dof") _plot_dof_map( dof_map, - self.fig_dir / f"preliminary_dset-{dset_i+1}_figure-dof.png", + self.fig_dir / f"preliminary_dset-{dset_i + 1}_figure-dof.png", ) _plot_true_voxels( maps_arr, ids_, - self.fig_dir / f"preliminary_dset-{dset_i+1}_figure-truevoxels.html", + self.fig_dir / f"preliminary_dset-{dset_i + 1}_figure-truevoxels.html", ) _plot_ridgeplot( maps_arr, ids_, x_label, - self.fig_dir / f"preliminary_dset-{dset_i+1}_figure-ridgeplot.html", + self.fig_dir / f"preliminary_dset-{dset_i + 1}_figure-ridgeplot.html", ) _plot_sumstats( maps_arr, ids_, - self.fig_dir / f"preliminary_dset-{dset_i+1}_figure-summarystats.html", + self.fig_dir / f"preliminary_dset-{dset_i + 1}_figure-summarystats.html", ) # Compute similarity matrix @@ -557,7 +557,7 @@ def __init__( plot_heatmap( similarity_table, - self.fig_dir / f"preliminary_dset-{dset_i+1}_figure-similarity.html", + self.fig_dir / f"preliminary_dset-{dset_i + 1}_figure-similarity.html", symmetric=True, cmap="RdBu_r", zmin=-1, diff --git a/setup.cfg b/setup.cfg index fec8e8e13..240e2667a 100644 --- a/setup.cfg +++ b/setup.cfg @@ -15,19 +15,18 @@ classifiers = Intended Audience :: Science/Research License :: OSI Approved :: MIT License Operating System :: OS Independent - 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 + Programming Language :: Python :: 3.13 Topic :: Scientific/Engineering [options] -python_requires = >= 3.8 +python_requires = >= 3.9 install_requires = cognitiveatlas>=0.1.11 # nimare.annotate.cogat fuzzywuzzy # nimare.annotate - importlib-resources; python_version < '3.9' # for importlib.resources.files in Python 3.8 jinja2 # nimare.reports joblib>=1.3.0 # parallelization matplotlib>=3.6.0 # this is for nilearn, which doesn't include it in its reqs @@ -71,7 +70,7 @@ doc = sphinxcontrib-mermaid docutils>=0.18.1,<0.21 # https://github.com/orgs/sphinx-doc/discussions/13020 tests = - coverage + coverage>=7.7 # due to coverage API changing in 7.6->7.7 and numba not being compatible (https://github.com/numba/numba/issues/10239) coveralls flake8-black flake8-docstrings