Metadata-Version: 2.4
Name: industrial-scada-alarm-parser
Version: 1.0.0
Summary: A multi-database alarm log parser for industrial SCADA systems with XML rule support
Home-page: https://github.com/yourusername/industrial-scada-alarm-parser
Author: Industrial SCADA Team
License: MIT
Project-URL: Homepage, https://github.com/yourusername/industrial-scada-alarm-parser
Project-URL: Documentation, https://github.com/yourusername/industrial-scada-alarm-parser/blob/main/README.md
Project-URL: Repository, https://github.com/yourusername/industrial-scada-alarm-parser
Project-URL: Issues, https://github.com/yourusername/industrial-scada-alarm-parser/issues
Keywords: scada,alarm,parser,industrial,iotdb,timeseries
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Manufacturing
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pandas>=2.0.0
Requires-Dist: pyodbc>=4.0.39
Provides-Extra: postgresql
Requires-Dist: psycopg2-binary>=2.9.9; extra == "postgresql"
Provides-Extra: iotdb
Requires-Dist: apache-iotdb>=1.2.0; extra == "iotdb"
Provides-Extra: all
Requires-Dist: psycopg2-binary>=2.9.9; extra == "all"
Requires-Dist: apache-iotdb>=1.2.0; extra == "all"
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-python

🎯 Key Features:
1. Load & Parse Tab

Loads your CSV with all 39 columns
Automatically detects the format of Scada alarms field
Supports multiple delimiters: |, ;, ,, ::, etc.
Shows sample system_all data for verification

2. Field Mapping Tab

Automatically extracts ALL unique fields,
Shows sample values and detected data types
Let you select which fields to include in normalization
Detects data types: INT, FLOAT, DATETIME, BIT, NVARCHAR

3. Preview Data Tab

Shows normalized data with separate columns
Displays statistics (record count, column count)
Preview first 100 rows
Export to CSV option

4. Database Export Tab

Auto-generates CREATE TABLE script based on your data
Creates proper SQL table structure
Inserts all normalized data
Handles errors gracefully

📋 How to Use:

   - Browse and select csv
   - Click "Load File"

Parse system_all

   - View sample data to understand format
   - Click "Parse system_all Fields"
   - All fields will be auto-detected

Select Fields

   - Review detected fields in Field Mapping tab
   - Select/deselect fields as needed
   - Click "Normalize Data"

Export to Database

   - Configure SQL Server connection
   - Click "Generate CREATE TABLE Script" to review
   - Click "Create Table"
   - Click "Insert Data"
   - 
🔍 Example:
If your scada alarms logic contains:
"Type=Alarm|Severity=High|Source=Tank1|Value=85.5"
It will be normalized to separate columns:
Type: Alarm
Severity: High
Source: Tank1
Value: 85.5

📦 Install Requirements:
```pip install pandas pyodbc tkinter```
The tool handles your exact CSV structure and preserves all original columns while extracting and normalizing the system_all field into separate database columns!
