Skip to content

Further reading

Here you can find the relevant references used in the sections, and some additional resources.

Setting Up

Python - Creation of virtual environments

GitHub - About Git

GitHub - Introduction to GitHub

GitHub - Codespaces

GitHub - Copilot

GitHub - GitHub Student Developer Pack

GitHub - Ignoring files

Microsoft - Introduction to Git

Microsoft - Getting started with Visual Studio Code

Microsoft - Python in Visual Studio Code

Microsoft - Using Git source control in VS Code

Microsoft - Working with GitHub in VS Code

Project overview

Scikit Learn - Documentation - this is seriously the gold standard of machine learning software documentation. It contains not only excellent functional documentation but also a user guide to the methods, techniques, and algorithms used. Highly recommend.

Scikit Learn - Wisconsin breast cancer dataset

Streamlit - Get started

Typer - User guide introduction

argparse - Parser for CL options, arguments and sub-commands

Poetry

Poetry - Introduction

Poetry - Basic usage

Poetry - The pyproject.toml file

Pip - pyproject.toml

Python Packaging - Writing you pyproject.toml

GitHub - Choose an open source license

Testing

Python - unittest - Unit testing framework

Pytest - Get started

Microsoft - Python testing in Visual Studio Code

Publishing

PyPI

Test PyPI

Python - Python packing user guide

Python - Packaging Python projects

Poetry - build

Poetry - publish

Documentation

Python - PEP 8 - Style guide for Python code

Python - PEP 20 - The Zen of Python

Python - PEP 257 - Docstring conventions

Python - PEP 484 - Type hints

MkDocs - Getting started with MkDocs

Material for MkDocs - Getting started

Read the Docs - Read the Docs tutorial

CI/CD - Pre-commit

GitHub - GitHub Actions documentation

Black - Getting started

Flake8 - Quickstart

Mypy - Getting started

Isort - Installing and using isort

Atlassian - Git hooks

CI/CD - Testing

GitHub - Using workflows

CI/CD - Publishing

GitHub - Collaborating with pull requests

GitHub - About pull requests

Atlassian - Trunk-based development

Developers - Trunk-based development vs Git Flow