Commit 54aaa07bf2
Unsigned
Layout: unified · split
README.md added +135
| @@ -0,0 +1,135 @@ | |||
| 1 | # audit-labs/tutorials | ||
| 2 | |||
| 3 | Learn how to perform data analysis, scripting, automation, and more using reproducible Jupyter Notebooks. | ||
| 4 | |||
| 5 | [](https://mybinder.org/v2/gh/audit-labs/tutorials/HEAD) | ||
| 6 | []() | ||
| 7 | []() | ||
| 8 | |||
| 9 | Table of contents | ||
| 10 | - [Project overview](#project-overview) | ||
| 11 | - [Who this is for](#who-this-is-for) | ||
| 12 | - [What's included](#whats-included) | ||
| 13 | - [Getting started](#getting-started) | ||
| 14 | - [Prerequisites](#prerequisites) | ||
| 15 | - [Quick start — using Binder (no local setup)](#quick-start---using-binder-no-local-setup) | ||
| 16 | - [Run locally (recommended)](#run-locally-recommended) | ||
| 17 | - [Run in Google Colab](#run-in-google-colab) | ||
| 18 | - [Run with Docker](#run-with-docker) | ||
| 19 | - [Run headless / export notebooks](#run-headless--export-notebooks) | ||
| 20 | - [Best practices for notebooks](#best-practices-for-notebooks) | ||
| 21 | - [Contributing](#contributing) | ||
| 22 | - [License & Code of Conduct](#license--code-of-conduct) | ||
| 23 | - [Contact / Support](#contact--support) | ||
| 24 | |||
| 25 | ## Project overview | ||
| 26 | 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. | ||
| 27 | |||
| 28 | ## Who this is for | ||
| 29 | - Data analysts and engineers learning reproducible workflows. | ||
| 30 | - Developers who want to prototype automation or analysis in notebooks. | ||
| 31 | - Students and instructors seeking ready-made examples for teaching. | ||
| 32 | |||
| 33 | ## What's included | ||
| 34 | - A collection of Jupyter Notebook tutorials (look in the repository root or `notebooks/` folder for .ipynb files). | ||
| 35 | - Guidance and examples that demonstrate common patterns for data ingestion, transformation, visualization, and basic automation. | ||
| 36 | |||
| 37 | (If your repo has a specific folder layout or important notebooks, consider adding a short list here with links to the most important notebooks.) | ||
| 38 | |||
| 39 | ## Getting started | ||
| 40 | |||
| 41 | ### Prerequisites | ||
| 42 | - Python 3.10+ (3.10 recommended) | ||
| 43 | - Git (to clone the repo) | ||
| 44 | - JupyterLab or Jupyter Notebook (for local development) | ||
| 45 | |||
| 46 | Optional: | ||
| 47 | - Conda (recommended for reproducible environments) | ||
| 48 | - Docker (for containerized runs) | ||
| 49 | |||
| 50 | This repository is licensed under the GNU General Public License v3.0 (GPL-3.0). See the included LICENSE file for details. | ||
| 51 | |||
| 52 | ### Quick start — using Binder (no local setup) | ||
| 53 | To run the notebooks in your browser with no local install, use Binder: | ||
| 54 | |||
| 55 | - Launch Binder: https://mybinder.org/v2/gh/audit-labs/tutorials/HEAD | ||
| 56 | |||
| 57 | Binder will respect `environment.yml` or `requirements.txt` if present; this repository includes an `environment.yml` to produce a reproducible environment. | ||
| 58 | |||
| 59 | ### Run locally (recommended) | ||
| 60 | |||
| 61 | 1. Clone the repository | ||
| 62 | ```bash | ||
| 63 | git clone https://github.com/audit-labs/tutorials.git | ||
| 64 | cd tutorials | ||
| 65 | ``` | ||
| 66 | |||
| 67 | 2. Create and activate an environment | ||
| 68 | |||
| 69 | Using conda (recommended): | ||
| 70 | ```bash | ||
| 71 | conda env create -f environment.yml | ||
| 72 | conda activate audit-tutorials | ||
| 73 | ``` | ||
| 74 | |||
| 75 | Or with pip and virtualenv: | ||
| 76 | ```bash | ||
| 77 | python -m venv venv | ||
| 78 | source venv/bin/activate # macOS / Linux | ||
| 79 | venv\Scripts\activate # Windows | ||
| 80 | pip install --upgrade pip | ||
| 81 | pip install -r requirements.txt | ||
| 82 | ``` | ||
| 83 | |||
| 84 | 3. Install JupyterLab (if not already) | ||
| 85 | ```bash | ||
| 86 | pip install jupyterlab | ||
| 87 | jupyter lab | ||
| 88 | ``` | ||
| 89 | Or run the classic notebook server: | ||
| 90 | ```bash | ||
| 91 | jupyter notebook | ||
| 92 | ``` | ||
| 93 | |||
| 94 | 4. Open the notebooks in the browser and follow the cells. | ||
| 95 | |||
| 96 | ### Run in Google Colab | ||
| 97 | To open a notebook in Colab: | ||
| 98 | - Navigate to the notebook file on GitHub, then use "Open in Colab" or open via: | ||
| 99 | https://colab.research.google.com/github/audit-labs/tutorials/blob/HEAD/path/to/notebook.ipynb | ||
| 100 | - Colab will run in the cloud; you may need to pip-install extra dependencies at the top of the notebook using `!pip install ...`. | ||
| 101 | |||
| 102 | ### Run with Docker | ||
| 103 | You can run the notebooks inside a Docker container using Jupyter's base images: | ||
| 104 | ``` | ||
| 105 | docker run -p 8888:8888 -v "$(pwd)":/home/jovyan/work jupyter/base-notebook:latest | ||
| 106 | ``` | ||
| 107 | Then open `http://localhost:8888` and navigate to `work/`. | ||
| 108 | |||
| 109 | ### Run headless / export notebooks | ||
| 110 | To execute notebooks and export them programmatically: | ||
| 111 | ``` | ||
| 112 | pip install nbconvert nbclient | ||
| 113 | jupyter nbconvert --to html --execute path/to/notebook.ipynb | ||
| 114 | ``` | ||
| 115 | This is useful for CI pipelines and automated report generation. | ||
| 116 | |||
| 117 | ## Best practices for notebooks | ||
| 118 | - Keep notebooks focused: one concept or analysis per notebook. | ||
| 119 | - Include a short README or top-level markdown cell describing purpose and inputs. | ||
| 120 | - Avoid long-running data downloads inside notebooks—prefer referencing local sample data or scripts. | ||
| 121 | - Use version control: commit notebooks regularly. Consider tools like `nbstripout` or `nbdime` to manage diffs. | ||
| 122 | - Parametrize notebooks for reproducibility (e.g., use papermill for parameterized runs). | ||
| 123 | |||
| 124 | ## Contributing | ||
| 125 | See CONTRIBUTING.md for contribution guidelines. | ||
| 126 | |||
| 127 | ## License & Code of Conduct | ||
| 128 | This project is licensed under the GNU General Public License v3.0 (GPL-3.0). See [LICENSE](./LICENSE) for details. | ||
| 129 | |||
| 130 | Please review CODEOFCONDUCT.md for expected behavior when contributing. | ||
| 131 | |||
| 132 | ## Contact / Support | ||
| 133 | For questions or help, open an issue in this repository or contact the maintainers listed in the repository settings. | ||
| 134 | |||
| 135 | ---\ No newline at end of file | ||