Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: neurostuff/PyMARE
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 0.0.2
Choose a base ref
...
head repository: neurostuff/PyMARE
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref

Commits on Dec 9, 2020

  1. [DOC] Add RTD config file (#58)

    * Add readthedocs config file.
    
    * Remove old requirements file.
    
    RTD config + info.py supercedes this.
    
    * Clean up info.py and example.
    
    * Rename build step.
    
    This way, there won't be that extraneous artifact.
    tsalo authored Dec 9, 2020
    Copy the full SHA
    ecc71fa View commit details

Commits on Dec 17, 2021

  1. Update repository packaging (#65)

    * Start reorganizing the packaging.
    
    * Fix TOML file.
    
    * Run isort and black.
    
    * Fix mistune issue.
    
    * Fix.
    
    * Switch to GHA for PyPi deployment.
    
    * Fix Sphinx gallery setting.
    
    * Fix styling issues introduced by black.
    
    * Fix some issues identified by flake8.
    tsalo authored Dec 17, 2021
    Copy the full SHA
    a794483 View commit details
  2. Remove 3.5 support, add tests on other Python versions, and break Sta…

    …nMetaRegression for Python 3.7+ (#66)
    
    * Add GHA to run tests.
    
    * Remove CircleCI config.
    
    * Add a badge.
    
    * Fix install.
    
    * We need stan too.
    
    * Autocancel redundant tests.
    
    * Check that pystan is installed.
    
    * Toggle stan import.
    
    * Drop 3.6 support completely and work around pystan API changes.
    
    * Update info.py
    
    * Just skip stan.
    
    * Add 3.6 back.
    
    * PyStan doesn't work with 3.10, so drop it.
    tsalo authored Dec 17, 2021
    Copy the full SHA
    7eb950f View commit details
  3. Add release template. (#68)

    tsalo authored Dec 17, 2021
    Copy the full SHA
    c3b3962 View commit details
  4. Simplify packaging and update versioneer (#69)

    * Switch to setup.cfg for metadata.
    
    Also update versioneer to 0.21.
    
    * Fix up config file.
    
    * Clean up docs a bit.
    tsalo authored Dec 17, 2021
    Copy the full SHA
    2858c48 View commit details
  5. Add Zenodo badges to documentation (#71)

    * Add Zenodo badges.
    
    * Add myself to the Zenodo file.
    tsalo authored Dec 17, 2021
    Copy the full SHA
    f009e43 View commit details

Commits on Dec 18, 2021

  1. Convert docstrings to numpydoc convention. (#72)

    * Start converting docstrings to numpydoc convention.
    
    * Mark a few more to change.
    
    * Add linting job.
    
    * Docstrings!
    
    * Fix kwargs.
    
    * Update core.py
    
    * Some docstrings for tests.
    
    * More work.
    
    * More docstrings.
    
    * More docstrings.
    
    * Fix up examples.
    
    * Fix up docstrings more.
    tsalo authored Dec 18, 2021
    Copy the full SHA
    9b8259b View commit details

Commits on Jan 6, 2022

  1. Add a weekly CI job. (#77)

    tsalo authored Jan 6, 2022
    Copy the full SHA
    3c7ba65 View commit details
  2. Copy the full SHA
    80c0709 View commit details

Commits on Feb 6, 2022

  1. Copy the full SHA
    c4324c3 View commit details

Commits on Mar 7, 2022

  1. Support Python 3.10.

    tsalo committed Mar 7, 2022
    Copy the full SHA
    5307fd9 View commit details
  2. Copy the full SHA
    573a226 View commit details
  3. Copy the full SHA
    241b775 View commit details

Commits on Apr 21, 2022

  1. Update installation.rst

    tsalo committed Apr 21, 2022
    Copy the full SHA
    60914dd View commit details

Commits on May 25, 2022

  1. Use BibTeX for references and improve docstrings (#86)

    * Use BibTeX and enhance docstrings.
    
    * Update estimators.py
    
    * More improvements.
    tsalo authored May 25, 2022
    Copy the full SHA
    fc69b3c View commit details
  2. Add FDR and Bonferroni correction functions (#87)

    * Add FDR and Bonferroni functions.
    
    * Add references.
    
    * Fix directive.
    tsalo authored May 25, 2022
    Copy the full SHA
    94855af View commit details

Commits on May 26, 2022

  1. Make n and X optional for DataFrame-based Datasets (#89)

    * Allow "n" with Datasets made from DataFrames.
    
    * Make X optional as well.
    
    * Enhance test.
    tsalo authored May 26, 2022
    Copy the full SHA
    29ccfbf View commit details

Commits on May 27, 2022

  1. Add a datasets module for example meta-analytic datasets (#90)

    * Add datasets module.
    
    * Add tests for the new functions.
    
    * Add new files to package data.
    
    * Update test_datasets.py
    
    * Improve example.
    
    * Improve example again.
    
    * Add to_df method to Dataset.
    
    * Run black.
    
    * Update test_core.py
    
    * Update tests.
    
    * Update metadat.py
    tsalo authored May 27, 2022
    Copy the full SHA
    cda03cc View commit details
  2. Coerce tau2 to an array in permutation_test (#94)

    * Coerce tau2 to an array in permutation_test.
    
    * Update plot_run_meta-analysis.py
    
    * Update plot_run_meta-analysis.py
    
    * Update plot_run_meta-analysis.py
    tsalo authored May 27, 2022
    Copy the full SHA
    131445c View commit details

Commits on May 28, 2022

  1. Add a code of conduct and update documentation theme (#96)

    * Add some documentation.
    
    * More improvements.
    tsalo authored May 28, 2022
    Copy the full SHA
    541894e View commit details

Commits on Jun 4, 2022

  1. Fix maximum likelihood Estimators' SE outputs (#98)

    * Fix fe_stats["se"] shape.
    
    * Test variable shapes for all Estimators.
    tsalo authored Jun 4, 2022
    Copy the full SHA
    be85ec4 View commit details

Commits on Jun 5, 2022

  1. Allow Results objects to work with Estimators' fit() method (#104)

    * Override .dataset_ with None when calling fit().
    
    * Warn about missing dataset attribute.
    
    * Test new behavior.
    
    * Improve Estimator fit docstrings.
    
    * Remove extra blank line.
    
    * Add @JulioAPeraza's review.
    tsalo authored Jun 5, 2022
    Copy the full SHA
    f425ff9 View commit details

Commits on Jun 8, 2022

  1. Enhance Dataset example (#100)

    * Update plot_create_dataset.py
    
    * Enhance datasets example.
    
    * Replace "datasets" with "dependent variables".
    tsalo authored Jun 8, 2022
    Copy the full SHA
    0a99840 View commit details

Commits on Jun 12, 2022

  1. Add shape check to Dataset initialization (#106)

    * Check input array shapes when Dataset is initialized
    
    * Add test for nimare.utils._check_inputs_shape
    
    * Cover two missing lines by the test
    
    * Add test when n or v is None
    
    * Remove extra clause
    JulioAPeraza authored Jun 12, 2022
    Copy the full SHA
    19af399 View commit details

Commits on Aug 10, 2022

  1. Copy the full SHA
    001f5d6 View commit details

Commits on Jan 25, 2023

  1. Copy the full SHA
    52c5374 View commit details
  2. Copy the full SHA
    2984f88 View commit details
  3. Revert "Temporary remove scheduled tests"

    This reverts commit 2984f88.
    JulioAPeraza committed Jan 25, 2023
    Copy the full SHA
    222e75c View commit details
  4. Fix lint error

    JulioAPeraza committed Jan 25, 2023
    Copy the full SHA
    75fbb1d View commit details

Commits on Jan 26, 2023

  1. Merge pull request #114 from JulioAPeraza/depc-py36

    Raise deprecation warnings with Python 3.6 and 3.7
    JulioAPeraza authored Jan 26, 2023
    Copy the full SHA
    604bb4f View commit details

Commits on Apr 2, 2024

  1. Copy the full SHA
    f31dbf3 View commit details
  2. Run black

    JulioAPeraza committed Apr 2, 2024
    Copy the full SHA
    8f42983 View commit details
  3. Update results.py

    JulioAPeraza committed Apr 2, 2024
    Copy the full SHA
    4a93dc5 View commit details

Commits on Apr 3, 2024

  1. Update setup.cfg

    JulioAPeraza committed Apr 3, 2024
    Copy the full SHA
    3cfb86b View commit details
  2. Merge pull request #118 from JulioAPeraza/drop-py367

    Drop support for Python 3.6 and 3.7
    jdkent authored Apr 3, 2024
    Copy the full SHA
    bee163b View commit details
  3. Copy the full SHA
    760afb3 View commit details
  4. Merge pull request #82 from tsalo/py310

    Support Python 3.10
    jdkent authored Apr 3, 2024
    Copy the full SHA
    1402199 View commit details

Commits on Apr 4, 2024

  1. Fix StanMetaRegression estimator (#108)

    * Fix StanMetaRegression estimator
    
    * add pystan and arviz to required dependencies
    
    * Revert "add pystan and arviz to required dependencies"
    
    This reverts commit 28ef19d.
    
    * Keeping pystan and arviz optional
    
    * Skip PyStan on Python 3.6
    
    * Skip PyStan test for Python < 3.6
    
    * Include warning to the documentation and raise an error in __init__
    
    * Update estimators.py
    
    * Fix `black` issues
    
    * Update test_stan_estimators.py
    
    * declare array
    
    * try adding additional prereqs
    
    * add additional import statement to get error
    
    * fix scipy issue
    
    * add the naked import back in
    
    * fix scipy version
    
    * undo naked import
    
    ---------
    
    Co-authored-by: James Kent <jamesdkent21@gmail.com>
    JulioAPeraza and jdkent authored Apr 4, 2024
    Copy the full SHA
    c38b0bb View commit details

Commits on Apr 9, 2024

  1. Add an inflation factor to correct for multiple contrasts in Stouffer…

    …'s combination test (#117)
    
    * Add correction term for multiple contrasts in Stouffer's combination test
    
    * Update RTD yml
    
    * Update .readthedocs.yml
    
    * Update combination.py
    
    * Update .readthedocs.yml
    
    * Update setup.cfg
    
    * Update testing.yml
    
    * Update testing.yml
    
    * Run black
    
    * Make sure solutions and symbols match
    
    * Update combination.py
    JulioAPeraza authored Apr 9, 2024
    Copy the full SHA
    7465939 View commit details

Commits on Apr 11, 2024

  1. Support Python 3.11 (#119)

    * Support Python 3.11 and 3.12
    
    * fix distutils deprecation error in Python 3.12
    
    * Update pyproject.toml
    
    * Drop 3.12
    
    * Update pyproject.toml
    JulioAPeraza authored Apr 11, 2024
    Copy the full SHA
    9e6bdf6 View commit details

Commits on Apr 17, 2024

  1. Copy the full SHA
    624968e View commit details

Commits on Apr 30, 2024

  1. Support precomputed correlation matrix for calculating variance infla…

    …tion term in Stouffers (#121)
    
    * Support precomputed correlation matrix for calculating variance inflation term in Stouffers
    
    * Update test_results.py
    
    * Switch to macos-12 per actions/setup-python#850
    
    * Update test_results.py
    JulioAPeraza authored Apr 30, 2024
    Copy the full SHA
    46b87a5 View commit details

Commits on May 1, 2024

  1. update codecov (#123)

    jdkent authored May 1, 2024
    Copy the full SHA
    e94ddf3 View commit details

Commits on Aug 8, 2024

  1. [FIX] p-values going to zero, replace with epsilon (#124)

    * fix and test small p_values
    
    * fix flake8
    jdkent authored Aug 8, 2024
    Copy the full SHA
    eb67d0b View commit details

Commits on Sep 11, 2024

  1. [FIX] concordant z values (#125)

    * have directional z-values
    
    * modify tests
    
    * remove unused import
    
    * remove comments
    jdkent authored Sep 11, 2024
    Copy the full SHA
    39f579d View commit details
Showing with 4,770 additions and 2,079 deletions.
  1. +0 −1 .circleci/artifact_path
  2. +0 −124 .circleci/config.yml
  3. +1 −0 .gitattributes
  4. +20 −0 .github/release.yml
  5. +31 −0 .github/workflows/python-publish.yml
  6. +88 −0 .github/workflows/testing.yml
  7. +22 −0 .readthedocs.yml
  8. +15 −0 .zenodo.json
  9. +73 −0 CODE_OF_CONDUCT.md
  10. +1 −2 CONTRIBUTING.md
  11. +2 −0 MANIFEST.in
  12. +2 −1 README.md
  13. +5 −0 docs/Makefile
  14. +243 −0 docs/_static/nimare.css
  15. +4 −3 docs/_templates/class.rst
  16. +2 −2 docs/_templates/function.rst
  17. +9 −0 docs/about.rst
  18. +35 −3 docs/api.rst
  19. +117 −115 docs/conf.py
  20. +0 −10 docs/contents.rst
  21. +16 −4 docs/index.rst
  22. +9 −6 docs/installation.rst
  23. +4 −2 docs/links.rst
  24. +203 −0 docs/references.bib
  25. +0 −7 docs/requirements-dev.txt
  26. +13 −17 docs/sphinxext/github_link.py
  27. +57 −16 examples/01_basic_io/plot_create_dataset.py
  28. +76 −70 examples/02_meta-analysis/plot_meta-analysis_walkthrough.py
  29. +69 −20 examples/02_meta-analysis/plot_run_meta-analysis.py
  30. +44 −10 pymare/__init__.py
  31. +259 −105 pymare/_version.py
  32. +205 −90 pymare/core.py
  33. +7 −0 pymare/datasets/__init__.py
  34. +55 −0 pymare/datasets/metadat.py
  35. +14 −9 pymare/effectsize/__init__.py
  36. +317 −236 pymare/effectsize/base.py
  37. +41 −35 pymare/effectsize/expressions.py
  38. +19 −13 pymare/estimators/__init__.py
  39. +202 −86 pymare/estimators/combination.py
  40. +405 −241 pymare/estimators/estimators.py
  41. +0 −98 pymare/info.py
  42. +62 −0 pymare/resources/datasets/michael2013.json
  43. +13 −0 pymare/resources/datasets/michael2013.tsv
  44. +341 −150 pymare/results.py
  45. +182 −64 pymare/stats.py
  46. +38 −11 pymare/tests/conftest.py
  47. +77 −19 pymare/tests/test_combination_tests.py
  48. +84 −14 pymare/tests/test_core.py
  49. +13 −0 pymare/tests/test_datasets.py
  50. +69 −54 pymare/tests/{test_effect_sizes.py → test_effectsize_base.py}
  51. +16 −12 pymare/tests/{test_expressions.py → test_effectsize_expressions.py}
  52. +153 −14 pymare/tests/test_estimators.py
  53. +149 −41 pymare/tests/test_results.py
  54. +22 −7 pymare/tests/test_stan_estimators.py
  55. +19 −6 pymare/tests/test_stats.py
  56. +41 −0 pymare/tests/test_utils.py
  57. +58 −0 pymare/utils.py
  58. +28 −0 pyproject.toml
  59. +90 −3 setup.cfg
  60. +7 −62 setup.py
  61. +623 −296 versioneer.py
1 change: 0 additions & 1 deletion .circleci/artifact_path

This file was deleted.

124 changes: 0 additions & 124 deletions .circleci/config.yml

This file was deleted.

1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
pymare/_version.py export-subst
20 changes: 20 additions & 0 deletions .github/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
changelog:
exclude:
labels:
- ignore-for-release
categories:
- title: 🛠 Breaking Changes
labels:
- breaking-change
- title: 🎉 Exciting New Features
labels:
- enhancement
- title: 👎 Deprecations
labels:
- deprecation
- title: 🐛 Bug Fixes
labels:
- bug
- title: Other Changes
labels:
- "*"
31 changes: 31 additions & 0 deletions .github/workflows/python-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# This workflow will upload a Python Package using Twine when a release is created
# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries

name: Upload Python Package

on:
release:
types: [published]

jobs:
deploy:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.8'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install setuptools wheel twine
- name: Build and publish
env:
TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
run: |
python setup.py sdist bdist_wheel
twine upload dist/*
88 changes: 88 additions & 0 deletions .github/workflows/testing.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
name: "Run Tests"

on:
push:
branches:
- "master"
pull_request:
branches:
- "*"
schedule:
# Run tests every Sunday at 12am
- cron: "0 0 * * 0"

concurrency:
group: environment-${{ github.ref }}
cancel-in-progress: true

jobs:
# Determine if tests should be run based on commit message.
check_skip:
runs-on: ubuntu-latest
outputs:
skip: ${{ steps.result_step.outputs.ci-skip }}
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- id: result_step
uses: mstachniuk/ci-skip@master
with:
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-12"]
python-version: ["3.8", "3.9", "3.10", "3.11"]

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

flake8-lint:
runs-on: ubuntu-latest
name: Lint with flake8
steps:
- name: Check out source repository
uses: actions/checkout@v2

- name: Set up Python environment
uses: actions/setup-python@v2
with:
python-version: "3.8"

- name: "Install the package"
shell: bash {0}
run: |
python -m pip install --progress-bar off --upgrade pip setuptools wheel
python -m pip install -e .[tests]
- name: "Run flake8"
shell: bash {0}
run: |
flake8 pymare
22 changes: 22 additions & 0 deletions .readthedocs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# .readthedocs.yml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# 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:
install:
- method: pip
path: .
extra_requirements:
- doc
15 changes: 15 additions & 0 deletions .zenodo.json
Original file line number Diff line number Diff line change
@@ -4,6 +4,21 @@
"name": "Yarkoni, Tal",
"affiliation": "University of Texas at Austin",
"orcid": "0000-0002-6558-5113"
},
{
"name": "Salo, Taylor",
"affiliation": "Florida International University",
"orcid": "0000-0001-9813-3167"
},
{
"name": "Peraza, Julio A.",
"affiliation": "Florida International University",
"orcid": "0000-0003-3816-5903"
},
{
"name": "Nichols, Thomas E.",
"affiliation": "Big Data Institute, University of Oxford",
"orcid": "0000-0002-4516-5103"
}
],
"keywords": [
73 changes: 73 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# Contributor Covenant Code of Conduct

## Our Pledge

In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, gender identity and expression, level of experience,
education, socio-economic status, nationality, personal appearance, race,
religion, or sexual identity and orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment
include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting our code of conduct enforcer, James Kent, at **james.kent@austin.utexas.edu**.
All complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances.
The project team is obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html

[homepage]: https://www.contributor-covenant.org
3 changes: 1 addition & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -18,8 +18,7 @@ By starting the governance structure early in our development, we hope to welcom
We are committed to continuing to update the governance structures as necessary.
Every member of the ``PyMARE`` community is encouraged to comment on these processes and suggest improvements.

As the first interim [Benevolent Dictator for Life (BDFL)](https://en.wikipedia.org/wiki/Benevolent_dictator_for_life), Tal Yarkoni is ultimately responsible for any major decisions pertaining to ``PyMARE`` development.
However, all potential changes are explicitly and openly discussed in the described channels of communication, and we strive for consensus amongst all community members.
All potential changes to ``PyMARE`` are explicitly and openly discussed in the described channels of communication, and we strive for consensus amongst all community members.

## Code of conduct

Loading