sql-xel-parser 1.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,139 @@
1
+ Metadata-Version: 2.4
2
+ Name: sql-xel-parser
3
+ Version: 1.0.0
4
+ Summary: Parse and analyze SQL Server Extended Events (.xel) files
5
+ Home-page: https://github.com/josephvolmer/sql-xel-parser
6
+ Author: SQL XEL Parser Contributors
7
+ Author-email:
8
+ License: MIT
9
+ Project-URL: Homepage, https://github.com/josephvolmer/sql-xel-parser
10
+ Project-URL: Documentation, https://github.com/josephvolmer/sql-xel-parser/blob/main/README.md
11
+ Project-URL: Repository, https://github.com/josephvolmer/sql-xel-parser
12
+ Project-URL: Bug Tracker, https://github.com/josephvolmer/sql-xel-parser/issues
13
+ Keywords: xel,sql-server,extended-events,audit-logs,parser
14
+ Classifier: Development Status :: 4 - Beta
15
+ Classifier: Intended Audience :: Developers
16
+ Classifier: Intended Audience :: System Administrators
17
+ Classifier: Topic :: Database
18
+ Classifier: Topic :: System :: Logging
19
+ Classifier: Programming Language :: Python :: 3
20
+ Classifier: Programming Language :: Python :: 3.8
21
+ Classifier: Programming Language :: Python :: 3.9
22
+ Classifier: Programming Language :: Python :: 3.10
23
+ Classifier: Programming Language :: Python :: 3.11
24
+ Classifier: Programming Language :: Python :: 3.12
25
+ Requires-Python: >=3.8
26
+ Description-Content-Type: text/markdown
27
+ License-File: LICENSE
28
+ Requires-Dist: python-dateutil>=2.8.0
29
+ Dynamic: home-page
30
+ Dynamic: license-file
31
+ Dynamic: requires-python
32
+
33
+ # SQL XEL Parser
34
+
35
+ Parse and analyze SQL Server Extended Events (.xel) files without requiring SQL Server.
36
+
37
+ Tested with **671 production Azure SQL audit log files**. Works cross-platform (Linux, macOS, Windows).
38
+
39
+ ## Features
40
+
41
+ ✅ **No SQL Server Required** - Parse binary XEL files using UTF-16 extraction
42
+ ✅ **Multiple Export Formats** - JSON, JSON Lines, CSV, Text, Markdown, Summary
43
+ ✅ **Advanced Filtering** - By event name, time range, field values, regex search
44
+ ✅ **Analysis Tools** - Aggregation, grouping, counting, top-N queries
45
+ ✅ **Batch Processing** - Recursive directory processing with 671+ file support
46
+ ✅ **Python API** - Use programmatically in your own scripts
47
+ ✅ **CLI Tool** - Powerful command-line interface
48
+
49
+ ## Installation
50
+
51
+ ```bash
52
+ pip install sql-xel-parser
53
+ ```
54
+
55
+ ## Quick Start
56
+
57
+ ### Command Line
58
+
59
+ ```bash
60
+ # Get summary of XEL files
61
+ sql-xel-parser audit.xel -f summary
62
+
63
+ # Export to JSON
64
+ sql-xel-parser audit.xel -o events.json
65
+
66
+ # Process entire directory
67
+ sql-xel-parser /path/to/logs/ -r -f summary
68
+
69
+ # Search for security events
70
+ sql-xel-parser audit.xel --search "fail|error|denied" -o security.json
71
+
72
+ # Export to CSV for Excel
73
+ sql-xel-parser audit.xel -f csv -o export.csv
74
+ ```
75
+
76
+ ### Python API
77
+
78
+ ```python
79
+ from sql_xel_parser import XELParser, XELAnalyzer, XELConverter
80
+
81
+ # Parse XEL file
82
+ parser = XELParser('audit.xel')
83
+ events = list(parser.parse())
84
+
85
+ # Analyze and filter
86
+ analyzer = XELAnalyzer(events)
87
+ failed_logins = analyzer.search('(?i)fail|error')
88
+
89
+ # Export results
90
+ converter = XELConverter()
91
+ json_output = converter.to_json(failed_logins.get_events(), indent=2)
92
+ ```
93
+
94
+ ## What Gets Extracted
95
+
96
+ **Successfully extracted:**
97
+ - Event names and types
98
+ - Timestamps
99
+ - SQL statements and error messages
100
+ - Server names, databases, IPs
101
+ - Usernames and session IDs
102
+ - All text-based audit data
103
+
104
+ **May be incomplete:**
105
+ - Pure numeric fields without string representation
106
+ - Binary data types (BLOB)
107
+ - Complex nested binary structures
108
+
109
+ Uses UTF-16 string extraction method - ideal for text-heavy events like audit logs and security monitoring.
110
+
111
+ ## Use Cases
112
+
113
+ - **Azure SQL Audit Logs** - Primary use case, tested with production data
114
+ - **Security & Compliance** - Track access patterns and failed logins
115
+ - **SQL Server Extended Events** - Parse system_health, query tracking
116
+ - **Automated Monitoring** - CI/CD pipelines and scheduled analysis
117
+ - **SIEM Integration** - Export to Splunk, ELK, or other log analysis tools
118
+
119
+ ## Documentation
120
+
121
+ - [Full Documentation](https://github.com/josephvolmer/sql-xel-parser)
122
+ - [Quick Start Guide](https://github.com/josephvolmer/sql-xel-parser/blob/main/QUICKSTART.md)
123
+ - [Advanced Usage](https://github.com/josephvolmer/sql-xel-parser/tree/main/docs)
124
+ - [Python API Examples](https://github.com/josephvolmer/sql-xel-parser/tree/main/examples)
125
+
126
+ ## Requirements
127
+
128
+ - Python 3.8+
129
+ - python-dateutil
130
+
131
+ ## License
132
+
133
+ MIT License
134
+
135
+ ## Links
136
+
137
+ - **GitHub**: https://github.com/josephvolmer/sql-xel-parser
138
+ - **Issues**: https://github.com/josephvolmer/sql-xel-parser/issues
139
+ - **Documentation**: https://github.com/josephvolmer/sql-xel-parser/blob/main/README.md
@@ -0,0 +1,13 @@
1
+ sql_xel_parser/__init__.py,sha256=nk_TPpfa83CMpesGfWTK6m-MDjykbvXkzur6Eq40W4o,482
2
+ sql_xel_parser/__main__.py,sha256=pOR--1UXFozsUPexBY5eAaTnJQp2LSQDCIG_MngbQ-A,116
3
+ sql_xel_parser/analyzer.py,sha256=gUZqBz_aZaKTirtg5GK7DwT7AayuerSquA4L8gafmEo,12210
4
+ sql_xel_parser/cli.py,sha256=x9ySI4zqYlOibEK-qLTbFmEllMyLcSpQWBJUndaju4o,11478
5
+ sql_xel_parser/converter.py,sha256=XTmawEpDKuTWbvmHAiS7Sbm4MSePbvdKaS6B63Va9rs,8364
6
+ sql_xel_parser/parser.py,sha256=FmKp0hqRpNmrQfr7W9XDQPultwf7gl_P-ORtoDDQY6Y,12739
7
+ sql_xel_parser/real_parser.py,sha256=bPUwowE1u7XZsIfk638s-H3hOHM5JCUlSyw4Itp1Njc,8798
8
+ sql_xel_parser-1.0.0.dist-info/licenses/LICENSE,sha256=TxlSeOaNtbckckSIoywlnyI8ALa4FLBWhoCfn0rGNW4,1080
9
+ sql_xel_parser-1.0.0.dist-info/METADATA,sha256=0QDny5xuWLPbj-eXfcI76GWugpEb-ZjIFgHuQ9IKiEk,4419
10
+ sql_xel_parser-1.0.0.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
11
+ sql_xel_parser-1.0.0.dist-info/entry_points.txt,sha256=JiHLp-Wk-ogQ3jE5QLzWOw7yHqxpPnjGV3Ogk-QilgQ,59
12
+ sql_xel_parser-1.0.0.dist-info/top_level.txt,sha256=zh26cjH80qEB4YuB8tIqs_H3Tm7-NpbqthOhjaXalrw,15
13
+ sql_xel_parser-1.0.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (82.0.1)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ sql-xel-parser = sql_xel_parser.cli:main
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 XEL Parser Contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1 @@
1
+ sql_xel_parser