Learn how to perform data analysis, scripting, automation, and more using reproducible Jupyter Notebooks.
Table of contents
- Project overview
- Who this is for
- What's included
- Getting started
- Best practices for notebooks
- Contributing
- License & Code of Conduct
- Contact / Support
This repository contains interactive tutorials and example notebooks designed to teach practical skills in data analysis, scripting, automation, and related topics using Jupyter Notebooks. Each notebook demonstrates concepts through hands-on examples so you can follow along and adapt the patterns to your own projects.
- Data analysts and engineers learning reproducible workflows.
- Developers who want to prototype automation or analysis in notebooks.
- Students and instructors seeking ready-made examples for teaching.
- A collection of Jupyter Notebook tutorials (look in the repository root or
notebooks/folder for .ipynb files). - Guidance and examples that demonstrate common patterns for data ingestion, transformation, visualization, and basic automation.
(If your repo has a specific folder layout or important notebooks, consider adding a short list here with links to the most important notebooks.)
- Python 3.10+ (3.10 recommended)
- Git (to clone the repo)
- JupyterLab or Jupyter Notebook (for local development)
Optional:
- Conda (recommended for reproducible environments)
- Docker (for containerized runs)
This repository is licensed under the GNU General Public License v3.0 (GPL-3.0). See the included LICENSE file for details.
To run the notebooks in your browser with no local install, use Binder:
- Launch Binder: https://mybinder.org/v2/gh/audit-labs/tutorials/HEAD
Binder will respect environment.yml or requirements.txt if present; this repository includes an environment.yml to produce a reproducible environment.
-
Clone the repository
git clone https://github.com/audit-labs/tutorials.git cd tutorials -
Create and activate an environment
Using conda (recommended):
conda env create -f environment.yml conda activate audit-tutorials
Or with pip and virtualenv:
python -m venv venv source venv/bin/activate # macOS / Linux venv\Scripts\activate # Windows pip install --upgrade pip pip install -r requirements.txt
-
Install JupyterLab (if not already)
pip install jupyterlab jupyter lab
Or run the classic notebook server:
jupyter notebook
-
Open the notebooks in the browser and follow the cells.
To open a notebook in Colab:
- Navigate to the notebook file on GitHub, then use "Open in Colab" or open via: https://colab.research.google.com/github/audit-labs/tutorials/blob/HEAD/path/to/notebook.ipynb
- Colab will run in the cloud; you may need to pip-install extra dependencies at the top of the notebook using
!pip install ....
You can run the notebooks inside a Docker container using Jupyter's base images:
docker run -p 8888:8888 -v "$(pwd)":/home/jovyan/work jupyter/base-notebook:latest
Then open http://localhost:8888 and navigate to work/.
To execute notebooks and export them programmatically:
pip install nbconvert nbclient
jupyter nbconvert --to html --execute path/to/notebook.ipynb
This is useful for CI pipelines and automated report generation.
- Keep notebooks focused: one concept or analysis per notebook.
- Include a short README or top-level markdown cell describing purpose and inputs.
- Avoid long-running data downloads inside notebooks—prefer referencing local sample data or scripts.
- Use version control: commit notebooks regularly. Consider tools like
nbstripoutornbdimeto manage diffs. - Parametrize notebooks for reproducibility (e.g., use papermill for parameterized runs).
See CONTRIBUTING.md for contribution guidelines.
This project is licensed under the GNU General Public License v3.0 (GPL-3.0). See LICENSE for details.
Please review CODEOFCONDUCT.md for expected behavior when contributing.
For questions or help, open an issue in this repository or contact the maintainers listed in the repository settings.