diff --git a/content/en/about.md b/content/en/about.md index 53a0b6b82b..30ba46b2ac 100644 --- a/content/en/about.md +++ b/content/en/about.md @@ -43,7 +43,7 @@ The NumPy project is growing, we have separate teams for: - Funding & grants - Admin -See the [Team](/team) page for the individual team members. +See the [Team](/gallery/team.html) page for individual team members. ## Sponsors diff --git a/content/en/team.md b/content/en/team.md deleted file mode 100644 index 56c7414f2f..0000000000 --- a/content/en/team.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Team - -sidebar: false - ---- - -*TO DO: Add a Google Maps snapshot illustrating where members of the NumPy team are from.* - - -We are an international team on a mission to support scientific and research communities worldwide by building quality, open-source software. [**Join us**](/contribute)! - -## NumPy Contributors Gallery - -*TO DO: Generate a gallery of all NumPy contributors - github.com/numpy/numpy.org/issues/45*. diff --git a/scripts/gallery/__init__.py b/scripts/gallery/__init__.py new file mode 100644 index 0000000000..4f474540a9 --- /dev/null +++ b/scripts/gallery/__init__.py @@ -0,0 +1 @@ +import team diff --git a/scripts/gallery/_templates/layout.html b/scripts/gallery/_templates/layout.html new file mode 100644 index 0000000000..0c478e9cfd --- /dev/null +++ b/scripts/gallery/_templates/layout.html @@ -0,0 +1,52 @@ + + + + + + + + + + NumPy + + {% for stylesheet in main.static.css %} + + {% endfor %} + + +
+
+
+
+ {% block body %}{% endblock %} +
+
+ + + + + + + + diff --git a/scripts/gallery/cache/numpy_team.context b/scripts/gallery/cache/numpy_team.context new file mode 100644 index 0000000000..a0767dd84c --- /dev/null +++ b/scripts/gallery/cache/numpy_team.context @@ -0,0 +1,1059 @@ +ignore_io_errors: false +main: + base_template: layout.html + context_preprocessors: + - team.Preprocessors.team_add_info + ignore: + - _templates/layout.html + - team.yml + maintainers: + core: + - ahaldane + - mhvk + - shoyer + - njsmith + - rkern + - eric-wieser + - stefanv + - pv + - rgommers + - charris + - seberg + - juliantaylor + - bashtage + - matthew-brett + - WarrenWeckesser + - mattip + - tylerjereddy + docpeople: + - avatar_url: https://avatars2.githubusercontent.com/u/3949932?v=4 + bio: Software Engineer at Quansight, former math professor (UFSC). Mathematical + optimization, numerical linear algebra, LaTeX, Python, Fortran, OSS. + blog: www.mtm.ufsc.br/~melissa + company: '@Quansight' + created_at: '2013-03-23T14:48:55Z' + email: null + events_url: https://api.github.com/users/melissawm/events{/privacy} + followers: 217 + followers_url: https://api.github.com/users/melissawm/followers + following: 41 + following_url: https://api.github.com/users/melissawm/following{/other_user} + gists_url: https://api.github.com/users/melissawm/gists{/gist_id} + gravatar_id: '' + hireable: null + html_url: https://github.com/melissawm + id: 3949932 + location: "Florian\xF3polis" + login: melissawm + name: "Melissa Weber Mendon\xE7a" + node_id: MDQ6VXNlcjM5NDk5MzI= + organizations_url: https://api.github.com/users/melissawm/orgs + public_gists: 0 + public_repos: 76 + received_events_url: https://api.github.com/users/melissawm/received_events + repos_url: https://api.github.com/users/melissawm/repos + site_admin: false + starred_url: https://api.github.com/users/melissawm/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/melissawm/subscriptions + type: User + updated_at: '2020-04-08T21:41:17Z' + url: https://api.github.com/users/melissawm + - avatar_url: https://avatars3.githubusercontent.com/u/98330?v=4 + bio: NumPy, SciPy, PyWavelets maintainer. Building open source communities at + Quansight Labs. He/him. + blog: http://www.linkedin.com/in/ralfgommers + company: Quansight + created_at: '2009-06-23T23:16:22Z' + email: null + events_url: https://api.github.com/users/rgommers/events{/privacy} + followers: 240 + followers_url: https://api.github.com/users/rgommers/followers + following: 14 + following_url: https://api.github.com/users/rgommers/following{/other_user} + gists_url: https://api.github.com/users/rgommers/gists{/gist_id} + gravatar_id: '' + hireable: null + html_url: https://github.com/rgommers + id: 98330 + location: Netherlands + login: rgommers + name: Ralf Gommers + node_id: MDQ6VXNlcjk4MzMw + organizations_url: https://api.github.com/users/rgommers/orgs + public_gists: 17 + public_repos: 83 + received_events_url: https://api.github.com/users/rgommers/received_events + repos_url: https://api.github.com/users/rgommers/repos + site_admin: false + starred_url: https://api.github.com/users/rgommers/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/rgommers/subscriptions + type: User + updated_at: '2020-04-12T10:08:05Z' + url: https://api.github.com/users/rgommers + - avatar_url: https://avatars1.githubusercontent.com/u/35413198?v=4 + bio: Data Analysis, Machine Learning, and AI + blog: https://bonn0062.github.io/portfolio_ab/ + company: null + created_at: '2018-01-14T03:06:33Z' + email: null + events_url: https://api.github.com/users/bonn0062/events{/privacy} + followers: 103 + followers_url: https://api.github.com/users/bonn0062/followers + following: 18 + following_url: https://api.github.com/users/bonn0062/following{/other_user} + gists_url: https://api.github.com/users/bonn0062/gists{/gist_id} + gravatar_id: '' + hireable: true + html_url: https://github.com/bonn0062 + id: 35413198 + location: CA + login: bonn0062 + name: Anne Bonner + node_id: MDQ6VXNlcjM1NDEzMTk4 + organizations_url: https://api.github.com/users/bonn0062/orgs + public_gists: 5 + public_repos: 69 + received_events_url: https://api.github.com/users/bonn0062/received_events + repos_url: https://api.github.com/users/bonn0062/repos + site_admin: false + starred_url: https://api.github.com/users/bonn0062/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/bonn0062/subscriptions + type: User + updated_at: '2020-01-15T00:55:54Z' + url: https://api.github.com/users/bonn0062 + documentation: + - melissawm + - rgommers + - bonn0062 + emeritus: + - teoliphant + - cournape + - mwiebe + - pearu + - jarrodmillman + - jaimefrio + - certik + emerpeople: + - avatar_url: https://avatars1.githubusercontent.com/u/254880?v=4 + bio: NumPy, SciPy, Numba, Conda, PyData, NumFocus, Anaconda, Quansight + blog: technicaldiscovery.blogspot.com + company: Quansight + created_at: '2010-04-27T21:53:47Z' + email: null + events_url: https://api.github.com/users/teoliphant/events{/privacy} + followers: 685 + followers_url: https://api.github.com/users/teoliphant/followers + following: 17 + following_url: https://api.github.com/users/teoliphant/following{/other_user} + gists_url: https://api.github.com/users/teoliphant/gists{/gist_id} + gravatar_id: '' + hireable: true + html_url: https://github.com/teoliphant + id: 254880 + location: Austin, TX + login: teoliphant + name: Travis E. Oliphant + node_id: MDQ6VXNlcjI1NDg4MA== + organizations_url: https://api.github.com/users/teoliphant/orgs + public_gists: 6 + public_repos: 30 + received_events_url: https://api.github.com/users/teoliphant/received_events + repos_url: https://api.github.com/users/teoliphant/repos + site_admin: false + starred_url: https://api.github.com/users/teoliphant/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/teoliphant/subscriptions + type: User + updated_at: '2020-04-03T16:39:14Z' + url: https://api.github.com/users/teoliphant + - avatar_url: https://avatars1.githubusercontent.com/u/25111?v=4 + bio: null + blog: cournape.github.io + company: Mercari JP + created_at: '2008-09-18T04:42:23Z' + email: null + events_url: https://api.github.com/users/cournape/events{/privacy} + followers: 395 + followers_url: https://api.github.com/users/cournape/followers + following: 2 + following_url: https://api.github.com/users/cournape/following{/other_user} + gists_url: https://api.github.com/users/cournape/gists{/gist_id} + gravatar_id: '' + hireable: true + html_url: https://github.com/cournape + id: 25111 + location: Tokyo, Japan + login: cournape + name: David Cournapeau + node_id: MDQ6VXNlcjI1MTEx + organizations_url: https://api.github.com/users/cournape/orgs + public_gists: 18 + public_repos: 138 + received_events_url: https://api.github.com/users/cournape/received_events + repos_url: https://api.github.com/users/cournape/repos + site_admin: false + starred_url: https://api.github.com/users/cournape/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/cournape/subscriptions + type: User + updated_at: '2020-03-05T02:14:32Z' + url: https://api.github.com/users/cournape + - avatar_url: https://avatars0.githubusercontent.com/u/399551?v=4 + bio: null + blog: '' + company: AWS Thinkbox + created_at: '2010-09-14T23:17:58Z' + email: null + events_url: https://api.github.com/users/mwiebe/events{/privacy} + followers: 94 + followers_url: https://api.github.com/users/mwiebe/followers + following: 0 + following_url: https://api.github.com/users/mwiebe/following{/other_user} + gists_url: https://api.github.com/users/mwiebe/gists{/gist_id} + gravatar_id: '' + hireable: null + html_url: https://github.com/mwiebe + id: 399551 + location: Seattle + login: mwiebe + name: Mark Wiebe + node_id: MDQ6VXNlcjM5OTU1MQ== + organizations_url: https://api.github.com/users/mwiebe/orgs + public_gists: 4 + public_repos: 35 + received_events_url: https://api.github.com/users/mwiebe/received_events + repos_url: https://api.github.com/users/mwiebe/repos + site_admin: false + starred_url: https://api.github.com/users/mwiebe/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/mwiebe/subscriptions + type: User + updated_at: '2019-08-19T17:24:24Z' + url: https://api.github.com/users/mwiebe + - avatar_url: https://avatars3.githubusercontent.com/u/402156?v=4 + bio: null + blog: '' + company: Quansight + created_at: '2010-09-16T10:43:25Z' + email: null + events_url: https://api.github.com/users/pearu/events{/privacy} + followers: 35 + followers_url: https://api.github.com/users/pearu/followers + following: 1 + following_url: https://api.github.com/users/pearu/following{/other_user} + gists_url: https://api.github.com/users/pearu/gists{/gist_id} + gravatar_id: '' + hireable: null + html_url: https://github.com/pearu + id: 402156 + location: Estonia + login: pearu + name: Pearu Peterson + node_id: MDQ6VXNlcjQwMjE1Ng== + organizations_url: https://api.github.com/users/pearu/orgs + public_gists: 1 + public_repos: 16 + received_events_url: https://api.github.com/users/pearu/received_events + repos_url: https://api.github.com/users/pearu/repos + site_admin: false + starred_url: https://api.github.com/users/pearu/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/pearu/subscriptions + type: User + updated_at: '2020-04-14T10:27:24Z' + url: https://api.github.com/users/pearu + - avatar_url: https://avatars1.githubusercontent.com/u/123428?v=4 + bio: null + blog: http://www.jarrodmillman.com/ + company: UC Berkeley + created_at: '2009-09-04T22:25:30Z' + email: null + events_url: https://api.github.com/users/jarrodmillman/events{/privacy} + followers: 147 + followers_url: https://api.github.com/users/jarrodmillman/followers + following: 0 + following_url: https://api.github.com/users/jarrodmillman/following{/other_user} + gists_url: https://api.github.com/users/jarrodmillman/gists{/gist_id} + gravatar_id: '' + hireable: null + html_url: https://github.com/jarrodmillman + id: 123428 + location: California + login: jarrodmillman + name: Jarrod Millman + node_id: MDQ6VXNlcjEyMzQyOA== + organizations_url: https://api.github.com/users/jarrodmillman/orgs + public_gists: 2 + public_repos: 90 + received_events_url: https://api.github.com/users/jarrodmillman/received_events + repos_url: https://api.github.com/users/jarrodmillman/repos + site_admin: false + starred_url: https://api.github.com/users/jarrodmillman/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/jarrodmillman/subscriptions + type: User + updated_at: '2020-04-13T23:15:37Z' + url: https://api.github.com/users/jarrodmillman + - avatar_url: https://avatars1.githubusercontent.com/u/3343990?v=4 + bio: null + blog: '' + company: Google + created_at: '2013-01-22T21:50:33Z' + email: null + events_url: https://api.github.com/users/jaimefrio/events{/privacy} + followers: 89 + followers_url: https://api.github.com/users/jaimefrio/followers + following: 5 + following_url: https://api.github.com/users/jaimefrio/following{/other_user} + gists_url: https://api.github.com/users/jaimefrio/gists{/gist_id} + gravatar_id: '' + hireable: null + html_url: https://github.com/jaimefrio + id: 3343990 + location: Zurich, Switzerland + login: jaimefrio + name: Jaime + node_id: MDQ6VXNlcjMzNDM5OTA= + organizations_url: https://api.github.com/users/jaimefrio/orgs + public_gists: 6 + public_repos: 20 + received_events_url: https://api.github.com/users/jaimefrio/received_events + repos_url: https://api.github.com/users/jaimefrio/repos + site_admin: false + starred_url: https://api.github.com/users/jaimefrio/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/jaimefrio/subscriptions + type: User + updated_at: '2020-02-05T16:36:30Z' + url: https://api.github.com/users/jaimefrio + - avatar_url: https://avatars3.githubusercontent.com/u/20568?v=4 + bio: The original author of the @sympy and @symengine libraries and the @lfortran + compiler. + blog: https://ondrejcertik.com/ + company: Los Alamos National Laboratory + created_at: '2008-08-13T18:39:11Z' + email: null + events_url: https://api.github.com/users/certik/events{/privacy} + followers: 385 + followers_url: https://api.github.com/users/certik/followers + following: 93 + following_url: https://api.github.com/users/certik/following{/other_user} + gists_url: https://api.github.com/users/certik/gists{/gist_id} + gravatar_id: '' + hireable: true + html_url: https://github.com/certik + id: 20568 + location: Los Alamos, NM + login: certik + name: "Ond\u0159ej \u010Cert\xEDk" + node_id: MDQ6VXNlcjIwNTY4 + organizations_url: https://api.github.com/users/certik/orgs + public_gists: 483 + public_repos: 303 + received_events_url: https://api.github.com/users/certik/received_events + repos_url: https://api.github.com/users/certik/repos + site_admin: false + starred_url: https://api.github.com/users/certik/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/certik/subscriptions + type: User + updated_at: '2020-04-02T18:04:32Z' + url: https://api.github.com/users/certik + people: + - avatar_url: https://avatars1.githubusercontent.com/u/9040124?v=4 + bio: null + blog: '' + company: null + created_at: '2014-10-06T17:58:36Z' + email: null + events_url: https://api.github.com/users/ahaldane/events{/privacy} + followers: 14 + followers_url: https://api.github.com/users/ahaldane/followers + following: 0 + following_url: https://api.github.com/users/ahaldane/following{/other_user} + gists_url: https://api.github.com/users/ahaldane/gists{/gist_id} + gravatar_id: '' + hireable: null + html_url: https://github.com/ahaldane + id: 9040124 + location: null + login: ahaldane + name: Allan Haldane + node_id: MDQ6VXNlcjkwNDAxMjQ= + organizations_url: https://api.github.com/users/ahaldane/orgs + public_gists: 7 + public_repos: 14 + received_events_url: https://api.github.com/users/ahaldane/received_events + repos_url: https://api.github.com/users/ahaldane/repos + site_admin: false + starred_url: https://api.github.com/users/ahaldane/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/ahaldane/subscriptions + type: User + updated_at: '2020-04-06T23:24:36Z' + url: https://api.github.com/users/ahaldane + - avatar_url: https://avatars0.githubusercontent.com/u/2789820?v=4 + bio: null + blog: '' + company: University of Toronto + created_at: '2012-11-13T19:48:46Z' + email: null + events_url: https://api.github.com/users/mhvk/events{/privacy} + followers: 44 + followers_url: https://api.github.com/users/mhvk/followers + following: 0 + following_url: https://api.github.com/users/mhvk/following{/other_user} + gists_url: https://api.github.com/users/mhvk/gists{/gist_id} + gravatar_id: '' + hireable: null + html_url: https://github.com/mhvk + id: 2789820 + location: Toronto, Ontario, Canada + login: mhvk + name: Marten van Kerkwijk + node_id: MDQ6VXNlcjI3ODk4MjA= + organizations_url: https://api.github.com/users/mhvk/orgs + public_gists: 4 + public_repos: 33 + received_events_url: https://api.github.com/users/mhvk/received_events + repos_url: https://api.github.com/users/mhvk/repos + site_admin: false + starred_url: https://api.github.com/users/mhvk/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/mhvk/subscriptions + type: User + updated_at: '2020-04-05T21:05:15Z' + url: https://api.github.com/users/mhvk + - avatar_url: https://avatars2.githubusercontent.com/u/1217238?v=4 + bio: null + blog: http://stephanhoyer.com + company: '@google ' + created_at: '2011-11-24T04:06:45Z' + email: null + events_url: https://api.github.com/users/shoyer/events{/privacy} + followers: 586 + followers_url: https://api.github.com/users/shoyer/followers + following: 18 + following_url: https://api.github.com/users/shoyer/following{/other_user} + gists_url: https://api.github.com/users/shoyer/gists{/gist_id} + gravatar_id: '' + hireable: null + html_url: https://github.com/shoyer + id: 1217238 + location: San Francisco, CA + login: shoyer + name: Stephan Hoyer + node_id: MDQ6VXNlcjEyMTcyMzg= + organizations_url: https://api.github.com/users/shoyer/orgs + public_gists: 58 + public_repos: 76 + received_events_url: https://api.github.com/users/shoyer/received_events + repos_url: https://api.github.com/users/shoyer/repos + site_admin: false + starred_url: https://api.github.com/users/shoyer/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/shoyer/subscriptions + type: User + updated_at: '2020-04-13T21:03:01Z' + url: https://api.github.com/users/shoyer + - avatar_url: https://avatars0.githubusercontent.com/u/609896?v=4 + bio: null + blog: https://vorpus.org + company: null + created_at: '2011-02-10T00:04:33Z' + email: null + events_url: https://api.github.com/users/njsmith/events{/privacy} + followers: 548 + followers_url: https://api.github.com/users/njsmith/followers + following: 0 + following_url: https://api.github.com/users/njsmith/following{/other_user} + gists_url: https://api.github.com/users/njsmith/gists{/gist_id} + gravatar_id: '' + hireable: null + html_url: https://github.com/njsmith + id: 609896 + location: null + login: njsmith + name: Nathaniel J. Smith + node_id: MDQ6VXNlcjYwOTg5Ng== + organizations_url: https://api.github.com/users/njsmith/orgs + public_gists: 88 + public_repos: 116 + received_events_url: https://api.github.com/users/njsmith/received_events + repos_url: https://api.github.com/users/njsmith/repos + site_admin: false + starred_url: https://api.github.com/users/njsmith/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/njsmith/subscriptions + type: User + updated_at: '2020-04-08T14:28:30Z' + url: https://api.github.com/users/njsmith + - avatar_url: https://avatars3.githubusercontent.com/u/46135?v=4 + bio: null + blog: '' + company: '@enthought ' + created_at: '2009-01-13T01:44:12Z' + email: null + events_url: https://api.github.com/users/rkern/events{/privacy} + followers: 165 + followers_url: https://api.github.com/users/rkern/followers + following: 1 + following_url: https://api.github.com/users/rkern/following{/other_user} + gists_url: https://api.github.com/users/rkern/gists{/gist_id} + gravatar_id: '' + hireable: null + html_url: https://github.com/rkern + id: 46135 + location: null + login: rkern + name: Robert Kern + node_id: MDQ6VXNlcjQ2MTM1 + organizations_url: https://api.github.com/users/rkern/orgs + public_gists: 20 + public_repos: 32 + received_events_url: https://api.github.com/users/rkern/received_events + repos_url: https://api.github.com/users/rkern/repos + site_admin: false + starred_url: https://api.github.com/users/rkern/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/rkern/subscriptions + type: User + updated_at: '2020-04-07T01:03:52Z' + url: https://api.github.com/users/rkern + - avatar_url: https://avatars3.githubusercontent.com/u/425260?v=4 + bio: null + blog: http://ericwieser.me + company: University of Cambridge + created_at: '2010-10-03T11:40:19Z' + email: null + events_url: https://api.github.com/users/eric-wieser/events{/privacy} + followers: 119 + followers_url: https://api.github.com/users/eric-wieser/followers + following: 33 + following_url: https://api.github.com/users/eric-wieser/following{/other_user} + gists_url: https://api.github.com/users/eric-wieser/gists{/gist_id} + gravatar_id: '' + hireable: null + html_url: https://github.com/eric-wieser + id: 425260 + location: Cambridge UK + login: eric-wieser + name: Eric Wieser + node_id: MDQ6VXNlcjQyNTI2MA== + organizations_url: https://api.github.com/users/eric-wieser/orgs + public_gists: 38 + public_repos: 185 + received_events_url: https://api.github.com/users/eric-wieser/received_events + repos_url: https://api.github.com/users/eric-wieser/repos + site_admin: false + starred_url: https://api.github.com/users/eric-wieser/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/eric-wieser/subscriptions + type: User + updated_at: '2020-04-06T14:27:58Z' + url: https://api.github.com/users/eric-wieser + - avatar_url: https://avatars2.githubusercontent.com/u/45071?v=4 + bio: Researcher at Berkeley Institute for Data Science, open source scientific + Python developer (NumPy, scikit-image, etc.), explorer. + blog: http://mentat.za.net + company: University of California, Berkeley + created_at: '2009-01-08T12:17:56Z' + email: null + events_url: https://api.github.com/users/stefanv/events{/privacy} + followers: 533 + followers_url: https://api.github.com/users/stefanv/followers + following: 7 + following_url: https://api.github.com/users/stefanv/following{/other_user} + gists_url: https://api.github.com/users/stefanv/gists{/gist_id} + gravatar_id: '' + hireable: null + html_url: https://github.com/stefanv + id: 45071 + location: Berkeley, CA + login: stefanv + name: Stefan van der Walt + node_id: MDQ6VXNlcjQ1MDcx + organizations_url: https://api.github.com/users/stefanv/orgs + public_gists: 106 + public_repos: 190 + received_events_url: https://api.github.com/users/stefanv/received_events + repos_url: https://api.github.com/users/stefanv/repos + site_admin: false + starred_url: https://api.github.com/users/stefanv/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/stefanv/subscriptions + type: User + updated_at: '2020-04-14T17:21:13Z' + url: https://api.github.com/users/stefanv + - avatar_url: https://avatars1.githubusercontent.com/u/35046?v=4 + bio: null + blog: '' + company: null + created_at: '2008-11-17T20:04:29Z' + email: null + events_url: https://api.github.com/users/pv/events{/privacy} + followers: 122 + followers_url: https://api.github.com/users/pv/followers + following: 0 + following_url: https://api.github.com/users/pv/following{/other_user} + gists_url: https://api.github.com/users/pv/gists{/gist_id} + gravatar_id: '' + hireable: null + html_url: https://github.com/pv + id: 35046 + location: null + login: pv + name: Pauli Virtanen + node_id: MDQ6VXNlcjM1MDQ2 + organizations_url: https://api.github.com/users/pv/orgs + public_gists: 51 + public_repos: 105 + received_events_url: https://api.github.com/users/pv/received_events + repos_url: https://api.github.com/users/pv/repos + site_admin: false + starred_url: https://api.github.com/users/pv/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/pv/subscriptions + type: User + updated_at: '2020-03-19T13:18:23Z' + url: https://api.github.com/users/pv + - avatar_url: https://avatars3.githubusercontent.com/u/98330?v=4 + bio: NumPy, SciPy, PyWavelets maintainer. Building open source communities at + Quansight Labs. He/him. + blog: http://www.linkedin.com/in/ralfgommers + company: Quansight + created_at: '2009-06-23T23:16:22Z' + email: null + events_url: https://api.github.com/users/rgommers/events{/privacy} + followers: 240 + followers_url: https://api.github.com/users/rgommers/followers + following: 14 + following_url: https://api.github.com/users/rgommers/following{/other_user} + gists_url: https://api.github.com/users/rgommers/gists{/gist_id} + gravatar_id: '' + hireable: null + html_url: https://github.com/rgommers + id: 98330 + location: Netherlands + login: rgommers + name: Ralf Gommers + node_id: MDQ6VXNlcjk4MzMw + organizations_url: https://api.github.com/users/rgommers/orgs + public_gists: 17 + public_repos: 83 + received_events_url: https://api.github.com/users/rgommers/received_events + repos_url: https://api.github.com/users/rgommers/repos + site_admin: false + starred_url: https://api.github.com/users/rgommers/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/rgommers/subscriptions + type: User + updated_at: '2020-04-12T10:08:05Z' + url: https://api.github.com/users/rgommers + - avatar_url: https://avatars3.githubusercontent.com/u/77272?v=4 + bio: null + blog: '' + company: Retired + created_at: '2009-04-24T04:37:21Z' + email: null + events_url: https://api.github.com/users/charris/events{/privacy} + followers: 83 + followers_url: https://api.github.com/users/charris/followers + following: 2 + following_url: https://api.github.com/users/charris/following{/other_user} + gists_url: https://api.github.com/users/charris/gists{/gist_id} + gravatar_id: '' + hireable: null + html_url: https://github.com/charris + id: 77272 + location: Logan, Utah; USA + login: charris + name: Charles Harris + node_id: MDQ6VXNlcjc3Mjcy + organizations_url: https://api.github.com/users/charris/orgs + public_gists: 1 + public_repos: 19 + received_events_url: https://api.github.com/users/charris/received_events + repos_url: https://api.github.com/users/charris/repos + site_admin: false + starred_url: https://api.github.com/users/charris/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/charris/subscriptions + type: User + updated_at: '2020-04-07T20:32:26Z' + url: https://api.github.com/users/charris + - avatar_url: https://avatars1.githubusercontent.com/u/61977?v=4 + bio: null + blog: '' + company: null + created_at: '2009-03-10T13:37:39Z' + email: null + events_url: https://api.github.com/users/seberg/events{/privacy} + followers: 29 + followers_url: https://api.github.com/users/seberg/followers + following: 0 + following_url: https://api.github.com/users/seberg/following{/other_user} + gists_url: https://api.github.com/users/seberg/gists{/gist_id} + gravatar_id: '' + hireable: null + html_url: https://github.com/seberg + id: 61977 + location: null + login: seberg + name: Sebastian Berg + node_id: MDQ6VXNlcjYxOTc3 + organizations_url: https://api.github.com/users/seberg/orgs + public_gists: 15 + public_repos: 27 + received_events_url: https://api.github.com/users/seberg/received_events + repos_url: https://api.github.com/users/seberg/repos + site_admin: false + starred_url: https://api.github.com/users/seberg/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/seberg/subscriptions + type: User + updated_at: '2020-03-13T16:11:57Z' + url: https://api.github.com/users/seberg + - avatar_url: https://avatars1.githubusercontent.com/u/542663?v=4 + bio: null + blog: '' + company: null + created_at: '2010-12-31T14:04:50Z' + email: null + events_url: https://api.github.com/users/juliantaylor/events{/privacy} + followers: 23 + followers_url: https://api.github.com/users/juliantaylor/followers + following: 2 + following_url: https://api.github.com/users/juliantaylor/following{/other_user} + gists_url: https://api.github.com/users/juliantaylor/gists{/gist_id} + gravatar_id: '' + hireable: null + html_url: https://github.com/juliantaylor + id: 542663 + location: null + login: juliantaylor + name: Julian Taylor + node_id: MDQ6VXNlcjU0MjY2Mw== + organizations_url: https://api.github.com/users/juliantaylor/orgs + public_gists: 16 + public_repos: 43 + received_events_url: https://api.github.com/users/juliantaylor/received_events + repos_url: https://api.github.com/users/juliantaylor/repos + site_admin: false + starred_url: https://api.github.com/users/juliantaylor/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/juliantaylor/subscriptions + type: User + updated_at: '2020-01-02T17:01:56Z' + url: https://api.github.com/users/juliantaylor + - avatar_url: https://avatars3.githubusercontent.com/u/5585221?v=4 + bio: null + blog: http://www.kevinsheppard.com + company: null + created_at: '2013-10-01T11:57:59Z' + email: null + events_url: https://api.github.com/users/bashtage/events{/privacy} + followers: 338 + followers_url: https://api.github.com/users/bashtage/followers + following: 0 + following_url: https://api.github.com/users/bashtage/following{/other_user} + gists_url: https://api.github.com/users/bashtage/gists{/gist_id} + gravatar_id: '' + hireable: null + html_url: https://github.com/bashtage + id: 5585221 + location: London, UK + login: bashtage + name: Kevin Sheppard + node_id: MDQ6VXNlcjU1ODUyMjE= + organizations_url: https://api.github.com/users/bashtage/orgs + public_gists: 1 + public_repos: 36 + received_events_url: https://api.github.com/users/bashtage/received_events + repos_url: https://api.github.com/users/bashtage/repos + site_admin: false + starred_url: https://api.github.com/users/bashtage/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/bashtage/subscriptions + type: User + updated_at: '2020-04-01T22:01:09Z' + url: https://api.github.com/users/bashtage + - avatar_url: https://avatars2.githubusercontent.com/u/67612?v=4 + bio: null + blog: http://matthew.dynevor.org + company: University of Birmingham + created_at: '2009-03-26T21:53:42Z' + email: null + events_url: https://api.github.com/users/matthew-brett/events{/privacy} + followers: 222 + followers_url: https://api.github.com/users/matthew-brett/followers + following: 0 + following_url: https://api.github.com/users/matthew-brett/following{/other_user} + gists_url: https://api.github.com/users/matthew-brett/gists{/gist_id} + gravatar_id: '' + hireable: null + html_url: https://github.com/matthew-brett + id: 67612 + location: Birmingham, UK + login: matthew-brett + name: Matthew Brett + node_id: MDQ6VXNlcjY3NjEy + organizations_url: https://api.github.com/users/matthew-brett/orgs + public_gists: 78 + public_repos: 376 + received_events_url: https://api.github.com/users/matthew-brett/received_events + repos_url: https://api.github.com/users/matthew-brett/repos + site_admin: false + starred_url: https://api.github.com/users/matthew-brett/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/matthew-brett/subscriptions + type: User + updated_at: '2020-04-13T11:57:13Z' + url: https://api.github.com/users/matthew-brett + - avatar_url: https://avatars2.githubusercontent.com/u/321463?v=4 + bio: null + blog: '' + company: null + created_at: '2010-07-02T20:57:40Z' + email: null + events_url: https://api.github.com/users/WarrenWeckesser/events{/privacy} + followers: 59 + followers_url: https://api.github.com/users/WarrenWeckesser/followers + following: 0 + following_url: https://api.github.com/users/WarrenWeckesser/following{/other_user} + gists_url: https://api.github.com/users/WarrenWeckesser/gists{/gist_id} + gravatar_id: '' + hireable: null + html_url: https://github.com/WarrenWeckesser + id: 321463 + location: null + login: WarrenWeckesser + name: Warren Weckesser + node_id: MDQ6VXNlcjMyMTQ2Mw== + organizations_url: https://api.github.com/users/WarrenWeckesser/orgs + public_gists: 23 + public_repos: 44 + received_events_url: https://api.github.com/users/WarrenWeckesser/received_events + repos_url: https://api.github.com/users/WarrenWeckesser/repos + site_admin: false + starred_url: https://api.github.com/users/WarrenWeckesser/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/WarrenWeckesser/subscriptions + type: User + updated_at: '2020-04-06T11:11:31Z' + url: https://api.github.com/users/WarrenWeckesser + - avatar_url: https://avatars0.githubusercontent.com/u/823911?v=4 + bio: null + blog: '' + company: null + created_at: '2011-06-01T19:55:55Z' + email: null + events_url: https://api.github.com/users/mattip/events{/privacy} + followers: 62 + followers_url: https://api.github.com/users/mattip/followers + following: 3 + following_url: https://api.github.com/users/mattip/following{/other_user} + gists_url: https://api.github.com/users/mattip/gists{/gist_id} + gravatar_id: '' + hireable: null + html_url: https://github.com/mattip + id: 823911 + location: null + login: mattip + name: Matti Picus + node_id: MDQ6VXNlcjgyMzkxMQ== + organizations_url: https://api.github.com/users/mattip/orgs + public_gists: 45 + public_repos: 63 + received_events_url: https://api.github.com/users/mattip/received_events + repos_url: https://api.github.com/users/mattip/repos + site_admin: false + starred_url: https://api.github.com/users/mattip/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/mattip/subscriptions + type: User + updated_at: '2020-04-14T09:56:34Z' + url: https://api.github.com/users/mattip + - avatar_url: https://avatars0.githubusercontent.com/u/7903078?v=4 + bio: Core developer of SciPy and MDAnalysis libraries. LANL owns my contributions + from Jan. 30/ 2017 onward. + blog: '' + company: LANL + created_at: '2014-06-16T14:02:26Z' + email: null + events_url: https://api.github.com/users/tylerjereddy/events{/privacy} + followers: 66 + followers_url: https://api.github.com/users/tylerjereddy/followers + following: 0 + following_url: https://api.github.com/users/tylerjereddy/following{/other_user} + gists_url: https://api.github.com/users/tylerjereddy/gists{/gist_id} + gravatar_id: '' + hireable: null + html_url: https://github.com/tylerjereddy + id: 7903078 + location: Northern New Mexico + login: tylerjereddy + name: Tyler Reddy + node_id: MDQ6VXNlcjc5MDMwNzg= + organizations_url: https://api.github.com/users/tylerjereddy/orgs + public_gists: 5 + public_repos: 73 + received_events_url: https://api.github.com/users/tylerjereddy/received_events + repos_url: https://api.github.com/users/tylerjereddy/repos + site_admin: false + starred_url: https://api.github.com/users/tylerjereddy/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/tylerjereddy/subscriptions + type: User + updated_at: '2020-03-23T15:05:35Z' + url: https://api.github.com/users/tylerjereddy + webpeople: + - avatar_url: https://avatars0.githubusercontent.com/u/3891660?v=4 + bio: null + blog: '' + company: '@BoldMetrics' + created_at: '2013-03-17T17:07:39Z' + email: null + events_url: https://api.github.com/users/joelachance/events{/privacy} + followers: 9 + followers_url: https://api.github.com/users/joelachance/followers + following: 4 + following_url: https://api.github.com/users/joelachance/following{/other_user} + gists_url: https://api.github.com/users/joelachance/gists{/gist_id} + gravatar_id: '' + hireable: null + html_url: https://github.com/joelachance + id: 3891660 + location: St. Paul, MN + login: joelachance + name: Joe LaChance + node_id: MDQ6VXNlcjM4OTE2NjA= + organizations_url: https://api.github.com/users/joelachance/orgs + public_gists: 3 + public_repos: 26 + received_events_url: https://api.github.com/users/joelachance/received_events + repos_url: https://api.github.com/users/joelachance/repos + site_admin: false + starred_url: https://api.github.com/users/joelachance/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/joelachance/subscriptions + type: User + updated_at: '2020-03-27T18:33:17Z' + url: https://api.github.com/users/joelachance + - avatar_url: https://avatars0.githubusercontent.com/u/43481325?v=4 + bio: null + blog: '' + company: null + created_at: '2018-09-21T19:00:11Z' + email: null + events_url: https://api.github.com/users/InessaPawson/events{/privacy} + followers: 3 + followers_url: https://api.github.com/users/InessaPawson/followers + following: 1 + following_url: https://api.github.com/users/InessaPawson/following{/other_user} + gists_url: https://api.github.com/users/InessaPawson/gists{/gist_id} + gravatar_id: '' + hireable: null + html_url: https://github.com/InessaPawson + id: 43481325 + location: null + login: InessaPawson + name: null + node_id: MDQ6VXNlcjQzNDgxMzI1 + organizations_url: https://api.github.com/users/InessaPawson/orgs + public_gists: 0 + public_repos: 5 + received_events_url: https://api.github.com/users/InessaPawson/received_events + repos_url: https://api.github.com/users/InessaPawson/repos + site_admin: false + starred_url: https://api.github.com/users/InessaPawson/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/InessaPawson/subscriptions + type: User + updated_at: '2020-03-28T06:30:35Z' + url: https://api.github.com/users/InessaPawson + - avatar_url: https://avatars2.githubusercontent.com/u/46167686?v=4 + bio: Full-stack engineer at Quansight Labs. Graduate of QCC CUNYTechworks. + blog: https://www.linkedin.com/in/mars-lee/ + company: null + created_at: '2018-12-26T18:31:08Z' + email: null + events_url: https://api.github.com/users/MarsBarLee/events{/privacy} + followers: 14 + followers_url: https://api.github.com/users/MarsBarLee/followers + following: 18 + following_url: https://api.github.com/users/MarsBarLee/following{/other_user} + gists_url: https://api.github.com/users/MarsBarLee/gists{/gist_id} + gravatar_id: '' + hireable: null + html_url: https://github.com/MarsBarLee + id: 46167686 + location: New York City + login: MarsBarLee + name: null + node_id: MDQ6VXNlcjQ2MTY3Njg2 + organizations_url: https://api.github.com/users/MarsBarLee/orgs + public_gists: 0 + public_repos: 32 + received_events_url: https://api.github.com/users/MarsBarLee/received_events + repos_url: https://api.github.com/users/MarsBarLee/repos + site_admin: false + starred_url: https://api.github.com/users/MarsBarLee/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/MarsBarLee/subscriptions + type: User + updated_at: '2020-04-03T18:35:42Z' + url: https://api.github.com/users/MarsBarLee + - avatar_url: https://avatars0.githubusercontent.com/u/5890484?v=4 + bio: Technology Marketing Consultant, SW Engineer, two decades of cutting edge + product development & technical marketing expertise. Enjoys learning & collaborating! + blog: http://www.linkedin.com/in/shalooshalini + company: null + created_at: '2013-11-08T17:34:59Z' + email: null + events_url: https://api.github.com/users/shaloo/events{/privacy} + followers: 4 + followers_url: https://api.github.com/users/shaloo/followers + following: 5 + following_url: https://api.github.com/users/shaloo/following{/other_user} + gists_url: https://api.github.com/users/shaloo/gists{/gist_id} + gravatar_id: '' + hireable: null + html_url: https://github.com/shaloo + id: 5890484 + location: Pune, India + login: shaloo + name: shalz + node_id: MDQ6VXNlcjU4OTA0ODQ= + organizations_url: https://api.github.com/users/shaloo/orgs + public_gists: 0 + public_repos: 11 + received_events_url: https://api.github.com/users/shaloo/received_events + repos_url: https://api.github.com/users/shaloo/repos + site_admin: false + starred_url: https://api.github.com/users/shaloo/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/shaloo/subscriptions + type: User + updated_at: '2020-04-14T06:13:14Z' + url: https://api.github.com/users/shaloo + - avatar_url: https://avatars3.githubusercontent.com/u/98330?v=4 + bio: NumPy, SciPy, PyWavelets maintainer. Building open source communities at + Quansight Labs. He/him. + blog: http://www.linkedin.com/in/ralfgommers + company: Quansight + created_at: '2009-06-23T23:16:22Z' + email: null + events_url: https://api.github.com/users/rgommers/events{/privacy} + followers: 240 + followers_url: https://api.github.com/users/rgommers/followers + following: 14 + following_url: https://api.github.com/users/rgommers/following{/other_user} + gists_url: https://api.github.com/users/rgommers/gists{/gist_id} + gravatar_id: '' + hireable: null + html_url: https://github.com/rgommers + id: 98330 + location: Netherlands + login: rgommers + name: Ralf Gommers + node_id: MDQ6VXNlcjk4MzMw + organizations_url: https://api.github.com/users/rgommers/orgs + public_gists: 17 + public_repos: 83 + received_events_url: https://api.github.com/users/rgommers/received_events + repos_url: https://api.github.com/users/rgommers/repos + site_admin: false + starred_url: https://api.github.com/users/rgommers/starred{/owner}{/repo} + subscriptions_url: https://api.github.com/users/rgommers/subscriptions + type: User + updated_at: '2020-04-12T10:08:05Z' + url: https://api.github.com/users/rgommers + webteam: + - joelachance + - InessaPawson + - MarsBarLee + - shaloo + - rgommers + markdown_extensions: + - toc + - tables + - fenced_code + static: + css: + - /static/css/styles.css + logo: /static/img/numpy.png + templates_path: _templates +stored_context: '' diff --git a/scripts/gallery/numpy_team.py b/scripts/gallery/numpy_team.py new file mode 100755 index 0000000000..55e4ee1b85 --- /dev/null +++ b/scripts/gallery/numpy_team.py @@ -0,0 +1,235 @@ +#!/usr/bin/env python3 + +""" +This script builds the NumPy Team Page Gallery using content/en/team.md file. +The output team.html is stored in static/gallery/ target folder by default. +It is inspired from the code in pandas/pandas-web project. + +It requires as input numpy_team.yml configuration file. +This configuration file should contain:: + + main: + template_path: + base_template: + github_repo_url: + context_preprocessors: + - + markdown_extensions: + - + maintainers: + core: + webteam: + documentation: + emeritus: + +The rest of the items in the file will be added directly to the context. + +Make sure your current directory is gallery which contains numpy_team.py file. + +Run ``./numpy_team.py --help`` to see how to run it. + +Example: + +To run the script use:: + + ./numpy_team.py + +This will pull information about team members listed in yaml file into a local +file called numpy_team.context. In subsequent runs, unless the team changes, +you can reuse this locally stored information to render it using this script +and play with layout, css etc. as shown in the next example. + +To run the script using github info stored locally, use:: + + ./numpy_team.py --ignore-io-errors + --stored-context="cache/numpy_team.context" + +""" + +import os +import sys +import importlib +import markdown +import shutil +import time +import jinja2 +import requests +import yaml +import argparse + + +class Preprocessors: + """ + Built-in context preprocessors. + + Context preprocessors are functions that receive the context used to + render the templates, and enriches it with additional information. + + The original context is obtained by parsing ``team.yml`` and + anything else needed just be added with context preprocessors. + + There could be additional context preprocessors such as navbars, blogs + for NumPy we only have team context pre-processing for now. Others may be + added later in this script. + """ + + @staticmethod + def team_add_info(context): + """ + Given the maintainers defined in the yaml file, it fetches + the GitHub user information for them. + """ + + stored_ctx_fname = context["stored_context"] + if ( stored_ctx_fname != "" ): + with open(stored_ctx_fname) as f: + storedctx = yaml.safe_load(f) + return storedctx + + info = {'core': 'people', 'webteam': 'webpeople', 'documentation': + 'docpeople', 'emeritus': 'emerpeople'} + for key, value in info.items(): + context = get_team_gitinfo(key, value, context) + + cache_dir = os.path.join(os.getcwd(), "cache") + if not os.path.exists(cache_dir): + os.makedirs(cache_dir) + + local_file = os.path.join(cache_dir, "numpy_team.context") + print("Storing github info in local file =", local_file) + with open(local_file, "w") as st_f: + yaml.dump(context, st_f) + + return context + + +def get_team_gitinfo(subteam, ctx_tag, context): + """ + Given the subteam kind as input, fetch their info from git. + """ + context["main"]["maintainers"][ctx_tag] = [] + for user in context["main"]["maintainers"][subteam]: + resp = requests.get(f"https://api.github.com/users/{user}") + if context["ignore_io_errors"] and resp.status_code == 403: + print("Failed to get data for user.....",user) + return context + resp.raise_for_status() + context["main"]["maintainers"][ctx_tag].append(resp.json()) + + return context + + +def get_callable(obj_as_str: str) -> object: + """ + Get a Python object from its string representation. + """ + components = obj_as_str.split(".") + attrs = [] + name = __file__.strip('.py') + name = name.strip('/') + + while components: + try: + #obj = importlib.import_module(".".join(components)) + obj = importlib.import_module(name) + except ImportError: + attrs.insert(0, components(pop)) + else: + break + if not obj: + raise ImportError(f'Could not import "{obj_as_str}"') + + for attr in attrs: + obj = getattr(obj, attr) + + obj = getattr(obj, "Preprocessors") + obj = getattr(obj,"team_add_info") + + return obj + + +def get_context(contrib_fname: str, ignore_io_errors: bool, **kwargs): + """ + Load contrib yaml as base context and add information by context + preprocessor for team. + """ + with open(contrib_fname) as f: + context = yaml.safe_load(f) + + context["ignore_io_errors"] = ignore_io_errors + context.update(kwargs) + + preprocessors = ( + get_callable(context_prep) + for context_prep in context["main"]["context_preprocessors"] + ) + + for preprocessor in preprocessors: + context = preprocessor(context) + msg = f"{preprocessor.__name__} is missing the return statement" + assert context is not None, msg + + return context + + +def extend_base_template(content: str, base_template: str) -> str: + result = '{% extends "' + base_template + '" %}' + result += '{% block body %}' + result += content + result += '{% endblock %}' + return result + + +def main(config_yaml: str, + target_path: str, + stored_context: str, + ignore_io_errors: bool) -> int: + """ + Uses Team.md file in Hugo sources content/en subfolder, render it with + context and transformed it to HTML which is statically included in NumPy + Hugo static/gallery folder. + """ + + shutil.rmtree(target_path, ignore_errors=True) + os.makedirs(target_path, exist_ok=True) + sys.stderr.write("Generating context...\n") + context = get_context(config_yaml, ignore_io_errors, + stored_context=stored_context) + sys.stderr.write("Context generated successfully. \n") + templates_path = os.path.join(os.getcwd(), + context["main"]["templates_path"]) + jinja_env = jinja2.Environment(loader=jinja2.FileSystemLoader(templates_path)) + fname = "./team.md" + sys.stderr.write(f"Processing {fname}\n") + with open(fname, 'r') as f: + content = f.read() + + body = markdown.markdown(content, + extensions=context["main"]["markdown_extensions"]) + content = extend_base_template(body, + context["main"]["base_template"]) + content = (jinja_env.from_string(content).render(**context)) + fname = "team.html" + with open(os.path.join(target_path,fname), 'w') as f: + f.write(content) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="Team Page builder.") + parser.add_argument("config_yaml", + help="directory pathname to the yaml file" + "(e.g. ./numpy_team.yml)") + parser.add_argument("--target-path", default="../../static/gallery", + help="directory where to write the output,default ./build") + parser.add_argument("--stored-context", default="", + help="Use stored context locally instead of web request to github for data. Default is to seek data from github and store it locally in a file named team.context that can be used in subsequenct runs.") + parser.add_argument("--ignore-io-errors", action="store_true", + help="do not fail if errors happen when fetching " + "data from http sources, and those fail " + "(mostly useful to allow github quota errors " + "when running the script locally)") + args = parser.parse_args() + sys.exit(main(args.config_yaml, + args.target_path, + args.stored_context, + args.ignore_io_errors)) diff --git a/scripts/gallery/numpy_team.yml b/scripts/gallery/numpy_team.yml new file mode 100644 index 0000000000..07d6380d48 --- /dev/null +++ b/scripts/gallery/numpy_team.yml @@ -0,0 +1,53 @@ +main: + templates_path: _templates + base_template: "layout.html" + ignore: + - _templates/layout.html + - team.yml + context_preprocessors: + - team.Preprocessors.team_add_info + markdown_extensions: + - toc + - tables + - fenced_code + static: + logo: /static/img/numpy.png + css: + - /static/css/styles.css + maintainers: + core: + - ahaldane + - mhvk + - shoyer + - njsmith + - rkern + - eric-wieser + - stefanv + - pv + - rgommers + - charris + - seberg + - juliantaylor + - bashtage + - matthew-brett + - WarrenWeckesser + - mattip + - tylerjereddy + webteam: + - joelachance + - InessaPawson + - MarsBarLee + - shaloo + - rgommers + documentation: + - melissawm + - rgommers + - bonn0062 + emeritus: + - teoliphant + - cournape + - mwiebe + - pearu + - jarrodmillman + - jaimefrio + - certik diff --git a/scripts/gallery/team.md b/scripts/gallery/team.md new file mode 100644 index 0000000000..bc2d06ed17 --- /dev/null +++ b/scripts/gallery/team.md @@ -0,0 +1,117 @@ +# NumPy Team Gallery + +We are an international team on a mission to support scientific and research communities worldwide by building quality, open-source software. [**Join us**](/contribute)! + +
+ +###Maintainers + +
+ {% for row in main.maintainers.people | batch(9, "") %} +
+ {% for person in row %} + {% if person %} +
+ +
+
+ {{ person.name or person.login }} +
+

+ {{ person.login }} +

+
+
+ {% else %} +
+ {% endif %} + {% endfor %} +
+ {% endfor %} +
+
+ +### Web Team + +
+ {% for row in main.maintainers.webpeople | batch(9, "") %} +
+ {% for person in row %} + {% if person %} +
+ +
+
+ {{ person.name or person.login }} +
+

+ {{ person.login }} +

+
+
+ {% else %} +
+ {% endif %} + {% endfor %} +
+ {% endfor %} +
+
+ + +### Documentation Team + +
+ {% for row in main.maintainers.docpeople | batch(9, "") %} +
+ {% for person in row %} + {% if person %} +
+ +
+
+ {{ person.name or person.login }} +
+

+ {{ person.login }} +

+
+
+ {% else %} +
+ {% endif %} + {% endfor %} +
+ {% endfor %} +
+
+ +### Emeritus maintainers + +
+ {% for row in main.maintainers.emerpeople | batch(9, "") %} +
+ {% for person in row %} + {% if person %} +
+ +
+
+ {{ person.name or person.login }} +
+

+ {{ person.login }} +

+
+
+ {% else %} +
+ {% endif %} + {% endfor %} +
+ {% endfor %} +
+ +### Governance + +For the list of people on the Steering Council, please see [here](https://numpy.org/devdocs/dev/governance/people.html) diff --git a/static/gallery/team.html b/static/gallery/team.html new file mode 100644 index 0000000000..d5a25ea920 --- /dev/null +++ b/static/gallery/team.html @@ -0,0 +1,603 @@ + + + + + + + + + + NumPy + + + + + + +
+
+
+
+

NumPy Team Gallery

+

We are an international team on a mission to support scientific and research communities worldwide by building quality, open-source software. Join us!

+
+ +

Maintainers

+
+ +
+ + +
+ +
+
+ Allan Haldane +
+

+ ahaldane +

+
+
+ + + +
+ +
+
+ Marten van Kerkwijk +
+

+ mhvk +

+
+
+ + + +
+ +
+
+ Stephan Hoyer +
+

+ shoyer +

+
+
+ + + +
+ +
+
+ Nathaniel J. Smith +
+

+ njsmith +

+
+
+ + + +
+ +
+
+ Robert Kern +
+

+ rkern +

+
+
+ + + +
+ +
+
+ Eric Wieser +
+

+ eric-wieser +

+
+
+ + + +
+ +
+
+ Stefan van der Walt +
+

+ stefanv +

+
+
+ + + +
+ +
+
+ Pauli Virtanen +
+

+ pv +

+
+
+ + + +
+ +
+
+ Ralf Gommers +
+

+ rgommers +

+
+
+ + +
+ +
+ + +
+ +
+
+ Charles Harris +
+

+ charris +

+
+
+ + + +
+ +
+
+ Sebastian Berg +
+

+ seberg +

+
+
+ + + +
+ +
+
+ Julian Taylor +
+

+ juliantaylor +

+
+
+ + + +
+ +
+
+ Kevin Sheppard +
+

+ bashtage +

+
+
+ + + +
+ +
+
+ Matthew Brett +
+

+ matthew-brett +

+
+
+ + + +
+ +
+
+ Warren Weckesser +
+

+ WarrenWeckesser +

+
+
+ + + +
+ +
+
+ Matti Picus +
+

+ mattip +

+
+
+ + + +
+ +
+
+ Tyler Reddy +
+

+ tylerjereddy +

+
+
+ + + +
+ + +
+ +
+ +
+ +

Web Team

+
+ +
+ + +
+ +
+
+ Joe LaChance +
+

+ joelachance +

+
+
+ + + +
+ +
+
+ InessaPawson +
+

+ InessaPawson +

+
+
+ + + +
+ +
+
+ MarsBarLee +
+

+ MarsBarLee +

+
+
+ + + +
+ +
+
+ shalz +
+

+ shaloo +

+
+
+ + + +
+ +
+
+ Ralf Gommers +
+

+ rgommers +

+
+
+ + + +
+ + + +
+ + + +
+ + + +
+ + +
+ +
+ +
+ +

Documentation Team

+
+ +
+ + +
+ +
+
+ Melissa Weber Mendonça +
+

+ melissawm +

+
+
+ + + +
+ +
+
+ Ralf Gommers +
+

+ rgommers +

+
+
+ + + +
+ +
+
+ Anne Bonner +
+

+ bonn0062 +

+
+
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + +
+ +
+ +
+ +

Emeritus maintainers

+
+ +
+ + +
+ +
+
+ Travis E. Oliphant +
+

+ teoliphant +

+
+
+ + + +
+ +
+
+ David Cournapeau +
+

+ cournape +

+
+
+ + + +
+ +
+
+ Mark Wiebe +
+

+ mwiebe +

+
+
+ + + +
+ +
+
+ Pearu Peterson +
+

+ pearu +

+
+
+ + + +
+ +
+
+ Jarrod Millman +
+

+ jarrodmillman +

+
+
+ + + +
+ +
+
+ Jaime +
+

+ jaimefrio +

+
+
+ + + +
+ +
+
+ Ondřej Čertík +
+

+ certik +

+
+
+ + + +
+ + + +
+ + +
+ +
+ +

Governance

+

For the list of people on the Steering Council, please see here

+
+
+ + + + + + + + \ No newline at end of file