# dotvrtx/infochecker architecture

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

- Interactive diagram: https://gitdiagram.com/dotvrtx/infochecker
- Repository: https://github.com/dotvrtx/infochecker

## Overview

infoChecker is a small, single-file command-line utility. Its workflow gathers system details, network addresses, and browser-like headers, then formats and prints them locally. The graph separates those collection stages from the terminal presentation layer. The source shows optional psutil use and platform fallbacks; no data is sent to external servers. All implementation nodes point to the sole source file.

Main entry points: [`device_info.py`](https://github.com/dotvrtx/infochecker/blob/main/device_info.py) (CLI entry point)

## Diagram (Mermaid)

```mermaid
flowchart TD

node_user(("User"))
node_main["CLI entry point<br/>[device_info.py]"]
node_system["System details<br/>[device_info.py]"]
node_timezone["Timezone lookup<br/>[device_info.py]"]
node_mac["MAC discovery<br/>[device_info.py]"]
node_ip["IP discovery<br/>[device_info.py]"]
node_headers["Header generation<br/>[device_info.py]"]
node_section["Section formatting<br/>[device_info.py]"]
node_dict["Value formatting<br/>[device_info.py]"]
node_pair["Pair formatting<br/>[device_info.py]"]
node_terminal(("Terminal"))
node_psutil["psutil"]
node_platformapis["Python system APIs"]
node_oscommands["Platform commands"]

node_user -->|"runs"| node_main
node_main -->|"calls"| node_system
node_system -->|"calls"| node_timezone
node_main -->|"calls"| node_mac
node_main -->|"calls"| node_ip
node_main -->|"calls"| node_headers
node_main -->|"calls"| node_section
node_main -->|"passes data"| node_dict
node_section -->|"prints headings"| node_terminal
node_dict -->|"formats values"| node_pair
node_dict -->|"prints values"| node_terminal
node_pair -->|"prints pairs"| node_terminal
node_system -->|"reads details"| node_platformapis
node_timezone -->|"reads environment"| node_platformapis
node_timezone -->|"runs tzutil"| node_oscommands
node_mac -.->|"reads interfaces"| node_psutil
node_mac -->|"uses UUID"| node_platformapis
node_mac -->|"runs ipconfig"| node_oscommands
node_ip -.->|"reads interfaces"| node_psutil
node_ip -->|"uses sockets"| node_platformapis
node_headers -->|"reads locale"| node_platformapis

click node_main "https://github.com/dotvrtx/infochecker/blob/main/device_info.py"
click node_system "https://github.com/dotvrtx/infochecker/blob/main/device_info.py"
click node_timezone "https://github.com/dotvrtx/infochecker/blob/main/device_info.py"
click node_mac "https://github.com/dotvrtx/infochecker/blob/main/device_info.py"
click node_ip "https://github.com/dotvrtx/infochecker/blob/main/device_info.py"
click node_headers "https://github.com/dotvrtx/infochecker/blob/main/device_info.py"
click node_section "https://github.com/dotvrtx/infochecker/blob/main/device_info.py"
click node_dict "https://github.com/dotvrtx/infochecker/blob/main/device_info.py"
click node_pair "https://github.com/dotvrtx/infochecker/blob/main/device_info.py"

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_user toneBlue
class node_main,node_system,node_timezone,node_mac,node_ip,node_headers,node_section,node_dict,node_pair toneTeal
class node_terminal,node_psutil,node_oscommands toneIndigo
class node_platformapis toneMint
```

## Components

### Other components

- **User**
- [CLI entry point](https://github.com/dotvrtx/infochecker/blob/main/device_info.py): `device_info.py`
- [System details](https://github.com/dotvrtx/infochecker/blob/main/device_info.py): `device_info.py`
- [Timezone lookup](https://github.com/dotvrtx/infochecker/blob/main/device_info.py): `device_info.py`
- [MAC discovery](https://github.com/dotvrtx/infochecker/blob/main/device_info.py): `device_info.py`
- [IP discovery](https://github.com/dotvrtx/infochecker/blob/main/device_info.py): `device_info.py`
- [Header generation](https://github.com/dotvrtx/infochecker/blob/main/device_info.py): `device_info.py`
- [Section formatting](https://github.com/dotvrtx/infochecker/blob/main/device_info.py): `device_info.py`
- [Value formatting](https://github.com/dotvrtx/infochecker/blob/main/device_info.py): `device_info.py`
- [Pair formatting](https://github.com/dotvrtx/infochecker/blob/main/device_info.py): `device_info.py`
- **Terminal**
- **psutil**
- **Python system APIs**
- **Platform commands**

## Connections

- User → CLI entry point: runs (evidence: `README.md`)
- CLI entry point → System details: calls (evidence: `device_info.py`)
- System details → Timezone lookup: calls (evidence: `device_info.py`)
- CLI entry point → MAC discovery: calls (evidence: `device_info.py`)
- CLI entry point → IP discovery: calls (evidence: `device_info.py`)
- CLI entry point → Header generation: calls (evidence: `device_info.py`)
- CLI entry point → Section formatting: calls (evidence: `device_info.py`)
- CLI entry point → Value formatting: passes data (evidence: `device_info.py`)
- Section formatting → Terminal: prints headings (evidence: `device_info.py`)
- Value formatting → Pair formatting: formats values (evidence: `device_info.py`)
- Value formatting → Terminal: prints values (evidence: `device_info.py`)
- Pair formatting → Terminal: prints pairs (evidence: `device_info.py`)
- System details → Python system APIs: reads details (evidence: `device_info.py`)
- Timezone lookup → Python system APIs: reads environment (evidence: `device_info.py`)
- Timezone lookup → Platform commands: runs tzutil (evidence: `device_info.py`)
- MAC discovery → psutil: reads interfaces (evidence: `device_info.py`)
- MAC discovery → Python system APIs: uses UUID (evidence: `device_info.py`)
- MAC discovery → Platform commands: runs ipconfig (evidence: `device_info.py`)
- IP discovery → psutil: reads interfaces (evidence: `device_info.py`)
- IP discovery → Python system APIs: uses sockets (evidence: `device_info.py`)
- Header generation → Python system APIs: reads locale (evidence: `device_info.py`)
