Skip to content

Commit

Permalink
Adopt Nipreps configuration and maintenance docs (#231)
Browse files Browse the repository at this point in the history
* Add maintenance docs from nireports.

* Use hatch vcs.

* Fix installs a bit. Not much though.

* Update pyproject.toml

* More changes.

* More changes.

* Update lint.yml

* More fixes and changes yay.

* More changes.

* Remove unused files.

* Update lint.yml

* Update lint.yml

* Update lint.yml

* Update lint.yml

* Update lint.yml

* Stuff.

* Ignore things.

* Update pyproject.toml

* Update lint.yml

* Update cbf_computation.py

* More fixes.

* Add fMRIPrep citations.

* Update .gitignore

* Update.

* Fix license link.

* Reorganize docs.

* Update workflows.rst

* Update quickstart.rst

* Update contributing/installation documentation.

* Whoops!

* Fix some links.

* Fix up links and drop tedana.

* Update quickstart.rst

* Update version info for installation.

* Update test_cli.py
  • Loading branch information
tsalo authored Jun 7, 2023
1 parent 56298bf commit f23e646
Show file tree
Hide file tree
Showing 45 changed files with 1,078 additions and 3,107 deletions.
2 changes: 1 addition & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ runinstall: &runinstall
git checkout $CIRCLE_BRANCH
echo "${VERSION}" > /src/aslprep/aslprep/VERSION
echo "include aslprep/VERSION" >> /src/aslprep/MANIFEST.in
pip install .[tests] --progress-bar off
pip install .[test] --progress-bar off
# Write the config file
mkdir ~/.nipype
Expand Down
6 changes: 6 additions & 0 deletions .codespellrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[codespell]
skip = .git,*.pdf,*.svg,*.html,dataset_description.json
# te - TE
# Weill - name
# reson - Reson. abbreviation in citation
ignore-words-list = te,weill,reson
4 changes: 4 additions & 0 deletions .git_archival.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
node: $Format:%H$
node-date: $Format:%cI$
describe-name: $Format:%(describe:tags=true,match=*[0-9]*)$
ref-names: $Format:%D$
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.git_archival.txt export-subst
4 changes: 2 additions & 2 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
- name: Install flake8 and related packages
run: python -m pip install \
flake8 flake8-absolute-import flake8-black flake8-docstrings \
flake8-isort flake8-unused-arguments flake8-use-fstring \
flake8-warnings pep8-naming
flake8-isort flake8-pyproject flake8-unused-arguments \
flake8-use-fstring flake8-warnings pep8-naming
- name: Check aslprep
run: python -m flake8 aslprep
42 changes: 10 additions & 32 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ aslprep/tests/test_data
docs/generated/
docs/api/

# setuptools-scm
aslprep/_version.py

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
Expand All @@ -29,6 +32,7 @@ parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
Expand Down Expand Up @@ -58,7 +62,6 @@ coverage.xml
*.py,cover
.hypothesis/
.pytest_cache/
cover/

# Translations
*.mo
Expand All @@ -81,7 +84,6 @@ instance/
docs/_build/

# PyBuilder
.pybuilder/
target/

# Jupyter Notebook
Expand All @@ -92,9 +94,7 @@ profile_default/
ipython_config.py

# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version
.python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
Expand All @@ -103,22 +103,7 @@ ipython_config.py
# install all needed dependencies.
#Pipfile.lock

# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock

# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/#use-with-ide
.pdm.toml

# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
__pypackages__/

# Celery stuff
Expand Down Expand Up @@ -155,15 +140,8 @@ dmypy.json
# Pyre type checker
.pyre/

# pytype static type analyzer
.pytype/

# Cython debug symbols
cython_debug/
# Sphinx documentation
docs/_build/
docs/api/

# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
_version.py
1 change: 1 addition & 0 deletions .maint/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
__pycache__
21 changes: 21 additions & 0 deletions .maint/CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# CONTRIBUTORS

This document lists those who have made contributions to the Project.
As per the contributor guidelines, they should be included by default in any publications derived from the Project.

If you are new to the project, don't forget to add your name and affiliation to the list of contributors here! Our Welcome Bot will send an automated message reminding this to first-time contributors.
Before every release, unlisted contributors will be invited again to add their names to this file (just in case they missed the automated message from our Welcome Bot).

| **Lastname** | **Name** | **Handle** | **ORCID** | **Affiliation** |
| --- | --- | --- | --- | --- |
| Adebimpe | Azeez | @a3sha2 | | |
| Bertolero | Max | @mb3152 | | |
| Salo | Taylor | @tsalo | | |
| Murtha | Kristin | @krmurtha | | |
| Ross | Andrew | @andrewrosss | | |
| Flounders | Matt | @mflounders | | |
| Butler | Ellyn | @butellyn | | |
| Cieslak | Matthew | @mattcieslak | | |
| Joseph | Michael | @josephmje | | |
| Covitz | Sydney | @scovitz | | |
| Tapera | Tinashe | @TinasheMTapera | | |
9 changes: 9 additions & 0 deletions .maint/FORMER.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# FORMER MEMBERS

This document lists former contributors or maintainers who want to disengage from the Project, and seek to be dismissed in communications or future papers.
By adding your name to this list you are giving up on all your responsibilities to the project.
Should you desire to be considered back as a contributor or maintainer, please remove your name from this list and proceed as prescribed in the governance documents.

| **Lastname** | **Name** | **Handle** |
| --- | --- | --- |
| | | |
57 changes: 57 additions & 0 deletions .maint/HOW_WE_WORK.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# How we work

This document can be used by the Project to define the Maintainers' operation workflows.
The document is completely optional, and it is a responsibility of the Maintainers to decide whether it is used, and if so, to keep it up-to-date.

<!--
Therefore, this is the entry point where Contributors will find information about:
* How to propose new features, changes to the code, changes to the documentation, etc., and what are the available paths to those activities depending on the estimated magnitude of the proposal (e.g., whether the project will have explicit Extension Proposal documents for major modifications).
* Whether the Project will make use of the GitHub Projects features, how new issues are triaged into milestones and projects, how issues are prioritized and labeled (e.g., whether the project adheres to the `impact:<low|medium|high>` and `effort:<low|medium|high>` labeling system).
* Establishing Maintainers roles, and making sure the `MAINTAINERS.md` file defines these roles and they are up-to-date in the Maintainers table.
* Open public meetings, and their frequency, where interested parties can join and participate in the definition of the roadmap, milestones and deliverables.
-->

<!-- OPTIONAL CONTENTS: Please revise or remove these lines -->
## Maintainers roles

The Project has designated three specific roles that Maintainers will cover:

* **(i)** *Lead-developer (LD)*.
The LD is responsible for ensuring the fluent communication between the Maintainers, keeps track of acquired responsibilities (e.g., review a pull-request), and anticipates and preempts roadblocks and conflicts that may make the work of other Maintainers harder;
* **(ii)** *SCRUM Guider (SG)*.
The SG is responsible for the triage of new issues, for communicating with the Maintainers and prioritize issues and features, and coordinate the concerted effort of Maintainers.
The SG may also lead meetings and keeps up-to-date the GitHub Project panel and the Milestones of this Project.
* **(iii)** *Outbound Coordinator (OC)*.
The OC is responsible for communicating with the maintainers of other projects (the project's OC, if the role is assigned) in the organization, ensuring that potential conflicts or incompatibility between releases across projects are resolved.
* **(iv)** *Advisory Member (AM)*.
AMs are invited maintainers to assist in fulfilling the maintenance duties and responsibilities by sharing their knowledge and resources with the board.
However, AMs are not directly responsible for the Project's direction and may or may not be involved in the decision making (which should be agreed upon by the MAINTAINERS board before starting their activities as AMs).
The Project may have as many AMs as the regular members see necessary to properly develop the Project.

## Project management

The Project uses the following management tools:

* **GitHub Milestones**
* **GitHub Project panel** -- which is located at https://github.com/orgs/nipreps/projects/3

**Maintainers' Meetings**.
The maintainers will meet at least once every fours weeks (monthly), although the LD may call for extra meetings when they might be necessary.
The agenda of the regular monthly meeting will be organized by the SG, who will also lead regular meetings.

**Open Meetings**.
Other meetings open to broader public can be proposed by any Maintainer, and the LD will be responsible of its organization in collaboration with the proponent(s).
As for any other decision, all Maintainers must agree on calling for a meeting.
These meetings can be organized to:

* brainstorm and engage the community in developing/updating the roadmap;
* gather feedback (e.g., after a recent new release);
* inform about changes in the Maintainers team, as well as recruiting new members;
* disseminate new important features;
* make announcements; etc.

## Setting priorities and triaging issues

This Project follows [the general recommendations of *NiPreps*](https://www.nipreps.org/community/CONTRIBUTING/#issue-labels).

<!-- OPTIONAL CONTENTS end here -->
12 changes: 12 additions & 0 deletions .maint/MAINTAINERS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Maintainers

This document lists the Maintainers of the project.
Maintainers may be added once approved by the existing maintainers as described in the `../GOVERNANCE.md` document.
By adding your name to this list you are agreeing to abide by the governance documents and to abide by all of the Organization's polices, including the code of conduct, trademark policy, and antitrust policy.
If you are participating because of your affiliation with another organization (designated below), you represent that you have the authority to bind that organization to these policies.

<!-- EXAMPLE: The current contents of the table are given for an example, please update. -->

| **Lastname** | **Name** | **Handle** | **ORCID** | **Affiliation** | **Role** |
| --- | --- | --- | --- | --- | --- |
| Salo | Taylor | @tsalo | | University of Pennsylvania | LD |
13 changes: 13 additions & 0 deletions .maint/PIs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# PRINCIPAL INVESTIGATORS

This documents the key personnel who oversees the development of the Project and secures funding.
The names in this file are designated by the Organization's TSC at the time of accepting the Project under the Organization.
Changes to this file must be approved by the TSC.
When a PI ceases serving as such, by default, their name will be placed in the `CONTRIBUTORS.md` file should it not be there already.

By having your name in this list you are agreeing to abide by the governance documents and to abide by all of the Organization's polices, including the code of conduct, trademark policy, and antitrust policy.
If you are participating because of your affiliation with another organization (designated below), you represent that you have the authority to bind that organization to these policies.

| **Lastname** | **Name** | **Handle** | **ORCID** | **Affiliation** | **Position** |
| --- | --- | --- | --- | --- | --- |
| Satterthwaite | Ted | @sattertt | | | -1 |
7 changes: 7 additions & 0 deletions .maint/ROADMAP.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# ROADMAP

This document states how the roadmap is built, discussed and monitored by the Maintainers, with the engagement of Contributors and PIs.

For example, if the GitHub Projects feature is used, this document will contain a link to the corresponding Project and document who is responsible of managing the project, contacting Contributors and Maintainers to monitor the progress of activities, organizing meetings and discussions around the activities, etc.

This document may also indicate how the *milestones* feature of the project is used and, as for Projects, who is responsible of what coordination actions, their frequence, etc.
2 changes: 2 additions & 0 deletions .maint/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
click
fuzzywuzzy
Loading

0 comments on commit f23e646

Please sign in to comment.