audit-labs/tutorials

Learn how to perform data analysis, scripting, automation, and more! data-analysis learning scripting tutorials

Commit 3f27f26ef6

3f27f26ef6c390bddb6e32e17419071b59950431

parent: 54aaa07bf2

Unregistered key

cmc <hello@cleberg.net> · 2026-01-27 22:29 UTC
committer: <noreply@github.com>

Add environment, CI, CONTRIBUTING and CODEOFCONDUCT

Layout: unified · split

.github/workflows/run-notebooks.yml added +39
@@ -0,0 +1,39 @@
1name: Execute Notebooks
2
3on:
4 push:
5 branches: [ main ]
6 pull_request:
7 branches: [ main ]
8 workflow_dispatch:
9
10jobs:
11 run-notebooks:
12 runs-on: ubuntu-latest
13 steps:
14 - uses: actions/checkout@v4
15
16 - name: Set up Python
17 uses: actions/setup-python@v4
18 with:
19 python-version: '3.10'
20
21 - name: Install dependencies
22 run: |
23 python -m pip install --upgrade pip
24 pip install -r requirements.txt
25
26 - name: Execute notebooks
27 run: |
28 mkdir -p executed
29 for nb in $(git ls-files '*.ipynb'); do
30 echo "Executing $nb"
31 jupyter nbconvert --to notebook --inplace --execute "$nb" --ExecutePreprocessor.timeout=600
32 jupyter nbconvert --to html "$nb" --output "executed/$(basename "$nb" .ipynb).html"
33 done
34
35 - name: Upload executed notebooks (HTML)
36 uses: actions/upload-artifact@v4
37 with:
38 name: executed-notebooks
39 path: executed/\ No newline at end of file
CODEOFCONDUCT.md added +14
@@ -0,0 +1,14 @@
1# Contributor Covenant Code of Conduct
2
3This project adheres to the Contributor Covenant code of conduct. By participating, you agree to respect the community and follow these standards.
4
5Expected behavior
6- Be respectful and considerate in all communications.
7- Use inclusive language and be mindful of others' perspectives.
8- Report unacceptable behavior to the maintainers at hello@cleberg.net (or open an issue in this repository).
9
10Unacceptable behavior
11- Harassment or discriminatory language.
12- Personal attacks, threats, or sustained disruption.
13
14For a full version, you can adopt the complete Contributor Covenant (https://www.contributor-covenant.org/). If you want, I can include the full text and additional contact information.\ No newline at end of file
CONTRIBUTING.md added +19
@@ -0,0 +1,19 @@
1# Contributing to audit-labs/tutorials
2
3Thanks for your interest in contributing! Contributions can include new tutorial notebooks, improvements to existing notebooks, documentation, CI improvements, and environment files.
4
5Recommended workflow
61. Fork the repository.
72. Create a feature branch: `git checkout -b feature/your-feature`.
83. Make your changes (keep each notebook focused and add explanatory markdown).
94. If adding dependencies, update `environment.yml` and `requirements.txt`.
105. Run notebooks locally and ensure they execute (or add tests / CI changes).
116. Commit with descriptive messages and open a pull request describing your changes.
12
13Coding / notebook guidelines
14- Keep notebooks self-contained and add a top-level markdown header explaining purpose.
15- Avoid embedding large, proprietary datasets; include links or small sample data.
16- Use `nbstripout` or `pre-commit` if you want to strip outputs before committing (optional).
17- When changing dependencies, mention version rationale in the PR description.
18
19If you're unsure about scope, open an issue first to discuss the plan.\ No newline at end of file
environment.yml added +17
@@ -0,0 +1,17 @@
1name: audit-tutorials
2channels:
3 - conda-forge
4dependencies:
5 - python=3.10
6 - pip
7 - pandas>=2.3.3
8 - numpy>=1.26
9 - matplotlib>=3.10
10 - seaborn>=0.13
11 - openpyxl
12 - jupyterlab
13 - ipykernel
14 - nbconvert
15 - nbclient
16 - pip:
17 - papermill\ No newline at end of file
requirements.txt added +10
@@ -0,0 +1,10 @@
1pandas>=2.3.3
2numpy>=1.26
3matplotlib>=3.10
4seaborn>=0.13
5openpyxl
6jupyterlab
7ipykernel
8nbconvert
9nbclient
10papermill\ No newline at end of file