diff --git a/_data/contributors-test.yml b/_data/contributors-test.yml new file mode 100644 index 00000000..784a0a39 --- /dev/null +++ b/_data/contributors-test.yml @@ -0,0 +1,567 @@ +# Staff goes here +- name: "Leah Wasser" + sort: 1 + bio: "Executive Director, pyOpenSci" + organization: "pyOpenSci" + github_username: "lwasser" + github_image_id: 7649194 # You can find this by right clicking on the image in your bio, and copying the link. the last part contains a 7 digit number that is your avatar image! + title: "Executive Director" + twitter: "leahawasser" + mastodon: "https://fosstodon.org/@leahawasser" + orcidid: 0000-0002-8177-6550 + website: "https://www.leahwasser.com" + board: true + contributor_type: + - leadership + - current editor + - package-maintainer + packages-editor: ["errdapy", "pandera", "nbless"] + packages-submitted: ["earthpy"] + packages-reviewed: [""] +- name: Tracy Teal + sort: 2 + bio: '' + organization: "RStudio" + twitter: "tracykteal" + github_username: "tracykteal" + github_image_id: 889238 # You can find this by right clicking on the image in your bio, and copying the link. the last part contains a 7 digit number that is your avatar image! + title: "Board chair" + board: true +- name: "Karen Cranston" + sort: 3 + title: "" + bio: '' + organization: "" + twitter: kcranstn + mastodon: + orcidid: + website: + github_username: kcranston + github_image_id: 312034 + board: true +## Advisory council +- name: "Chris Holdgraf" + advisory: true + bio: "Executive Director, 2i2c" + organization: "2i2c, Project Jupyter" + github_username: "choldgraf" + github_image_id: 1839645 + twitter: "choldgraf" + mastodon: "https://hachyderm.io/@choldgraf" + orcidid: "0000-0002-2391-0678" + website: "https://chrisholdgraf.com" + contributor_type: + #- contributor + packages-submitted: [""] + packages-reviewed: ["erdapy"] + packages-editor: [""] +- name: Leonardo Uieda + advisory: true + bio: '' + organization: "University of Liverpool, JOSS" + github_username: leouieda + github_image_id: 290082 + twitter: + mastodon: + orcidid: + website: https://www.leouieda.com + contributor_type: + #- contributor + packages-submitted: [""] + packages-reviewed: [""] + packages-editor: [""] +- name: Ivan Ogasawara + sort: 1 + advisory: true + bio: 'I had the opportunity to develop in multiple programming languages, such as Python, C++, Javascript, PHP, VB, JAVA, ShellScript for back-end, front-end, besides promoting DevOps and packaging' + organization: "Open Science Labs, ArxLang" + github_username: xmnlab + github_image_id: 5209757 + twitter: "xmnlab" + mastodon: + orcidid: 0000-0001-5049-4289 + website: "https://xmnlab.github.io" + #title: "Alumni Editor" + editor: #true # can say emeritus when they step down? + contributor_type: + - reviewer + - alumni-editor + packages-submitted: [""] + packages-reviewed: ["pandera"] + packages-editor: ["sevivi"] +- name: Filipe Fernandes + advisory: true + bio: 'Physical Oceanographer' + organization: "IOOS, Conda-Forge" + github_username: ocefpaf + github_image_id: 950575 + twitter: ocefpaf + # mastodon: "https://scicomm.xyz/@ocefpaf" + orcidid: 0000-0003-4165-2913 + website: + contributor_type: + #- contributor #commented out because has an advisory role + packages-submitted: ["errdapy"] + packages-reviewed: [""] + packages-editor: [""] +- name: "Lindsey Heagy" + advisory: true + bio: 'Assistant Professor' + organization: "UBC EOAS" + github_username: "lheagy" + github_image_id: 6361812 + twitter: "lindsey_jh" + mastodon: + orcidid: + website: "https://lindseyjh.ca/" + contributor_type: + #- contributor + packages-submitted: [""] + packages-reviewed: [""] + packages-editor: [""] +- name: Martin Fleischmann + advisory: true + bio: 'Urban Data Scientist' + organization: "Charles University in Prague, University of Liverpool" + github_username: martinfleis + github_image_id: 36797143 + twitter: martinfleis + mastodon: "https://fosstodon.org/@martinfleis" + orcidid: 0000-0003-3319-3366 + website: + contributor_type: + - reviewer + packages-submitted: [""] + packages-reviewed: ["movingpandas"] +- name: Yuvi Panda + advisory: true + bio: 'Open Source Infrastructure Engineer' + organization: "Project Jupyter" + github_username: yuvipanda + github_image_id: 30430 + twitter: + mastodon: https://hachyderm.io/@yuvipanda + orcidid: + website: https://words.yuvi.in + contributor_type: [] + packages-submitted: [""] + packages-reviewed: [""] +# Editors +- name: Ariane Sasso + bio: 'Researcher in Medical Informatics and Digital Health' + organization: "Hasso Plattner Institute" + title: "Editor" + github_username: arianesasso + github_image_id: 3659681 + editorial-board: true + twitter: + mastodon: + orcidid: + website: + contributor_type: + - package-maintainer + - editor + packages-editor: ["pyteny"] + packages-submitted: ["devicely"] + packages-reviewed: [""] +- name: David Nicholson + sort: 2 + title: "Editor in Chief" + editorial-board: true + bio: 'Bio goes here just a sentence or two is great!' + organization: "" + github_username: NickleDave + github_image_id: 11934090 + twitter: nicholdav + mastodon: https://fosstodon.org/@nicholdav + orcidid: 0000-0002-4261-4719 + website: https://nicholdav.info/ + contributor_type: + - current editor + - contributor + packages-submitted: [""] + packages-reviewed: ["pydov"] + packages-editor: ["openomics", "physcraper", "pystiche"] +- name: Chiara Marmo + bio: 'Research Software Engineer, geospatial, planetary and astronomy data.' + organization: "" + title: "Editor" + github_username: cmarmo + github_image_id: 1662261 + editorial-board: true + twitter: + mastodon: + orcidid: 0000-0003-2843-6044 + website: https://cmarmo.github.io + contributor_type: + - editor + packages-editor: ["crowsetta"] + packages-submitted: [""] + packages-reviewed: [""] +- name: Jenny Palomino + bio: 'Technical Curriculum Developer for Data Engineering' + title: "Editor" + organization: "Google Cloud Learning Services" + github_username: jlpalomino + github_image_id: 4017492 + editorial-board: true + twitter: + mastodon: + orcidid: + website: + contributor_type: + - reviewer + - contributor + focus-areas: ["gis", "spatial-remote-sensing", "database"] + packages-editor: [""] + packages-submitted: ["earthpy"] + packages-reviewed: ["erddapy"] +- name: Anita Graser + bio: 'Researcher, open source GIS developer and author.' + organization: "AIT Austrian Institute of Technology" + title: "Editor" + editorial-board: true + focus-areas: ["gis", "spatial-vector-data"] + github_username: anitagraser + github_image_id: 590385 + mastodon: + orcidid: + website: + contributor_type: + - package-maintainer + packages-submitted: ["movingpandas"] + packages-reviewed: [""] + packages-editor: [""] + twitter: "underdarkGIS" +- name: Alex Batisse + bio: "Software engineer & Data scientist." + organization: + title: "Editor" + editorial-board: true + focus-areas: ["analytics", "data visualization"] + github_username: batalex + github_image_id: 11004857 + mastodon: https://fosstodon.org/@batalex + orcidid: + website: https://batalex.github.io/ + contributor_type: + - editor + - reviewer + packages-submitted: [""] + packages-reviewed: ["Pynteny"] + packages-editor: ["Xclim"] + twitter: +# Reviewers & maintainers go here +- name: Chris Holdgraf + bio: 'Bio Here' + organization: "Berkeley Bids, Project Jupyter, Binder" + github_username: choldgraf + github_image_id: 1839645 + twitter: + mastodon: + orcidid: + website: + contributor_type: + - leadership + - editor + - reviewer + packages-submitted: [""] + packages-reviewed: ["erdapy"] +- name: Max Joseph + bio: 'Data Scientist' + organization: "Earth Lab, University of Colorado - Boulder" + github_username: mbjoseph + github_image_id: 2664564 + twitter: + mastodon: + orcidid: + website: + contributor_type: + - reviewer + packages-submitted: [""] + packages-reviewed: ["pandera"] +- name: Luiz Irber + bio: '' + organization: "DIB Lab -- UC Davis" + github_username: luizirber + github_image_id: 6642 + contributor_type: + - editor + packages-submitted: [""] + packages-reviewed: [""] + packages-editor: ["earthpy"] +- name: Paige Bailey + bio: '' + organization: "Google" + github_username: dynamicwebpaige + github_image_id: 3712347 + contributor_type: + - contributor + packages-submitted: [""] + packages-reviewed: [""] + packages-editor: [""] +- name: Carson Farmer + bio: '' + organization: "Textileio" + github_username: carsonfarmer + github_image_id: 1220613 + contributor_type: + - contributor + packages-submitted: [""] + packages-reviewed: [""] + packages-editor: [""] +- name: Joe Hamman + bio: '' + organization: "NCAR, Pangeo" + github_username: jhamman + github_image_id: 2443309 + contributor_type: + - contributor + packages-submitted: [""] + packages-reviewed: [""] + packages-editor: [""] +- name: Kylen Solvik + bio: '' + organization: "CU Boulder" + github_username: ksolvik + github_image_id: 24379590 + contributor_type: + - contributor + packages-submitted: [""] + packages-reviewed: [""] + packages-editor: [""] +- name: Martin Skarzynski + bio: '' + organization: "NCI Biostatistics Branch" + github_username: marskar + github_image_id: 12806339 + contributor_type: + - contributor + packages-submitted: [""] + packages-reviewed: [""] + packages-editor: [""] +- name: Mike Trizna + bio: '' + organization: "" + github_username: MikeTrizna + github_image_id: 472677 + contributor_type: + - contributor + packages-submitted: [""] + packages-reviewed: [""] + packages-editor: [""] +- name: Neil Chue Hong + bio: '' + organization: "Software Sustainability Institute" + github_username: npch + github_image_id: 1507151 + contributor_type: + - contributor + packages-submitted: [""] + packages-reviewed: [""] + packages-editor: [""] +- name: Niels Bantilan + bio: '' + organization: "" + github_username: cosmicBboy + github_image_id: 2816689 + contributor_type: + - contributor + - package-maintainer + packages-submitted: ["pandera"] + packages-reviewed: [""] + packages-editor: [""] +- name: Sean Gillies + bio: '' + organization: "Mapbox" + github_username: sgillies + github_image_id: 33697 + contributor_type: + - reviewer + packages-submitted: [""] + packages-reviewed: ["earthpy"] + packages-editor: [""] +- name: Rohit Goswami + bio: '' + organization: "University of Iceland" + github_username: HaoZeke + github_image_id: 4336207 + contributor_type: + - reviewer + packages-submitted: [""] + packages-reviewed: ["earthpy"] + packages-editor: [""] +- name: Morgan Williams + bio: 'Postdoctoral Fellow, Geoscience Analytics' + organization: "CSIRO" + github_username: morganjwilliams + github_image_id: 11415019 + contributor_type: + - package-maintainer + packages-submitted: ["pyrolite"] + packages-reviewed: [""] + packages-editor: [""] +- name: Philip Meier + bio: 'PhD student working on Neural Style Transfer' + organization: "Quansight" + github_username: pmeier + github_image_id: 6849766 + contributor_type: + - package-maintainer + - reviewer + packages-submitted: ["pystiche"] + packages-reviewed: ["sevivi"] + packages-editor: [""] +- name: Edgar Riba + bio: "Computer Vision Research Engineer" + organization: "Farm-ng, Kornia/OpenCV.org" + github_username: edgarriba + github_image_id: 5157099 + contributor_type: + - reviewer + packages-submitted: [""] + packages-reviewed: ["pystiche", "sevivi"] + packages-editor: [""] +- name: DOV-Vlaanderen + bio: '' + organization: "DOV-Vlaanderen" + github_username: DOV-Vlaanderen + github_image_id: 24718915 + contributor_type: + - package-maintainer + packages-submitted: ["pydov"] + packages-reviewed: [""] + packages-editor: [""] +- name: Roel Huybrechts + bio: '' + organization: "" + github_username: Roel + github_image_id: 140299 + contributor_type: + - package-maintainer + packages-submitted: ["pydov"] + packages-reviewed: [""] + packages-editor: [""] +- name: Stijn Van Hoey + bio: '' + organization: "Fluves" + github_username: stijnvanhoey + github_image_id: 754862 + contributor_type: + - package-maintainer + packages-submitted: ["pydov"] + packages-reviewed: [""] + packages-editor: [""] +- name: Pieter Jan Haest + bio: '' + organization: "De Watergroep" + github_username: pjhaest + github_image_id: 22764347 + contributor_type: + - package-maintainer + packages-submitted: ["pydov"] + packages-reviewed: [""] + packages-editor: [""] +- name: Nhat (Jonny) Tran + bio: '' + organization: "University of Texas at Arlington" + github_username: JonnyTran + github_image_id: 4750391 + contributor_type: + - package-maintainer + packages-submitted: ["openomics"] + packages-reviewed: [""] + packages-editor: [""] +- name: Katharina Sielemann + bio: '' + organization: "Bielefeld University" + github_username: ksielemann + github_image_id: 62541949 + contributor_type: + - reviewer + packages-submitted: [""] + packages-reviewed: ["openomics"] + packages-editor: [""] +- name: Moritz Lürig + bio: 'postdoc in ecology and evolution' + organization: "Lund University" + github_username: mluerig + github_image_id: 15648068 + contributor_type: + - contributor + - package-maintainer + packages-submitted: ["phenopype"] + packages-reviewed: [""] + packages-editor: [""] +- name: Emily Jane McTavish + bio: 'Assistant Professor, Life and Environmental Sciences' + organization: "University of California, Merced" + github_username: snacktavish + github_image_id: 1652782 + contributor_type: + - contributor + - package-maintainer + packages-submitted: ["physcraper"] + packages-reviewed: [""] + packages-editor: [""] +- name: Luna L. Sanchez Reyes + bio: 'Postdoctoral Researcher: Evolutionary biology and Open Science for phylogenetics research and education.' + organization: "University of California, Merced" + github_username: LunaSare + github_image_id: 26721915 + contributor_type: + - contributor + - package-maintainer + packages-submitted: ["physcraper"] + packages-reviewed: [""] + packages-editor: [""] +- name: K. Arthur Endsley + bio: 'Computational Geoscientist' + organization: "W.A. Franke College of Forestry and Conservation, University of Montana" + github_username: arthur-e + github_image_id: 1211103 + contributor_type: + - reviewer + packages-submitted: [""] + packages-reviewed: ["Jointly"] + packages-editor: [""] +- name: Alejandro Sáez Mollejo + bio: 'Aerospace engineer' + organization: "" + github_username: alexs12 + github_image_id: 6061587 + contributor_type: + - reviewer + packages-submitted: [""] + packages-reviewed: ["jointly"] + packages-editor: [""] +- name: Julius Busecke + bio: '' + organization: "Columbia University" + github_username: jbusecke + github_image_id: 14314623 + contributor_type: + - reviewer + packages-submitted: [""] + packages-reviewed: ["PyGMT"] + packages-editor: [""] +- name: Szymon Moliński + bio: 'Head of Data Science | Spatial | Time Series' + organization: "Digitree S.A. | HackerSpace" + github_username: SimonMolinsky + github_image_id: 31246246 + contributor_type: + - reviewer + packages-submitted: [""] + packages-reviewed: ["PyGMT"] + packages-editor: [""] +- name: "Nicolas Palopoli" + bio: "Co-Executive Director, MetaDocencia. Adjunct Researcher, Universidad Nacional de Quilmes & CONICET" + organization: "MetaDocencia" + github_username: "npalopoli" + github_image_id: 1713937 # You can find this by right clicking on the image in your bio, and copying the link. the last part contains a 7 digit number that is your avatar image! + title: "Co-Executive Director" + twitter: "NPalopoli" + mastodon: "https://fediscience.org/@npalopoli" + orcidid: ​0000-0001-7925-6436 + website: https://about.me/npalopoli diff --git a/_data/contributors.yml b/_data/contributors.yml index e6093c64..784a0a39 100644 --- a/_data/contributors.yml +++ b/_data/contributors.yml @@ -293,7 +293,7 @@ - name: Paige Bailey bio: '' organization: "Google" - github_username: + github_username: dynamicwebpaige github_image_id: 3712347 contributor_type: - contributor @@ -303,7 +303,7 @@ - name: Carson Farmer bio: '' organization: "Textileio" - github_username: + github_username: carsonfarmer github_image_id: 1220613 contributor_type: - contributor @@ -313,7 +313,7 @@ - name: Joe Hamman bio: '' organization: "NCAR, Pangeo" - github_username: + github_username: jhamman github_image_id: 2443309 contributor_type: - contributor @@ -323,7 +323,7 @@ - name: Kylen Solvik bio: '' organization: "CU Boulder" - github_username: + github_username: ksolvik github_image_id: 24379590 contributor_type: - contributor @@ -333,7 +333,7 @@ - name: Martin Skarzynski bio: '' organization: "NCI Biostatistics Branch" - github_username: + github_username: marskar github_image_id: 12806339 contributor_type: - contributor @@ -343,7 +343,7 @@ - name: Mike Trizna bio: '' organization: "" - github_username: + github_username: MikeTrizna github_image_id: 472677 contributor_type: - contributor @@ -353,7 +353,7 @@ - name: Neil Chue Hong bio: '' organization: "Software Sustainability Institute" - github_username: + github_username: npch github_image_id: 1507151 contributor_type: - contributor diff --git a/parse-contributors.py b/parse-contributors.py new file mode 100644 index 00000000..8060c4c3 --- /dev/null +++ b/parse-contributors.py @@ -0,0 +1,122 @@ +import os +from urllib.request import urlopen +import json + +import ruamel.yaml +import pandas as pd + +# First get all contribs across repos +all_files = ["https://raw.githubusercontent.com/pyOpenSci/python-package-guide/main/.all-contributorsrc", + "https://raw.githubusercontent.com/pyOpenSci/software-peer-review/main/.all-contributorsrc", + "https://raw.githubusercontent.com/pyOpenSci/pyopensci.github.io/main/.all-contributorsrc"] + +def flatten_list(l): + return [item for sublist in l for item in sublist] + +# Open all contributors, deserialize json to dict / pandas? +all_contribs = [] +for file in all_files: + with urlopen(file) as url: + data = json.load(url) + all_contribs.append(data["contributors"]) + +contribs_flat = flatten_list(all_contribs) + +all_keys = ["mastodon", "twitter", "bio", "orcidid", + "contributor_type", "packages-submitted", "packages-reviewed"] +# Modify contribs (turn into function) +for acontrib in contribs_flat: + # Change login: sumit-158 to github username github_username: "lwasser" + # change profile profile --> website: "website-here.com" + acontrib['github_username'] = acontrib.pop('login') + acontrib['website'] = acontrib.pop('profile') + # Parse avatar id from string avatar_url: https://avatars.githubusercontent.com/u/118582?v=4 --> github_image_id: 30430 + gh_avatar_num = acontrib['avatar_url'].rsplit('/', 1)[-1].rsplit('?', 1)[0] + # + acontrib['github_image_id'] = acontrib.pop('avatar_url') + acontrib['github_image_id'] = int(gh_avatar_num) + # Add keys needed in website yaml + for akey in all_keys: + # TODO: turn "" or None into a blank in the yaml file + acontrib.update({akey:""}) + +# It's much easier to remove dups with pandas +contribs_df = pd.DataFrame.from_dict(contribs_flat).sort_values(by=['github_username']).drop_duplicates(subset=['github_username']) +contribs_df.drop(['contributions'], axis=1, inplace=True) +contribs_dict = contribs_df.reset_index().to_dict(orient='records') + + +# Next - open the existing yaml file, and look for each "github username" +# So it comes in as a dict vs ordered dict +yaml = ruamel.yaml.YAML(typ='safe') +with open(os.path.join("_data", "contributors.yml"), "r") as contrib_file: + web_contribs = yaml.load(contrib_file) + +web_contribs_df = pd.DataFrame.from_dict(web_contribs) + +# Now compare github user names between contribs_df and web_contribs_df +web_contribs_df[["name", "github_username"]] + + +# Diff against the web yaml list - case insensitive +bool = contribs_df["github_username"].apply(str.lower).isin(web_contribs_df['github_username'].apply(str.lower)) +new_contributors_dict = contribs_df[~bool].reset_index(drop=True, inplace=True).to_dict(orient='records') +# Add each username that doesn't already exist in the file to the bottom of the file + + +with open(f"_data/contributors-test.yml",'r') as all_contrib: + yaml = ruamel.yaml.YAML(typ='safe') + all_contrib = yaml.load(all_contrib) + all_contrib.extend(new_contributors_dict) + +# Output to contributor file to yaml +with open(f"all-pyos-contributors.yml", "w") as file: + # yaml.dump need a dict and a file handler as parameter + yaml = ruamel.yaml.YAML(typ='safe') + #yaml.indent(sequence=4, offset=2) + yaml.dump(all_contrib, file) +""" +This is flipping the order of stuff - not sure why? +bio: Executive Director, pyOpenSci + board: true + contributor_type: [leadership, current editor, package-maintainer] + github_image_id: 7649194 + github_username: lwasser + mastodon: https://fosstodon.org/@leahawasser + name: Leah Wasser + orcidid: 0000-0002-8177-6550 + organization: pyOpenSci + packages-editor: [errdapy, pandera, nbless] + packages-reviewed: [''] + packages-submitted: [earthpy] + sort: 1 + title: Executive Director + twitter: leahawasser + website: https://www.leahwasser.com +""" + + +# Eventually i think i'll want to write sections in the file in addition to just dumping yaml + +## TODO: FUTURE - could use github api to grab twitter and location from profile too?? + +# ``` +# - name: Yuvi Panda +# advisory: true +# bio: 'Open Source Infrastructure Engineer' +# organization: "Project Jupyter" +# github_username: yuvipanda +# github_image_id: 30430 +# twitter: +# mastodon: https://hachyderm.io/@yuvipanda +# orcidid: +# website: https://words.yuvi.in +# contributor_type: [] +# packages-submitted: [""] +# packages-reviewed: [""] +# ` + +# turn into pandas DF + + +# write to yaml file for website? \ No newline at end of file