Overview
Here are the 5 levels of sharing your code. We provide tutorials for each level.
Level |
Name |
Scope |
How to setup |
---|---|---|---|
1 |
|
Reuse code in the single file. |
|
2 |
|
Reuse code across files. |
|
3 |
|
Reuse code across project folders. |
|
4 |
|
Reuse code across any files in the computer. |
|
5 |
|
Share code as a publicly installable package. |
|
⏩️ 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 5public
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
andpip 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.