Local infrastructure inventory and documentation dashboard built with Python and Streamlit.
InfraMapper is a beginner-friendly but professional portfolio project by mrachcore. It helps junior sysadmins document infrastructure assets, review inventory quality, detect IP conflicts, identify outdated systems, and generate simple local reports from CSV files.
This project is fully local. It does not use paid APIs, cloud services, databases, Docker, AI APIs, external services, production integrations, or live network scanning.
InfraMapper works like a lightweight local CMDB-style dashboard. Upload an infrastructure CSV file, review the asset inventory, check for documentation gaps, inspect lifecycle risks, and export reports for documentation or learning purposes.
The project was created as part of a learning path during an Ausbildung as Fachinformatiker für Systemintegration.
- CSV inventory upload and preview
- Included sample inventory file
- Automatic column normalization for names like
HostNameorIP_ADDRESS - Asset inventory table with filters
- Metrics for total, online, offline, and unknown-status assets
- Asset breakdowns by device type, environment, status, and criticality
- Duplicate IP detection
- Missing and invalid IP checks using Python's
ipaddressmodule - Documentation health score and completeness percentage
- Missing owner, location, OS, and criticality checks
- Outdated operating system review
- Stale inventory review based on configurable age threshold
- Downloadable text infrastructure report
- Downloadable cleaned inventory CSV
- Downloadable issue list CSV
- Dark professional internal IT dashboard design
| Technology | Purpose |
|---|---|
| Python 3 | Main programming language |
| Streamlit | Local web dashboard |
| pandas | CSV analysis and table handling |
| ipaddress | IP address validation |
| datetime | Date and stale-record checks |
| io | CSV export handling |
Clone or download this project, then open a terminal inside the project folder.
cd infra-mapperCreate a virtual environment:
python -m venv .venvActivate it on Windows:
.venv\Scripts\activateActivate it on macOS or Linux:
source .venv/bin/activateInstall the required packages:
pip install -r requirements.txtstreamlit run app.pyStreamlit will show a local URL, usually:
http://localhost:8501
Open that URL in your browser and use the sidebar navigation.
infra-mapper/
app.py
requirements.txt
README.md
sample_data/
infrastructure_sample.csv
assets/
logo.png
screenshots/
dashboard.png
upload-inventory.png
asset-inventory.png
ip-conflict-check.png
documentation-health.png
lifecycle-review.png
reports.png
utils/
inventory_tools.py
validation_tools.py
report_generator.py
Add screenshots after running the app locally:
The included sample file is located at:
sample_data/infrastructure_sample.csv
Recommended columns:
hostname, ip_address, device_type, os, location, owner, status, environment, criticality, last_updated
InfraMapper handles missing optional columns gracefully by adding empty columns internally. This allows the dashboard to keep working even if an uploaded CSV is incomplete.
- Best results come from clean CSV files with one row per asset.
- Dates in
last_updatedshould use a clear format such asYYYY-MM-DD. - This tool validates documented inventory data only.
- It does not perform network discovery or production checks.
- Add more lifecycle rules for common operating systems
- Add CSV templates for different infrastructure environments
- Add subnet grouping based on documented IP addresses
- Add chart visualizations for asset trends
- Add optional JSON report export
- Add more documentation quality recommendations
This tool does not scan networks or connect to production systems. It only analyzes uploaded CSV inventory files locally.
mrachcore
GitHub placeholder: https://github.com/mrachcore/infra-mapper
python
streamlit
infrastructure
inventory
asset-management
cmdb
sysadmin
dashboard
csv-analysis
documentation
portfolio-project
fachinformatiker







