Contributing to the JupyterHub Community

JupyterHub is an open community made up of people all over the world. We invite participation of all forms - whether that be contributing code, advice, documentation, support, or just a friendly face!

If you’d like to start getting involved with JupyterHub projects, here are a few resources to get you started.

Do I really have something to contribute to JupyterHub?

Absolutely ✅. There are always ways to contribute to this community!

If you’d prefer not to write code, you can help out the JupyterHub community by providing feedback in issues, participating in the JupyterHub Discourse, sharing your experience with JupyterHub tools in an issue, improving documentation, helping others with their problems, telling others about JupyterHub tools, and coming to monthly meetings. There are lots of others ways to contribute without writing code - we are happy to have any and all contributions!

If you’d like to write code, and have experience in some of the tools that JupyterHub uses (e.g., shared infrastructure, dev-ops, kubernetes), then we would love your support in keeping these tools a useful resource for the community. Try finding the https://img.shields.io/badge/-help%20wanted-159818.svgHelp Wanted tag in a repository and please ping a JupyterHub team member if you’d like any assistance!

If you don’t have experience in these topics, then contributing to JupyterHub is a great way to learn. The JupyterHub community works hard to share its knowledge of both JupyterHub tools and the general problems that they try to solve, and we’d be happy to help you out. If you’re not sure where to start, look for the https://img.shields.io/badge/-good%20first%20issue-blueviolet.svgGood First Issue tag to begin your journey learning about the JupyterHub stack.

Get connected

First off, get yourself connected with the JupyterHub community online. There are a few places where we have conversations and discussion.

As a reminder, we expect all members of the JupyterHub community to adhere to the Jupyter Code of Conduct in these conversations.

Contributing through GitHub

git is a really useful tool for version control. GitHub sits on top of git and supports collaborative and distributed working.

You’ll use Markdown to chat in issues and pull requests on GitHub. You can think of Markdown as a few little symbols around your text that will allow GitHub to render the text with formatting. For example you could write words as bold (**bold**), or in italics (*italics*), or as a link ([link](https://youtu.be/dQw4w9WgXcQ)) to another webpage.

GitHub has a helpful page on getting started with writing and formatting Markdown on GitHub.

Find issues to work on

If you’d like to make contributions to one of the JupyterHub repositories (this can be either contributing code, commenting on issues, reviewing pull requests, or improving documentation), we recommend checking out the issue tags to find issues that are a good place to start.

The JupyterHub team tries to use tags to signal different types of issues. Two that you might be interested in are help wanted, and good first issue. GitHub Issues Search can be used to quickly search across all of the issues in a GitHub organization that match one of these tags. Here are a few links below to help you get started:

  • https://img.shields.io/badge/-help%20wanted-159818.svgHelp Wanted These issues contain a task that a member of the team has determined we need additional help with.

  • https://img.shields.io/badge/-good%20first%20issue-blueviolet.svgGood First Issue These issues contain a task that a member of the team thinks could be a good entry point to the project.

Help contributing to a specific repository

Note that JupyterHub works on many different kinds of technology. The kind of tech you’ll use (as well as the set-up and skill needed to work on that tech) will depend on the repository that you’re working with. For example, the Zero to JupyterHub for Kubernetes repository will touch on aspects of dev-ops and cloud infrastructure.

To get oriented with a specific repository’s needs and process around making new contributions, look for a repository-specific contributing guide. This often comes in the form of a CONTRIBUTING.md file, or a section of the documentation.

For example, here is the CONTRIBUTING.md file for Zero to JupyterHub. Note that it covers some of the tools you’ll need for testing and developing the code, which are not necessarily needed for the other JupyterHub repositories.

Are the contributing docs unclear or misleading? Then please let us know! We try to make this documentation as helpful as possible, but we often don’t have the perspective of a new member to the community. Your input is extremely valuable in making it easy for others to join the JupyterHub community!

Thank you!

You’re awesome. 👋🏻😊🦄


— Based on contributing guidelines from the STEMMRoleModels project.