From 9e41ae87b951de5c05391140119555c8447b2ebc Mon Sep 17 00:00:00 2001 From: Jens Tirsvad Nielsen Date: Tue, 13 Oct 2026 15:42:30 +0800 Subject: [PATCH] Add the wiki sources in English, Danish and Bahasa Malaysia Closes #21 Closes #22 Closes #23 Closes #24 --- docs/wiki/Description.da.md | 32 ++++++++++++++++++++++++++++++++ docs/wiki/Description.md | 32 ++++++++++++++++++++++++++++++++ docs/wiki/Description.ms.md | 32 ++++++++++++++++++++++++++++++++ docs/wiki/Home.da.md | 15 +++++++++++++++ docs/wiki/Home.md | 15 +++++++++++++++ docs/wiki/Home.ms.md | 15 +++++++++++++++ docs/wiki/Install.da.md | 35 +++++++++++++++++++++++++++++++++++ docs/wiki/Install.md | 35 +++++++++++++++++++++++++++++++++++ docs/wiki/Install.ms.md | 35 +++++++++++++++++++++++++++++++++++ docs/wiki/Usage.da.md | 33 +++++++++++++++++++++++++++++++++ docs/wiki/Usage.md | 33 +++++++++++++++++++++++++++++++++ docs/wiki/Usage.ms.md | 33 +++++++++++++++++++++++++++++++++ docs/wiki/_Sidebar.md | 24 ++++++++++++++++++++++++ 13 files changed, 369 insertions(+) create mode 100644 docs/wiki/Description.da.md create mode 100644 docs/wiki/Description.md create mode 100644 docs/wiki/Description.ms.md create mode 100644 docs/wiki/Home.da.md create mode 100644 docs/wiki/Home.md create mode 100644 docs/wiki/Home.ms.md create mode 100644 docs/wiki/Install.da.md create mode 100644 docs/wiki/Install.md create mode 100644 docs/wiki/Install.ms.md create mode 100644 docs/wiki/Usage.da.md create mode 100644 docs/wiki/Usage.md create mode 100644 docs/wiki/Usage.ms.md create mode 100644 docs/wiki/_Sidebar.md diff --git a/docs/wiki/Description.da.md b/docs/wiki/Description.da.md new file mode 100644 index 0000000..8bf5ffc --- /dev/null +++ b/docs/wiki/Description.da.md @@ -0,0 +1,32 @@ +🌐 [English](Description) · **Dansk** · [Bahasa Melayu](Description.ms) + +# Beskrivelse + +## Hvad programmet gør + +Programmet følger lektionens trin: + +1. `read_csv` læser optællingsfilen. +2. `count_by_fur_color` tæller observationerne af Gray, Cinnamon og Black. +3. `build_summary` gør tallene til rækkerne i en opsummering. +4. `write_csv` skriver opsummeringen til `squirrel_count.csv`. + +På optællingsfilen fra 2018 er resultatet Gray 2473, Cinnamon 392 og Black 103. Observationer uden pelsfarve tælles ikke med i nogen af dem. + +## Hvorfor ikke Pandas + +Lektionen bruger Pandas. Dette projekt bruger kun Pythons standardbibliotek (`csv` og `collections.Counter`), så der ikke er noget at installere for at køre det. Beslutningen er beskrevet som ADR-0001 i repositoryet. + +## Opbygning + +| Sti | Indhold | +| --- | --- | +| `src/squirrel/census.py` | De fire trin ovenfor | +| `src/squirrel/cli.py` | Kommandolinjen, `python -m squirrel` | +| `src/squirrel/constants.py` | Alle konstanter, defineret ét sted | +| `tests/` | pytest-testene | +| `docs/` | Business case, plan, modeller, reviewposter | + +## Kvalitet + +Alle dokumenter og al kode er gennemgået mod tjeklisterne i SQA- og QC-frameworket i autonom tilstand: reviewer er en AI-stedfortræder, så reviewene er ikke uafhængige. diff --git a/docs/wiki/Description.md b/docs/wiki/Description.md new file mode 100644 index 0000000..e1a0f1d --- /dev/null +++ b/docs/wiki/Description.md @@ -0,0 +1,32 @@ +🌐 **English** · [Dansk](Description.da) · [Bahasa Melayu](Description.ms) + +# Description + +## What it does + +The program follows the steps of the lecture: + +1. `read_csv` reads the census file. +2. `count_by_fur_color` counts the sightings of Gray, Cinnamon and Black. +3. `build_summary` turns the counts into the rows of a summary. +4. `write_csv` writes the summary to `squirrel_count.csv`. + +On the 2018 census file the result is Gray 2473, Cinnamon 392 and Black 103. Sightings without a fur colour are counted in none of them. + +## Why no Pandas + +The lecture uses Pandas. This project uses only the Python standard library (`csv` and `collections.Counter`) so that there is nothing to install to run it. The decision is recorded as ADR-0001 in the repository. + +## Layout + +| Path | Content | +| --- | --- | +| `src/squirrel/census.py` | The four steps above | +| `src/squirrel/cli.py` | The command line, `python -m squirrel` | +| `src/squirrel/constants.py` | Every literal, defined once | +| `tests/` | The pytest tests | +| `docs/` | Business case, plan, models, review records | + +## Quality + +Every document and every piece of code was reviewed against the checklists of the SQA and QC framework, in autonomous mode: the reviewer is an AI stand-in, so the reviews are not independent. diff --git a/docs/wiki/Description.ms.md b/docs/wiki/Description.ms.md new file mode 100644 index 0000000..a06fa36 --- /dev/null +++ b/docs/wiki/Description.ms.md @@ -0,0 +1,32 @@ +🌐 [English](Description) · [Dansk](Description.da) · **Bahasa Melayu** + +# Penerangan + +## Apa yang dilakukan program + +Program mengikut langkah dalam pelajaran: + +1. `read_csv` membaca fail banci. +2. `count_by_fur_color` mengira pemerhatian Gray, Cinnamon dan Black. +3. `build_summary` menukar kiraan kepada baris ringkasan. +4. `write_csv` menulis ringkasan ke `squirrel_count.csv`. + +Pada fail banci 2018 hasilnya ialah Gray 2473, Cinnamon 392 dan Black 103. Pemerhatian tanpa warna bulu tidak dikira dalam mana-mana satu. + +## Mengapa tidak menggunakan Pandas + +Pelajaran menggunakan Pandas. Projek ini hanya menggunakan pustaka standard Python (`csv` dan `collections.Counter`) supaya tiada apa-apa untuk dipasang bagi menjalankannya. Keputusan itu direkodkan sebagai ADR-0001 dalam repositori. + +## Susun atur + +| Laluan | Kandungan | +| --- | --- | +| `src/squirrel/census.py` | Empat langkah di atas | +| `src/squirrel/cli.py` | Baris perintah, `python -m squirrel` | +| `src/squirrel/constants.py` | Semua pemalar, ditakrif sekali | +| `tests/` | Ujian pytest | +| `docs/` | Kes perniagaan, pelan, model, rekod semakan | + +## Kualiti + +Setiap dokumen dan kod disemak berdasarkan senarai semak rangka kerja SQA dan QC dalam mod autonomi: penyemak ialah pengganti AI, jadi semakan itu tidak bebas. diff --git a/docs/wiki/Home.da.md b/docs/wiki/Home.da.md new file mode 100644 index 0000000..5e282df --- /dev/null +++ b/docs/wiki/Home.da.md @@ -0,0 +1,15 @@ +🌐 [English](Home) · **Dansk** · [Bahasa Melayu](Home.ms) + +# Egern-optælling + +Dag 25 i Udemys *100 Days of Code: The Complete Python Pro Bootcamp*: tæl egernene i Central Parks egern-optælling fra 2018 efter primær pelsfarve (grå, kanel, sort) og eksportér tallene til `squirrel_count.csv`. + +![Programkørsel](https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/raw/branch/main/docs/images/run.png) + +| Side | Læs den, når du vil | +| --- | --- | +| [Installation](Install.da) | Oprette et `.venv` og installere projektet på Windows PowerShell, Linux Debian eller macOS | +| [Brug](Usage.da) | Køre programmet og testene | +| [Beskrivelse](Description.da) | Forstå hvordan koden er bygget, og hvorfor den ikke har kørselsafhængigheder | + +Koden, testene og projektdokumenterne ligger i [repositoryet](https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel). diff --git a/docs/wiki/Home.md b/docs/wiki/Home.md new file mode 100644 index 0000000..b9b949c --- /dev/null +++ b/docs/wiki/Home.md @@ -0,0 +1,15 @@ +🌐 **English** · [Dansk](Home.da) · [Bahasa Melayu](Home.ms) + +# Squirrel Census + +Day 25 of Udemy's *100 Days of Code: The Complete Python Pro Bootcamp*: count the squirrels of the 2018 Central Park Squirrel Census by primary fur colour (gray, cinnamon, black) and export the counts to `squirrel_count.csv`. + +![Program run](https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/raw/branch/main/docs/images/run.png) + +| Page | Read it when you want to | +| --- | --- | +| [Install](Install) | Create a `.venv` and install the project on Windows PowerShell, Linux Debian or macOS | +| [Usage](Usage) | Run the program and the tests | +| [Description](Description) | Understand how the code is built and why it has no runtime dependencies | + +The code, the tests and the project documents are in the [repository](https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel). diff --git a/docs/wiki/Home.ms.md b/docs/wiki/Home.ms.md new file mode 100644 index 0000000..af1d8bc --- /dev/null +++ b/docs/wiki/Home.ms.md @@ -0,0 +1,15 @@ +🌐 [English](Home) · [Dansk](Home.da) · **Bahasa Melayu** + +# Banci Tupai + +Hari ke-25 dalam *100 Days of Code: The Complete Python Pro Bootcamp* Udemy: kira tupai dalam Banci Tupai Central Park 2018 mengikut warna bulu utama (kelabu, kayu manis, hitam) dan eksport kiraan ke `squirrel_count.csv`. + +![Larian program](https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/raw/branch/main/docs/images/run.png) + +| Halaman | Baca apabila anda mahu | +| --- | --- | +| [Pemasangan](Install.ms) | Mencipta `.venv` dan memasang projek di Windows PowerShell, Linux Debian atau macOS | +| [Penggunaan](Usage.ms) | Menjalankan program dan ujian | +| [Penerangan](Description.ms) | Memahami cara kod dibina dan sebab ia tiada kebergantungan masa jalan | + +Kod, ujian dan dokumen projek berada dalam [repositori](https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel). diff --git a/docs/wiki/Install.da.md b/docs/wiki/Install.da.md new file mode 100644 index 0000000..cefc86a --- /dev/null +++ b/docs/wiki/Install.da.md @@ -0,0 +1,35 @@ +🌐 [English](Install) · **Dansk** · [Bahasa Melayu](Install.ms) + +# Installation + +Projektet kræver **Python 3.13 eller nyere**. Det har ingen kørselsafhængigheder; `pytest`, `ruff` og `mypy` er udviklingsværktøjer. + +## Windows PowerShell + +```powershell +python -m venv .venv +.\.venv\Scripts\Activate.ps1 +python -m pip install --upgrade pip +python -m pip install -e ".[dev]" +``` + +## Linux Debian + +```bash +sudo apt install python3 python3-venv +python3 -m venv .venv +source .venv/bin/activate +python -m pip install --upgrade pip +python -m pip install -e ".[dev]" +``` + +## macOS + +```bash +python3 -m venv .venv +source .venv/bin/activate +python -m pip install --upgrade pip +python -m pip install -e ".[dev]" +``` + +Næste: [Brug](Usage.da). diff --git a/docs/wiki/Install.md b/docs/wiki/Install.md new file mode 100644 index 0000000..7d85995 --- /dev/null +++ b/docs/wiki/Install.md @@ -0,0 +1,35 @@ +🌐 **English** · [Dansk](Install.da) · [Bahasa Melayu](Install.ms) + +# Install + +The project needs **Python 3.13 or later**. It has no runtime dependencies; `pytest`, `ruff` and `mypy` are development tools. + +## Windows PowerShell + +```powershell +python -m venv .venv +.\.venv\Scripts\Activate.ps1 +python -m pip install --upgrade pip +python -m pip install -e ".[dev]" +``` + +## Linux Debian + +```bash +sudo apt install python3 python3-venv +python3 -m venv .venv +source .venv/bin/activate +python -m pip install --upgrade pip +python -m pip install -e ".[dev]" +``` + +## macOS + +```bash +python3 -m venv .venv +source .venv/bin/activate +python -m pip install --upgrade pip +python -m pip install -e ".[dev]" +``` + +Next: [Usage](Usage). diff --git a/docs/wiki/Install.ms.md b/docs/wiki/Install.ms.md new file mode 100644 index 0000000..3fa7812 --- /dev/null +++ b/docs/wiki/Install.ms.md @@ -0,0 +1,35 @@ +🌐 [English](Install) · [Dansk](Install.da) · **Bahasa Melayu** + +# Pemasangan + +Projek ini memerlukan **Python 3.13 atau lebih baharu**. Ia tiada kebergantungan masa jalan; `pytest`, `ruff` dan `mypy` ialah alat pembangunan. + +## Windows PowerShell + +```powershell +python -m venv .venv +.\.venv\Scripts\Activate.ps1 +python -m pip install --upgrade pip +python -m pip install -e ".[dev]" +``` + +## Linux Debian + +```bash +sudo apt install python3 python3-venv +python3 -m venv .venv +source .venv/bin/activate +python -m pip install --upgrade pip +python -m pip install -e ".[dev]" +``` + +## macOS + +```bash +python3 -m venv .venv +source .venv/bin/activate +python -m pip install --upgrade pip +python -m pip install -e ".[dev]" +``` + +Seterusnya: [Penggunaan](Usage.ms). diff --git a/docs/wiki/Usage.da.md b/docs/wiki/Usage.da.md new file mode 100644 index 0000000..6558dda --- /dev/null +++ b/docs/wiki/Usage.da.md @@ -0,0 +1,33 @@ +🌐 [English](Usage) · **Dansk** · [Bahasa Melayu](Usage.ms) + +# Brug + +## Kør programmet + +Med det virtuelle miljø aktivt, fra projektmappen: + +```bash +python -m squirrel +``` + +Programmet læser `data/2018_Central_Park_Squirrel_Census_-_Squirrel_Data.csv`, skriver tallene for hver pelsfarve og gemmer `squirrel_count.csv`. + +![Programkørsel](https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/raw/branch/main/docs/images/run.png) + +Brug andre filer med `python -m squirrel `. Findes optællingsfilen ikke, skriver programmet `Census file not found` og afslutter med status 2. + +## Kør testene + +```bash +python -m pytest +``` + +![Testkørsel](https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/raw/branch/main/docs/images/tests.png) + +## Byg kildedokumentationen + +```bash +doxygen Doxyfile +``` + +Åbn `docs/doxygen/html/index.html`. diff --git a/docs/wiki/Usage.md b/docs/wiki/Usage.md new file mode 100644 index 0000000..eb620c2 --- /dev/null +++ b/docs/wiki/Usage.md @@ -0,0 +1,33 @@ +🌐 **English** · [Dansk](Usage.da) · [Bahasa Melayu](Usage.ms) + +# Usage + +## Run the program + +With the virtual environment active, from the project folder: + +```bash +python -m squirrel +``` + +The program reads `data/2018_Central_Park_Squirrel_Census_-_Squirrel_Data.csv`, prints the colour counts and writes `squirrel_count.csv`. + +![Program run](https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/raw/branch/main/docs/images/run.png) + +Use other files with `python -m squirrel `. If the census file does not exist, the program prints `Census file not found` and exits with status 2. + +## Run the tests + +```bash +python -m pytest +``` + +![Test run](https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/raw/branch/main/docs/images/tests.png) + +## Build the source documentation + +```bash +doxygen Doxyfile +``` + +Open `docs/doxygen/html/index.html`. diff --git a/docs/wiki/Usage.ms.md b/docs/wiki/Usage.ms.md new file mode 100644 index 0000000..afa775b --- /dev/null +++ b/docs/wiki/Usage.ms.md @@ -0,0 +1,33 @@ +🌐 [English](Usage) · [Dansk](Usage.da) · **Bahasa Melayu** + +# Penggunaan + +## Jalankan program + +Dengan persekitaran maya aktif, dari folder projek: + +```bash +python -m squirrel +``` + +Program membaca `data/2018_Central_Park_Squirrel_Census_-_Squirrel_Data.csv`, mencetak kiraan setiap warna bulu dan menulis `squirrel_count.csv`. + +![Larian program](https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/raw/branch/main/docs/images/run.png) + +Gunakan fail lain dengan `python -m squirrel `. Jika fail banci tidak wujud, program mencetak `Census file not found` dan keluar dengan status 2. + +## Jalankan ujian + +```bash +python -m pytest +``` + +![Larian ujian](https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/025-squirrel/raw/branch/main/docs/images/tests.png) + +## Bina dokumentasi sumber + +```bash +doxygen Doxyfile +``` + +Buka `docs/doxygen/html/index.html`. diff --git a/docs/wiki/_Sidebar.md b/docs/wiki/_Sidebar.md new file mode 100644 index 0000000..a0ee5ea --- /dev/null +++ b/docs/wiki/_Sidebar.md @@ -0,0 +1,24 @@ + + +**Squirrel Census** + +**English** + +- [Home](Home) +- [Install](Install) +- [Usage](Usage) +- [Description](Description) + +**Dansk** + +- [Hjem](Home.da) +- [Installation](Install.da) +- [Brug](Usage.da) +- [Beskrivelse](Description.da) + +**Bahasa Melayu** + +- [Utama](Home.ms) +- [Pemasangan](Install.ms) +- [Penggunaan](Usage.ms) +- [Penerangan](Description.ms)