# jerry-git/learn-python3 architecture

> Architecture diagram of the GitHub repository jerry-git/learn-python3, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/jerry-git/learn-python3
- Repository: https://github.com/jerry-git/learn-python3

## Overview

This repository is a Python 3 teaching collection, not a runtime application. Learners use Jupyter to explore interactive lessons and exercises, or read the HTML materials in a browser. The README also documents Binder as an optional way to open the notebooks in a cloud Jupyter session. The tree and README establish these learning paths; sampled source only covers a notebook-to-HTML conversion utility, which is excluded as delivery tooling.

Main entry points: [`notebooks/beginner/notebooks`](https://github.com/jerry-git/learn-python3/tree/master/notebooks/beginner/notebooks) (Lessons), [`notebooks/beginner/exercises`](https://github.com/jerry-git/learn-python3/tree/master/notebooks/beginner/exercises) (Exercises), [`notebooks/beginner/html`](https://github.com/jerry-git/learn-python3/tree/master/notebooks/beginner/html) (Web lessons), [`notebooks/intermediate/notebooks`](https://github.com/jerry-git/learn-python3/tree/master/notebooks/intermediate/notebooks) (Lessons)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_beginner["Beginner curriculum"]
  node_beginner_lessons["Lessons"]
  node_beginner_exercises["Exercises"]
  node_beginner_html["Web lessons"]
end

subgraph group_intermediate["Intermediate curriculum"]
  node_intermediate_lessons["Lessons"]
  node_intermediate_exercises["Exercises"]
  node_intermediate_html["Web lessons"]
end

subgraph group_access["Learning access"]
  node_jupyter["Jupyter session"]
  node_browser["Web browser"]
  node_binder["Binder"]
end

node_learner(("Learner"))

node_learner -->|"opens session"| node_jupyter
node_learner -->|"reads lessons"| node_browser
node_learner -.->|"opens cloud"| node_binder
node_binder -.->|"provides session"| node_jupyter
node_jupyter -->|"opens notebooks"| node_beginner_lessons
node_jupyter -->|"opens exercises"| node_beginner_exercises
node_jupyter -->|"opens notebooks"| node_intermediate_lessons
node_jupyter -->|"opens exercises"| node_intermediate_exercises
node_browser -->|"displays lessons"| node_beginner_html
node_browser -->|"displays lessons"| node_intermediate_html

click node_beginner_lessons "https://github.com/jerry-git/learn-python3/tree/master/notebooks/beginner/notebooks"
click node_beginner_exercises "https://github.com/jerry-git/learn-python3/tree/master/notebooks/beginner/exercises"
click node_beginner_html "https://github.com/jerry-git/learn-python3/tree/master/notebooks/beginner/html"
click node_intermediate_lessons "https://github.com/jerry-git/learn-python3/tree/master/notebooks/intermediate/notebooks"
click node_intermediate_exercises "https://github.com/jerry-git/learn-python3/tree/master/notebooks/intermediate/exercises"
click node_intermediate_html "https://github.com/jerry-git/learn-python3/tree/master/notebooks/intermediate/html"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_beginner_lessons,node_beginner_exercises,node_beginner_html toneBlue
class node_intermediate_lessons,node_intermediate_exercises,node_intermediate_html toneAmber
class node_jupyter,node_browser,node_binder toneMint
class node_learner toneIndigo
```

## Components

### Beginner curriculum

- [Lessons](https://github.com/jerry-git/learn-python3/tree/master/notebooks/beginner/notebooks): `notebooks/beginner/notebooks`
- [Exercises](https://github.com/jerry-git/learn-python3/tree/master/notebooks/beginner/exercises): `notebooks/beginner/exercises`
- [Web lessons](https://github.com/jerry-git/learn-python3/tree/master/notebooks/beginner/html): `notebooks/beginner/html`

### Intermediate curriculum

- [Lessons](https://github.com/jerry-git/learn-python3/tree/master/notebooks/intermediate/notebooks): `notebooks/intermediate/notebooks`
- [Exercises](https://github.com/jerry-git/learn-python3/tree/master/notebooks/intermediate/exercises): `notebooks/intermediate/exercises`
- [Web lessons](https://github.com/jerry-git/learn-python3/tree/master/notebooks/intermediate/html): `notebooks/intermediate/html`

### Learning access

- **Jupyter session**
- **Web browser**
- **Binder**

### Other components

- **Learner**

## Connections

- Learner → Jupyter session: opens session
- Learner → Web browser: reads lessons
- Learner → Binder: opens cloud
- Binder → Jupyter session: provides session
- Jupyter session → Lessons: opens notebooks
- Jupyter session → Exercises: opens exercises
- Jupyter session → Lessons: opens notebooks
- Jupyter session → Exercises: opens exercises
- Web browser → Web lessons: displays lessons
- Web browser → Web lessons: displays lessons
