skillfed

winevt

Script to programmatically interface with Windows Events.

winevt v0.0.11 106.2K downloads/30d#12,665 on PyPI68
Permissive license MIT DORMANT released

What it is and what it does

Winevt is a Python library that provides direct access to the Windows Event Logging system through the Windows API. Instead of parsing static event log files, it lets you query live event logs, subscribe to real-time events with callbacks, and work with event data as structured objects. The library abstracts Windows event concepts like providers, channels, and bookmarks, making it easier to filter events using XPath queries and traverse event properties programmatically.

The package is Windows-only and designed for system administrators and developers who need to monitor or audit Windows events from Python. It supports local and remote authentication, allows you to maintain your position in an event stream using bookmarks, and can handle multiple concurrent subscriptions. The library returns events as objects with both raw XML and structured property access, so you can work with event data however you prefer.

Use it for:

  • Monitor system or application event logs in real-time and trigger alerts or actions when specific events occur.
  • Audit security events (e.g., failed logins, privilege escalation) across local or remote Windows machines.
  • Extract and filter historical events from event logs using XPath queries for compliance or forensic analysis.
  • Build a centralized event collection system that subscribes to multiple Windows machines and aggregates events.
  • Parse and analyze event log data programmatically without relying on the Windows Event Viewer GUI.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Winevt lets you query and subscribe to Windows Event Logs directly through the Windows API, and parse event log files programmatically from Python.

Yes, but with caution. The package does what it claims and has no known vulnerabilities, but it has not been actively maintained since 2017 and is marked dormant. Install it if you need direct Windows Event Log access from Python and are willing to accept that bug fixes or compatibility updates are unlikely. High install friction (compiled extension) and Windows-only support limit its audience. Not suitable for new projects requiring ongoing support.

Install

winevt on PyPI

pip

pip install winevt

uv

uv add winevt

poetry

poetry add winevt

Installing winevt

Before you install

High install friction: the package is a compiled extension with no runtime dependencies, but has not been updated since its initial release in 2017 and is marked dormant. Last commit was in 2024, but the codebase shows no active maintenance. Installation requires a working C compiler and Windows-specific build tools.

License in practice

MIT license is permissive; you can use this package in commercial and private projects with minimal restrictions, though you must include the license notice.

Quickstart

pip install winevt

from winevt import EventLog

query = EventLog.Query("Application", "Event/System/Provider[@Name='Windows Error Reporting']")
for event in query:
    print(event.System.Provider['Name'])

Windows-only; requires Python 3.2 or later (x64 recommended). Requires a C compiler and Windows SDK headers to build from source.

Verify before relying

  • Whether the package works reliably on modern Windows versions (tested only on Windows 10 x64 with Python 3.6).
  • Whether the package is compatible with Python versions beyond 3.6, given the dormant maintenance status.
  • Whether pre-built wheels are available or if compilation is required on installation.

Package facts

License MIT (permissive)
Python support not specified
Install friction high — source build required
Runtime dependencies none
Maintenance dormant — 3,383 days since the last release
Last repo commit
First released
Downloads 106,152/month — #12,665 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: winevt-0.0.11.tar.gz

Keywords: windows, event, evt, evtx

Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: End Users/DesktopLicense :: OSI Approved :: MIT LicenseOperating System :: Microsoft :: WindowsProgramming Language :: Python :: 3

Tags

windows event log query pythonwindows event log subscriptionwindows api event loggingevt evtx parsing pythonwindows event monitoringevent log filtering python
windows-onlyevent-loggingsystem-administration

More Monitoring packages

tqdm

Wraps any iterable to display a real-time…

copyleft · top 100 on PyPI

opentelemetry-semantic-conventions

Provides generated Python code for…

permissive · top 100 on PyPI

opentelemetry-sdk

Provides the reference implementation of the…

permissive · top 100 on PyPI

opentelemetry-api

Provides the abstract API and interfaces for…

permissive · top 100 on PyPI

opentelemetry-exporter-otlp-proto-http

Exports OpenTelemetry observability data to an…

permissive · top 1,000 on PyPI

opentelemetry-instrumentation

Provides automatic instrumentation commands and…

permissive · top 1,000 on PyPI

python-evtx

Parses Windows Event Log files (.evtx) into…

permissive · top 15,000 on PyPI

Events

Provides a publish-subscribe event system where…

permissive · top 1,000 on PyPI

pyeventsystem

pyeventsystem provides event-driven middleware…

permissive · top 15,000 on PyPI

azure-eventgrid

Publishes and consumes events through Azure…

permissive · top 5,000 on PyPI

aiocop

Detects and logs blocking I/O and CPU calls in…

permissive · top 15,000 on PyPI

moonraker-api

Fully async Python client for connecting to and…

copyleft · top 15,000 on PyPI

pypsrp

Execute commands, scripts, and file operations…

permissive · top 5,000 on PyPI

azure-eventhub

Publishes and consumes events from Azure Event…

unclear · top 5,000 on PyPI

slackeventsapi

Receives and parses events from Slack's Events…

permissive · top 15,000 on PyPI

firebase-messaging

Receives push notifications sent via Firebase…

permissive · top 15,000 on PyPI