You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your software publicly available?
- Make sure all code stored locally is pushed to GitHub. You can use git diff to compare the differences.
Is your software under version control?
- You can use git tags and GitHub releases to mark important versions.
Can your software run on different operating systems?
- Test among the team members with different OS.
- Use Github Actions to test on different OS.
Is it easy to install all the dependencies for your software?
- Is the one file that can encompass all dependencies (requirements.txt, conda env, or mamba env`)?
- If not, can you provide the users with a pre-built environment (Docker)?
Does your software use other software: are their licenses compatible with yours?
- Read about copy-left licenses, such as GPL.
Do you have a way to test whether adding new code features or library updates preserves the software’s functionality?
- As you are testing whether the code works, store those tests and integrate the with continuous integration framework (like GitHub Actions) so they are run automatically.
Is it obvious from the folder structure where the code is and what it is doing?
- Reorganize your folders/files so that new users can find content quickly (get inspired from the Cookiecutter Folder Structure)
- add .gitignore file so you do not add unnecessary files from the repo
- use git rm to remove files which you have already added. Never use git add . to avoid this
Does your code follow good style practices and conventions?
Follow general guidance for good code style.
- Check and select the style conventions for your language.
- Install an automatic style checker for your editor.
Do you have a lot of repetitive code?
- Move repetitive code into functions.
- Move repetitive functions out of notebooks and put them into a module.
- Organize modules into a package, so it is installable.
Do you guide how new users can contribute to your repo?
- Make a contributer's guide
Extra resources:
Is your software publicly available?
- Make sure all code stored locally is pushed to GitHub. You can use
git diffto compare the differences.Is your software under version control?
- You can use git
tags and GitHub releases to mark important versions.Can your software run on different operating systems?
- Test among the team members with different OS.
- Use Github Actions to test on different OS.
Is it easy to install all the dependencies for your software?
- Is the one file that can encompass all dependencies (
requirements.txt,condaenv, ormambaenv`)?- If not, can you provide the users with a pre-built environment (Docker)?
Does your software have a license?
- Choose Your License
Does your software use other software: are their licenses compatible with yours?
- Read about copy-left licenses, such as GPL.
Do you have a way to test whether adding new code features or library updates preserves the software’s functionality?
- As you are testing whether the code works, store those tests and integrate the with continuous integration framework (like GitHub Actions) so they are run automatically.
Is it obvious from the folder structure where the code is and what it is doing?
- Reorganize your folders/files so that new users can find content quickly (get inspired from the Cookiecutter Folder Structure)
- add
.gitignorefile so you do not add unnecessary files from the repo- use
git rmto remove files which you have already added. Never usegit add .to avoid thisDoes your code follow good style practices and conventions?
Follow general guidance for good code style.
- Check and select the style conventions for your language.
- Install an automatic style checker for your editor.
Do you have a lot of repetitive code?
- Move repetitive code into functions.
- Move repetitive functions out of notebooks and put them into a module.
- Organize modules into a package, so it is installable.
Do you guide how new users can contribute to your repo?
- Make a contributer's guide