Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Drop support for Python 3.6 and 3.7 #118

Merged
merged 4 commits into from
Apr 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 15 additions & 22 deletions .github/workflows/testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ on:
- "master"
pull_request:
branches:
- '*'
- "*"
schedule:
# Run tests every Sunday at 12am
- cron: '0 0 * * 0'
- cron: "0 0 * * 0"

concurrency:
group: environment-${{ github.ref }}
Expand All @@ -28,46 +28,39 @@ jobs:
- id: result_step
uses: mstachniuk/ci-skip@master
with:
commit-filter: '[skip ci];[ci skip];[skip github]'
commit-filter-separator: ';'
commit-filter: "[skip ci];[ci skip];[skip github]"
commit-filter-separator: ";"

run_tests:
needs: check_skip
if: ${{ needs.check_skip.outputs.skip == 'false' }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: ["ubuntu-latest", "macos-latest"]
python-version: ["3.6", "3.7", "3.8", "3.9"]
include:
# ubuntu-20.04 is used only to test python 3.6
- os: "ubuntu-20.04"
python-version: "3.6"
exclude:
# ubuntu-latest does not support python 3.6
- os: "ubuntu-latest"
python-version: "3.6"
fail-fast: false
matrix:
os: ["ubuntu-latest", "macos-latest"]
python-version: ["3.8", "3.9"]

name: ${{ matrix.os }} with Python ${{ matrix.python-version }}
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v2
- name: 'Set up python'
- name: "Set up python"
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: 'Display Python version'
python-version: ${{ matrix.python-version }}
- name: "Display Python version"
shell: bash {0}
run: python -c "import sys; print(sys.version)"
- name: 'Install PyMARE'
- name: "Install PyMARE"
shell: bash {0}
run: pip install -e .[tests,stan]
- name: 'Run tests'
- name: "Run tests"
shell: bash {0}
run: python -m pytest --pyargs pymare --cov=pymare
- name: 'Upload coverage to CodeCov'
- name: "Upload coverage to CodeCov"
uses: codecov/codecov-action@v1
if: success()

Expand Down
7 changes: 5 additions & 2 deletions .readthedocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,18 @@
# Required
version: 2

build:
os: "ubuntu-22.04"
tools:
python: "3.9"

# Build documentation in the docs/ directory with Sphinx
sphinx:
configuration: docs/conf.py

python:
version: 3.7
install:
- method: pip
path: .
extra_requirements:
- doc
system_packages: true
1 change: 1 addition & 0 deletions pymare/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""PyMARE: Python Meta-Analysis & Regression Engine."""

import sys
import warnings

Expand Down
1 change: 1 addition & 0 deletions pymare/datasets/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Open meta-analytic datasets."""

from .metadat import michael2013

__all__ = [
Expand Down
1 change: 1 addition & 0 deletions pymare/datasets/metadat.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Datasets from metadat."""

import json
import os.path as op

Expand Down
1 change: 1 addition & 0 deletions pymare/effectsize/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Tools for converting between effect-size measures."""

from .base import (
OneSampleEffectSizeConverter,
TwoSampleEffectSizeConverter,
Expand Down
2 changes: 1 addition & 1 deletion pymare/effectsize/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ def solve_system(system, known_vars=None):

# solver will return a dict if there's only one non-dummy expression
if isinstance(solutions, dict):
solutions = [list(solutions.values())]
solutions = [[solutions[s] for s in symbols]]

# Prepare the dummy list and data args in a fixed order
dummy_list = list(dummies)
Expand Down
1 change: 1 addition & 0 deletions pymare/effectsize/expressions.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Statistical expressions."""

import json
from collections import defaultdict
from itertools import chain
Expand Down
1 change: 1 addition & 0 deletions pymare/estimators/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Estimators for meta-analyses and meta-regressions."""

from .combination import FisherCombinationTest, StoufferCombinationTest
from .estimators import (
DerSimonianLaird,
Expand Down
1 change: 1 addition & 0 deletions pymare/estimators/combination.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Estimators for combination (p/z) tests."""

import warnings
from abc import abstractmethod

Expand Down
1 change: 1 addition & 0 deletions pymare/results.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Tools for representing and manipulating meta-regression results."""

import itertools
from functools import lru_cache
from inspect import getfullargspec
Expand Down
1 change: 1 addition & 0 deletions pymare/tests/conftest.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Data for tests."""

import numpy as np
import pytest

Expand Down
1 change: 1 addition & 0 deletions pymare/tests/test_combination_tests.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Tests for pymare.estimators.combination."""

import numpy as np
import pytest
import scipy.stats as ss
Expand Down
1 change: 1 addition & 0 deletions pymare/tests/test_core.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Tests for pymare.core."""

import numpy as np
import pandas as pd
import pytest
Expand Down
1 change: 1 addition & 0 deletions pymare/tests/test_datasets.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Tests for the pymare.datasets module."""

import pandas as pd

from pymare import datasets
Expand Down
1 change: 1 addition & 0 deletions pymare/tests/test_effectsize_base.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Tests for pymare.effectsize.base."""

import numpy as np
import pandas as pd
import pytest
Expand Down
1 change: 1 addition & 0 deletions pymare/tests/test_effectsize_expressions.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Tests for pymare.effectsize.expressions."""

import pytest
from sympy import Symbol
from sympy.core.sympify import SympifyError
Expand Down
1 change: 1 addition & 0 deletions pymare/tests/test_estimators.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Tests for pymare.estimators.estimators."""

import numpy as np
import pytest

Expand Down
1 change: 1 addition & 0 deletions pymare/tests/test_results.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Tests for pymare.results."""

import numpy as np
import pytest

Expand Down
1 change: 1 addition & 0 deletions pymare/tests/test_stan_estimators.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Tests for estimators that use stan."""

import pytest

from pymare.estimators import StanMetaRegression
Expand Down
1 change: 1 addition & 0 deletions pymare/tests/test_stats.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Tests for pymare.stats."""

from pymare import stats


Expand Down
1 change: 1 addition & 0 deletions pymare/tests/test_utils.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Tests for pymare.utils."""

import os.path as op

import numpy as np
Expand Down
1 change: 1 addition & 0 deletions pymare/utils.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Miscellaneous utility functions."""

import os.path as op

import numpy as np
Expand Down
6 changes: 2 additions & 4 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,12 @@ classifiers =
Intended Audience :: Science/Research
License :: OSI Approved :: MIT License
Operating System :: OS Independent
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Topic :: Scientific/Engineering

[options]
python_requires = >= 3.6
python_requires = >= 3.8
install_requires =
numpy>=1.8.0
pandas
Expand All @@ -57,7 +55,7 @@ doc =
sphinx>=3.5
sphinx-argparse
sphinx-copybutton
sphinx_gallery==0.10.1
sphinx_gallery
sphinx_rtd_theme
sphinxcontrib-bibtex
tests =
Expand Down
Loading