| CI/CD | |
| Package | |
| Meta |
vancouver-survival is a Python package designed to help you navigate the treacherous climate of Vancouver, BC. Its primary feature is the warmth_score calculator, which scientifically computes exactly how many layers you need based on temperature, wind speed, and the notorious "waiting for the 99 B-Line" factor.
Updated CI/CD + docs
-
- Concept: Full CI Matrix + Coverage Reporting.
- What it does: Runs linting and tests with coverage across OS (Ubuntu/Windows/macOS) and Python versions 3.10–3.13, then uploads coverage to Codecov.
-
- Concept: Test + Build + TestPyPI Release.
- What it does: Runs tests, builds the package with Hatch, and publishes to TestPyPI after a successful CI run.
-
- Concept: PR Documentation Preview.
- What it does: Builds Quarto + quartodoc docs and deploys a PR-specific preview to Netlify with a GitHub deployment status.
-
- Concept: Docs Build + Publish.
- What it does: Builds the Quarto site and publishes it to the
gh-pagesbranch.
-
- Concept: AI Docstring Review.
- What it does: Uses GitHub AI inference to critique docstring clarity in PR diffs and leaves review comments.
-
- Concept: AI Tutorial Suggestions.
- What it does: Reads PR diffs and generates a suggested tutorial section for
tutorial.qmd, posting it as a PR comment.
This repo is used to demo GitHub Actions demonstration CI/CD
-
- Concept: Basic Workflow Structure.
- What it does: A "Hello World" example. It triggers on every push/PR to
mainand runs simple echo commands to demonstrate jobs, steps, and runners.
-
- Concept: Standard CI Pipeline.
- What it does: Sets up a Python environment, installs the package dependencies, and runs the test suite using
pytestwith coverage reporting.
-
- Concept: Matrix Strategy.
- What it does: Runs the key test job in parallel across three different Python versions (3.11, 3.12, 3.13) to ensure cross-version compatibility.
-
- Concept: Documentation & Tool Composition.
- What it does: Installs
quartodocto generate API references from docstrings and builds a static website using Quarto. Note we don't publish docs update yet!
Note, next two scenarios might not run without Github Student Pack or pro subscription. That's okay, you DO NOT need them for the milestone!
- AI Integration Workflows (GitHub Models)
- 04a-ai-critic-issues.yml: Uses an AI model to analyze new Issues. It adopts the persona of a "Grumpy Vancouver Commuter" to complain if issue reports are vague or incomplete.
- 04b-ai-critic-pr.yml: Uses the same "Grumpy Commuter" persona to code review Pull Requests, offering cynical feedback on efficiency and logic.
You can install this package locally for testing:
pip install -e .To determine your survival clothing needs:
from vancouver_survival.clothing import calculate_warmth_score
# It's 5°C, windy, and you are waiting for the bus
score = calculate_warmth_score(temp_celsius=5, wind_speed_kmh=15, is_waiting_for_bus=True)
print(f"Warmth Score: {score}")