AI Slop Code RIsk Monitor

mhammond/pywin32

Python for Windows (pywin32) Extensions

8.6 Moderate pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for mhammond/pywin32, a C++ project with 5,620 GitHub stars. SynthScan examined 360,308 lines of code across 1411 source files, recording 1767 pattern matches distributed across 20 syntactic categories. The legacy adjusted pattern signal is 8.6 (Moderate pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

8.6
Adjusted Signal
8.6
Raw Pattern Score
100%
Time Factor
2026-10-07
Last Push
5.6K
Stars
C++
Language
360.3K
Lines of Code
1.4K
Files
1.8K
Pattern Hits
2026-10-12
Scan Date
0.22
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 16.3/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 1227 finding(s).

Hallucinated Dependency & Supply Chain Risk 2.3/100 · LOW

Are imports declared and package/API names verified? 154 finding(s).

Agent Over-Engineering Ratio 20.8/100 · LOW

Are wrappers, guards, and repeated structures necessary? 420 finding(s).

PR Review Velocity Impact 39.1/100 · MEDIUM

Which changes need focused human review? 1767 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 0HIGH 309MEDIUM 130LOW 1328

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 1767 distinct pattern matches across 20 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Empty Error Handlers293 hits · 1465 pts
SeverityFileLineSnippetContext
HIGHsetup.py485except (AttributeError, TypeError):CODE
HIGHAutoDuck/BuildHHP.py100except:CODE
HIGHAutoDuck/BuildHHP.py109except:CODE
HIGHAutoDuck/makedfromi.py64except ValueError:CODE
HIGHpythonwin/pywin/idle/CallTips.py99except:CODE
HIGHpythonwin/pywin/idle/CallTips.py140except AttributeError:CODE
HIGHpythonwin/pywin/idle/AutoIndent.py530except (tokenize.TokenError, IndentationError):CODE
HIGHpythonwin/pywin/idle/IdleHistory.py75except ValueError:CODE
HIGHpythonwin/pywin/tools/hierlist.py193except win32ui.error:CODE
HIGHpythonwin/pywin/tools/hierlist.py274except win32ui.error: # No status bar!CODE
HIGHpythonwin/pywin/tools/browser.py62except (AttributeError, TypeError):CODE
HIGHpythonwin/pywin/tools/browser.py77except (AttributeError, TypeError):CODE
HIGHpythonwin/pywin/tools/browser.py82except (AttributeError, TypeError):CODE
HIGHpythonwin/pywin/tools/browser.py88except (AttributeError, TypeError):CODE
HIGHpythonwin/pywin/tools/browser.py107except (AttributeError, TypeError):CODE
HIGHpythonwin/pywin/tools/browser.py112except (AttributeError, TypeError):CODE
HIGHpythonwin/pywin/tools/browser.py118except (AttributeError, TypeError):CODE
HIGHpythonwin/pywin/tools/browseProjects.py119except win32api.error:CODE
HIGHpythonwin/pywin/tools/browseProjects.py192except win32ui.error:CODE
HIGHpythonwin/pywin/framework/toolmenu.py123except (NameError, AttributeError):CODE
HIGHpythonwin/pywin/framework/winout.py481except (CODE
HIGHpythonwin/pywin/framework/scriptutils.py151except AttributeError:CODE
HIGHpythonwin/pywin/framework/scriptutils.py155except AttributeError:CODE
HIGHpythonwin/pywin/framework/scriptutils.py201except (win32ui.error, AttributeError):CODE
HIGHpythonwin/pywin/framework/scriptutils.py403except AttributeError:CODE
HIGHpythonwin/pywin/framework/scriptutils.py624except ImportError:CODE
HIGHpythonwin/pywin/framework/scriptutils.py553except:CODE
HIGHpythonwin/pywin/framework/sgrepmdi.py746except NameError:CODE
HIGHpythonwin/pywin/framework/sgrepmdi.py199except:CODE
HIGHpythonwin/pywin/framework/sgrepmdi.py419except:CODE
HIGHpythonwin/pywin/framework/sgrepmdi.py322except:CODE
HIGHpythonwin/pywin/framework/app.py373except:CODE
HIGHpythonwin/pywin/framework/app.py141except AttributeError:CODE
HIGHpythonwin/pywin/framework/app.py180except KeyboardInterrupt:CODE
HIGHpythonwin/pywin/framework/app.py93except win32ui.error:CODE
HIGHpythonwin/pywin/framework/app.py175except ValueError: # Item not in list.CODE
HIGHpythonwin/pywin/framework/bitmap.py131except NameError:CODE
HIGHpythonwin/pywin/framework/intpyapp.py84except win32ui.error:CODE
HIGHpythonwin/pywin/framework/intpyapp.py119except (win32ui.error, AttributeError):CODE
HIGHpythonwin/pywin/framework/intpyapp.py233except win32ui.error:CODE
HIGHpythonwin/pywin/framework/intpyapp.py255except:CODE
HIGHpythonwin/pywin/framework/intpydde.py64except win32ui.error:CODE
HIGHpythonwin/pywin/framework/interact.py803except win32ui.error:CODE
HIGHpythonwin/pywin/framework/interact.py808except win32ui.error:CODE
HIGHpythonwin/pywin/framework/interact.py690except win32ui.error:CODE
HIGHpythonwin/pywin/framework/editor/ModuleBrowser.py169except (KeyError, AttributeError):CODE
HIGHpythonwin/pywin/framework/editor/__init__.py81except win32ui.error:CODE
HIGHpythonwin/pywin/framework/editor/document.py73except (OSError, NameError):CODE
HIGHpythonwin/pywin/framework/editor/document.py80except (OSError, NameError):CODE
HIGHpythonwin/pywin/framework/editor/document.py68except OSError:CODE
HIGHpythonwin/pywin/framework/editor/template.py56except (win32api.error, IndexError) as details:CODE
HIGHpythonwin/pywin/framework/editor/editor.py507except (NameError, win32ui.error):CODE
HIGHpythonwin/pywin/framework/editor/editor.py146except:CODE
HIGHpythonwin/pywin/framework/editor/editor.py323except IndexError:CODE
HIGHpythonwin/pywin/framework/editor/color/coloreditor.py642except NameError:CODE
HIGHpythonwin/pywin/scintilla/config.py122except (OSError, EOFError):CODE
HIGHpythonwin/pywin/scintilla/config.py170except (OSError, EOFError):CODE
HIGHpythonwin/pywin/scintilla/IDLEenvironment.py66except AttributeError: # GetIDLEModule may return NoneCODE
HIGHpythonwin/pywin/scintilla/control.py27except (CODE
HIGHpythonwin/pywin/scintilla/control.py36except win32api.error:CODE
233 more matches not shown…
Over-Commented Block888 hits · 754 pts
SeverityFileLineSnippetContext
LOWpythonwin/pythonppage.cpp1// pythonppage.cpp : implementation fileCOMMENT
LOWpythonwin/pythonview.h61// typedef CPythonViewFramework<CCtrlView> CPythonCtrlView;COMMENT
LOWpythonwin/respw.h1//{{NO_DEPENDENCIES}}COMMENT
LOWpythonwin/stdafx.h1// stdafx.h : include file for standard system include files,COMMENT
LOWpythonwin/stdafx.h21#include "limits.h"COMMENT
LOWpythonwin/stdafx.h41#include "win32ui.h"COMMENT
LOWpythonwin/win32RichEditDocTemplate.cpp1#include "stdafx.h"COMMENT
LOWpythonwin/pythondoc.cpp1// pythondoc.cpp : implementation of the CPythonDoc classCOMMENT
LOWpythonwin/stdafxole.h1// stdafx.h : include file for standard system include files,COMMENT
LOWpythonwin/stdafxole.h21// allow memory leaks to give me the line number.COMMENT
LOWpythonwin/reswin32ui.h1//{{NO_DEPENDENCIES}}COMMENT
LOWpythonwin/reswin32ui.h21#define IDD_LARGE_EDIT 11147COMMENT
LOWpythonwin/reswin32ui.h41#define IDC_PROMPT1 15014COMMENT
LOWpythonwin/reswin32ui.h61#define IDC_DEMO3 15035COMMENT
LOWpythonwin/reswin32ui.h81#define IDC_RADIO2 15062COMMENT
LOWpythonwin/reswin32ui.h101#define IDC_FOLD_ENABLE 15078COMMENT
LOWpythonwin/reswin32ui.h121#define ID_VIEW_BROWSE 36869COMMENT
LOWpythonwin/reswin32ui.h141#define ID_VIEW_FOLD_TOPLEVEL 36900COMMENT
LOWpythonwin/win32pen.cpp1// -*- Mode: C++; tab-width: 4 -*-COMMENT
LOWpythonwin/Win32uiHostGlue.h21 // placeholder in case application want to provide custom status text.COMMENT
LOWpythonwin/win32util.cpp21#include "win32dlg.h"COMMENT
LOWpythonwin/win32util.cpp921 }COMMENT
LOWpythonwin/ddemodule.cpp181 ADD_CONSTANT(APPCLASS_MONITOR); // Makes it possible for the application to monitor DDE activity in the system.COMMENT
LOWpythonwin/ddemodule.cpp201 // application. This flag is equivalent to combining all CBF_FAIL_ flags.COMMENT
LOWpythonwin/pythonpsheet.cpp1// pythonpsheet.cpp : implementation fileCOMMENT
LOWpythonwin/win32ctrlList.cpp161MAKE_SETBOOL_INT_METH(PyCListCtrl_SetTextBkColor, SetTextBkColor)COMMENT
LOWpythonwin/win32ctrlList.cpp781 // @pyparm point|x,y||The point to test.COMMENT
LOWpythonwin/win32win.cpp141 return (CPythonMDIChildWnd *)PyCWnd::GetPythonGenericWnd(self, &PyCFrameWnd::type);COMMENT
LOWpythonwin/win32win.cpp1461 CString csText;COMMENT
LOWpythonwin/win32win.cpp1481 // This may be an ascii code, or a virtual key code.COMMENT
LOWpythonwin/pythonwin.cpp1// pythonwin.cpp : Defines the class behaviors for the application.COMMENT
LOWpythonwin/stdafxpw.cpp1// stdafxpw.cpp : source file that includes just the standard includesCOMMENT
LOWpythonwin/win32uiExt.h101 // @pyvirtual tuple|PyCWnd|PreTranslateMessage|Allows a Window to override the PreTranslateMessage handling.COMMENT
LOWpythonwin/win32uiExt.h1081 ON_COMMAND(IDC_PRINT_COLLATE, &CPythonPrtDlgFramework<T>::HandleCollate)COMMENT
LOWpythonwin/pythonview.cpp1// Pythonview.cpp - implementation of a CEditView, especially set up forCOMMENT
LOWpythonwin/win32prinfo.cpp581 GUI_END_SAVE; \COMMENT
LOWpythonwin/stdafxdde.h1#define _USING_V110_SDK71_COMMENT
LOWpythonwin/win32prop.cpp81 if (max == 0)COMMENT
LOWpythonwin/stdafxole.cpp1// stdafx.cpp : source file that includes just the standard includesCOMMENT
LOWpythonwin/win32font.cpp21PyObject *PyCFont::create(PyObject *self, PyObject *args)COMMENT
LOWpythonwin/pythonRichEdit.cpp1// pythonRichEdit.cpp : implementation fileCOMMENT
LOWpythonwin/win32uiole.cpp1#include "stdafxole.h"COMMENT
LOWpythonwin/win32control.cpp21#include "win32bitmap.h"COMMENT
LOWpythonwin/win32virt.cpp1/*COMMENT
LOWpythonwin/win32uimodule.cpp21#include "win32dc.h"COMMENT
LOWpythonwin/win32uimodule.cpp801 PyObject *arglst = Py_BuildValue("(O)", object);COMMENT
LOWpythonwin/win32uimodule.cpp2261 // This template replaces the default template for the Print Setup dialog box.COMMENT
LOWpythonwin/win32uimodule.cpp2281 // subsystem to query the user for the name of the output file.COMMENT
LOWpythonwin/win32uimodule.cpp2301 ADD_CONSTANT(COMMENT
LOWpythonwin/win32uimodule.cpp2541{COMMENT
LOWpythonwin/win32dc.cpp621 // @rdesc Always none. If the function fails, an exception is raised.COMMENT
LOWpythonwin/win32dc.cpp2181 // @pyparm (int, int, int, int)|tuple||The bounding rectangle in the form:COMMENT
LOWpythonwin/win32dc.cpp2201 // def drawtext_test():<nl>COMMENT
LOWpythonwin/win32ctrlTree.cpp281// @pymethod int|PyCTreeCtrl|GetIndent|Retrieves the offset (in pixels) of a tree view item from its parent.COMMENT
LOWpythonwin/win32ctrlTree.cpp861 // @rdesc The result is a tuple of (flags, hItem).COMMENT
LOWpythonwin/win32tooltip.cpp1// Contributed by kk@epsilon.com.grCOMMENT
LOWpythonwin/stddde.cpp1// stddde.cppCOMMENT
LOWpythonwin/stddde.cpp41////////////////////////////////////////////////////////////////////////////////////COMMENT
LOWpythonwin/stddde.cpp841//COMMENT
LOWpythonwin/stddde.cpp901{COMMENT
828 more matches not shown…
Self-Referential Comments70 hits · 204 pts
SeverityFileLineSnippetContext
MEDIUMruff.toml2# This file is not UTF-8COMMENT
MEDIUMpythonwin/Scintilla/win32/DepGen.py20 # Create the dependencies file for g++COMMENT
MEDIUMpythonwin/Scintilla/win32/DepGen.py33 # Create the dependencies file for MSVCCOMMENT
MEDIUMpythonwin/pywin/framework/toolmenu.py80 # Create the new menuCOMMENT
MEDIUMpythonwin/pywin/framework/winout.py20# This module is thread safe - output can originate from any thread. If any threadCOMMENT
MEDIUMpythonwin/pywin/framework/scriptutils.py256 # Create the debugger, but _dont_ init the debugger GUI.COMMENT
MEDIUMpythonwin/pywin/framework/intpyapp.py211 # Create the taskbar iconCOMMENT
MEDIUMpythonwin/pywin/framework/interact.py286# This class handles the Python interactive interpreter.STRING
MEDIUMpythonwin/pywin/framework/editor/frame.py11 # Create the default view as specified by the template (ie, the editor view)COMMENT
MEDIUMpythonwin/pywin/framework/editor/frame.py13 # Create the browser view.COMMENT
MEDIUMpythonwin/pywin/framework/editor/color/coloreditor.py20# Define a few common markersCOMMENT
MEDIUMpythonwin/pywin/framework/editor/color/coloreditor.py64 # Define the markersCOMMENT
MEDIUMpythonwin/pywin/framework/editor/color/coloreditor.py76 # Define the folding markersCOMMENT
MEDIUMpythonwin/pywin/scintilla/IDLEenvironment.py580 # Create a new Scintilla Window.STRING
MEDIUMpythonwin/pywin/docking/DockingBar.py98 # Create the child dialogCOMMENT
MEDIUMpythonwin/pywin/debugger/debugger.py681 # This function is called when a return trap is set hereCOMMENT
MEDIUMpythonwin/pywin/debugger/debugger.py691 # This function is called if an exception occurs,COMMENT
MEDIUMpythonwin/pywin/Demos/dlgtest.py94 # Create a completely standard PropertyPage.COMMENT
MEDIUMwin32/test/test_odbc.py24 # Create a local MSAccess DB for testing.COMMENT
MEDIUMwin32/test/test_odbc.py27 # Create a brand-new database - what is the story with these?COMMENT
MEDIUMwin32/test/test_win32file.py73 # Create a file in the %TEMP% directory.COMMENT
MEDIUMwin32/test/test_win32file.py138 # Create a file in the %TEMP% directory.COMMENT
MEDIUMwin32/test/test_win32file.py313 # Create a file in the %TEMP% directory.COMMENT
MEDIUMwin32/test/test_win32file.py321 # Create the file and write shit-loads of data to it.COMMENT
MEDIUMwin32/test/test_win32file.py424 # Create the pipe.COMMENT
MEDIUMwin32/test/test_win32file.py439 # Create an IOCP and associate it with the handle.COMMENT
MEDIUMwin32/scripts/pywin32_postinstall.py76# Create a function with the same signature as create_shortcutCOMMENT
MEDIUMwin32/scripts/pywin32_postinstall.py499 # Create the win32com\gen_py directory.COMMENT
MEDIUMwin32/scripts/setup_d.py88 # Create the debug key.COMMENT
MEDIUMwin32/Lib/pywin32_testutil.py180 # This module is typically always in the installed dir, so use argv[0]COMMENT
MEDIUMwin32/Lib/win32gui_struct.py8# This module defines some helpers for the commonly used structures.COMMENT
MEDIUMwin32/Lib/win32gui_struct.py175 # Create the struct.COMMENT
MEDIUMwin32/Lib/win32gui_struct.py324 # Create the struct.COMMENT
MEDIUMwin32/Lib/win32evtlogutil.py41 # Create a new key for our applicationCOMMENT
MEDIUMwin32/Lib/regcheck.py1# This module is very old and useless in this day and age! It will beCOMMENT
MEDIUMwin32/Demos/win32gui_taskbar.py37 # Create the Window.COMMENT
MEDIUMwin32/Demos/win32gui_menu.py95 # Create the Window.COMMENT
MEDIUMwin32/Demos/win32gui_menu.py173 # Create a top-level menu with a bitmapCOMMENT
MEDIUMwin32/Demos/win32gui_menu.py250 # Create a sub-menu, and put a few funky ones there.COMMENT
MEDIUMwin32/Demos/win32gui_dialog.py409 # Create the window via CreateDialogBoxIndirect - it can thenCOMMENT
MEDIUMwin32/Demos/security/set_file_audit.py75## Create a file in the dir and add some specific permissions to itCOMMENT
MEDIUMwin32/Demos/service/pipeTestService.py54 # Create a security object giving World read/write access,COMMENT
MEDIUMwin32/Demos/service/pipeTestService.py75 # Create a loop, reading large data. If we knew the data stream wasCOMMENT
MEDIUMcom/win32comext/axscript/client/framework.py265 # Create an event handler for the item.COMMENT
MEDIUMcom/win32comext/shell/demos/explorer_browser.py56 # Create the Window.COMMENT
MEDIUMcom/win32comext/adsi/demos/test.py103 # Create a list of names to fetchCOMMENT
MEDIUMcom/win32comext/adsi/demos/objectPicker.py13 # Create an instance of the object picker.COMMENT
MEDIUMcom/win32comext/adsi/demos/scp.py132# This function is described in detail in the MSDN article titledCOMMENT
MEDIUMcom/win32comext/adsi/demos/scp.py324 # Create a Service Principal Name"COMMENT
MEDIUMcom/help/adsi.html179 # Create the Global Providers objectCOMMENT
MEDIUMcom/win32com/test/testADOEvents.py64 # Create the ADO connection object, and link the eventCOMMENT
MEDIUMcom/win32com/test/testPyComTest.py82# The following class has the same GUID as TestStruct2 from the TypeLibrary.COMMENT
MEDIUMcom/win32com/test/testPyComTest.py528 # Create an instance of a Record type with a nested Record field.COMMENT
MEDIUMcom/win32com/test/testPyComTest.py541 # Create a seperate instance of the nested Record type.COMMENT
MEDIUMcom/win32com/test/testPyComTest.py565 # Create a nested 3 dimensional tuple of COM Records.COMMENT
MEDIUMcom/win32com/test/testPyComTest.py577 # Create an instance of a COM Record that has a member of typeCOMMENT
MEDIUMcom/win32com/test/testPyComTest.py638 # Create an instance of the server.COMMENT
MEDIUMcom/win32com/test/testPyComTest.py818 # Create a connection object.COMMENT
MEDIUMcom/win32com/test/testPyComTest.py1046 # Create a local serverCOMMENT
MEDIUMcom/win32com/test/testAccess.py51 # Create a second test table.COMMENT
10 more matches not shown…
Deep Nesting181 hits · 177 pts
SeverityFileLineSnippetContext
LOWsetup.py408CODE
LOWAutoDuck/makedfromi.py34CODE
LOWAutoDuck/makedfromi.py142CODE
LOWAutoDuck/document_object.py9CODE
LOWAutoDuck/Dump2HHC.py94CODE
LOWAutoDuck/py2d.py94CODE
LOWpythonwin/pywin/idle/CallTips.py117CODE
LOWpythonwin/pywin/idle/AutoIndent.py93CODE
LOWpythonwin/pywin/idle/AutoIndent.py195CODE
LOWpythonwin/pywin/idle/AutoIndent.py514CODE
LOWpythonwin/pywin/idle/PyParse.py226CODE
LOWpythonwin/pywin/idle/PyParse.py504CODE
LOWpythonwin/pywin/tools/hierlist.py198CODE
LOWpythonwin/pywin/tools/browser.py23CODE
LOWpythonwin/pywin/tools/browseProjects.py123CODE
LOWpythonwin/pywin/framework/scriptutils.py172CODE
LOWpythonwin/pywin/framework/scriptutils.py213CODE
LOWpythonwin/pywin/framework/scriptutils.py653CODE
LOWpythonwin/pywin/framework/sgrepmdi.py44CODE
LOWpythonwin/pywin/framework/sgrepmdi.py288CODE
LOWpythonwin/pywin/framework/app.py162CODE
LOWpythonwin/pywin/framework/intpyapp.py166CODE
LOWpythonwin/pywin/framework/intpyapp.py270CODE
LOWpythonwin/pywin/framework/help.py32CODE
LOWpythonwin/pywin/framework/help.py80CODE
LOWpythonwin/pywin/framework/interact.py144CODE
LOWpythonwin/pywin/framework/interact.py232CODE
LOWpythonwin/pywin/framework/interact.py519CODE
LOWpythonwin/pywin/framework/editor/document.py54CODE
LOWpythonwin/pywin/framework/editor/document.py352CODE
LOWpythonwin/pywin/framework/editor/editor.py246CODE
LOWpythonwin/pywin/framework/editor/editor.py296CODE
LOWpythonwin/pywin/framework/editor/color/coloreditor.py355CODE
LOWpythonwin/pywin/framework/editor/color/coloreditor.py367CODE
LOWpythonwin/pywin/framework/editor/color/coloreditor.py441CODE
LOWpythonwin/pywin/scintilla/formatter.py468CODE
LOWpythonwin/pywin/scintilla/formatter.py487CODE
LOWpythonwin/pywin/scintilla/config.py81CODE
LOWpythonwin/pywin/scintilla/config.py173CODE
LOWpythonwin/pywin/scintilla/IDLEenvironment.py229CODE
LOWpythonwin/pywin/scintilla/IDLEenvironment.py106CODE
LOWpythonwin/pywin/scintilla/view.py129CODE
LOWpythonwin/pywin/scintilla/view.py464CODE
LOWpythonwin/pywin/scintilla/view.py562CODE
LOWpythonwin/pywin/scintilla/view.py643CODE
LOWpythonwin/pywin/scintilla/document.py163CODE
LOWpythonwin/pywin/scintilla/find.py78CODE
LOWpythonwin/pywin/docking/DockingBar.py311CODE
LOWpythonwin/pywin/docking/DockingBar.py381CODE
LOWpythonwin/pywin/docking/DockingBar.py457CODE
LOWpythonwin/pywin/docking/DockingBar.py500CODE
LOWpythonwin/pywin/debugger/debugger.py367CODE
LOWpythonwin/pywin/debugger/debugger.py386CODE
LOWpythonwin/pywin/debugger/debugger.py729CODE
LOWpythonwin/pywin/debugger/debugger.py864CODE
LOWwin32/test/test_win32wnet.py57CODE
LOWwin32/test/testall.py37CODE
LOWwin32/test/test_win32trace.py205CODE
LOWwin32/test/test_win32trace.py317CODE
LOWwin32/test/test_win32file.py992CODE
121 more matches not shown…
Unused Imports150 hits · 146 pts
SeverityFileLineSnippetContext
LOWsetup.py1CODE
LOWpythonwin/pywin/tools/hierlist.py15CODE
LOWpythonwin/pywin/framework/cmdline.py5CODE
LOWpythonwin/pywin/framework/app.py7CODE
LOWpythonwin/pywin/framework/intpydde.py12CODE
LOWpythonwin/pywin/framework/intpydde.py12CODE
LOWpythonwin/pywin/framework/editor/__init__.py103CODE
LOWpythonwin/pywin/scintilla/formatter.py22CODE
LOWpythonwin/pywin/scintilla/config.py27CODE
LOWpythonwin/pywin/scintilla/keycodes.py3CODE
LOWpythonwin/pywin/scintilla/bindings.py1CODE
LOWpythonwin/pywin/scintilla/bindings.py9CODE
LOWpythonwin/pywin/scintilla/find.py2CODE
LOWpythonwin/pywin/debugger/debugger.py29CODE
LOWisapi/install.py5CODE
LOWisapi/simple.py11CODE
LOWisapi/test/extension_simple.py99CODE
LOWisapi/test/extension_simple.py20CODE
LOWisapi/samples/advanced.py24CODE
LOWisapi/samples/advanced.py188CODE
LOWisapi/samples/redirector.py29CODE
LOWisapi/samples/redirector.py101CODE
LOWisapi/samples/redirector_asynch.py17CODE
LOWisapi/samples/redirector_asynch.py70CODE
LOWisapi/samples/redirector_with_filter.py46CODE
LOWisapi/samples/redirector_with_filter.py143CODE
LOWisapi/samples/test.py13CODE
LOWisapi/samples/test.py165CODE
LOWwin32/winxpgui.py8CODE
LOWwin32/winxpgui.py11CODE
LOWwin32/test/testall.py133CODE
LOWwin32/scripts/h2py.py34CODE
LOWwin32/scripts/ControlService.py32CODE
LOWwin32/Lib/pywin32_testutil.py3CODE
LOWwin32/Lib/win2kras.py12CODE
LOWwin32/Lib/afxres.py3CODE
LOWwin32/Lib/win32rcparser.py11CODE
LOWwin32/Lib/win32pdhutil.py21CODE
LOWwin32/Lib/_win32verstamp_pywin32ctypes.py21CODE
LOWwin32/Lib/winxptheme.py8CODE
LOWwin32/Lib/win32timezone.py240CODE
LOWwin32/Lib/win32timezone.py263CODE
LOWwin32/Lib/netbios.py1CODE
LOWwin32/Demos/EvtSubscribe_push.py2CODE
LOWwin32/Demos/dde/ddeclient.py3CODE
LOWwin32/Demos/win32wnet/testwnet.py5CODE
LOWwin32/Demos/service/pipeTestService.py27CODE
LOWwin32/Demos/service/pipeTestService.py28CODE
LOWwin32/Demos/service/pipeTestService.py29CODE
LOWwin32/Demos/service/pipeTestService.py30CODE
LOWwin32/Demos/service/pipeTestService.py31CODE
LOWwin32/Demos/service/nativePipeTestService.py41CODE
LOWwin32/Demos/service/pipeTestServiceClient.py13CODE
LOWwin32/Demos/service/pipeTestServiceClient.py19CODE
LOWwin32/Demos/service/pipeTestServiceClient.py20CODE
LOWwin32/Demos/service/pipeTestServiceClient.py21CODE
LOWcom/win32comext/axscript/client/error.py7CODE
LOWcom/win32comext/axscript/client/framework.py10CODE
LOWcom/win32comext/axscript/client/scriptdispatch.py8CODE
LOWcom/win32comext/axscript/client/pyscript_rexec.py10CODE
90 more matches not shown…
Excessive Try-Catch Wrapping67 hits · 96 pts
SeverityFileLineSnippetContext
LOWpythonwin/pywin/default.cfg199 except Exception:CODE
LOWpythonwin/pywin/test/test_pywin.py295 except Exception as e:CODE
MEDIUMpythonwin/pywin/test/test_pywin.py269def OnPaint(self):CODE
LOWpythonwin/pywin/test/_exetestscript.py48except Exception:CODE
MEDIUMpythonwin/pywin/framework/intpydde.py34 print("Error executing DDE command.")CODE
MEDIUMpythonwin/pywin/framework/editor/document.py284 print("Error loading source control module.")CODE
MEDIUMpythonwin/pywin/scintilla/formatter.py210 print("Error loading style data for", style.name)CODE
MEDIUMpythonwin/pywin/scintilla/config.py244 print(f"Error in {self.filename}: {msg}")CODE
LOWpythonwin/pywin/Demos/guidemo.py30 except Exception as error:CODE
MEDIUMpythonwin/pywin/Demos/guidemo.py27def _exec_demo(cmd):CODE
MEDIUMpythonwin/pywin/Demos/ocx/ocxserialtest.py119 print("Error closing port - %s" % (details.excepinfo[2]))CODE
LOWwin32/test/test_win32cred.py25 except Exception as e:CODE
MEDIUMwin32/scripts/pywin32_postinstall.py64def get_root_hkey():CODE
LOW⚡win32/scripts/pywin32_postinstall.py555 except Exception as why:CODE
LOW⚡win32/scripts/pywin32_postinstall.py560 except Exception as why:CODE
LOW⚡win32/scripts/pywin32_postinstall.py568 except Exception as why:CODE
LOWwin32/scripts/pywin32_postinstall.py468 except Exception:CODE
LOWwin32/scripts/pywin32_postinstall.py479 except Exception:CODE
LOWwin32/scripts/pywin32_postinstall.py492 except Exception:CODE
LOWwin32/scripts/pywin32_postinstall.py534 except Exception as details:CODE
LOWwin32/scripts/pywin32_postinstall.py597 except Exception as why:CODE
LOWwin32/scripts/pywin32_postinstall.py608 except Exception as why:CODE
LOWwin32/scripts/pywin32_postinstall.py627 except Exception:CODE
LOWwin32/scripts/pywin32_postinstall.py631 except Exception as why:CODE
MEDIUMwin32/scripts/setup_d.py63 print(f"Error copying '{src}' -> '{dest}'")CODE
MEDIUMwin32/scripts/rasutil.py30 print("Error: The password is not saved for this connection")CODE
MEDIUMwin32/Lib/win32serviceutil.py780 print("Error starting service: %s" % exc.strerror)CODE
MEDIUMwin32/Lib/win32serviceutil.py870 print("Error installing service: %s" % str(msg))CODE
MEDIUMwin32/Lib/win32serviceutil.py935 print("Error removing service: %s (%d)" % (exc.strerror, exc.winerror))CODE
MEDIUMwin32/Lib/win32serviceutil.py946 print("Error stopping service: %s (%d)" % (exc.strerror, exc.winerror))CODE
LOWwin32/Demos/EvtFormatMessage.py60 except Exception:CODE
LOWwin32/Demos/EvtFormatMessage.py68 except Exception:CODE
MEDIUMwin32/Demos/security/sspi/fetch_url.py115 print("Error text")CODE
MEDIUMwin32/Demos/service/pipeTestService.py151 print("Error connecting pipe!", details)CODE
MEDIUMcom/win32comext/axscript/test/testHost4Dbg.py15 print("An error occurred in the Script Code")CODE
MEDIUMcom/win32comext/bits/test/test_bits.py69 print("Error details:")CODE
MEDIUMcom/help/adsi.html192 print("Error deleting "+login, sys.exc_type , sys.exc_value)CODE
LOWcom/win32com/test/testall.py208 except Exception as error:CODE
LOWcom/win32com/test/testall.py246 except Exception as error:CODE
LOWcom/win32com/test/testPyComTest.py683 except Exception as e:CODE
MEDIUMcom/win32com/test/testPyComTest.py106def check_get_set_raises(exc, func, arg):CODE
LOWcom/win32com/test/testMSOffice.py43 except Exception as e:CODE
LOWcom/win32com/test/testMSOffice.py53 except Exception as e:CODE
LOWcom/win32com/test/testMSOffice.py162 except Exception as e:CODE
LOWcom/win32com/test/testMSOffice.py176 except Exception as e:CODE
MEDIUMcom/win32com/test/testMSOffice.py19def TestWord():CODE
MEDIUMcom/win32com/test/testMSOffice.py96def TestWord8OldStyle():CODE
MEDIUMcom/win32com/server/register.py613 print("Error: registration failed (exit code %s)." % exit_code)CODE
LOWcom/win32com/client/__init__.py508 except Exception as e:CODE
MEDIUMcom/win32com/client/__init__.py234def _event_setattr_(self, attr, val):CODE
MEDIUMcom/win32com/client/dynamic.py426 debug_print("Error building OLE definition for code ", methodCode)CODE
LOWcom/win32com/demos/excelRTDServer.py150 except Exception as why:CODE
LOWcom/win32com/demos/excelRTDServer.py390 except Exception as E:CODE
MEDIUMadodbapi/adodbapi.py465 print("Error: %s %s " % (e.Number, adc.adoErrors.get(e.Number, "unknown")))CODE
MEDIUMadodbapi/adodbapi.py66def make_COM_connecter():CODE
MEDIUMadodbapi/adodbapi.py490def __del__(self):CODE
LOWadodbapi/adodbapi.py94 except Exception as e:CODE
LOWadodbapi/adodbapi.py252 except Exception as e:CODE
LOWadodbapi/adodbapi.py337 except Exception as e:CODE
LOWadodbapi/adodbapi.py367 except Exception as e:CODE
7 more matches not shown…
AI Slop Vocabulary26 hits · 46 pts
SeverityFileLineSnippetContext
MEDIUMruff.toml25 # Ensure modern type annotation syntax and best practicesCOMMENT
MEDIUMpythonwin/pywin/idle/PyParse.py52# so that we're robust in the face of incomplete program text.STRING
LOWpythonwin/pywin/framework/winout.py464 # First interrupt since idle we just pass on.COMMENT
LOWpythonwin/pywin/framework/dbgcommands.py114 # If I have a debugger, then tell it, otherwise just add a markerCOMMENT
LOWpythonwin/pywin/framework/intpyapp.py500 # Now simply add the pages, and display the dialog.COMMENT
LOWpythonwin/pywin/framework/editor/color/coloreditor.py261 # Don't want smart-tabs - just set the options!COMMENT
MEDIUMisapi/isapicon.py13# Blackdog Software not be used in advertising or publicity pertaining toCOMMENT
MEDIUMisapi/threaded_extension.py61# may leverage the CompletionPort to queue their own requests, and implement aCOMMENT
MEDIUMisapi/install.py563 # Be robust should IIS get upset about unloading.COMMENT
LOWwin32/Demos/win32comport_demo.py70 # just return 0 for the status flags. We only care that it has _any_ statusCOMMENT
LOWwin32/Demos/win32comport_demo.py131 # XXX - note we could _probably_ just use overlapped IO on the win32file.ReadFile() statementCOMMENT
LOWwin32/Demos/security/sspi/socket_server.py42 # So just return the repr(), and avoid codecs completely.COMMENT
LOWcom/win32comext/axscript/client/framework.py1229 # I think that in some cases this should just return - but the codeCOMMENT
LOWcom/win32comext/shell/shellcon.py873ASSOCSTR_DDEIFEXEC = 8 # DDECOMMAND to use if just create a processCODE
LOWcom/win32comext/shell/demos/servers/folder_view.py271 # todo - just return any ".ico that comes with python" + ",0" :)COMMENT
LOWcom/win32comext/shell/demos/servers/folder_view.py284 # If no function defined - just return S_OKCOMMENT
LOWcom/win32comext/shell/demos/servers/folder_view.py660 # just return the dxi - let Python QI for IID_IExtractIconWCOMMENT
LOWcom/win32comext/ifilter/demos/filterDemo.py92 # attempt to map each property to a more user friendly name. If we don't know what it is just reCOMMENT
LOWcom/win32com/test/testvb.py345 # This time, we just pass Unicode, so the result should compare equalCOMMENT
MEDIUMcom/win32com/test/testIterators.py75 # Our VB test harness exposes a property with IEnumVariant.COMMENT
LOWcom/win32com/server/dispatcher.py238except ImportError: # no win32trace module - just use a print based one.CODE
LOWcom/win32com/server/policy.py662 # just set the attributeCOMMENT
LOWcom/win32com/client/build.py704 # resolution, so just use a 'timetuple' here.COMMENT
LOWcom/win32com/client/dynamic.py116 # So it's a FUNCDESC - just use what it specifies.COMMENT
MEDIUMcom/win32com/demos/excelRTDServer.py21# pertaining to distribution of the software without specific, writtenCOMMENT
LOWcom/win32com/demos/excelRTDServer.py391 # We could simply return a "# ERROR" type string as theCOMMENT
Cross-File Repetition9 hits · 45 pts
SeverityFileLineSnippetContext
HIGHpythonwin/pywin/Demos/demoutils.py0\ this demo program is not designed to be run as a script, but is probably used by some other test program. please try aSTRING
HIGHpythonwin/pywin/Demos/app/demoutils.py0\ this demo program is not designed to be run as a script, but is probably used by some other test program. please try aSTRING
HIGHpythonwin/pywin/Demos/ocx/demoutils.py0\ this demo program is not designed to be run as a script, but is probably used by some other test program. please try aSTRING
HIGHpythonwin/pywin/Demos/demoutils.py0\ this demo program can only be run from inside of pythonwin you must start pythonwin, and select 'run' from the toolbarSTRING
HIGHpythonwin/pywin/Demos/app/demoutils.py0\ this demo program can only be run from inside of pythonwin you must start pythonwin, and select 'run' from the toolbarSTRING
HIGHpythonwin/pywin/Demos/ocx/demoutils.py0\ this demo program can only be run from inside of pythonwin you must start pythonwin, and select 'run' from the toolbarSTRING
HIGHpythonwin/pywin/Demos/demoutils.py0\ this demo program is a 'pythonwin application'. it is more demo code than an example of pythonwin's capabilities. to rSTRING
HIGHpythonwin/pywin/Demos/app/demoutils.py0\ this demo program is a 'pythonwin application'. it is more demo code than an example of pythonwin's capabilities. to rSTRING
HIGHpythonwin/pywin/Demos/ocx/demoutils.py0\ this demo program is a 'pythonwin application'. it is more demo code than an example of pythonwin's capabilities. to rSTRING
Dead Code13 hits · 26 pts
SeverityFileLineSnippetContext
MEDIUMpythonwin/pywin/tools/regedit.py314CODE
MEDIUMpythonwin/pywin/tools/browser.py451CODE
MEDIUMpythonwin/pywin/Demos/objdoc.py39CODE
MEDIUMcom/win32comext/axscript/client/framework.py1272CODE
MEDIUMcom/win32comext/axscript/client/framework.py1274CODE
MEDIUMcom/win32comext/axscript/client/framework.py1275CODE
MEDIUMcom/win32comext/axscript/client/framework.py1287CODE
MEDIUMcom/win32comext/axscript/client/framework.py1288CODE
MEDIUMcom/win32com/test/errorSemantics.py195CODE
MEDIUMcom/win32com/test/errorSemantics.py196CODE
MEDIUMcom/win32com/test/errorSemantics.py197CODE
MEDIUMcom/win32com/makegw/makegwparse.py155CODE
MEDIUMcom/win32com/makegw/makegwparse.py156CODE
Slop Phrases10 hits · 24 pts
SeverityFileLineSnippetContext
MEDIUMpythonwin/pywin/framework/app.py275 # It all still works, tho, so if you need similar functionality, you can use it.COMMENT
MEDIUMpythonwin/pywin/Demos/dlgtest.py41 # And just for demonstration purposes, we hook the notify message for the dialog.COMMENT
MEDIUMpythonwin/pywin/Demos/dlgtest.py64# We only make a new class for demonstration purposes.COMMENT
MEDIUMisapi/__init__.py35# This means you can change your code without restarting IIS.COMMENT
LOWwin32/Demos/service/nativePipeTestService.py12# So in short, please make sure you *really* want to do this, otherwise justCOMMENT
MEDIUMcom/win32comext/mapi/demos/mapisend.py56 # note: you can use the resolveaddress functions for this. but you may get headachesCOMMENT
LOWcom/win32comext/taskscheduler/test/test_addtask_2.py37tt.Flags = 0 ## flags for a new trigger default to TASK_TRIGGER_FLAG_DISABLED (4), make sure to clear them if not usingCODE
MEDIUMcom/win32com/HTML/QuickStartServerCom.html40</CODE><P>This is obviously a very simple server. In particular, custom error handling would be needed for a production CODE
MEDIUMcom/win32com/client/__init__.py683# which it would get from a Python integer), you can use this to force aCOMMENT
MEDIUMcom/win32com/demos/excelRTDServer.py187 But this works for demonstration purposes."""STRING
Synthetic Comment Markers3 hits · 22 pts
SeverityFileLineSnippetContext
HIGHpythonwin/win32win.cpp1656// is already the same as requested and no change was made.COMMENT
HIGHpythonwin/win32win.cpp1687// is already the same as requested and no change was made.COMMENT
HIGHwin32/src/win32credmodule.cpp78 // PyUnicode_AsWideChar copies exactly as many chars as requested andCOMMENT
Hyper-Verbose Identifiers20 hits · 20 pts
SeverityFileLineSnippetContext
LOWsetup.py408 def _why_cant_build_extension(self, ext):CODE
LOWsetup.py2153def convert_optional_data_files(files):CODE
LOWpythonwin/pywin/idle/CallTips.py63 def check_calltip_cancel_event(self, event):CODE
LOWpythonwin/pywin/idle/AutoIndent.py289 def _build_char_in_string_func(self, startindex):CODE
LOWpythonwin/pywin/idle/PyParse.py583 def get_last_open_bracket_pos(self):STRING
LOWwin32/test/test_odbc.py128 def test_insert_select_unicode(self, userid="Frank", username="Frank Millman"):CODE
LOWwin32/test/test_odbc.py157 def test_insert_select_unicode_ext(self):CODE
LOWwin32/test/test_odbc.py250 def test_set_zero_length_unicode(self):CODE
LOWwin32/test/test_win32print.py14 def test_printer_levels_read_dummy(self):CODE
LOWwin32/test/test_win32file.py804 def test_connect_with_payload(self):CODE
LOWwin32/test/test_win32file.py839 def test_connect_without_payload(self):CODE
LOWwin32/Lib/win32pdhutil.py35def find_pdh_counter_localized_name(english_name, machine_name=None):CODE
LOWwin32/Lib/win32timezone.py865 def _get_indexed_time_zone_keys(index_key="Index"):CODE
LOWwin32/Lib/win32timezone.py883 def get_sorted_time_zone_names() -> list[str]:CODE
LOWcom/win32comext/axscript/client/debug.py120 def _query_interface_for_debugger_(self, iid):CODE
LOWcom/win32comext/shell/test/testShellItem.py47 def test_create_in_known_folder(self):CODE
LOWcom/win32comext/shell/test/testShellItem.py53 def test_create_item_with_parent(self):CODE
LOWcom/win32com/client/build.py641def demunge_leading_underscores(className):CODE
LOWcom/win32com/client/__init__.py267def __get_disp_and_event_classes(dispatch):CODE
LOWadodbapi/test/tryconnection.py21def try_operation_with_expected_exception(CODE
Redundant / Tautological Comments11 hits · 18 pts
SeverityFileLineSnippetContext
LOWpythonwin/pywin/scintilla/view.py703 # Check if we are beyond the end.COMMENT
LOWwin32/test/test_win32file.py129 h = None # Close the file by removing the last reference to the handle!CODE
LOWwin32/Demos/win32fileDemo.py20 # Open the file for writing.COMMENT
LOWcom/win32comext/shell/demos/servers/shell_view.py66# Set this to 1 to cause debug version to be registered and used. A debugCOMMENT
LOW⚡com/win32comext/adsi/demos/scp.py184 # Set AceFlags to zero because ACE is not inheritable.COMMENT
LOW⚡com/win32comext/adsi/demos/scp.py187 # Set Flags to indicate an ACE that protects a specified object.COMMENT
LOW⚡com/win32comext/adsi/demos/scp.py190 # Set ObjectType to the schemaIDGUID of the attribute.COMMENT
LOWcom/win32com/test/testMSOffice.py23 # Check if any property needed by TestWord7 is not NoneCOMMENT
LOWcom/win32com/client/build.py291 # Check if the element is hidden.COMMENT
LOWcom/win32com/client/build.py412 # Check if we have byrefs or anything in the args which mean we still need a translate.COMMENT
LOWcom/win32com/demos/excelRTDServer.py356 # Check if any of our topics have new info to pass onCOMMENT
AI Structural Patterns14 hits · 14 pts
SeverityFileLineSnippetContext
LOWsetup.py117CODE
LOWpythonwin/pywin/framework/winout.py335CODE
LOWpythonwin/pywin/scintilla/view.py725CODE
LOWpythonwin/pywin/Demos/app/customprint.py87CODE
LOWwin32/Lib/win32serviceutil.py207CODE
LOWwin32/Lib/win32serviceutil.py277CODE
LOWwin32/Lib/win32gui_struct.py102CODE
LOWwin32/Lib/win32gui_struct.py558CODE
LOWwin32/Demos/winprocess.py50CODE
LOWcom/win32comext/axscript/client/pyscript.py434CODE
LOWcom/win32comext/shell/demos/servers/shell_view.py155CODE
LOWcom/win32comext/shell/demos/servers/shell_view.py191CODE
LOWcom/win32com/test/testPersist.py42CODE
LOWcom/win32com/server/register.py151CODE
Decorative Section Separators4 hits · 12 pts
SeverityFileLineSnippetContext
MEDIUMisapi/isapicon.py3# ======================================================================COMMENT
MEDIUMisapi/isapicon.py24# ======================================================================COMMENT
MEDIUMadodbapi/apibase.py290# ------------------------------------------------------------------------------------------COMMENT
MEDIUMadodbapi/apibase.py400# ------------------------------------------------------------------------COMMENT
Cross-Language Confusion2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHwin32/Lib/win32rcparser.py563 # print(control.toString())COMMENT
HIGHcom/win32com/makegw/makegwenum.py89 if ( HRESULT_CODE(hr) != ERROR_NO_MORE_ITEMS && FAILED(hr) )STRING
Cross-Language Confusion (JS/TS)2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHcom/win32com/test/testPyScriptlet.js9 print("***** testPyScriptlet.js failed *****");CODE
HIGHcom/win32com/test/testPyScriptlet.js10 print(msg);CODE
Structural Annotation Overuse2 hits · 3 pts
SeverityFileLineSnippetContext
LOWwin32/src/PySID.cpp298// NOTE: This function taken from KB Q131320.COMMENT
LOWcom/win32comext/shell/demos/servers/shell_view.py576 # NOTE: This function it *not* called each time the selection changes.COMMENT
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWcom/win32com/server/localserver.py12# Usage:COMMENT
TODO Padding1 hit · 2 pts
SeverityFileLineSnippetContext
LOWcom/win32com/demos/ietoolbar.py330 # TODO: implement reg settings for standard toolbar buttonCOMMENT