diff --git a/.mailmap b/.mailmap index 4205e5e22e..d917d4d279 100644 --- a/.mailmap +++ b/.mailmap @@ -7,38 +7,49 @@ # # This file is up-to-date if the command git log --format="%aN <%aE>" | sort -u # gives no duplicates. -Michael Hanke -Michael Hanke -Yaroslav Halchenko +Alexandre Gramfort Alexandre Gramfort +Ariel Rokem arokem +B. Nolan Nichols Nolan Nichols +Basile Pinsard bpinsard +Basile Pinsard bpinsard +Ben Cipollini Ben Cipollini Bertrand Thirion bthirion -Stephan Gerhard Stephan Gerhard Christian Haselgrove Christian Haselgrove +Christopher J. Markiewicz Chris Johnson +Christopher J. Markiewicz Chris Markiewicz +Christopher J. Markiewicz Chris Markiewicz +Christopher J. Markiewicz Christopher J. Markiewicz +Christopher J. Markiewicz Christopher J. Markiewicz Cindee Madison CindeeM Cindee Madison cindeem -Ian Nimmo-Smith Ian Nimmo-Smith -Jean-Baptiste Poline jbpoline +Demian Wassermann Demian Wassermann +Dimitri Papadopoulos Orfanos Dimitri Papadopoulos +Eric Larson Eric89GXL +Eric Larson larsoner +Fernando Pérez-García Fernando Félix C. Morency Felix C. Morency Félix C. Morency Félix C. Morency -Krish Subramaniam Krish Subramaniam -Eric Larson Eric89GXL -Alexandre Gramfort Alexandre Gramfort Gael Varoquaux GaelVaroquaux +Gregory R. Lee Gregory R. Lee +Ian Nimmo-Smith Ian Nimmo-Smith +Jaakko Leppäkangas jaeilepp +Jasper J.F. van den Bosch Jasper +Jean-Baptiste Poline jbpoline +Jon Haitz Legarreta Jon Haitz Legarreta Gorroño +Kesshi Jordan kesshijordan Kevin S. Hahn Kevin S. Hahn -Basile Pinsard bpinsard -Basile Pinsard bpinsard +Krish Subramaniam Krish Subramaniam +Marc-Alexandre Côté Marc-Alexandre Cote +Mathias Goncalves mathiasg +Michael Hanke +Michael Hanke Nguyen, Ly lxn2 -Ben Cipollini Ben Cipollini -Chris Markiewicz Christopher J. Markiewicz -Chris Markiewicz Chris Markiewicz -Chris Markiewicz Christopher J. Markiewicz -Chris Markiewicz Christopher J. Markiewicz -Chris Markiewicz Chris Johnson -Jaakko Leppäkangas jaeilepp -Ariel Rokem arokem Oliver P. Hinds ohinds -Marc-Alexandre Côté Marc-Alexandre Cote -Satrajit Ghosh Satrajit Ghosh -Jasper J.F. van den Bosch Jasper -Gregory R. Lee Gregory R. Lee -Demian Wassermann Demian Wassermann Paul McCarthy Paul McCarthy +Satrajit Ghosh Satrajit Ghosh +Serge Koudoro skoudoro +Stephan Gerhard Stephan Gerhard +Thomas Roos Roosted7 +Venky Reddy R3DDY97 +Yaroslav O. Halchenko +Yaroslav O. Halchenko Yaroslav Halchenko diff --git a/.travis.yml b/.travis.yml index ef154584f5..367a105045 100644 --- a/.travis.yml +++ b/.travis.yml @@ -154,8 +154,7 @@ script: after_success: - | if [ "${CHECK_TYPE}" == "test" ]; then - travis_retry pip install coveralls codecov - coveralls + travis_retry pip install codecov codecov fi diff --git a/.zenodo.json b/.zenodo.json new file mode 100644 index 0000000000..79f1e2081b --- /dev/null +++ b/.zenodo.json @@ -0,0 +1,279 @@ +{ + "creators": [ + { + "affiliation": "School of Psychology, University of Birmingham, Birmingham, UK", + "name": "Brett, Matthew", + "orcid": "0000-0001-5500-2546" + }, + { + "affiliation": "Stanford University", + "name": "Markiewicz, Christopher J.", + "orcid": "0000-0002-6533-164X" + }, + { + "affiliation": "Otto-von-Guericke-University Magdeburg, Germany", + "name": "Hanke, Michael", + "orcid": "0000-0001-6398-6370" + }, + { + "affiliation": "Microsoft Research, Montr\u00e9al, Qu\u00e9bec, Canada", + "name": "C\u00f4t\u00e9, Marc-Alexandre", + "orcid": "0000-0002-5147-7859" + }, + { + "affiliation": "UC San Diego", + "name": "Cipollini, Ben", + "orcid": "0000-0002-7782-0790" + }, + { + "name": "McCarthy, Paul" + }, + { + "affiliation": "Center for Open Neuroscience, Dartmouth College", + "name": "Cheng, Christopher P.", + "orcid": "0000-0001-9112-9464" + }, + { + "affiliation": "Dartmouth College: Hanover, NH, United States", + "name": "Halchenko, Yaroslav O.", + "orcid": "0000-0003-3456-2493" + }, + { + "affiliation": "MIT, HMS", + "name": "Ghosh, Satrajit", + "orcid": "0000-0002-5312-6729" + }, + { + "affiliation": "University of Washington: Seattle, WA, United States", + "name": "Larson, Eric", + "orcid": "0000-0003-4782-5360" + }, + { + "affiliation": "Athena EPI, Inria Sophia-Antipolis", + "name": "Wassermann, Demian", + "orcid": "0000-0001-5194-6056" + }, + { + "affiliation": "Institute of Neuroinformatics, ETH/University of Zurich", + "name": "Gerhard, Stephan", + "orcid": "0000-0003-4454-6171" + }, + { + "affiliation": "Deptartment of Radiology, University of Cincinnati College of Medicine, Cincinnati, OH", + "name": "Lee, Gregory R.", + "orcid": "0000-0001-8895-2740" + }, + { + "affiliation": "Harvard University - Psychology", + "name": "Kastman, Erik", + "orcid": "0000-0001-7221-9042" + }, + { + "affiliation": "The University of Washington eScience Institute", + "name": "Rokem, Ariel", + "orcid": "0000-0003-0679-1985" + }, + { + "name": "Madison, Cindee" + }, + { + "name": "Morency, F\u00e9lix C." + }, + { + "name": "Moloney, Brendan" + }, + { + "affiliation": "Wellcome Centre for Integrative Neuroimaging, University of Oxford, UK", + "name": "Cottaar, Michiel", + "orcid": "0000-0003-4679-7724" + }, + { + "name": "Burns, Christopher" + }, + { + "affiliation": "Berkeley Institute for Data Science, UC Berkeley", + "name": "Millman, Jarrod", + "orcid": "0000-0002-5263-5070" + }, + { + "affiliation": "CNRS LTCI, Telecom ParisTech, Universit\u00e9 Paris-Saclay", + "name": "Gramfort, Alexandre", + "orcid": "0000-0001-9791-4404" + }, + { + "name": "Lepp\u00e4kangas, Jaakko" + }, + { + "affiliation": "Montreal Neurological Institute and Hospital", + "name": "Markello, Ross", + "orcid": "0000-0003-1057-1336" + }, + { + "name": "van den Bosch, Jasper J.F." + }, + { + "name": "Vincent, Robert D." + }, + { + "name": "Subramaniam, Krish" + }, + { + "affiliation": "Rotman Research Institute, Baycrest Health Sciences, Toronto, ON, Canada", + "name": "Raamana, Pradeep Reddy", + "orcid": "0000-0003-4662-0558" + }, + { + "affiliation": "SRI International", + "name": "Nichols, B. Nolan", + "orcid": "0000-0003-1099-3328" + }, + { + "name": "Baker, Eric M." + }, + { + "affiliation": "MIT", + "name": "Goncalves, Mathias", + "orcid": "0000-0002-7252-7771" + }, + { + "name": "Hayashi, Soichi" + }, + { + "name": "Pinsard, Basile" + }, + { + "name": "Haselgrove, Christian" + }, + { + "name": "Hymers, Mark" + }, + { + "name": "Koudoro, Serge" + }, + { + "name": "Oosterhof, Nikolaas N." + }, + { + "name": "Amirbekian, Bago" + }, + { + "name": "Nimmo-Smith, Ian" + }, + { + "name": "Nguyen, Ly" + }, + { + "name": "St-Jean, Samuel" + }, + { + "name": "Garyfallidis, Eleftherios" + }, + { + "affiliation": "INRIA", + "name": "Varoquaux, Gael", + "orcid": "0000-0003-1076-5122" + }, + { + "affiliation": "MIT", + "name": "Kaczmarzyk, Jakub", + "orcid": "0000-0002-5544-7577" + }, + { + "name": "Hahn, Kevin S." + }, + { + "name": "Hinds, Oliver P." + }, + { + "name": "Fauber, Bennet" + }, + { + "affiliation": "McGill University", + "name": "Poline, Jean-Baptiste", + "orcid": "0000-0002-9794-749X" + }, + { + "affiliation": "Universit\u00e9 de Sherbrooke", + "name": "Legarreta, Jon Haitz", + "orcid": "0000-0002-9661-1396" + }, + { + "affiliation": "University College London, London, UK", + "name": "Stutters, Jon", + "orcid": "0000-0002-9151-0844" + }, + { + "affiliation": "University of California, San Francisco", + "name": "Jordan, Kesshi", + "orcid": "0000-0001-6313-0580" + }, + { + "name": "Moreno, Miguel Estevan" + }, + { + "name": "Haenel, Valentin" + }, + { + "name": "Schwartz, Yannick" + }, + { + "affiliation": "INRIA", + "name": "Thirion, Bertrand", + "orcid": "0000-0001-5018-7895" + }, + { + "affiliation": "CEA", + "name": "Papadopoulos Orfanos, Dimitri", + "orcid": "0000-0002-1242-8990" + }, + { + "affiliation": "University College London", + "name": "P\u00e9rez-Garc\u00eda, Fernando", + "orcid": "0000-0001-9090-3024" + }, + { + "name": "Solovey, Igor" + }, + { + "affiliation": "Athinoula A. Martinos Center for Biomedical Imaging, Charlestown, MA", + "name": "Gonzalez, Ivan", + "orcid": "0000-0002-6451-6909" + }, + { + "name": "Lecher, Justin" + }, + { + "affiliation": "TIB \u2013 Leibniz Information Centre for Science and Technology and University Library, Hannover, Germany", + "name": "Leinweber, Katrin", + "orcid": "0000-0001-5135-5758" + }, + { + "affiliation": "Friedrich-Alexander-Universit\u00e4t Erlangen-N\u00fcrnberg, Erlangen, Germany", + "name": "Fischer, Peter", + "orcid": "0000-0003-3242-9867" + }, + { + "name": "Gervais, Philippe" + }, + { + "name": "Gadde, Syam" + }, + { + "name": "Ballinger, Thomas" + }, + { + "name": "Roos, Thomas" + }, + { + "name": "Reddy, Venky" + }, + { + "name": "freec84" + } + ], + "keywords": [ + "neuroimaging" + ], + "license": "mit-license", + "upload_type": "software" +} diff --git a/README.rst b/README.rst index ebabd94355..fc3c3dd70f 100644 --- a/README.rst +++ b/README.rst @@ -1,8 +1,11 @@ .. -*- rest -*- .. vim:syntax=rst -.. image:: https://coveralls.io/repos/nipy/nibabel/badge.png?branch=master - :target: https://coveralls.io/r/nipy/nibabel?branch=master +.. image:: https://codecov.io/gh/nipy/nibabel/branch/master/graph/badge.svg + :target: https://codecov.io/gh/nipy/nibabel + +.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.591597.svg + :target: https://doi.org/10.5281/zenodo.591597 .. Following contents should be from LONG_DESCRIPTION in nibabel/info.py diff --git a/tools/prep_zenodo.py b/tools/prep_zenodo.py new file mode 100755 index 0000000000..86897fca8e --- /dev/null +++ b/tools/prep_zenodo.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python3 +import git +import json +from subprocess import run, PIPE +from pathlib import Path + +skip = {'nibotmi'} + + +def decommify(name): + return ' '.join(name.split(', ')[::-1]) + + +git_root = Path(git.Repo('.', search_parent_directories=True).working_dir) +zenodo_file = git_root / '.zenodo.json' + +zenodo = json.loads(zenodo_file.read_text()) if zenodo_file.exists() else {} + +orig_creators = zenodo.get('creators', []) +creator_map = {decommify(creator['name']): creator + for creator in orig_creators} + +shortlog = run(['git', 'shortlog', '-ns'], stdout=PIPE) +counts = [line.split('\t', 1)[::-1] + for line in shortlog.stdout.decode().split('\n') if line] + +commit_counts = {} +for committer, commits in counts: + commit_counts[committer] = commit_counts.get(committer, 0) + int(commits) + +# Stable sort: +# Number of commits in reverse order +# Ties broken by alphabetical order of first name +committers = [committer + for committer, _ in sorted(commit_counts.items(), + key=lambda x: (-x[1], x[0]))] + +creators = [ + creator_map.get(committer, {'name': committer}) + for committer in committers + if committer not in skip + ] + +zenodo['creators'] = creators +zenodo_file.write_text(json.dumps(zenodo, indent=2, sort_keys=True) + '\n')