From 47cd4addb5ce0f168418f0816589c1347e311cad Mon Sep 17 00:00:00 2001 From: "Christopher J. Markiewicz" Date: Fri, 19 Apr 2019 10:19:53 -0400 Subject: [PATCH 1/3] MAINT: Try to decrease warning density --- fitlins/__init__.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/fitlins/__init__.py b/fitlins/__init__.py index 679bcb29..a546fa69 100644 --- a/fitlins/__init__.py +++ b/fitlins/__init__.py @@ -3,6 +3,10 @@ # emacs: -*- mode: python; py-indent-offset: 4; indent-tabs-mode: nil -*- # vi: set ft=python sts=4 ts=4 sw=4 et: +import warnings +warnings.filterwarnings('ignore', r'numpy.ufunc size changed') +warnings.filterwarnings('ignore', r'resolve package from __spec__') + try: import matplotlib except ImportError: From 5036c16a459aa9c5ad52099fe9406cd7a8ef908c Mon Sep 17 00:00:00 2001 From: "Christopher J. Markiewicz" Date: Fri, 19 Apr 2019 10:32:36 -0400 Subject: [PATCH 2/3] DOC: Update changelog --- CHANGES.rst | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 4c1f773b..7d3ef293 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,3 +1,25 @@ +0.3.0 (April 19, 2019) +====================== + +This release restores reports at the second level and higher, and enables isotropic +smoothing with the nistats backend. Reporting has also been refactored to reduce +clutter in the outputs. + +With thanks to Karolina Finc, Rastko Ciric and Mathias Goncalves for contributions. + +* FIX: Restore level 2+ reports (https://github.com/poldracklab/fitlins/pull/130) +* FIX: Remove uninformative metadata from derivative filenames (https://github.com/poldracklab/fitlins/pull/129) +* FIX: Re-enable analysis level selection (https://github.com/poldracklab/fitlins/pull/120) +* FIX: Switch plot colors to conventional blue for negative, red for positive (https://github.com/poldracklab/fitlins/pull/108) +* ENH: Save crashfiles as text in working directory (https://github.com/poldracklab/fitlins/pull/121) +* ENH: Add naive isotropic smoothing (https://github.com/poldracklab/fitlins/pull/104) +* REF: Delegate isotropic smoothing to nistats (https://github.com/poldracklab/fitlins/pull/118) +* DOC: Update README with latest help text, remove smoothing disclaimer (https://github.com/poldracklab/fitlins/pull/119) +* MAINT: Add contributors to Zenodo (https://github.com/poldracklab/fitlins/pull/122) +* MAINT: Consolidate configuration (https://github.com/poldracklab/fitlins/pull/113) +* MAINT: Pybids 0.8 compatibility (https://github.com/poldracklab/fitlins/pull/109) +* MAINT: Use numpy 1.15 to accommodate pytables (https://github.com/poldracklab/fitlins/pull/106) + 0.2.0 (February 1, 2019) ======================= From 3c6fd01d608e30844630b2be805c43ecd95855d3 Mon Sep 17 00:00:00 2001 From: "Christopher J. Markiewicz" Date: Fri, 19 Apr 2019 10:48:48 -0400 Subject: [PATCH 3/3] MAINT: Update CONTRIBUTING, add COC --- CODE_OF_CONDUCT.md | 77 +++++++++++++++++ CONTRIBUTING.md | 203 ++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 268 insertions(+), 12 deletions(-) create mode 100644 CODE_OF_CONDUCT.md diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..83bd42c0 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,77 @@ +# FitLins 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, sex characteristics, 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 Chris Markiewicz at , the project +lead. +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 + +For answers to common questions about this code of conduct, see +https://www.contributor-covenant.org/faq diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 093cc123..e8ec0759 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,19 +1,145 @@ -# Contributing +# Contributing to FitLins -**Are you new to open source and GitHub?** -If so, reading the "[How to submit a contribution]( -https://opensource.guide/how-to-contribute/#how-to-submit-a-contribution)" -guide will provide a great introduction to contributing to MODELFIT and other -Open Source projects. -All the MODELFIT-specific contributing instructions listed below will make much -more sense after reading this guide. +Welcome to the FitLins repository! +We're excited you're here and want to contribute. -If you are new to the project don't forget to add your name and affiliation to -the `.zenodo.json` file. +## Practical guide to submitting your contribution -## Code style guide +These guidelines are designed to make it as easy as possible to get involved. +If you have any questions that aren't discussed below, +please let us know by opening an [issue][link_issues]! -### Function and variable names +Before you start you'll need to set up a free [GitHub][link_github] account and sign in. +Here are some [instructions][link_signupinstructions]. + +Already know what you're looking for in this guide? Jump to the following sections: + +* [Joining the conversation](#joining-the-conversation) +* [Contributing through Github](#contributing-through-github) +* [Understanding issues](#understanding-issues) +* [Making a change](#making-a-change) +* [Structuring contributions](#FitLins-coding-style-guide) +* [Licensing](#licensing) +* [Recognizing contributors](#recognizing-contributions) + + +## Joining the conversation + +FitLins is maintained by a growing group of enthusiastic developers— +and we're excited to have you join! +Most of our discussions will take place on open [issues][link_issues]. + +We also encourage users to report any difficulties they encounter on [NeuroStars][link_stars], +a community platform for discussing neuroimaging. + +We actively monitor both spaces and look forward to hearing from you in either venue! + + +## Contributing through GitHub + +[git][link_git] is a really useful tool for version control. +[GitHub][link_github] sits on top of git and supports collaborative and distributed working. + +If you're not yet familiar with `git`, there are lots of great resources to help you *git* started! +Some of our favorites include the [git Handbook][link_handbook] and +the [Software Carpentry introduction to git][link_swc_intro]. + +On GitHub, You'll use [Markdown][markdown] to chat in issues and pull requests. +You can think of Markdown as a few little symbols around your text that will allow GitHub +to render the text with a little bit of formatting. +For example you could write words as bold (`**bold**`), or in italics (`*italics*`), +or as a [link][rick_roll] (`[link](https://https://youtu.be/dQw4w9WgXcQ)`) to another webpage. + +GitHub has a really helpful page for getting started with +[writing and formatting Markdown on GitHub][writing_formatting_github]. + + +## Understanding issues + +Every project on GitHub uses [issues][link_issues] slightly differently. + +The following outlines how the FitLins developers think about these tools. + +* **Issues** are individual pieces of work that need to be completed to move the project forwards. +A general guideline: if you find yourself tempted to write a great big issue that +is difficult to describe as one unit of work, please consider splitting it into two or more issues. + + Issues are assigned [labels](#issue-labels) which explain how they relate to the overall project's + goals and immediate next steps. + + +### Issue Labels + +The current list of issue labels are [here][link_labels] and include: + +* [![Help Wanted](https://img.shields.io/badge/-help%20wanted-159818.svg)][link_helpwanted] *These issues contain a task that a member of the team has determined we need additional help with.* + + If you feel that you can contribute to one of these issues, + we especially encourage you to do so! + +* [![Bugs](https://img.shields.io/badge/-bugs-fc2929.svg)][link_bugs] *These issues point to problems in the project.* + + If you find new a bug, please give as much detail as possible in your issue, + including steps to recreate the error. + If you experience the same bug as one already listed, + please add any additional information that you have as a comment. + +* [![Enhancement](https://img.shields.io/badge/-enhancement-84b6eb.svg)][link_feature] *These issues are asking for new features to be added to the project.* + + Please try to make sure that your requested feature is distinct from any others + that have already been requested or implemented. + If you find one that's similar but there are subtle differences, + please reference the other request in your issue. + + +## Making a change + +We appreciate all contributions to FitLins, +but those accepted fastest will follow a workflow similar to the following: + +**1. Comment on an existing issue or open a new issue referencing your addition.** + +This allows other members of the FitLins development team to confirm that you aren't +overlapping with work that's currently underway and that everyone is on the same page +with the goal of the work you're going to carry out. + +[This blog][link_pushpullblog] is a nice explanation of why putting this work in up front +is so useful to everyone involved. + +**2. [Fork][link_fork] the [FitLins repository][link_FitLins] to your profile.** + +This is now your own unique copy of FitLins. +Changes here won't effect anyone else's work, so it's a safe space to explore edits to the code! + +Make sure to [keep your fork up to date][link_updateupstreamwiki] with the master repository. + +**3. Make the changes you've discussed, following the [FitLins coding style guide](#FitLins-coding-style-guide).** + +Try to keep the changes focused. +If you feel tempted to "branch out" then please make a [new branch][link_branches]. + +**4. Submit a [pull request][link_pullrequest].** + +A member of the development team will review your changes to confirm +that they can be merged into the main code base. + +Pull requests titles should begin with a descriptive prefix: + +* ``ENH``: enhancements or new features +* ``FIX``: bug fixes +* ``TST``: new or updated tests +* ``DOC``: new or updated documentation +* ``STY``: style changes +* ``REF``: refactoring existing code +* ``CI``: updates to continous integration infrastructure +* ``MAINT``: general maintenance + +For example: `[ENH] Support for naive thresholding` + +For works-in-progress, add the ``WIP`` tag in addition to the descriptive prefix. +Pull-requests tagged with ``[WIP]`` will not be merged until the tag is removed. + +## FitLins coding style guide Whenever possible, instances of Nodes and Workflows should use the same names as the variables they are assigned to. @@ -56,3 +182,56 @@ myworkflow1_wf = init_workflow_wf(name='myworkflow1_wf') myworkflow_lh_wf = init_workflow_wf(name='myworkflow_lh_wf') myworkflow_rh_wf = init_workflow_wf(name='myworkflow_rh_wf') ``` + + +## Licensing + +FitLins is licensed under the [Apache License, 2.0][link_license]. +By contributing to FitLins, +you acknowledge that any contributions will be licensed under the same terms. + + +## Recognizing contributions + +We welcome and recognize all contributions from documentation to testing to code development. +You can see a list of current contributors in our [zenodo file][link_zenodo]. +If you are new to the project, don't forget to add your name and affiliation there! + +## Thank you! + +You're awesome. :wave::smiley: + +
+ +*— Based on contributing guidelines from the [STEMMRoleModels][link_stemmrolemodels] project.* + +[link_github]: https://github.com/ +[link_FitLins]: https://github.com/poldracklab/fitlins +[link_signupinstructions]: https://help.github.com/articles/signing-up-for-a-new-github-account + +[link_stars]: https://neurostars.org/ + +[link_git]: https://git-scm.com/ +[link_handbook]: https://guides.github.com/introduction/git-handbook/ +[link_swc_intro]: http://swcarpentry.github.io/git-novice/ + +[writing_formatting_github]: https://help.github.com/articles/getting-started-with-writing-and-formatting-on-github +[markdown]: https://daringfireball.net/projects/markdown +[rick_roll]: https://www.youtube.com/watch?v=dQw4w9WgXcQ + +[link_issues]: https://github.com/poldracklab/fitlins/issues +[link_labels]: https://github.com/poldracklab/fitlins/labels +[link_discussingissues]: https://help.github.com/articles/discussing-projects-in-issues-and-pull-requests + +[link_bugs]: https://github.com/poldracklab/fitlins/labels/bug +[link_helpwanted]: https://github.com/poldracklab/fitlins/labels/help%20wanted +[link_feature]: https://github.com/poldracklab/fitlins/labels/feature + +[link_pullrequest]: https://help.github.com/articles/creating-a-pull-request/ +[link_fork]: https://help.github.com/articles/fork-a-repo/ +[link_pushpullblog]: https://www.igvita.com/2011/12/19/dont-push-your-pull-requests/ +[link_branches]: https://help.github.com/articles/creating-and-deleting-branches-within-your-repository/ +[link_updateupstreamwiki]: https://help.github.com/articles/syncing-a-fork/ +[link_stemmrolemodels]: https://github.com/KirstieJane/STEMMRoleModels +[link_zenodo]: https://github.com/poldracklab/fitlins/blob/master/.zenodo.json +[link_license]: https://github.com/poldracklab/fitlins/blob/master/LICENSE