diff --git a/.github/workflows/lighthouserc.json b/.github/workflows/lighthouserc.json index d33730e4..fac8337d 100644 --- a/.github/workflows/lighthouserc.json +++ b/.github/workflows/lighthouserc.json @@ -12,9 +12,9 @@ }, "assert": { "assertions": { - "categories:performance": ["error", { "minScore": 0.90 }], - "categories:accessibility": ["error", { "minScore": 0.95 }], - "categories:best-practices": ["error", { "minScore": 0.95 }], + "categories:performance": ["error", { "minScore": 0.80 }], + "categories:accessibility": ["error", { "minScore": 0.85 }], + "categories:best-practices": ["error", { "minScore": 0.75 }], "categories:seo": ["error", { "minScore": 0.95 }] } } diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index bf4dbb22..d4f107e0 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -2,9 +2,9 @@ name: Test on: push: - branches: [ master ] + branches: [ master, main ] pull_request: - branches: [ master ] + branches: [ master, main ] workflow_dispatch: concurrency: @@ -34,7 +34,7 @@ jobs: # run: cp -r assets _site/assets - name: Publish built site - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: Built site ${{ github.run_number }} path: ./_site @@ -48,7 +48,7 @@ jobs: steps: - name: Fetch built site - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v4 with: name: Built site ${{ github.run_number }} path: ./_site @@ -67,7 +67,7 @@ jobs: steps: - name: Fetch built site - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v4 with: name: Built site ${{ github.run_number }} path: ./_site @@ -76,13 +76,26 @@ jobs: run: pip install pytest-check-links # TODO: we are not checking absolute links as pytest plugins does not support them + # ignore github requests as we get 429 too many requests checking GitHub user profiles in about.html + # ignore opensource.org since we are getting a 403 forbidden from this check run on github - name: Check links run: | pytest _site/ --check-links \ --check-links-ignore "https://.*linkedin.com/.*" \ --check-links-ignore "/" \ --check-links-ignore "https://www.nyu.edu/" \ - --check-links-ignore ".github/images/netlify-preview.png" + --check-links-ignore ".github/images/netlify-preview.png" \ + --check-links-ignore ".*help.medium.com.*" \ + --check-links-ignore "https://twitter.com/.*" \ + --check-links-ignore "https://jupytercon.com/" \ + --check-links-ignore "https://www.netapp.com/" \ + --check-links-ignore "https://github.com/[%5E/]+/?$" \ + --check-links-ignore "https://sloan.org/" \ + --check-links-ignore "https://www.bloomberg.com/" \ + --check-links-ignore "https://www.oracle.com/" \ + --check-links-ignore "https://stackoverflow.com/" \ + --check-links-ignore "https://opensource.org/licenses/BSD-3-Clause" \ + --check-links-ignore "https://www.cvedetails.com/vulnerability-list/vendor_id-15653/Jupyter.html" lighthouse: @@ -94,12 +107,12 @@ jobs: - name: Fetch repository for `lighthouserc.json` uses: actions/checkout@v2 - name: Fetch built site - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v4 with: name: Built site ${{ github.run_number }} path: ./_site - name: Audit with Lighthouse - uses: treosh/lighthouse-ci-action@v8 + uses: treosh/lighthouse-ci-action@v12 with: configPath: ".github/workflows/lighthouserc.json" temporaryPublicStorage: true diff --git a/.ruby-version b/.ruby-version new file mode 100644 index 00000000..fa7adc7a --- /dev/null +++ b/.ruby-version @@ -0,0 +1 @@ +3.3.5 diff --git a/README.md b/README.md index 51a6fcee..d4af34dc 100644 --- a/README.md +++ b/README.md @@ -2,11 +2,6 @@ This is the source to [Jupyter.org](https://jupyter.org/). -## Build the site locally - -The site is built with Jekyll, see [the Jekyll website](https://jekyllrb.com/) for how to customize the build process. - -There are a few ways to build the site locally, see the sections below. ## Where the site is hosted @@ -23,6 +18,22 @@ Here's an image of this box on a GitHub PR page: ![Netlify Preview Button](.github/images/netlify-preview.png) +## Web analytics (experimental) + +We are experimenting with [Plausible.io](https://plausible.io/) for web analytics. +Access it at this link, using the [1Password](https://ec.jupyter.org/accounts/#password) for login credentials. + +Plausible dashboard link: https://plausible.io/jupyter.org/ + +- See [this issue for updates](https://github.com/jupyter/jupyter.github.io/issues/815). +- [Here's the change that adds the Plausible script](https://github.com/jupyter/jupyter.github.io/pull/816/files#diff-7c00ab81dd0968f6fb395b5986f71fd56704c48a71f0b9583058f5aaaad03aa7R17). + +## Build the site locally + +See the sections below for a few ways to build the site locally. + +The site is built with Jekyll, see [the Jekyll website](https://jekyllrb.com/) for how to customize the build process. + ### Build the site automatically with `nox` The easiest way to build the site locally is by using the [`nox` command line tool](https://nox.thea.codes/). This tool makes it easy to automate commands in a repository, and we have included a `build` command to quickly install the dependencies and build the site. @@ -46,7 +57,6 @@ To build and preview the site locally, follow these steps: $ nox -s build-live ``` - This will install the needed dependencies in a virtual environment using [the `conda` package manager](https://docs.conda.io/en/latest/). **When the build is finished, go to `localhost:4000`**. When Jekyll finishes building your site, it will open a port on your computer and serve the website there so that you may preview it. diff --git a/_includes/biocard.html b/_includes/biocard.html index 253f41ee..5c6e6d12 100644 --- a/_includes/biocard.html +++ b/_includes/biocard.html @@ -1,11 +1,13 @@
- {{ include.name }} + {% if include.photo %} + {{ include.name }} + {% endif %}
{{ include.name }}
{% if include.affiliation %} @@ -13,16 +15,22 @@ {% endif %}
{% if include.personal %} - Web + Personal Website {% endif %} {% if include.gh_handle %} - GitHub + GitHub {% endif %} {% if include.linkedin %} - LinkedIn + LinkedIn + {% endif %} + {% if include.mastodon %} + Mastodon + {% endif %} + {% if include.bluesky_handle %} + Bluesky {% endif %} - {% if include.twitter_handle %} - Twitter + {% if include.subproject %} +
{{ include.subproject }}
{% endif %}
diff --git a/_layouts/default.html b/_layouts/default.html index 705e5818..b5293d8c 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -4,7 +4,7 @@ url: /try - title: Install url: /install - - title: Get Involved + - title: Community url: /community - title: Documentation url: https://docs.jupyter.org/ @@ -12,6 +12,8 @@ - title: News url: https://blog.jupyter.org newpage: true + - title: Social + url: /social - title: Governance url: /governance/ - title: Security @@ -21,6 +23,8 @@ projects: - title: Binder url: /binder + - title: Jupyter Book + url: https://jupyterbook.org/ - title: JupyterHub url: /hub - title: JupyterLab @@ -37,8 +41,17 @@ social: - title: GitHub url: https://github.com/jupyter/ - - title: Twitter - url: https://twitter.com/projectjupyter + - title: Mastodon + url: https://hachyderm.io/@ProjectJupyter + - title: BlueSky + url: https://bsky.app/profile/jupyter.org + - title: YouTube + url: https://www.youtube.com/@projectjupyter +legal: + - title: Privacy + url: /privacy + + --- @@ -60,7 +73,14 @@ + + + +
@@ -152,11 +184,11 @@

Follow us

Project Jupyter logo

- The Jupyter Trademark is registered with the U.S. Patent & Trademark Office. © {{site.time | date: '%Y' }} + The Jupyter® and Jupyter Logo® trademarks are registered with the U.S. Patent & Trademark Office by LF Charities. © {{site.time | date: '%Y' }}

- \ No newline at end of file + diff --git a/_sass/components/_about-box.scss b/_sass/components/_about-box.scss index cfe04dfd..0b4fc2f5 100644 --- a/_sass/components/_about-box.scss +++ b/_sass/components/_about-box.scss @@ -14,7 +14,7 @@ background-color: $button-orange; border-radius: 2px; padding: 0.75em 1.25em; - margin: 0 auto; + margin: 0 auto 10px; width: 240px; text-align: center; display: table; diff --git a/_sass/components/_biocard.scss b/_sass/components/_biocard.scss index 85296059..525f9619 100644 --- a/_sass/components/_biocard.scss +++ b/_sass/components/_biocard.scss @@ -13,7 +13,7 @@ border-radius: 2px; box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); display: inline-block; - height: 280px; + height: 300px; width: 160px; margin: 1em 1em 1em 0; .biocard-photo { @@ -22,7 +22,7 @@ } .biocard-copy { width: 100%; - padding: 0.85em; + padding: 0.85em 0.4em; } .biocard-header { font-size: 16px; @@ -32,9 +32,19 @@ font-size: 14px; font-style: italic; } + .biocard-subproject { + font-size: 16px; + text-align: left; + } .biocard-badges { margin-top: 0.5em; text-align: left; font-size: 14px; + + img { + max-height: 22px; + max-width: 22px; + margin: 2px; + } } } diff --git a/about.html b/about.html index fb5c1c53..6d8103ec 100644 --- a/about.html +++ b/about.html @@ -6,16 +6,112 @@ intro: - Project Jupyter is a non-profit, open-source project, born out of the IPython Project in 2014 as it evolved to support interactive data science and scientific computing across all programming languages. Jupyter will always be 100% open-source software, free for all to use and released under the liberal terms of the modified BSD license. - - Jupyter is developed in the open on GitHub, through the consensus of the Jupyter community. For more information on our governance approach, please see our Governance Document. - - All online and in-person interactions and communications directly related to the project are covered by the Jupyter Code of Conduct. This Code of Conduct sets expectations to enable a diverse community of users and contributors to participate in the project with respect and safety. + - Jupyter is developed in the open on GitHub, through the consensus of the Jupyter community. For more information on our governance, please see our governance documentation. + - All online and in-person interactions and communications directly related to the project are covered by the Jupyter Code of Conduct. This Code of Conduct sets expectations to enable a diverse community of users and contributors to participate in the project with respect and safety. + - Selected Jupyter governing bodies and their members are listed below, along with the distinguished contributors. For the full list of people who currently contribute or have in the past contributed to Jupyter governance, see the Leadership Directory. -contributors_copy: | - Project Jupyter Distinguished Contributors are recognized for their substantial contributions to Jupyter itself in both quality and quantity over at least two years. Contributions may include code, code review, infrastructure work, mailing list and chat participation, community help/building, education and outreach, fundraising, branding, marketing, inclusion and diversity, UX design and research, etc. Up to 10 new Distinguished Contributors are selected each year by the cumulative body of Distinguished Contributors. +ec_copy: | + The Executive Council (EC) is ultimately responsible for all dimensions of the Project (including, but not limited to, software, legal, financial, community, operations, inclusion and diversity, etc.). The members of the EC actively work to carry out the Project’s mission in accordance with its values and to support operations through delegation to the Software Steering Council (SSC), Software Subprojects, Standing Committees, and Working Groups. These other bodies will report to the EC, and the EC is expected to support, oversee, manage, and ensure the success of operations across Jupyter. + +ssc_copy: | + The Jupyter Software Steering Council (SSC) has jurisdiction over software-related decisions across Project Jupyter, with a primary focus on coordination across projects and decisions that have impact across many Jupyter Subprojects. It is also a mechanism for representatives of each project to share information and expertise. Technical decisions and processes where the SSC isn’t explicitly involved are automatically delegated to the individual projects to manage their day-to-day activities, create new repositories in their orgs, etc., with independence and autonomy. -steering_copy: | - The role of the Jupyter Steering Council is to ensure, through working with and serving the broader Jupyter community, the long-term well-being of the project, both technically and as a community. The Jupyter Steering Council currently consists of the following members (in alphabetical order). +contributors_copy: | + Project Jupyter Distinguished Contributors are a group of Jupyter community members that have gone above-and-beyond in their support of the project over the years, making substantial and sustained contributions in any area of activity (software development, governance, community engagement, events, etc.). The Jupyter community confers membership in this group as a way of recognizing their effort and saying "thank you." # All bio photos should go in assets/bios cut at 160x160px +distinguished_2024: + - name: Denisa Checiu + photo: Denisa_Checiu.jpg + gh_handle: DenisaCG + linkedin: https://www.linkedin.com/in/denisa-checiu-georgiana/ + - name: Rowan Cockett + photo: Rowan_Cockett.jpg + gh_handle: rowanc1 + linkedin: https://www.linkedin.com/in/rowancockett/ + - name: Mahendra Paipuri + photo: Mahendra_Paipuri.jpg + gh_handle: mahendrapaipuri + linkedin: https://www.linkedin.com/in/mahendrapaipuri/ + - name: Isabel Paredes + photo: Isabel_Paredes.jpg + gh_handle: isabelparedes + linkedin: https://www.linkedin.com/in/isabel-paredes/ + - name: David L. Qiu + photo: David_Qiu.jpg + gh_handle: dlqqq + linkedin: https://www.linkedin.com/in/dlq/ + - name: Rick Wagner + photo: Rick_Wagner.jpg + gh_handle: rpwagner + +distinguished_2023: + - name: Nicolas Brichet + photo: Nicolas_Brichet.jpg + twitter_handle: NicolasBrichet_ + gh_handle: brichet + linkedin: https://www.linkedin.com/in/nicolas-brichet-a26369150/ + - name: Piyush Jain + photo: Piyush_Jain.jpg + gh_handle: 3coins + linkedin: https://www.linkedin.com/in/piyush-jain-4883bb4/ + - name: Duc Trung Le + photo: Duc_Trung_Le.jpg + twitter_handle: trung_leduc + gh_handle: trungleduc + linkedin: https://www.linkedin.com/in/ductrung-le/ + - name: Jason Weill + photo: Jason_Weill.jpg + twitter_handle: J2XL + gh_handle: JasonWeill + linkedin: https://www.linkedin.com/in/jweill/ + +distinguished_2022: + - name: Tania Allard + photo: Tania_Allard.jpg + twitter_handle: ixek + gh_handle: trallard + linkedin: https://www.linkedin.com/in/taniaallard/ + personal: http://trallard.dev/ + - name: Carlos Herrero + photo: Carlos_Herrero.jpg + twitter_handle: hbcarlos_ + gh_handle: hbcarlos + linkedin: https://www.linkedin.com/in/hbcarlos + - name: Itay Dafna + photo: ItayDafna.jpg + twitter_handle: Itayd + gh_handle: ibdafna + linkedin: https://www.linkedin.com/in/itaydafna/ + personal: https://polyglot.codes/ + - name: Eric Charles + photo: EricCharles.png + twitter_handle: echarles + gh_handle: echarles + linkedin: https://www.linkedin.com/in/ericcharles1/ + - name: Max C Klein + photo: Max_Klein.jpg + linkedin: https://www.linkedin.com/in/max-klein-b514419/ + gh_handle: telamonian + - name: Ryan Lovett + photo: Ryan_Lovett.jpg + linkedin: https://www.linkedin.com/in/ryan-lovett-06b15010/ + gh_handle: ryanlovett + - name: Sharan Foga + photo: Sharan_Foga.jpg + linkedin: https://www.linkedin.com/in/sfoga/ + gh_handle: sharanf + - name: Rollin Thomas + photo: Rollin_Thomas.jpg + linkedin: https://www.linkedin.com/in/rollin-thomas-507185b5/ + personal: https://profiles.lbl.gov/20396-rollin-thomas + gh_handle: rcthomas + twitter_handle: r_c_thomas + - name: Ayaz Salikhov + photo: Ayaz_Salikhov.jpg + linkedin: https://www.linkedin.com/in/mathbunnyru/ + gh_handle: mathbunnyru + distinguished_2021: - name: Mehmet Bektas photo: Mehmet_Bektas.jpg @@ -77,9 +173,8 @@ photo: Tim_George.jpg gh_handle: tgeorgeux linkedin: https://linkedin.com/in/tgeorgeux - personal: https://tgeorgeux.com - name: Tony Hirst - photo: Tony_Hirst.png + photo: Tony_Hirst.jpg twitter_handle: psychemedia gh_handle: psychemedia personal: http://ouseful.info @@ -102,7 +197,7 @@ gh_handle: martinRenou twitter_handle: martinRenou - name: Jeremy Tuloup - photo: Jeremy_Tuloup.png + photo: Jeremy_Tuloup.jpg gh_handle: jtpio twitter_handle: jtpio linkedin: https://linkedin.com/in/jtuloup @@ -121,12 +216,12 @@ photo: Kevin_Bates.jpg gh_handle: kevin-bates - name: Douglas Blank - photo: Douglas_Blank.png + photo: Douglas_Blank.jpg gh_handle: dsblank linkedin: https://linkedin.com/in/douglasblank/ twitter_handle: DougBlank - name: Nicholas Bollweg - photo: Nicholas_Bollweg.png + photo: Nicholas_Bollweg.jpg gh_handle: bollwyvl - name: Georgiana Dolocan photo: Georgiana_Dolocan.jpg @@ -141,7 +236,7 @@ gh_handle: vidartf linkedin: https://linkedin.com/in/vidar-fauske-9bb61812/ - name: Tim Head - photo: Tim_Head.png + photo: Tim_Head.jpg gh_handle: betatim twitter_handle: betatim personal: https://betatim.github.io/ @@ -151,8 +246,10 @@ twitter_handle: lindsey_jh personal: https://lindseyjh.ca/ - name: Chris Holdgraf - photo: Chris_Holdgraf.png + photo: Chris_Holdgraf.jpg gh_handle: choldgraf + linkedin: https://www.linkedin.com/in/chrisholdgraf/ + bluesky_handle: choldgraf.com twitter_handle: choldgraf personal: http://chrisholdgraf.com - name: Grant Nestor @@ -161,7 +258,7 @@ linkedin: https://linkedin.com/in/grantnestor/ twitter_handle: senornestor - name: Cameron Oelsen - photo: Cameron_Oelsen.png + photo: Cameron_Oelsen.jpg personal: https://www.cameronoelsen.com/ linkedin: https://linkedin.com/in/cameronoelsen gh_handle: CameronOelsen @@ -180,6 +277,7 @@ - name: Zach Sailer photo: Zach_Sailer.jpg gh_handle: Zsailer + affiliation: Apple linkedin: https://linkedin.com/in/zach-sailer-8a1472151/ twitter_handle: zrsailer - name: Matthew Seal @@ -196,38 +294,49 @@ linkedin: https://linkedin.com/in/erik-sundell/ twitter_handle: e_Sundell -steering: +distinguished_inaugural: - name: Damian Avila photo: Damian_Avila.jpeg affiliation: UMSI & 2i2c gh_handle: damianavila - name: Matthias Bussonnier photo: Matthias_Bussonnier.png - affiliation: QuanSight + affiliation: Quansight gh_handle: Carreau - name: Sylvain Corlay - photo: SylvainCorlay.png + photo: SylvainCorlay.jpg affiliation: QuantStack - gh_handle: sylvaincorlay + gh_handle: SylvainCorlay - name: Afshin Darian photo: AfshinDarian.jpeg - affiliation: Two Sigma + affiliation: QuantStack gh_handle: afshin + - name: Jonathan Frederic + photo: JonathanFrederic.jpeg + gh_handle: jdfreder - name: Brian Granger photo: BrianGranger.jpeg affiliation: Amazon Web Services gh_handle: ellisonbg - name: Jason Grout photo: JasonGrout.jpeg - affiliation: Databricks + affiliation: Independent + gh_handle: jasongrout + linkedin: https://www.linkedin.com/in/jason-grout/ + personal: https://jasongrout.org/ - name: Jessica Hamrick photo: JessicaHamrick.jpeg affiliation: DeepMind gh_handle: jhamrick - name: Paul Ivanov photo: PaulIvanov.jpeg - affiliation: Noteable + affiliation: Stoic Hedgehog gh_handle: ivanov + linkedin: https://www.linkedin.com/in/paulivanov/ + personal: https://pirsquared.org + twitter_handle: ivanov + mastodon: https://mastodon.sdf.org/@ivanov + bluesky_handle: paulivanov.bsky.social - name: Thomas Kluyver photo: ThomasKluyver.jpeg affiliation: University of Southampton @@ -265,59 +374,160 @@ affiliation: Noteable gh_handle: willingc -retired_steering: - - name: Jonathan Frederic - photo: JonathanFrederic.jpeg - gh_handle: 'jdfreder' - -numfocus_subcomittee: - - name: Matthias Bussonnier - photo: Matthias_Bussonnier.png - affiliation: QuanSight - gh_handle: Carreau - - name: Thomas Kluyver - photo: ThomasKluyver.jpeg - affiliation: University of Southampton - gh_handle: takluyver - - name: Fernando Pérez - photo: FernandoPerez.jpeg - affiliation: UC Berkeley - gh_handle: fperez +executive_council: + - name: Afshin Darian + photo: AfshinDarian.jpeg + affiliation: QuantStack + gh_handle: afshin + - name: Jason Grout + photo: JasonGrout.jpeg + affiliation: Independent + gh_handle: jasongrout + linkedin: https://www.linkedin.com/in/jason-grout/ + personal: https://jasongrout.org/ + - name: Chris Holdgraf + photo: Chris_Holdgraf.jpg + gh_handle: choldgraf + linkedin: https://www.linkedin.com/in/chrisholdgraf/ + bluesky_handle: choldgraf.com + twitter_handle: choldgraf + personal: http://chrisholdgraf.com - name: Ana Ruvalcaba photo: Ana_Ruvalcaba.jpg affiliation: Cal Poly, San Luis Obispo gh_handle: ruv7 - - name: Stéfan van der Walt - affiliation: UC Berkely, BIDS - photo: StefanvanderWalt.jpeg - gh_handle: stefanv + - name: Zach Sailer + photo: Zach_Sailer.jpg + gh_handle: Zsailer + affiliation: Apple + linkedin: https://linkedin.com/in/zach-sailer-8a1472151/ + - name: Rick Wagner + photo: RickWagner.jpg + affiliation: Argonne Leadership Computing Facility + gh_handle: rpwagner + +software_steering_council: + - name: Sylvain Corlay + photo: SylvainCorlay.jpg + affiliation: QuantStack + gh_handle: sylvaincorlay + linkedin: https://www.linkedin.com/in/sylvaincorlay/ + twitter_handle: SylvainCorlay + subproject: Jupyter Widgets + - name: Martha Cryan + photo: Martha_Cryan.jpg + affiliation: Plotly + gh_handle: marthacryan + linkedin: https://www.linkedin.com/in/marthacryan/ + subproject: DEI Working Group + - name: Vidar T. Fauske + photo: Vidar_Fauske.jpg + affiliation: J.P. Morgan Chase + gh_handle: vidartf + linkedin: https://linkedin.com/in/vidar-fauske-9bb61812/ + subproject: Jupyter Server + - name: Paul Ivanov + photo: PaulIvanov.jpeg + affiliation: Stoic Hedgehog + gh_handle: ivanov + linkedin: https://www.linkedin.com/in/paulivanov/ + personal: https://pirsquared.org + twitter_handle: ivanov + mastodon: https://mastodon.sdf.org/@ivanov + bluesky_handle: paulivanov.bsky.social + subproject: Jupyter Foundations and Standards + - name: Johan Mabille + photo: Johan_Mabille.jpg + affiliation: QuantStack + twitter_handle: JohanMabille + linkedin: https://www.linkedin.com/in/johan-mabille + gh_handle: JohanMabille + subproject: Jupyter Kernels + - name: Gabriel Fouasnon + photo: Gabriel_Fouasnon.jpg + affiliation: Quansight Labs + gh_handle: gabalafou + linkedin: https://www.linkedin.com/in/gabriel-fouasnon + mastodon: https://tech.lgbt/@gabalafou + subproject: Jupyter Accessibility + - name: Martin Renou + photo: Martin_Renou.jpg + affiliation: QuantStack + gh_handle: martinRenou + linkedin: https://www.linkedin.com/in/martin-renou + twitter_handle: martinRenou + subproject: Voilà + - name: Min Ragan-Kelley + photo: MinRaganKelley.jpeg + affiliation: Simula Research Lab + gh_handle: minrk + subproject: JupyterHub and Binder + - name: Michał Krassowski + affiliation: Quansight + photo: Michal_Krassowski.jpg + mastodon: https://fosstodon.org/@krassowski + bluesky_handle: krassowski.bsky.social + gh_handle: krassowski + linkedin: https://www.linkedin.com/in/michal-krassowski/ + subproject: Jupyter Frontends trademark_subcomittee: - - name: Brian Granger - photo: BrianGranger.jpeg - affiliation: Amazon Web Services - gh_handle: ellisonbg - name: Jason Grout photo: JasonGrout.jpeg - affiliation: Databricks + affiliation: Independent gh_handle: jasongrout - - name: Tim George - photo: TimGeorge.jpeg - affiliation: Cal Poly - gh_handle: tgeorgeux + linkedin: https://www.linkedin.com/in/jason-grout/ + personal: https://jasongrout.org/ - name: Paul Ivanov photo: PaulIvanov.jpeg - affiliation: Noteable + affiliation: Stoic Hedgehog gh_handle: ivanov + linkedin: https://www.linkedin.com/in/paulivanov/ + personal: https://pirsquared.org + twitter_handle: ivanov + mastodon: https://mastodon.sdf.org/@ivanov + bluesky_handle: paulivanov.bsky.social - name: Min Ragan-Kelley photo: MinRaganKelley.jpeg affiliation: Simula Research Lab gh_handle: minrk - name: William Stein - photo: WilliamStein.png + photo: WilliamStein.jpg affiliation: SageMath gh_handle: williamstein +community_building: +- name: Martha Cryan + photo: Martha_Cryan.jpg + gh_handle: marthacryan + affiliation: Plotly +- name: Jason Grout + photo: JasonGrout.jpeg + affiliation: Independent + gh_handle: jasongrout + linkedin: https://www.linkedin.com/in/jason-grout/ + personal: https://jasongrout.org/ +- name: Lahari Chowtoori + photo: Lahari_Chowtoori.jpeg + affiliation: Amazon Web Services + linkedin: https://www.linkedin.com/in/lahari-chowtoori/ + gh_handle: LahariChowtoori +- name: Matt Fisher + photo: Matt_Fisher.jpg + affiliation: Schmidt Center for Data Science & Environment + gh_handle: mfisher87 + linkedin: https://www.linkedin.com/in/mattfisher8/ + personal: https://mfisher87.github.io/ +- name: Rosio Reyes + photo: Rosio_Reyes.jpeg + affiliation: Anaconda + gh_handle: RRosio +- name: April Johnson + photo: April_Johnson.jpg + affiliation: 2i2c + gh_handle: aprilmj + linkedin: https://www.linkedin.com/in/apriljohnson + sponsor_box: headline: Sponsors description: 'Project Jupyter receives direct funding from the following sources:' @@ -325,6 +535,12 @@ # All sponsor and partner SVGs should be 300x60 pixels # And entries ordered according to A-Z,1-9 sponsors: + - url: https://aws.amazon.com/ + src: aws.svg + alt: Amazon Web Services - Home Page + - url: https://www.bloomberg.com/ + src: bloomberg-color.svg + alt: Bloomberg - Home Page - url: https://opendreamkit.org/ src: EC-H2020.svg alt: Horizon 2020 European Union funding for Research and Innovation logo - OpenDreamkit funded project - Home Page @@ -346,6 +562,9 @@ - url: https://www.quansight.com/ src: quansight.svg alt: Quansight - Home Page + - url: https://quantstack.net/ + src: quantstack-color.svg + alt: QuantStack - Home Page - url: https://developer.rackspace.com/ src: rackspace-color.svg alt: Rackspace technology - Developer solutions documentation Page @@ -372,7 +591,7 @@ alt: University of California Berkeley - Home Page - url: https://www.bloomberg.com/ src: bloomberg-color.svg - alt: Bloomberg - Home Page + alt: Bloomberg - Home Page - url: https://www.calpoly.edu/ src: poly-color.svg alt: CalPoly - Home Page @@ -387,7 +606,7 @@ alt: MongoDB - Home Page - url: https://netflixtechblog.com/ src: netflix-color.svg - alt: Netflix Tech Blog - Home Page + alt: Netflix Tech Blog - Home Page - url: https://www.quansight.com/ src: quansight.svg alt: Quansight - Home Page @@ -397,19 +616,17 @@ - url: https://www.simula.no/ src: simula.svg alt: Simula - Home Page - - url: https://www.twosigma.com/ - src: two-sigma.svg - alt: Two Sigma - Home Page - url: https://2i2c.org/ src: 2i2c.svg - alt: 2i2c.org Home Page + alt: 2i2c.org Home Page donate_box: headline: Donate description: - - Jupyter will always be 100% open source software, free for all to use and released under the liberal terms of the modified BSD license. If you have found Project Jupyter to be useful in your work, research or company, please consider making a donation to the project commensurate with your resources. - - All donations will be used strictly to fund the development of Project Jupyter's open source software, documentation and community. Our donations are managed by the NumFOCUS Foundation, which is the legal and fiscal umbrella for the project. - - NumFOCUS is a 501(c)3 non-profit foundation; if you are subject to US Tax law, your contributions will be tax-deductible. + - Jupyter will always be 100% open source software, free for all to use and released under the liberal terms of the modified BSD license. If you have found Project Jupyter to be useful in your work, research, or company, please consider making a donation to the project commensurate with your resources. + - Donations after fees will be used to fund Project Jupyter's open source software, standards, documentation, and community. Our donations are managed by LF Charities, which hosts Project Jupyter. LF Charities is tax exempt under Section 501(c)(3) of the Internal Revenue Code of the United States; if you are an individual subject to US tax law, your contributions are generally tax-deductible (but please consult your tax advisor). + jupyter_foundation: + - Alternatively, corporations and other organizations may join the Jupyter Foundation, under the Linux Foundation, to support Project Jupyter and its mission. The Linux Foundation is a 501(c)(6) non-profit. --- {% include page-header.html @@ -426,14 +643,125 @@ {% endfor %} + {% include hr.html %} + + +
+

Executive Council Members

+

{{ page.ec_copy }}

+
+ +
+
+ {% for bio in page.executive_council %} + {% include biocard.html + name=bio.name + photo=bio.photo + affiliation=bio.affiliation + personal=bio.personal + gh_handle=bio.gh_handle + linkedin=bio.linkedin + twitter_handle=bio.twitter_handle + mastodon=bio.mastodon + bluesky_handle=bio.bluesky_handle + %} + {% endfor %} +
+
+ + {% include hr.html %} + + +
+

Software Steering Council Members

+

{{ page.ssc_copy }}

+
+ +
+
+ {% for bio in page.software_steering_council %} + {% include biocard.html + name=bio.name + photo=bio.photo + affiliation=bio.affiliation + personal=bio.personal + gh_handle=bio.gh_handle + linkedin=bio.linkedin + twitter_handle=bio.twitter_handle + mastodon=bio.mastodon + bluesky_handle=bio.bluesky_handle + subproject=bio.subproject + %} + {% endfor %} +
+
+ + {% include hr.html %}
-

Distinguished Contributors

+

Distinguished Contributors

{{ page.contributors_copy }}

+
+

2024 Cohort

+
+ {% for bio in page.distinguished_2024 %} + {% include biocard.html + name=bio.name + photo=bio.photo + loading='eager' + personal=bio.personal + gh_handle=bio.gh_handle + linkedin=bio.linkedin + twitter_handle=bio.twitter_handle + mastodon=bio.mastodon + bluesky_handle=bio.bluesky_handle + %} + {% endfor %} +
+
+ +
+

2023 Cohort

+
+ {% for bio in page.distinguished_2023 %} + {% include biocard.html + name=bio.name + photo=bio.photo + loading='eager' + personal=bio.personal + gh_handle=bio.gh_handle + linkedin=bio.linkedin + twitter_handle=bio.twitter_handle + mastodon=bio.mastodon + bluesky_handle=bio.bluesky_handle + %} + {% endfor %} +
+
+ +
+

2022 Cohort

+
+ {% for bio in page.distinguished_2022 %} + {% include biocard.html + name=bio.name + photo=bio.photo + loading='eager' + personal=bio.personal + gh_handle=bio.gh_handle + linkedin=bio.linkedin + twitter_handle=bio.twitter_handle + mastodon=bio.mastodon + bluesky_handle=bio.bluesky_handle + %} + {% endfor %} +
+
+

2021 Cohort

@@ -441,11 +769,13 @@

2021 Cohort

{% include biocard.html name=bio.name photo=bio.photo - loading='eager' + loading='eager' personal=bio.personal gh_handle=bio.gh_handle linkedin=bio.linkedin twitter_handle=bio.twitter_handle + mastodon=bio.mastodon + bluesky_handle=bio.bluesky_handle %} {% endfor %}
@@ -456,11 +786,13 @@

2020 Cohort

{% include biocard.html name=bio.name photo=bio.photo - loading='eager' + loading='eager' personal=bio.personal gh_handle=bio.gh_handle linkedin=bio.linkedin twitter_handle=bio.twitter_handle + mastodon=bio.mastodon + bluesky_handle=bio.bluesky_handle %} {% endfor %}
@@ -475,43 +807,39 @@

Special Election Cohort

gh_handle=bio.gh_handle linkedin=bio.linkedin twitter_handle=bio.twitter_handle + mastodon=bio.mastodon + bluesky_handle=bio.bluesky_handle %} {% endfor %} - - {% include hr.html %} - - -
-

Steering Council

-

{{ page.steering_copy }}

-
-
-
- {% for bio in page.steering %} - {% include biocard.html - name=bio.name - photo=bio.photo - affiliation=bio.affiliation - personal=bio.personal - gh_handle=bio.gh_handle - linkedin=bio.linkedin - twitter_handle=bio.twitter_handle - %} - {% endfor %} -
+

Inaugural Cohort (Former Steering Council Members)

+
+ {% for bio in page.distinguished_inaugural %} + {% include biocard.html + name=bio.name + photo=bio.photo + personal=bio.personal + gh_handle=bio.gh_handle + linkedin=bio.linkedin + twitter_handle=bio.twitter_handle + mastodon=bio.mastodon + bluesky_handle=bio.bluesky_handle + %} + {% endfor %} +
{% include hr.html %} - +
-

NumFOCUS Subcommittee Members

+

Community Building Working Group Members

+
- {% for bio in page.numfocus_subcomittee %} + {% for bio in page.community_building %} {% include biocard.html name=bio.name photo=bio.photo @@ -520,6 +848,8 @@

NumFOCUS Subcommittee Members

gh_handle=bio.gh_handle linkedin=bio.linkedin twitter_handle=bio.twitter_handle + mastodon=bio.mastodon + bluesky_handle=bio.bluesky_handle %} {% endfor %}
@@ -543,29 +873,8 @@

Trademark Subcommittee Members

gh_handle=bio.gh_handle linkedin=bio.linkedin twitter_handle=bio.twitter_handle - %} - {% endfor %} -
- - - {% include hr.html %} - - -
-

Retired Steering Council Members

-
- -
-
- {% for bio in page.retired_steering %} - {% include biocard.html - name=bio.name - photo=bio.photo - affiliation=bio.affiliation - personal=bio.personal - gh_handle=bio.gh_handle - linkedin=bio.linkedin - twitter_handle=bio.twitter_handle + mastodon=bio.mastodon + bluesky_handle=bio.bluesky_handle %} {% endfor %}
@@ -592,27 +901,6 @@

{{ page.sponsor_box.headline }}

- -
-

{{ page.partner_box.headline }}

-

- {{ page.partner_box.description }} -

- -
-

{{ page.donate_box.headline }}

@@ -621,22 +909,25 @@

{{ page.donate_box.headline }}

{{ graf }}

{% endfor %} -

- - Numfocus - Home Page - -

- +
- - Support Project Jupyter + + Donate to Project Jupyter
+ + {% for graf in page.donate_box.jupyter_foundation %} +

+ {{ graf }} +

+ {% endfor %} + +
+ + Join Jupyter Foundation +
- + +
+ diff --git a/assets/JupyterCon2023/jupytercon2023-logistic-poster.pdf b/assets/JupyterCon2023/jupytercon2023-logistic-poster.pdf new file mode 100644 index 00000000..835e3411 Binary files /dev/null and b/assets/JupyterCon2023/jupytercon2023-logistic-poster.pdf differ diff --git a/assets/JupyterCon2023/jupytercon2023-poster-session-frame-numbers.pdf b/assets/JupyterCon2023/jupytercon2023-poster-session-frame-numbers.pdf new file mode 100644 index 00000000..f628f488 Binary files /dev/null and b/assets/JupyterCon2023/jupytercon2023-poster-session-frame-numbers.pdf differ diff --git a/assets/badges/1f310.svg b/assets/badges/1f310.svg new file mode 100644 index 00000000..5d452759 --- /dev/null +++ b/assets/badges/1f310.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/badges/bluesky_media_kit_logo_svgs.svg b/assets/badges/bluesky_media_kit_logo_svgs.svg new file mode 100644 index 00000000..06219285 --- /dev/null +++ b/assets/badges/bluesky_media_kit_logo_svgs.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/badges/github.svg b/assets/badges/github.svg new file mode 100644 index 00000000..37fa923d --- /dev/null +++ b/assets/badges/github.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/badges/linkedin.png b/assets/badges/linkedin.png new file mode 100644 index 00000000..5120fe20 Binary files /dev/null and b/assets/badges/linkedin.png differ diff --git a/assets/badges/mastodon.svg b/assets/badges/mastodon.svg new file mode 100644 index 00000000..0f8baebf --- /dev/null +++ b/assets/badges/mastodon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/assets/badges/twitter.svg b/assets/badges/twitter.svg new file mode 100644 index 00000000..ddd89cee --- /dev/null +++ b/assets/badges/twitter.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + diff --git a/assets/bios/April_Johnson.jpg b/assets/bios/April_Johnson.jpg new file mode 100644 index 00000000..c056361c Binary files /dev/null and b/assets/bios/April_Johnson.jpg differ diff --git a/assets/bios/Ayaz_Salikhov.jpg b/assets/bios/Ayaz_Salikhov.jpg new file mode 100644 index 00000000..43d618cb Binary files /dev/null and b/assets/bios/Ayaz_Salikhov.jpg differ diff --git a/assets/bios/Cameron_Oelsen.jpg b/assets/bios/Cameron_Oelsen.jpg new file mode 100644 index 00000000..dd9ac70d Binary files /dev/null and b/assets/bios/Cameron_Oelsen.jpg differ diff --git a/assets/bios/Cameron_Oelsen.png b/assets/bios/Cameron_Oelsen.png deleted file mode 100644 index 539da894..00000000 Binary files a/assets/bios/Cameron_Oelsen.png and /dev/null differ diff --git a/assets/bios/Carlos_Herrero.jpg b/assets/bios/Carlos_Herrero.jpg new file mode 100644 index 00000000..0683dee2 Binary files /dev/null and b/assets/bios/Carlos_Herrero.jpg differ diff --git a/assets/bios/Chris_Holdgraf.jpg b/assets/bios/Chris_Holdgraf.jpg new file mode 100644 index 00000000..474ee412 Binary files /dev/null and b/assets/bios/Chris_Holdgraf.jpg differ diff --git a/assets/bios/Chris_Holdgraf.png b/assets/bios/Chris_Holdgraf.png deleted file mode 100644 index 37ea6442..00000000 Binary files a/assets/bios/Chris_Holdgraf.png and /dev/null differ diff --git a/assets/bios/David_Qiu.jpg b/assets/bios/David_Qiu.jpg new file mode 100644 index 00000000..9a8e1fe3 Binary files /dev/null and b/assets/bios/David_Qiu.jpg differ diff --git a/assets/bios/Denisa_Checiu.jpg b/assets/bios/Denisa_Checiu.jpg new file mode 100644 index 00000000..c66107e2 Binary files /dev/null and b/assets/bios/Denisa_Checiu.jpg differ diff --git a/assets/bios/Douglas_Blank.jpg b/assets/bios/Douglas_Blank.jpg new file mode 100644 index 00000000..dd02850b Binary files /dev/null and b/assets/bios/Douglas_Blank.jpg differ diff --git a/assets/bios/Douglas_Blank.png b/assets/bios/Douglas_Blank.png deleted file mode 100644 index dcf8722e..00000000 Binary files a/assets/bios/Douglas_Blank.png and /dev/null differ diff --git a/assets/bios/Duc_Trung_Le.jpg b/assets/bios/Duc_Trung_Le.jpg new file mode 100644 index 00000000..61485b6b Binary files /dev/null and b/assets/bios/Duc_Trung_Le.jpg differ diff --git a/assets/bios/EricCharles.png b/assets/bios/EricCharles.png new file mode 100644 index 00000000..f97923f3 Binary files /dev/null and b/assets/bios/EricCharles.png differ diff --git a/assets/bios/Gabriel_Fouasnon.jpg b/assets/bios/Gabriel_Fouasnon.jpg new file mode 100644 index 00000000..e23a2a10 Binary files /dev/null and b/assets/bios/Gabriel_Fouasnon.jpg differ diff --git a/assets/bios/Isabel_Paredes.jpg b/assets/bios/Isabel_Paredes.jpg new file mode 100644 index 00000000..ac923eaf Binary files /dev/null and b/assets/bios/Isabel_Paredes.jpg differ diff --git a/assets/bios/ItayDafna.jpg b/assets/bios/ItayDafna.jpg new file mode 100644 index 00000000..ee83774e Binary files /dev/null and b/assets/bios/ItayDafna.jpg differ diff --git a/assets/bios/Jason_Weill.jpg b/assets/bios/Jason_Weill.jpg new file mode 100644 index 00000000..8a554a3e Binary files /dev/null and b/assets/bios/Jason_Weill.jpg differ diff --git a/assets/bios/Jeremy_Tuloup.jpg b/assets/bios/Jeremy_Tuloup.jpg new file mode 100644 index 00000000..e0ba639f Binary files /dev/null and b/assets/bios/Jeremy_Tuloup.jpg differ diff --git a/assets/bios/Jeremy_Tuloup.png b/assets/bios/Jeremy_Tuloup.png deleted file mode 100644 index 840ef9c5..00000000 Binary files a/assets/bios/Jeremy_Tuloup.png and /dev/null differ diff --git a/assets/bios/Lahari_Chowtoori.jpeg b/assets/bios/Lahari_Chowtoori.jpeg new file mode 100644 index 00000000..8cd28fa1 Binary files /dev/null and b/assets/bios/Lahari_Chowtoori.jpeg differ diff --git a/assets/bios/Mahendra_Paipuri.jpg b/assets/bios/Mahendra_Paipuri.jpg new file mode 100644 index 00000000..22f9bf4d Binary files /dev/null and b/assets/bios/Mahendra_Paipuri.jpg differ diff --git a/assets/bios/Matt_Fisher.jpg b/assets/bios/Matt_Fisher.jpg new file mode 100644 index 00000000..ae10aef3 Binary files /dev/null and b/assets/bios/Matt_Fisher.jpg differ diff --git a/assets/bios/Max_Klein.jpg b/assets/bios/Max_Klein.jpg new file mode 100644 index 00000000..8dc6da0c Binary files /dev/null and b/assets/bios/Max_Klein.jpg differ diff --git a/assets/bios/Nicholas_Bollweg.jpg b/assets/bios/Nicholas_Bollweg.jpg new file mode 100644 index 00000000..2c72d30a Binary files /dev/null and b/assets/bios/Nicholas_Bollweg.jpg differ diff --git a/assets/bios/Nicholas_Bollweg.png b/assets/bios/Nicholas_Bollweg.png deleted file mode 100644 index 2368deb6..00000000 Binary files a/assets/bios/Nicholas_Bollweg.png and /dev/null differ diff --git a/assets/bios/Nicolas_Brichet.jpg b/assets/bios/Nicolas_Brichet.jpg new file mode 100644 index 00000000..d0248d43 Binary files /dev/null and b/assets/bios/Nicolas_Brichet.jpg differ diff --git a/assets/bios/Piyush_Jain.jpg b/assets/bios/Piyush_Jain.jpg new file mode 100644 index 00000000..9287ead7 Binary files /dev/null and b/assets/bios/Piyush_Jain.jpg differ diff --git a/assets/bios/RickWagner.jpg b/assets/bios/RickWagner.jpg new file mode 100644 index 00000000..48e43c29 Binary files /dev/null and b/assets/bios/RickWagner.jpg differ diff --git a/assets/bios/Rick_Wagner.jpg b/assets/bios/Rick_Wagner.jpg new file mode 100644 index 00000000..1bf95e92 Binary files /dev/null and b/assets/bios/Rick_Wagner.jpg differ diff --git a/assets/bios/Rollin_Thomas.jpg b/assets/bios/Rollin_Thomas.jpg new file mode 100644 index 00000000..272534a6 Binary files /dev/null and b/assets/bios/Rollin_Thomas.jpg differ diff --git a/assets/bios/Rosio_Reyes.jpeg b/assets/bios/Rosio_Reyes.jpeg new file mode 100644 index 00000000..c0da7b52 Binary files /dev/null and b/assets/bios/Rosio_Reyes.jpeg differ diff --git a/assets/bios/Rowan_Cockett.jpg b/assets/bios/Rowan_Cockett.jpg new file mode 100644 index 00000000..70ec8d95 Binary files /dev/null and b/assets/bios/Rowan_Cockett.jpg differ diff --git a/assets/bios/Ryan_Lovett.jpg b/assets/bios/Ryan_Lovett.jpg new file mode 100644 index 00000000..313569f5 Binary files /dev/null and b/assets/bios/Ryan_Lovett.jpg differ diff --git a/assets/bios/Sharan_Foga.jpg b/assets/bios/Sharan_Foga.jpg new file mode 100644 index 00000000..4abb8544 Binary files /dev/null and b/assets/bios/Sharan_Foga.jpg differ diff --git a/assets/bios/SylvainCorlay.jpg b/assets/bios/SylvainCorlay.jpg new file mode 100644 index 00000000..fdb56ee2 Binary files /dev/null and b/assets/bios/SylvainCorlay.jpg differ diff --git a/assets/bios/SylvainCorlay.png b/assets/bios/SylvainCorlay.png deleted file mode 100644 index b38011ae..00000000 Binary files a/assets/bios/SylvainCorlay.png and /dev/null differ diff --git a/assets/bios/Tania_Allard.jpg b/assets/bios/Tania_Allard.jpg new file mode 100644 index 00000000..b6be9f49 Binary files /dev/null and b/assets/bios/Tania_Allard.jpg differ diff --git a/assets/bios/Tim_Head.jpg b/assets/bios/Tim_Head.jpg new file mode 100644 index 00000000..13173532 Binary files /dev/null and b/assets/bios/Tim_Head.jpg differ diff --git a/assets/bios/Tim_Head.png b/assets/bios/Tim_Head.png deleted file mode 100644 index 882c9a3c..00000000 Binary files a/assets/bios/Tim_Head.png and /dev/null differ diff --git a/assets/bios/Tony_Hirst.jpg b/assets/bios/Tony_Hirst.jpg new file mode 100644 index 00000000..42f6fb24 Binary files /dev/null and b/assets/bios/Tony_Hirst.jpg differ diff --git a/assets/bios/Tony_Hirst.png b/assets/bios/Tony_Hirst.png deleted file mode 100644 index 8a72b15f..00000000 Binary files a/assets/bios/Tony_Hirst.png and /dev/null differ diff --git a/assets/bios/WilliamStein.jpg b/assets/bios/WilliamStein.jpg new file mode 100644 index 00000000..6577a63d Binary files /dev/null and b/assets/bios/WilliamStein.jpg differ diff --git a/assets/bios/WilliamStein.png b/assets/bios/WilliamStein.png deleted file mode 100644 index e1f97bbc..00000000 Binary files a/assets/bios/WilliamStein.png and /dev/null differ diff --git a/assets/bios/placeholder.png b/assets/bios/placeholder.png index 3f62304e..909c66db 100644 Binary files a/assets/bios/placeholder.png and b/assets/bios/placeholder.png differ diff --git a/assets/community/discourse.svg b/assets/community/discourse.svg new file mode 100644 index 00000000..4cbb8c87 --- /dev/null +++ b/assets/community/discourse.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/assets/community/gitter.svg b/assets/community/gitter.svg deleted file mode 100644 index a37b8c36..00000000 --- a/assets/community/gitter.svg +++ /dev/null @@ -1,21 +0,0 @@ - - - - Artboard - Created with Sketch. - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/assets/community/zulip-icon.svg b/assets/community/zulip-icon.svg new file mode 100644 index 00000000..7343b55a --- /dev/null +++ b/assets/community/zulip-icon.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/css/main.scss b/assets/css/main.scss index a4bd98eb..e7d12952 100644 --- a/assets/css/main.scss +++ b/assets/css/main.scss @@ -22,3 +22,149 @@ @import "http://github.com/components/about-box"; @import "http://github.com/components/widgets"; @import "http://github.com/components/hr"; + +.dropshadow { + /* Make the foreground stand out from the background slightly */ + filter: drop-shadow(0px 0px 8px rgba(0,0,0,0.3)); +} + +.con-subtitle { + float: right; + clear: both; + margin: 0; + font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; + font-weight: 300; +} + +.con-program { + font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; + line-height: 34px; + color: #FFFFFF; + clear: both; + margin-right: auto; + margin-left: auto; + margin-top: 10px; + margin-bottom: 10px; +} + +.con-program p { + font-weight: normal; + margin-bottom: 0; +} + +.con-date { + font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; + font-size: 30px; + line-height: 34px; + color: #FFFFFF; + margin-left: auto; + margin-right: auto; + margin-top: 10px; + margin-bottom: 10px +} + +.con-copy { + font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; + font-size: 18px; + line-height: 21px; + font-weight: 200; + color: black; + text-align: center; + float: right; + width: 460px; + height: 44px; + clear: both; + margin-bottom: 8px; +} + +.con-big-copy { + font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; + font-size: 28px; + line-height: 33px; + font-weight: 200; + color: black; + text-align: center; + float: right; + width: 460px; + height: 34px; + clear: both; + margin-bottom: 27px; +} + +.jupytercon-section { + background: url('http://github.com/jupytercon-planet.jpg'); + background-size: 100%; + color: white; + border-bottom-color: #e0e0e0; + border-left-style: none; + border-style: solid; + border-top-color: #e0e0e0; + border-width: thin; + border-right: 0px; + padding: 24px 0 42px 0; + text-align: center; + min-height: 300px; + padding-top: 55px; +} + +.jupytercon-section p{ + margin-bottom: 40px; + +} +.jupytercon-section p a{ + color: white; + text-decoration: underline; +} + +.con-subtitle { + color: black; + font-weight: 400; +} + +/* Convention banner */ + +.con-jumbotron { + margin: 0 !important; + padding: 0 !important; +} + +.con-container { + background: rgba(0, 0, 0, 0.5) url("http://github.com/header-banner.jpg"); + background-size: cover; + background-repeat: no-repeat; + background-blend-mode: darken; + background-position: bottom center; + text-align: center; +} + +.con-content { + max-width: 1200px; + margin: 0 auto; + float: none !important; + padding: 40px; +} + +.con-title { + margin-left: auto; + margin-right: auto; + clear:both; + width: 100%; + max-width: 500px; +} + +div.con-buttons { + margin-top: 2em; + a.con-button { + background-color: #f37726; + color: white; + font-size: 1em; + font-weight: 600; + margin: 0 .5em; + padding: 1em; + border-radius: 5px; + border: none; + cursor: pointer; + } +} + + diff --git a/assets/header-banner.jpg b/assets/header-banner.jpg new file mode 100644 index 00000000..1b9dab3a Binary files /dev/null and b/assets/header-banner.jpg differ diff --git a/assets/logos/quansight.svg b/assets/logos/quansight.svg index 969bd240..280902d8 100644 --- a/assets/logos/quansight.svg +++ b/assets/logos/quansight.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/assets/try/GNUOctave.png b/assets/try/GNUOctave.png new file mode 100644 index 00000000..83b63d37 Binary files /dev/null and b/assets/try/GNUOctave.png differ diff --git a/assets/try/jupyterlite.png b/assets/try/jupyterlite.png new file mode 100644 index 00000000..6d39fc9b Binary files /dev/null and b/assets/try/jupyterlite.png differ diff --git a/assets/try/kotlin.svg b/assets/try/kotlin.svg deleted file mode 100644 index 33e939da..00000000 --- a/assets/try/kotlin.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - diff --git a/binder.md b/binder.md index f669c3de..70db0d7a 100644 --- a/binder.md +++ b/binder.md @@ -57,7 +57,7 @@ In short, if you follow best-practices in computational science, your repository Binder is entirely powered by an open-source infrastructure stack. Its main two tools are BinderHub, which is an open-source tool that deploys the Binder service in the cloud, and repo2docker, which generates reproducible Docker -images from a git repository. The [Binder team](https://jupyterhub-team-compass.readthedocs.io/en/latest/team.html) +images from a git repository. The [Binder team](https://jupyterhub-team-compass.readthedocs.io/en/latest/team/index.html) also runs a public BinderHub deployment at mybinder.org as a free public service for the community. ### repo2docker @@ -118,13 +118,12 @@ Like all Project Jupyter efforts, the Binder Project is an open-source and community-driven project. We'd love for you to join our community and contribute code, time, comments, or appreciation. +* [**The Binder Zulip Channel**](https://jupyter.zulipchat.com/#narrow/channel/469744-jupyterhub) is where real-time conversations happen in the Binder community. This is shared with the JupyterHub project. +* [**The Binder Community Forum**](https://discourse.jupyter.org/c/binder) has a lot of + community interaction and useful information about using, running, and contributing to Binder. +* [**The JupyterHub Contributing guide**](https://jupyterhub-team-compass.readthedocs.io/en/latest/contribute/index.html) is + a great place to start learning how you can contribute to the Binder Project. * [**The JupyterHub Team Compass**](https://jupyterhub-team-compass.readthedocs.io/en/latest/) is a resource for the JupyterHub community to share information, team practices, and important information. -* [**The JupyterHub Teams Page**](https://jupyterhub-team-compass.readthedocs.io/en/latest/team.html) lists +* [**The JupyterHub Teams Page**](https://jupyterhub-team-compass.readthedocs.io/en/latest/team/index.html) lists the current members of the JupyterHub and Binder teams. -* [**The JupyterHub Contributing guide**](https://jupyterhub-team-compass.readthedocs.io/en/latest/contributing.html) is - a great place to start learning how you can contribute to the Binder Project. -* [**The Binder Gitter Channel**](https://gitter.im/jupyterhub/binder) is where a lot of real-time - conversations happen in the Binder community. -* [**The Binder Community Forum**](https://discourse.jupyter.org/c/binder) has a lot of - community interaction and useful information about using, running, and contributing to Binder. diff --git a/community.md b/community.md index 03f080a4..a6b86c9a 100644 --- a/community.md +++ b/community.md @@ -1,25 +1,30 @@ --- layout: page -title: Get Involved -tagline: How to join the Project Jupyter community +title: Get Involved in the Community +tagline: How to learn about and join our open source community permalink: /community channels: - - title: Jupyter GitHub - description: A place where the community collaborates on the development of Jupyter software. - src: assets/widgets/github.svg - alt: GitHub logo - url: https://github.com/jupyter/ - - title: Jupyter Discourse - description: A Discourse Forum for a multitude of Jupyter topics. - src: assets/community/mail-list.svg - alt: Mailing list + - title: Jupyter Forum + description: A forum for asynchronous communication across the Jupyter community and many of its subprojects. + src: assets/community/discourse.svg + alt: Discourse logo url: https://discourse.jupyter.org/ + - title: Jupyter Chatroom + description: For real-time discussion project-wide. Also used by several sub-projects for their team conversation. + src: assets/community/zulip-icon.svg + alt: Zulip logo + url: https://jupyter.zulipchat.com - title: Jupyter General Mailing List description: A Google Group for general discussions of Jupyter's use. src: assets/community/mail-list.svg alt: Mailing list url: https://groups.google.com/forum/#!forum/jupyter + - title: Jupyter GitHub + description: A place where the community collaborates on the development of Jupyter software. + src: assets/widgets/github.svg + alt: GitHub logo + url: https://github.com/jupyter/ - title: Jupyter in Education Mailing List description: A Google Group for general discussions of Jupyter's use in education. src: assets/community/mail-education.svg @@ -30,11 +35,6 @@ channels: src: assets/community/mail-list.svg alt: Mailing list url: https://groups.google.com/forum/?pli=1#!forum/jupyter-research-facilities - - title: Jupyter Gitter Chatroom - description: A real-time chatroom, for general development related discussions. - src: assets/community/gitter.svg - alt: Gitter logo - url: https://gitter.im/jupyter/jupyter - title: Jupyter on Stack Overflow description: A popular third party site for programmers to ask and answer questions about Jupyter. src: assets/community/stack-overflow.svg @@ -52,53 +52,24 @@ channels: url: https://jupyter.readthedocs.io/en/latest/contributing/content-contributor.html --- -Jupyter is a community of data enthusiasts who believe in the power of open -tools and standards for education, research, and data analytics. We welcome -contributions and contributors of all kinds - whether they come as contributions -to code, participation in the community, opening issues and pointing out bugs, -or simply sharing your work with your colleagues and friends. - -## Join the Jupyter community - -If you're interested in joining the Jupyter community (yay!) we recommend -checking out the Jupyter [Contributing -guide](https://jupyter.readthedocs.io/en/latest/contributing/content-contributor.html). -This contains information about the different projects in the Jupyter ecosystem, -the tools and skills that are useful for each project, and other ways that you -can become a part of the Jupyter community. +Jupyter is an open community of data enthusiasts who believe in the power of open +tools and standards for education, research, and data analytics. -## Explore our projects +## Where to learn -Jupyter has seen wonderful growth over the past decade. As we have grown, the -projects now span multiple GitHub organizations. Jupyter projects may be found -in these organizations: +We welcome contributions and contributors of all kinds - whether they come as contributions to code, participation in the community, opening issues and pointing out bugs, or simply sharing your work with your colleagues and friends. -- [jupyter](https://github.com/jupyter) -- [ipython](https://github.com/ipython) -- [jupyterhub](https://github.com/jupyterhub) -- [jupyterlab](https://github.com/jupyterlab) -- [jupyter-widgets](https://github.com/jupyter-widgets) -- [jupyter-server](https://github.com/jupyter-server) -- [jupyter-xeus](https://github.com/jupyter-xeus) -- [jupyter-lsp](https://github.com/jupyter-lsp) -- [voila-dashboards](https://github.com/voila-dashboards) -- [binder-examples](https://github.com/binder-examples) -- [jupyter-resources](https://github.com/jupyter-resources) +To learn more about contributing, see the [Jupyter Contributing guide](https://docs.jupyter.org/en/latest/contributing/content-contributor.html). -Many organizations have a **team-compass** repo to provide detailed information -about the sub-community, its meetings, and contribution tips. +Jupyter is organized into sub-projects, each of which has their own goals, practices, and spaces for communication. +To get started, see [this list of Jupyter Subprojects](https://jupyter.org/governance/list_of_subprojects.html). -## Participate online +## Where to talk -Jupyter also has a number of online communication channels to help keep in touch. +Jupyter has a number of online communication channels to help keep in touch. Here are several of the most-prominent ones. -As you interact with others in the Jupyter ecosystem, remember that we have a strong -commitment to being an **open, inclusive, and positive community**. Please read the -[Jupyter Code of Conduct](https://github.com/jupyter/governance/blob/master/conduct/code_of_conduct.md) -for guidance on how to interact with others in a way that makes the community thrive. - -Below is a short list of Gitter channels, mailing lists, and GitHub repositories -where you can get involved. **We always welcome participation in the Jupyter community**. +Remember that we have a strong commitment to being an **open, inclusive, and positive community**. Please read the [Jupyter Code of Conduct](https://github.com/jupyter/governance/blob/main/conduct/code_of_conduct.md) +for guidance on how to interact with others.
{% for obj in page.channels %} @@ -127,7 +98,7 @@ This is a calendar of regular online events. It might not be exhaustive. @@ -159,8 +130,6 @@ of contributors, and strengthening collaborations. #### Round 1: 2018 - [Round 1: Call for Proposals](https://blog.jupyter.org/jupyter-community-workshops-cbd34ac82549) - -Individual workshops: - [Jupyter Widgets workshop](https://blog.jupyter.org/jupyter-community-workshops-cbd34ac82549) - [Jupyter Hackathon in Hawaii](https://blog.jupyter.org/jupyter-hackathon-series-in-hawaii-97b3d1fbce68) - [Teaching and Learning with Jupyter](https://blog.jupyter.org/teaching-and-learning-with-jupyter-c1d965f7b93a) @@ -170,8 +139,6 @@ Individual workshops: - [Round 2: Call for Proposals](https://blog.jupyter.org/jupyter-community-workshops-call-for-proposals-26a8417e5b6a) - [Round 2: Announcement of Workshops](https://blog.jupyter.org/jupyter-community-workshops-a7f1dca1735e) - [Round 2: 2019 Year in Review](https://blog.jupyter.org/jupyter-community-workshops-2019-year-in-review-8876336924e4) - -Individual workshops: - [Jupyter Server Design and Roadmap Workshop](https://blog.jupyter.org/jupyter-community-workshop-jupyter-server-design-and-roadmap-workshop-6e6760cc5098): (Luciano Resende) - [Building upon the Jupyter Kernel Protocol](https://blog.jupyter.org/field-report-on-the-kernel-community-workshop-a4ad73a1a718) (Sylvain Corlay) - [Jupyter nbgrader Hackathon/Code Sprint](https://blog.jupyter.org/https-blog-jupyter-org-university-of-edinburgh-jupyter-community-nbgrader-hackathon-2eff14df298a): (James Slack) @@ -183,9 +150,16 @@ Individual workshops: #### Round 3: 2020-2022 - [Round 3: Call for Proposals](https://blog.jupyter.org/jupyter-community-workshops-call-for-proposals-for-jan-aug-2020-710f687e30f4) - -Due to the COVID-19 pandemic, workshops were put on hold during 2020. -Stay tuned for more details about workshops funded in round 3. +- Africa Jupyter Community Workshop: (Narcisse Mbunzama) +- [Building the Jupyter Community in Musculoskeletal Imaging Research](https://blog.jupyter.org/report-on-the-jupyter-community-workshop-77016ab1d49b): (Serena Bonaretti) +- [An accessibility audit and roadmap for the Jupyter ecosystem](https://blog.jupyter.org/jupyter-accessibility-workshops-wrap-up-8649dfe5f89): (Tania Allard, Isabela Presedo-Floyd) + +#### Round 4: 2022-2023 +- [Round 4: Call for Proposals](https://blog.jupyter.org/jupyter-community-workshops-c7491a3cca00) +- [Jupyter Widgets workshop](https://blog.jupyter.org/jupyter-community-workshop-the-future-of-jupyter-widgets-475f67288da0) +- [JupyterLite community workshop](https://blog.jupyter.org/report-on-the-jupyterlite-community-workshop-aafaefe254ef) +- [Jupyter in Education workshop](https://blog.jupyter.org/jupyter-community-workshop-jupyter-for-education-82af9e34b510) +- [Jupyter Notebook Format workshop](https://blog.jupyter.org/jupyter-notebook-format-workshop-outcomes-c45faf113018) ### Jupyter Community Calls diff --git a/hub.md b/hub.md index 2f4e2b6c..445ccc5f 100644 --- a/hub.md +++ b/hub.md @@ -71,6 +71,6 @@ Like all Project Jupyter efforts, JupyterHub is an open-source and community-driven project. We'd love for you to join our community and contribute code, time, comments, or appreciation. -**[The JupyterHub Gitter Channel](https://gitter.im/jupyterhub/jupyterhub)** +**[The JupyterHub Zulip Channel](https://jupyter.zulipchat.com/#narrow/channel/469744-jupyterhub)** is a place where the JupyterHub community discuses developments in the JupyterHub technology, as well as best-practices in deploying and debugging. diff --git a/index.html b/index.html index e105ce53..ced4d09d 100644 --- a/index.html +++ b/index.html @@ -213,15 +213,12 @@ - href: https://www.nasa.gov src: NASA.svg alt: NASA - - href: https://www.netapp.com/us/ + - href: https://www.netapp.com/ src: netapp.svg alt: NetApp - href: https://www.linkedin.com/company/nsite-llc/about/ src: nsite.svg alt: NSite - - href: https://www.northwestern.edu - src: northwestern.svg - alt: Northwestern University - href: https://www.nyu.edu/ src: NYU.svg alt: NYU @@ -277,7 +274,7 @@
{{ page.jumbotron.text }}
- +
@@ -368,4 +365,7 @@

{{ feat.headline }}

{% endfor %}
+ + + diff --git a/install.md b/install.md index 1ea744d9..6daccf39 100644 --- a/install.md +++ b/install.md @@ -7,7 +7,7 @@ permalink: /install Project Jupyter's tools are available for installation via the [Python Package Index](https://pypi.org/), the leading repository of software created for the Python programming language. -This page uses instructions with [pip](https://pip.pypa.io/en/stable/), [the recommended installation tool for Python](https://packaging.python.org/en/latest/guides/tool-recommendations/#installation-tool-recommendations). If you require _environment management_ as opposed to just installation, look into [conda](https://docs.conda.io/), [mamba](https://mamba.readthedocs.io/), and [pipenv](https://pipenv.pypa.io/). +This page uses instructions with [pip](https://pip.pypa.io/en/stable/), [the recommended installation tool for Python](https://packaging.python.org/en/latest/guides/tool-recommendations/#installation-tool-recommendations). If you require _environment management_ as opposed to just installation, look into [conda](https://docs.conda.io/), [mamba](https://mamba.readthedocs.io/), [pipenv](https://pipenv.pypa.io/), and [Homebrew](https://brew.sh). ## JupyterLab @@ -21,7 +21,7 @@ pip install jupyterlab Once installed, launch JupyterLab with: ```bash -jupyter-lab +jupyter lab ``` ## Jupyter Notebook @@ -45,3 +45,18 @@ Install Voilà with: ```bash pip install voila ``` + +Once installed, launch Voilà with: + +```bash +voila +``` + +## Homebrew + +[Homebrew](https://brew.sh) is a package manager for macOS and Linux. +You can use it to install Jupyter by running: + +```bash +brew install jupyterlab +``` diff --git a/media_submissions.md b/media_submissions.md new file mode 100644 index 00000000..38d2ac30 --- /dev/null +++ b/media_submissions.md @@ -0,0 +1,52 @@ +--- +layout: page +title: Submission Guidelines +tagline: Project Jupyter Media Submission Guidelines +permalink: /media_submissions +--- + +## Editorial Principles +Read more about our [editorial principles](https://jupyter.org/governance/charters/MediaStrategyCharter.html#editorial-principles) in our charter. + +## Content Guidelines +The Project Jupyter blog is designed for community members to share valuable and educational content about Jupyter. Blog posts can be about various topics, for example how you got started with Jupyter, the latest extension you built around Jupyter, a quick tutorial on how to use a specific feature, and more. This channel is powered by our community members so there are no particular requirements for how the blog post has to be written. + +Here is an example of a potential structure: + +- Title +- Subtitle (max 140 characters) – summary of what the blog post is about +- Provide one image that represents your project - it can also be a code snippet +- Introduce your topic +- Why is this topic important? What are the benefits for the Jupyter community? +- Do you have an interesting user story or usage example? Include this here. +- Pick a specific usage example and provide a step-by-step guide so the readers can follow along. Make sure to include visuals or + code examples so readers can follow along easily. +- Thank/acknowledge the people who helped make the work described in the blog post possible. This includes anyone who helped you + write the blog post itself. +- End the article with the forward-looking statement about your project or research + +Blog Post Examples: +- Shorter post: [European Commission Funds Jupyter Bug Bounty Program](https://blog.jupyter.org/european-commission-funds-jupyter-bug-bounty-program-b7b96f9831e6) +- Longer post: [Generative AI in Jupyter](https://blog.jupyter.org/generative-ai-in-jupyter-3f7174824862) +- Post using the Jupyter Voice: [JupyterLab is Ready for Users](https://blog.jupyter.org/jupyterlab-is-ready-for-users-5a6f039b8906) + +## RESPONSE TIME: Volunteer working group +Please note that we will vet content against our current editorial review backlog, and follow up with you if there are any issues. Plan ahead. We are primarily a group of volunteers and we will review requests for publication on a weekly basis. + +## BLOG: Submission process (blog.jupyter.org) +- *Create a Medium account*. If you are new to Medium, create an account by following these [instructions](https://help.medium.com/hc/en-us/articles/115004915268-Sign-in-or-sign-up-to-Medium). +- *Request permissions*. Email the Jupyter Media Strategy working group (JMS) at jupyter-media-strategy@googlegroups.com with your Medium handle to be added as a writer of the blog. Once you are added as the authorized writer, you should receive an email that allows you to upload your blog. +- *Submit your story*. For step by step instructions see the following Medium [article](https://help.medium.com/hc/en-us/articles/213904978-Add-a-draft-or-post-to-publication). +- *Request review*. Email the JMS at jupyter-media-strategy@googlegroups.com confirming you have submitted the story. and provide suggested social media text and image. + +## BLOG: Social media amplification +Project Jupyter has various [social media channels](/social), provide the following information when requesting review: +- Content (max 500 characters for Mastodon, 280 characters for Twitter/X) +- Image for the post if one is available +- Social handles to include (for @mentions) + +## MASTODON: Amplification of a message on Mastodon +The Jupyter blog is the primary channel with which Jupyter communicates with the community. However, occasionally there are messages for which no blog post exists and the JMS will consider amplifying posts on Mastodon. Mastodon is our preferred channel as it best reflects the values of Project Jupyter. +- Content - max 500 characters or a link to another Mastodon post +- Image for the post (if one is available) +- Link to your work, for example a Github link (this will auto-generate an image) diff --git a/noxfile.py b/noxfile.py index fc8d91e7..2b8f278f 100644 --- a/noxfile.py +++ b/noxfile.py @@ -2,7 +2,7 @@ nox.options.reuse_existing_virtualenvs = True -CONDA_DEPS = ["c-compiler", "compilers", "cxx-compiler", "ruby", "python=3.8"] +CONDA_DEPS = ["c-compiler", "compilers", "cxx-compiler", "ruby", "python=3.10"] def install_deps(session): # Jekyll w/ Conda installation instructions roughly pulled from diff --git a/privacy.md b/privacy.md new file mode 100644 index 00000000..eac11563 --- /dev/null +++ b/privacy.md @@ -0,0 +1,97 @@ +--- +layout: page +title: Data Privacy +tagline: Data privacy information for Jupyter related software +permalink: /privacy +--- + + +# F.A.Q. + +This page answers frequently asked questions about Jupyter and data privacy. + +## Do Project Jupyter software programs collect information ? + +By design, most Project Jupyter software does not collect any information about its installation or usage. Telemetry is an opt-in feature available through libraries such as [Jupyter Telemetry](https://github.com/jupyter/telemetry). + +All software developed by the Jupyter Project, other than purpose-built telemetry libraries, +is free of tracking +code. When you install and deploy Jupyter software and libraries on your own +computers and servers, no information is collected by or sent to +Project Jupyter's developers. + +Jupyter's privacy policy does not apply to third-party vendors that host Jupyter +products for remote or cloud usage. If you have questions about hosted Jupyter +products, please consult your vendor's documentation and privacy policy. + +Some projects have their own privacy policies. +The [JupyterLab privacy policy](https://jupyterlab.readthedocs.io/en/stable/privacy_policies.html) +is one example. + +## Do Project Jupyter services collect information? + +Project Jupyter runs a few free services related to Jupyter. These include, but are +not limited to, nbviewer, Binder, and JupyterLite. + +These services do not store any user data on Jupyter-owned +systems. Because these services are publicly accessible, we caution users not to use +those services to process sensitive information. + +## Do Project Jupyter community services collect information? + +Jupyter has a [community page](https://jupyter.org/community) that +recommends mailing lists, forums, chat rooms, and videoconference calls for +users to meet and discuss Jupyter software. Some of these communities are +managed by third-party companies not directly affiliated with Project Jupyter. + +You should not need to create an account on any on those platforms to _read_ any +public content. You do not need to create an account on any community +platform to _use_ Jupyter software. + +Except where noted, Jupyter does not host its community platforms, and we +do not control the data collection of these community platforms. Users should +read the privacy policy of each community platforms before they decide to join, +and users should contact the platform's operator if they have any concerns +or questions about their data collection practices. + +## Who can fill out my organization's data privacy information form on behalf of Project Jupyter? + +Your organization may require software vendors to disclose required information +about their software's data processing. + +This often includes, but is not limited to: + + - What data is collected + - How is billing information secured + - Background check requirements for people having access to this information + +**Project Jupyter is not a service provider, supplier, or vendor** and so +generally **cannot** fill out these forms, for **legal** and **technical** reasons. + +We maintain open source tools that your institution or others may install and +operate. Entities who operate Jupyter services for your organization, and with +whom you have a contract, are responsible for the privacy of your data. + +As we do not have a business relationship with you or your institution, we do not +have a customer database, we do not have billing information, and in general you +cannot sign a contract with us. + +## Who is my Jupyter vendor? + +There are two broad ways to deploy Jupyter software: + +1. Hosted by a third-party computing service provider (in the cloud) +2. Installed on your own computers on premises that your organization controls (on-premise) + +If you are using Jupyter in the cloud, then look at the URL you use to access +Jupyter. This will likely indicate who your vendor is. + +If you are using Jupyter on your own machine, the way you installed Jupyter will +tell you who your vendor is. If you installed open source packages from a +freely-available repository, you probably do not have a vendor. If you installed +open source packages from a commercial vendor that provides support, contact +that vendor for support. + +## How do I ask questions about privacy not covered by this FAQ? + +You can ask the [Jupyter Executive Council](https://executive-council-team-compass.readthedocs.io). diff --git a/security.md b/security.md index 5d687eb3..20facced 100644 --- a/security.md +++ b/security.md @@ -9,12 +9,34 @@ The Jupyter Security Subproject exists to provide help and advice to Jupyter users, operators, and developers on security topics and to help coordinate handling of security issues. -## Reporting vulnerabilities +## How to report vulnerabilities + +To report a security vulnerability in a [Jupyter Subproject](https://jupyter.org/governance/list_of_subprojects.html), +take one of these two actions: + + 1. **Open a GitHub Security Advisory** (GHSA) in the relevant repository (preferred approach). See [the GitHub instructions for opening security advisories](https://docs.github.com/en/code-security/security-advisories/guidance-on-reporting-and-writing-information-about-vulnerabilities/privately-reporting-a-security-vulnerability#privately-reporting-a-security-vulnerability). + 2. **Send an e-mail to [security@jupyter.org](mailto:security@jupyter.org)** reporting the vulnerability. Only do this if opening a GHSA is not possible, or you are unsure what to do. + where it will belong. + +**We do not currently run bug bounty programs, and do not currently reward +vulnerability discovery.** + +If you prefer to encrypt your security reports, use [this PGP public key](assets/ipython_security.asc). + +### Guidelines for reporting vulnerabilities + +- If you are unsure, it is always best to contact us. +- Remember we are an open source project maintained by volunteers, we have limited resources to spare. Please be mindful of our time. +- **Avoid** sending basic reports that just use website scanning tools without context or understanding of the problem: + - Example: we often receive minimalist reports of JavaScript vulnerability or incorrect CORS on + _static_ websites (mostly on jupyter.org and documentation on `*.readthedocs.io`). Static website are not affected by these kinds of issues. + - Examples of how to do this more effectively: + - You ran a tool and think there is vulnerability because you are learning. In the body of your message, include your analysis and your uncertainty about the problem. + - You are a security researcher: Verify the tool claim and try to develop + a POC showing how the vulnerability could be exploited, and the fix that could resolve the problem. +- **Avoid** sending mass emails to `security@ipython.org` (especially when cc'ing dozens of other emails from bug bounty programs) +- **Avoid** asking if we run a bug bounty programs or reward discovery in a private channel, discuss it in the public forum. -If you believe you've found a security vulnerability in a Jupyter project, -please report it to [security@ipython.org](mailto:security@ipython.org). -If you prefer to encrypt your security reports, -you can use [this PGP public key](assets/ipython_security.asc). ## Vulnerability information @@ -37,3 +59,33 @@ We are working to identify and coordinate security efforts across the Jupyter co The [Jupyter Security](https://github.com/jupyter/security) GitHub repo has information how to participate and contribute. For discussion, please use the special Discourse [security topic](https://discourse.jupyter.org/c/special-topics/security/48) on the Jupyter Discourse server. +## Vendor assessments + +Jupyter cannot provide, or fill in "Plan-Risk Assessment", "Hecvat", "Vpat", "SOC2", "SOC3" and +similar vendor assessing questionnaire. + +You likely have been redirected to this section after contacting the Jupyter +security team to fill in a questionnaire about the security best practice of your +Jupyter "vendor", and to assess the Jupyter "product". + +The Jupyter Team and Jupyter Security team are not vendors, and cannot act as +a vendor. To be a vendor Jupyter would need to have a contractual relationship +with you, which we do not have. + +Your questionnaire also likely ask how your 'vendor' store your informations +(user information, billing information, contact...); who has access to it; and +how they are vetted... etc. The Jupyter team does not have any contact or +billing information; nor do we collect; store or have access to any of the +information about how your Jupyter user use Jupyter, or what they do in Jupyter; +the Jupyter Team is not aware either of who installs Jupyter. + + - If you use a service provider for Jupyter; they are your vendor, and can + answer those questions. + + - If you self-host Jupyter, then it is likely to your IT team to fill in those + assessment as all the data is controlled by your IT team. + + - If you still do need a vendor assessment we advise you to contact one of the + many companies that provide Jupyter support; We cannot unfortunately give you + names out of fairness. + diff --git a/social.md b/social.md new file mode 100644 index 00000000..1e2b40ca --- /dev/null +++ b/social.md @@ -0,0 +1,36 @@ +--- +layout: page +title: Media Strategy +tagline: Jupyter Media Strategy +permalink: /social +--- + +The Jupyter Media Strategy Working Group (JMS) exists to ensure that communications in Jupyter official channels are strategic and benefit Project Jupyter. Please see our [charter](https://jupyter.org/governance/charters/MediaStrategyCharter.html) and [current list of constituents](https://jupyter.org/governance/people.html#jupyter-media-strategy-working-group) for more information. + +## Jupyter Blog +The Jupyter [blog](https://blog.jupyter.org) is designed for community members to share valuable, educational content, including news and tutorials, about Jupyter. Please see the Jupyter Media Submission [Guidelines](/media_submissions) for details on creating a post. + +## Jupyter Discourse Forum +The Discourse [forum](https://discourse.jupyter.org) is meant to be a welcoming place for discussion about Project Jupyter. Members are encouraged to ask and answer questions, and highlight wins. If you are interested to be a part of the Jupyter Discourse moderation team, please reach out to us at jupyter-media-strategy@googlegroups.com. + +## Social Media Accounts +The JMS maintains a list of official Project Jupyter social media accounts to support and promote our organization's interests. We primarily use our Mastodon account for interactive social media engagement, but will also broadcast messages about the blog or Jupyter events on other channels. + +If you are organizing a Jupyter event or have something Jupyter-related that should be boosted by the official Jupyter account, please reach out to us at jupyter-media-strategy@googlegroups.com. Please see our Submission [Guidelines](/media_submissions#blog-social-media-amplification) for more information. + +List of channels actively maintained by JMS in alphabetical order: + +- Bluesky: +- Discourse: +- LinkedIn: +- Medium: +- Mastodon: +- Slack JupyterLab: +- YouTube: +- Zulip: + + +List of channels considered inactive but managed by the JMS: + +- Facebook: +- Slack JupyterCon 2023: diff --git a/try.html b/try.html index 11372ee1..0ecfb8e1 100644 --- a/try.html +++ b/try.html @@ -6,7 +6,7 @@ intro: | Project Jupyter builds tools, standards, and services for many different use cases. This page - has links to interactive demos that allow you to try some our tools for free online, thanks to + has links to interactive demos that allow you to try some of our tools for free online, thanks to mybinder.org, a free public service provided by the Jupyter community. applications_copy: | @@ -30,27 +30,27 @@ - title: JupyterLab description: The latest web-based interactive development environment src: try/jupyter.png - alt: Jupyter logo - Launch JupyterLab demo Binder + alt: Jupyter logo - Launch JupyterLab demo url: https://jupyter.org/try-jupyter/lab?path=notebooks%2FIntro.ipynb - title: Jupyter Notebook description: The original web application for creating and sharing computational documents src: try/python.svg - alt: Python logo - Launch Jupyter Notebook demo Binder - url: https://jupyter.org/try-jupyter/retro/notebooks/?path=notebooks/Intro.ipynb + alt: Python logo - Launch Jupyter Notebook demo + url: https://jupyter.org/try-jupyter/notebooks/?path=notebooks/Intro.ipynb - title: Voilà description: Share insights by converting notebooks into interactive dashboards src: try/voila.svg - alt: Voilà logo - Launch Violà demo Binder + alt: Voilà logo - Launch Voilà demo url: https://mybinder.org/v2/gh/voila-dashboards/voila/stable?urlpath=voila%2Ftree%2Fnotebooks kernel_boxes: - title: C++ description: How to use Jupyter with C++ src: try/Cpp.svg - alt: C++ logo - Launch C++ demo Binder - url: https://mybinder.org/v2/gh/QuantStack/xeus-cling/stable?filepath=notebooks/xcpp.ipynb + alt: C++ logo - Launch C++ demo + url: https://jupyter.org/try-jupyter/lab/index.html?path=notebooks%2Fcpp.ipynb - title: Julia description: How to use Jupyter with Julia @@ -58,17 +58,17 @@ alt: Julia logo - Launch Julia demo Binder url: https://mybinder.org/v2/gh/binder-examples/demo-julia/HEAD?filepath=demo.ipynb - - title: Kotlin - description: How to use Jupyter with Kotlin - src: try/kotlin.svg - alt: Kotlin logo - Launch Kotlin demo Binder - url: https://mybinder.org/v2/gh/Kotlin/dataframe/master?filepath=examples/jupyter-notebooks/titanic/Titanic.ipynb + - title: GNU Octave + description: How to use Jupyter with GNU Octave + src: try/GNUOctave.png + alt: GNU Octave logo - Launch GNU Octave demo Binder + url: https://mybinder.org/v2/gh/jupyter-xeus/xeus-octave/stable?urlpath=/lab/tree/notebooks/xeus-octave.ipynb - title: R description: How to use Jupyter with R src: try/R.svg - alt: R logo - Launch R demo Binder - url: https://mybinder.org/v2/gh/binder-examples/r/HEAD?filepath=index.ipynb + alt: R logo - Launch R demo + url: https://jupyter.org/try-jupyter/lab/index.html?path=notebooks%2Fr.ipynb - title: Ruby description: How to use Jupyter with Ruby diff --git a/widgets.html b/widgets.html index 13446ab0..5c58e6fb 100644 --- a/widgets.html +++ b/widgets.html @@ -33,62 +33,62 @@

Notebook Widgets

@@ -180,7 +180,7 @@

Installation

makes it also a fast and performant visualisation tool for HPC computing e.g. fluid dynamics.

- Showcase gallery: https://k3d-jupyter.org/showcase/index.html. + Showcase gallery: https://k3d-jupyter.org/gallery/index.html.

Example

{% highlight python %}{% include_relative assets/widgets/k3d-example.py %}{% endhighlight %}