Skip to content
This repository was archived by the owner on Mar 21, 2026. It is now read-only.

Latest commit

 

History

History
77 lines (52 loc) · 2.71 KB

File metadata and controls

77 lines (52 loc) · 2.71 KB

Contributing

This repository is maintained and curated by Dovid Davis.

For most students and personal work, the recommended path is to click Use this template on GitHub or create a fork for your own project copy.

How to contribute back

Contributions are welcome via pull requests (PRs) only:

  1. Fork this repository.
  2. Create a branch for your change.
  3. Open a PR back to this repository.

Good contribution examples

  • Documentation improvements and clarifications.
  • VSCode task or workspace quality-of-life improvements.
  • Cross-platform compatibility fixes.
  • Better starter scaffolding or helper code that is not assignment solutions.

Academic integrity and content rules

Do not submit:

  • Assignment solutions (full or partial) for assessed work.
  • Copyrighted course content that you do not have permission to redistribute.

Contributor Python Setup (Required for Hook Compliance)

This repository uses Git hooks to enforce ENG1014 Python constraints from docs/environment/eng1014.yaml. Use system-installed Python 3.10.11 plus an external virtual environment (outside the repo).

  1. Enable hooks once per clone:

git config core.hooksPath .githooks

  1. Create external environment with Python 3.10.11 (Windows recommended path):
$VenvPath = Join-Path $env:LOCALAPPDATA "MonashProjectTemplate\venvs\eng1014-310"
py -3.10 -m venv $VenvPath
& "$VenvPath\Scripts\Activate.ps1"

If PowerShell blocks Activate.ps1, use one of these options:

  • Temporary for current terminal only: Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
  • No activation required: run the venv interpreter directly (for example & "$VenvPath\Scripts\python.exe" -m pip install ...)
  1. Install required package versions:
python -m pip install --upgrade pip
python -m pip install numpy==2.2.2 matplotlib==3.10.* pandas==2.2.3 jupyterlab
  1. Configure hooks to use that interpreter:
$PythonExe = (Join-Path $VenvPath "Scripts\python.exe").Replace('\\','/')
git config monash.pythonPath $PythonExe
  1. Validate before opening a PR:

git hook run pre-push

If this check fails, fix local Python/package versions or update monash.pythonPath.

PR quality expectations

  • Keep PRs small and focused on one main idea.
  • Update README.md and/or related docs when behavior or usage changes.
  • Include enough context for maintainability and review.
  • Preserve critical file-format requirements for policy tooling and hooks:
  • UTF-8 without BOM + LF for .githooks/* and tools/python_policy/*.py.
  • See docs/environment/encoding-pain-points.yaml and recovery steps in README.md.

The maintainer has final discretion on whether to accept, request changes to, or decline any contribution.