# hemen-dev/toronto-animal-services-analysis architecture

> Architecture diagram of the GitHub repository hemen-dev/toronto-animal-services-analysis, 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/hemen-dev/toronto-animal-services-analysis
- Repository: https://github.com/hemen-dev/toronto-animal-services-analysis

## Overview

This is a small operational-data analysis project, not a service-request application. Its documented workflow takes Toronto Animal Services request data through validation and cleaning, transformation, analysis, and visualization; the principal results compare Mobile Response with Enforcement and examine request-type and yearly trends, including wildlife and coyote requests. The README documents this sequence, but the supplied source excerpts are empty, so internal calls and the relationship between the script and notebook cannot be verified.

Main entry points: [`src/analysis.py`](https://github.com/hemen-dev/toronto-animal-services-analysis/blob/main/src/analysis.py) (Demand analysis), [`outputs/figures`](https://github.com/hemen-dev/toronto-animal-services-analysis/tree/main/outputs/figures) (Charts)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_analysis["Data analysis"]
  node_validation["Validation and cleaning<br/>[analysis.py]"]
  node_transform["Grouping and summaries<br/>[analysis.py]"]
  node_analysis_stage["Demand analysis<br/>[analysis.py]"]
  node_comparison["Area comparison<br/>[analysis.py]"]
  node_trend["Wildlife trends<br/>[analysis.py]"]
  node_visualization["Visualization<br/>[analysis.py]"]
  node_notebook["Analysis notebook<br/>[analysis.ipynb]"]
end

subgraph group_outputs["Analysis outputs"]
  node_figures["Charts"]
end

node_source_data[("Toronto Open Data")]

node_source_data -->|"provides records"| node_validation
node_validation -->|"cleans records"| node_transform
node_transform -->|"creates summaries"| node_analysis_stage
node_analysis_stage -->|"compares areas"| node_comparison
node_analysis_stage -->|"examines trends"| node_trend
node_analysis_stage -->|"visualizes findings"| node_visualization
node_visualization -->|"produces charts"| node_figures

click node_validation "https://github.com/hemen-dev/toronto-animal-services-analysis/blob/main/src/analysis.py"
click node_transform "https://github.com/hemen-dev/toronto-animal-services-analysis/blob/main/src/analysis.py"
click node_analysis_stage "https://github.com/hemen-dev/toronto-animal-services-analysis/blob/main/src/analysis.py"
click node_comparison "https://github.com/hemen-dev/toronto-animal-services-analysis/blob/main/src/analysis.py"
click node_trend "https://github.com/hemen-dev/toronto-animal-services-analysis/blob/main/src/analysis.py"
click node_visualization "https://github.com/hemen-dev/toronto-animal-services-analysis/blob/main/src/analysis.py"
click node_notebook "https://github.com/hemen-dev/toronto-animal-services-analysis/blob/main/notebooks/analysis.ipynb"
click node_figures "https://github.com/hemen-dev/toronto-animal-services-analysis/tree/main/outputs/figures"

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_validation,node_transform,node_analysis_stage,node_comparison,node_trend,node_visualization,node_notebook toneBlue
class node_figures,node_source_data toneAmber
```

## Components

### Data analysis

- [Validation and cleaning](https://github.com/hemen-dev/toronto-animal-services-analysis/blob/main/src/analysis.py): `src/analysis.py`
- [Grouping and summaries](https://github.com/hemen-dev/toronto-animal-services-analysis/blob/main/src/analysis.py): `src/analysis.py`
- [Demand analysis](https://github.com/hemen-dev/toronto-animal-services-analysis/blob/main/src/analysis.py): `src/analysis.py`
- [Area comparison](https://github.com/hemen-dev/toronto-animal-services-analysis/blob/main/src/analysis.py): `src/analysis.py`
- [Wildlife trends](https://github.com/hemen-dev/toronto-animal-services-analysis/blob/main/src/analysis.py): `src/analysis.py`
- [Visualization](https://github.com/hemen-dev/toronto-animal-services-analysis/blob/main/src/analysis.py): `src/analysis.py`
- [Analysis notebook](https://github.com/hemen-dev/toronto-animal-services-analysis/blob/main/notebooks/analysis.ipynb): `notebooks/analysis.ipynb`

### Analysis outputs

- [Charts](https://github.com/hemen-dev/toronto-animal-services-analysis/tree/main/outputs/figures): `outputs/figures`

### Other components

- **Toronto Open Data**

## Connections

- Toronto Open Data → Validation and cleaning: provides records
- Validation and cleaning → Grouping and summaries: cleans records
- Grouping and summaries → Demand analysis: creates summaries
- Demand analysis → Area comparison: compares areas
- Demand analysis → Wildlife trends: examines trends
- Demand analysis → Visualization: visualizes findings
- Visualization → Charts: produces charts
