Overview

Here are the 5 levels of sharing your code. We provide tutorials for each level.

5 levels of reusing/sharing code

Level

Name

Scope

How to setup

1

function

Reuse code in the single file.

See Level 1 tutorial

2

module

Reuse code across files.

See Level 2 tutorial

3

workspace

Reuse code across project folders.

package create workspace

4

system

Reuse code across any files in the computer.

package create system

5

public

Share code as a publicly installable package.

package create public

⏩️ Are you here to start a new Python project?

If you are new to programming, start from Level 1. You will learn how to reuse code across files and folders. You will also learn how to write unit tests. To get started, visit (Level 1-3) Reuse code within a file, across files and folders.

If you have experience developing scientific code in Python, we recommend starting from Level 4, where you will create a lightweight Python package with automatic formatting and unit testing using GitHub Actions. To get started, visit (Level 4) Share your code as a locally installable Python package.

If you are an active open-source developer and you are also familiar with GitHub Actions and forking workflows, we recommend you start from Level 5. To get started, visit (Level 5) Share your code as a publicly installable package.

⏩️ Are you here to migrate an existing Python project?

Do you want to migrate your existing Python project/package to the scikit-package Level 5 public standard? To get started, visit Migrate your existing package with scikit-package.

Do you want to upgrade from Level 4 to Level 5? To get started, visit Migrate your package from Level 4 to Level 5.

⏩️ Are you here to release your package online?

Do you want to streamline the release process with GitHub tags and have your package installabe with conda install and pip install? To get started, visit (Level 5) Share your code as a publicly installable package.

⏩️ Do you want to explore best practices for developing and publishing scientific code?

The documentation covers, among other topics, how to write effective Git commit messages and news entries used for compiling the changelog, as well as a recommended workflow for developing and requesting new features within GitHub’s ecosystem. To get started, visit Billinge Group standards.