audit-labs/tutorials
Learn how to perform data analysis, scripting, automation, and more!
clone: git clone https://gitbay.org/audit-labs/tutorials.git
3f27f26ef6c390bddb6e32e17419071b59950431
signed_unknown_key
author: christian <hello@cleberg.net> · 2026-01-27T22:29:21Z
committer: <noreply@github.com>
.github/workflows/run-notebooks.yml | 39 +++++++++++++++++++++++++++++++++++++ CODEOFCONDUCT.md | 14 +++++++++++++ CONTRIBUTING.md | 19 ++++++++++++++++++ environment.yml | 17 ++++++++++++++++ requirements.txt | 10 ++++++++++ 5 files changed, 99 insertions(+) new file mode 100644 @@ -0,0 +1,39 @@ +name: Execute Notebooks + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + workflow_dispatch: + +jobs: + run-notebooks: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.10' + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + + - name: Execute notebooks + run: | + mkdir -p executed + for nb in $(git ls-files '*.ipynb'); do + echo "Executing $nb" + jupyter nbconvert --to notebook --inplace --execute "$nb" --ExecutePreprocessor.timeout=600 + jupyter nbconvert --to html "$nb" --output "executed/$(basename "$nb" .ipynb).html" + done + + - name: Upload executed notebooks (HTML) + uses: actions/upload-artifact@v4 + with: + name: executed-notebooks + path: executed/ \ No newline at end of file new file mode 100644 @@ -0,0 +1,14 @@ +# Contributor Covenant Code of Conduct + +This project adheres to the Contributor Covenant code of conduct. By participating, you agree to respect the community and follow these standards. + +Expected behavior +- Be respectful and considerate in all communications. +- Use inclusive language and be mindful of others' perspectives. +- Report unacceptable behavior to the maintainers at hello@cleberg.net (or open an issue in this repository). + +Unacceptable behavior +- Harassment or discriminatory language. +- Personal attacks, threats, or sustained disruption. + +For 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 new file mode 100644 @@ -0,0 +1,19 @@ +# Contributing to audit-labs/tutorials + +Thanks for your interest in contributing! Contributions can include new tutorial notebooks, improvements to existing notebooks, documentation, CI improvements, and environment files. + +Recommended workflow +1. Fork the repository. +2. Create a feature branch: `git checkout -b feature/your-feature`. +3. Make your changes (keep each notebook focused and add explanatory markdown). +4. If adding dependencies, update `environment.yml` and `requirements.txt`. +5. Run notebooks locally and ensure they execute (or add tests / CI changes). +6. Commit with descriptive messages and open a pull request describing your changes. + +Coding / notebook guidelines +- Keep notebooks self-contained and add a top-level markdown header explaining purpose. +- Avoid embedding large, proprietary datasets; include links or small sample data. +- Use `nbstripout` or `pre-commit` if you want to strip outputs before committing (optional). +- When changing dependencies, mention version rationale in the PR description. + +If you're unsure about scope, open an issue first to discuss the plan. \ No newline at end of file new file mode 100644 @@ -0,0 +1,17 @@ +name: audit-tutorials +channels: + - conda-forge +dependencies: + - python=3.10 + - pip + - pandas>=2.3.3 + - numpy>=1.26 + - matplotlib>=3.10 + - seaborn>=0.13 + - openpyxl + - jupyterlab + - ipykernel + - nbconvert + - nbclient + - pip: + - papermill \ No newline at end of file new file mode 100644 @@ -0,0 +1,10 @@ +pandas>=2.3.3 +numpy>=1.26 +matplotlib>=3.10 +seaborn>=0.13 +openpyxl +jupyterlab +ipykernel +nbconvert +nbclient +papermill \ No newline at end of file