✍️ Contributing to pi-topOS

There are a tonne of ways that an enthusiastic maker, student or professional can contribute!

Cool Project?

Got a cool project to share? Tell us about it in the forum!

Want to make things better?

Have you found a bug, or want to suggest a feature? We'd love to know more.

Before you get started, it's important that you understand which GitHub repository to file an Issue into.

Is your bug report or feature request in relation to Python development with pi-top hardware? Check out the pi-top Python SDK and pi-top Python Common Library repositories on GitHub.

pi-topOS also has other packages that are hosted in GitHub repositories - check out the Technical Details page for more information.

In most cases, these repositories are NOT the right place for a GitHub Issue, as the scope of their functionality is typically more limited than the scope of a usability issue or bug.

⚠️ If you are not sure which GitHub repository is the right one, then try reporting/suggesting to the forum first.

Bug? Usability Issue?

Is It A Bug? Do We Know About it? Is It Documented?

Think you've found a bug? We're keen (though obviously not happy) to hear about it.

If it seems like quite a fundamental bug (such as an issue with updating), then check out the troubleshooting section first - we might already be aware of it or even have a solution for you! Otherwise, we ask that you check the forum to see if anyone else is having the issue.

If you are running Python code and getting an Exception, this may not be a bug.

If you are not confident in what the issue is, then please reach out on the forum!

Have you checked the documentation? For example, the pi-top Python SDK has documentation.

Still think you've got a bug? Let's figure out the best place to write up your bug report.

If you are having a bad time with pi-topOS and its software, then there is a bug.

If the documentation is confusing or missing, then this is a bug.

Where To Submit Bug Report?

Is your bug report in relation to Python development with pi-top hardware? Check out the pi-top Python SDK and pi-top Python Common Library GitHub repositories.

If you are unsure about where to post the issue, then create a forum post about the issue you are having so that someone can help you direct you to the best place to submit the Issue.

How To Submit Bug Report?

A good, well-documented bug report is the most effective way to help improve the quality of pi-top code.

Check out this one-page checklist outlining how to write a great bug report (or you can read its more thorough accompanying blog post!).

Use GitHub's Markdown to style your Issue. For example, if you are providing a Python code snippet, write it like so:

```python
print("code here")
```

Feature Suggestion?

Do We Know About it?

Think you've found a bug? We'd love to hear about it!

First of all, it's important to check the forum and see if someone else has already had the same, or similar, idea. It is easier to prioritise work that has multiple users requesting the same thing!

Where To Submit Feature Suggestion?

Is your feature request in relation to Python development with pi-top hardware? Check out the pi-top Python SDK repository on GitHub.

If you are unsure about where to post the issue, then create a forum post about the issue you are having so that someone can help you direct you to the best place to submit the Issue.

How To Submit Feature Suggestion?

A well-described feature suggestion is a highly effective way to help us understand user needs and tailor pi-topOS to those needs, improving the quality of pi-topOS.

Provide the following information:

  • Problem or Possibility
    • Concise summary of the problem that this suggestion would solve, or the possibility it would enable (For example: "I'm always frustrated when [...]")
  • Proposed Solution
    • Description of the enhancement that you would like to see
  • Alternative Solutions
    • Description of any alternative solutions or features you've considered, if relevant
  • Additional Context
    • Any other context or screenshots about the suggestion here.

Use GitHub's Markdown to style your Issue. For example, if you are providing a Python code snippet, write it like so:

```python
print("code here")
```

Code Submission? Pull Request?

We ❤️ code contributions - see you on GitHub!