# African Climate Trend Analysis (Week 0)
This repository is a starter implementation for the **10 Academy Week 0 challenge**:
- Task 1: Git + Environment + CI
- Task 2: Country-level profiling, cleaning, and EDA
- Task 3: Cross-country comparison and vulnerability framing
- Bonus: Streamlit dashboard starter
## Project Structure
```text
.
├── .vscode/
│ └── settings.json
├── .github/
│ └── workflows/
│ └── ci.yml
├── app/
│ ├── __init__.py
│ ├── main.py
│ └── utils.py
├── notebooks/
│ ├── __init__.py
│ ├── README.md
│ ├── ethiopia_eda.ipynb
│ └── compare_countries.ipynb
├── scripts/
│ ├── __init__.py
│ ├── README.md
│ ├── run_country_eda.py
│ └── run_compare.py
├── src/
│ ├── __init__.py
│ ├── compare.py
│ ├── data_utils.py
│ └── eda.py
├── tests/
│ └── __init__.py
├── dashboard_screenshots/
│ └── .gitkeep
├── .gitignore
├── requirements.txt
└── README.md
```
## Environment Setup
### 1) Create and activate virtual environment
```bash
python -m venv .venv
source .venv/bin/activate
```
### 2) Install dependencies
```bash
pip install --upgrade pip
pip install -r requirements.txt
```
## Branching and Conventional Commits
Recommended branch flow:
- `setup-task` for Task 1
- `eda-ethiopia`, `eda-kenya`, `eda-sudan`, `eda-tanzania`, `eda-nigeria` for Task 2
- `compare-countries` for Task 3
- `dashboard-dev` for Streamlit bonus
Conventional commit examples:
- `init: add project scaffold`
- `chore: configure python environment and dependencies`
- `ci: add github actions workflow`
- `feat: add country-level eda pipeline`
- `feat: add cross-country comparison analysis`
- `feat: basic streamlit ui`
## Data Policy
- Place raw files under `data/` locally.
- `data/` and `*.csv` are ignored by Git.
- **Do not commit climate CSV files to GitHub**.
## Data Legend Alignment
Implementation is aligned to `data/Data Legend.txt`:
- Expected schema: `YEAR`, `DOY`, `T2M`, `T2M_MAX`, `T2M_MIN`, `T2M_RANGE`, `PRECTOTCORR`, `RH2M`, …