Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
101 changes: 90 additions & 11 deletions stubs/pywin32/_win32typing.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -881,6 +881,78 @@ class CryptBitBlob(TypedDict):
Data: ReadableBuffer
UnusedBits: int

@type_check_only
class IOInfo(TypedDict):
ReadOperationCount: int
WriteOperationCount: int
OtherOperationCount: int
ReadTransferCount: int
WriteTransferCount: int
OtherTransferCount: int

@type_check_only
class JobObjectBasicAccountingInformation(TypedDict):
TotalUserTime: int
TotalKernelTime: int
ThisPeriodTotalUserTime: int
ThisPeriodTotalKernelTime: int
TotalPageFaultCount: int
TotalProcesses: int
ActiveProcesses: int
TotalTerminatedProcesses: int

@type_check_only
class JobObjectBasicLimitInformation(TypedDict):
PerProcessUserTimeLimit: int
PerJobUserTimeLimit: int
LimitFlags: int
MinimumWorkingSetSize: int
MaximumWorkingSetSize: int
ActiveProcessLimit: int
Affinity: int
PriorityClass: int
SchedulingClass: int

@type_check_only
class InformationJob(TypedDict, total=False):
TotalUserTime: int
TotalKernelTime: int
ThisPeriodTotalUserTime: int
ThisPeriodTotalKernelTime: int
TotalPageFaultCount: int
TotalProcesses: int
ActiveProcesses: int
TotalTerminatedProcesses: int
PerProcessUserTimeLimit: int
PerJobUserTimeLimit: int
LimitFlags: int
MinimumWorkingSetSize: int
MaximumWorkingSetSize: int
ActiveProcessLimit: int
Affinity: int
PriorityClass: int
SchedulingClass: int
BasicInfo: JobObjectBasicAccountingInformation
IoInfo: IOInfo
BasicLimitInformation: JobObjectBasicLimitInformation
ProcessMemoryLimit: int
JobMemoryLimit: int
PeakProcessMemoryUsed: int
PeakJobMemoryUsed: int
EndOfJobTimeAction: int
UIRestrictionsClass: int
MemberLevel: int

@type_check_only
class ProfileInfo(TypedDict):
UserName: str
Flags: NotRequired[int]
ProfilePath: NotRequired[str | None]
DefaultPath: NotRequired[str | None]
ServerName: NotRequired[str | None]
PolicyPath: NotRequired[str | None]
Profile: NotRequired[int | PyHANDLE | None]

@final
class PyConsoleScreenBuffer:
def __new__(self, Handle) -> Self: ...
Expand Down Expand Up @@ -919,6 +991,12 @@ class PyConsoleScreenBuffer:
def Close(self) -> None: ...
def Detach(self) -> int: ...

@type_check_only
class ConsoleSelectionInfo(TypedDict):
Flags: int
SelectionAnchor: PyCOORD
Selection: PySMALL_RECT

@disjoint_base
class PyCredHandle:
def Detach(self): ...
Expand Down Expand Up @@ -2679,21 +2757,22 @@ class SERVICE_STATUS:
class TRACKMOUSEEVENT: ...
class WIN32_FIND_DATA: ...

class connection:
def setautocommit(self, c, /) -> None: ...
class odbcconn:
error: Incomplete
def setautocommit(self, c: bool | Literal[0, 1], /) -> None: ...
def commit(self) -> None: ...
def rollback(self) -> None: ...
def cursor(self) -> None: ...
def cursor(self) -> odbccur: ...
def close(self) -> None: ...

class cursor:
def close(self) -> None: ...
def execute(self, sql: str, arg, /): ...
def fetchone(self): ...
def fetchmany(self) -> list[Incomplete]: ...
def fetchall(self) -> list[Incomplete]: ...
def setinputsizes(self) -> None: ...
def setoutputsize(self) -> None: ...
class odbccur:
def close(self, *args: Unused) -> None: ...
def execute(self, sql: str, arg, /) -> int | None: ...
def fetchone(self, *args: Unused) -> tuple[Incomplete, ...] | None: ...
def fetchmany(self, rows: int = 1) -> list[tuple[Incomplete, ...]]: ...
def fetchall(self, *args: Unused) -> list[tuple[Incomplete, ...]]: ...
def setinputsizes(self, *args: Unused) -> None: ...
def setoutputsize(self, size: int) -> None: ...

class COMPONENT:
@property
Expand Down
2 changes: 1 addition & 1 deletion stubs/pywin32/win32/mmapfile.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ import _win32typing
from win32.lib.pywintypes import error as error

def mmapfile(
File, Name, MaximumSize: int = ..., FileOffset: int = ..., NumberOfBytesToMap: int = ...
File: str | None, Name: str | None, MaximumSize: int = 0, FileOffset: int = 0, NumberOfBytesToMap: int | None = None
) -> _win32typing.Pymmapfile: ...
39 changes: 19 additions & 20 deletions stubs/pywin32/win32/odbc.pyi
Original file line number Diff line number Diff line change
@@ -1,32 +1,31 @@
from _typeshed import Incomplete
from typing import ClassVar, Literal
from typing import ClassVar, Final

import _win32typing

def odbc(connectionString: str, /) -> _win32typing.connection: ...
def SQLDataSources(direction, /) -> tuple[Incomplete, Incomplete]: ...
def odbc(connectionString: str, /) -> _win32typing.odbcconn: ...
def SQLDataSources(direction: int, /) -> tuple[str, str] | None: ...

DATE: str
NUMBER: str
RAW: str
SQL_FETCH_ABSOLUTE: int
SQL_FETCH_FIRST: int
SQL_FETCH_FIRST_SYSTEM: int
SQL_FETCH_FIRST_USER: int
SQL_FETCH_LAST: int
SQL_FETCH_NEXT: int
SQL_FETCH_PRIOR: int
SQL_FETCH_RELATIVE: int
STRING: str
TYPES: tuple[Literal["STRING"], Literal["RAW"], Literal["NUMBER"], Literal["DATE"]]
STRING: Final = "STRING"
RAW: Final = "RAW"
NUMBER: Final = "NUMBER"
DATE: Final = "DATE"
TYPES: Final = ("STRING", "RAW", "NUMBER", "DATE")
SQL_FETCH_NEXT: Final[int]
SQL_FETCH_FIRST: Final[int]
SQL_FETCH_LAST: Final[int]
SQL_FETCH_PRIOR: Final[int]
SQL_FETCH_ABSOLUTE: Final[int]
SQL_FETCH_RELATIVE: Final[int]
SQL_FETCH_FIRST_USER: Final[int]
SQL_FETCH_FIRST_SYSTEM: Final[int]

class error(Exception):
__name__: ClassVar[str] = "odbcError"

# These all pretend to come from a module called "dbi", but that module doesn't exist
class dataError(Exception): ...
class integrityError(Exception): ...
class internalError(Exception): ...
class noError(Exception): ...
class opError(Exception): ...
class progError(Exception): ...
class integrityError(Exception): ...
class dataError(Exception): ...
class internalError(Exception): ...
17 changes: 10 additions & 7 deletions stubs/pywin32/win32/perfmon.pyi
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
from collections.abc import Sequence
from typing import Literal

import _win32typing

def LoadPerfCounterTextStrings(commandLine: str, /) -> None: ...
def UnloadPerfCounterTextStrings(commandLine: str, /) -> None: ...
def CounterDefinition() -> _win32typing.PyPERF_COUNTER_DEFINITION: ...
def ObjectType() -> _win32typing.PyPERF_OBJECT_TYPE: ...
def LoadPerfCounterTextStrings(cmdLine: str, bQuiet: bool | Literal[0, 1] = True, /) -> None: ...
def UnloadPerfCounterTextStrings(cmdLine: str, bQuiet: bool | Literal[0, 1] = True, /) -> None: ...
def CounterDefinition(titleIndex: int, /) -> _win32typing.PyPERF_COUNTER_DEFINITION: ...
def ObjectType(obCounters, /) -> _win32typing.PyPERF_OBJECT_TYPE: ...
def PerfMonManager(
serviceName: str,
seqPerfObTypes: list[_win32typing.PyPERF_OBJECT_TYPE],
mappingName: str | None = ...,
eventSourceName: str | None = ...,
seqPerfObTypes: Sequence[_win32typing.PyPERF_OBJECT_TYPE], # must have only 1 item
mappingName: str | None = None,
eventSourceName: str | None = None,
/,
) -> _win32typing.PyPerfMonManager: ...
52 changes: 28 additions & 24 deletions stubs/pywin32/win32/servicemanager.pyi
Original file line number Diff line number Diff line change
@@ -1,34 +1,38 @@
from _typeshed import Incomplete
from _typeshed import Incomplete, Unused
from collections.abc import Callable, Sequence
from typing import Final, Literal

def CoInitializeEx() -> None: ...
def CoInitializeEx(flags: int, /) -> int: ...
def CoUninitialize() -> None: ...
def RegisterServiceCtrlHandler(serviceName: str, callback, extra_args: bool = ..., /): ...
def LogMsg(errorType: int, eventId: int, inserts: tuple[str, str] | None = ..., /) -> None: ...
def RegisterServiceCtrlHandler(
serviceName: str, callback: Callable[..., Incomplete], extra_args: bool | Literal[0, 1] = False, /
) -> int | None: ...
def LogMsg(errorType: int, eventId: int, inserts: Sequence[str] | None = None, /) -> None: ...
def LogInfoMsg(msg: str, /) -> None: ...
def LogErrorMsg(msg: str, /) -> None: ...
def LogWarningMsg(msg: str, /) -> None: ...
def PumpWaitingMessages(firstMessage: int = ..., lastMessage: int = ..., /) -> int: ...
def Debugging(newVal: int = ..., /): ...
def Initialize(eventSourceName: str | None = ..., eventSourceFile: str | None = ..., /) -> None: ...
def PumpWaitingMessages(*args: Unused) -> int: ...
def Debugging(newVal: int = -1, /) -> bool: ...
def StartServiceCtrlDispatcher() -> None: ...
def Initialize(eventSourceName: str | None = None, eventSourceFile: str | None = None, /) -> None: ...
def Finalize() -> None: ...
def PrepareToHostSingle(klass: Incomplete | None = ..., /) -> None: ...
def PrepareToHostSingle(klass=None, /) -> None: ...
def PrepareToHostMultiple(service_name: str, klass, /) -> None: ...
def RunningAsService(): ...
def SetEventSourceName(sourceName: str, registerNow: bool = ..., /) -> None: ...
def StartServiceCtrlDispatcher(): ...
def RunningAsService() -> bool: ...
def SetEventSourceName(sourceName: str, registerNow: bool | Literal[0, 1] = False, /) -> None: ...

COINIT_APARTMENTTHREADED: int
COINIT_DISABLE_OLE1DDE: int
COINIT_MULTITHREADED: int
COINIT_SPEED_OVER_MEMORY: int
EVENTLOG_AUDIT_FAILURE: int
EVENTLOG_AUDIT_SUCCESS: int
EVENTLOG_ERROR_TYPE: int
EVENTLOG_INFORMATION_TYPE: int
EVENTLOG_WARNING_TYPE: int
PYS_SERVICE_STARTED: int
PYS_SERVICE_STARTING: int
PYS_SERVICE_STOPPED: int
PYS_SERVICE_STOPPING: int
COINIT_MULTITHREADED: Final = 0x0
COINIT_APARTMENTTHREADED: Final = 0x2
COINIT_DISABLE_OLE1DDE: Final = 0x4
COINIT_SPEED_OVER_MEMORY: Final = 0x8
PYS_SERVICE_STARTING: Final[int]
PYS_SERVICE_STARTED: Final[int]
PYS_SERVICE_STOPPING: Final[int]
PYS_SERVICE_STOPPED: Final[int]
EVENTLOG_ERROR_TYPE: Final = 0x0001
EVENTLOG_INFORMATION_TYPE: Final = 0x0004
EVENTLOG_WARNING_TYPE: Final = 0x0002
EVENTLOG_AUDIT_SUCCESS: Final = 0x0008
EVENTLOG_AUDIT_FAILURE: Final = 0x0010

class startup_error(Exception): ...
10 changes: 7 additions & 3 deletions stubs/pywin32/win32/timer.pyi
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
from _typeshed import Incomplete
from collections.abc import Callable
from typing import Final

from win32.lib.pywintypes import error as error

def set_timer(Elapse, TimerFunc, /): ...
def kill_timer(timer_id, /): ...
def set_timer(Elapse: int, TimerFunc: Callable[..., Incomplete], /) -> int: ...
def kill_timer(timer_id: int, /) -> bool: ...

__version__: bytes
__version__: Final[bytes]
93 changes: 49 additions & 44 deletions stubs/pywin32/win32/win32clipboard.pyi
Original file line number Diff line number Diff line change
@@ -1,48 +1,53 @@
from typing import Any, Final
from _typeshed import ReadableBuffer
from collections.abc import Iterable
from typing import Any, Final, Literal

import _win32typing
from win32.lib.pywintypes import error as error

def ChangeClipboardChain(hWndRemove: int, hWndNewNext: int, /): ...
def CloseClipboard(): ...
def CountClipboardFormats(): ...
def EmptyClipboard(): ...
def EnumClipboardFormats(_format: int = ..., /): ...
def GetClipboardData(_format, /) -> Any: ... # str or bytes depending on the dib format
def GetClipboardDataHandle(_format, /): ...
def GetClipboardFormatName(_format, /) -> str: ...
def GetClipboardOwner(): ...
def GetClipboardSequenceNumber(): ...
def GetClipboardViewer(): ...
def GetGlobalMemory(hglobal: int, /) -> str: ...
def GetOpenClipboardWindow(): ...
def GetPriorityClipboardFormat(formats, /): ...
def IsClipboardFormatAvailable(format: int, /) -> int: ...
def OpenClipboard(hWnd: int | None = ..., /): ...
def RegisterClipboardFormat(name: str, /): ...
def SetClipboardData(_format, hMem, /): ...
def SetClipboardText(text, _format, /): ...
def SetClipboardViewer(hWndNewViewer: int, /) -> int: ...
def ChangeClipboardChain(
hWndRemove: int | _win32typing.PyHANDLE | None, hWndNewNext: int | _win32typing.PyHANDLE | None, /
) -> Literal[0, 1]: ...
def CloseClipboard() -> None: ...
def CountClipboardFormats() -> int: ...
def EmptyClipboard() -> None: ...
def EnumClipboardFormats(format: int = 0, /) -> int: ...
def GetClipboardData(format: int = 13, /) -> Any: ... # int, tuple, str or bytes depending on the dib format
def GetClipboardDataHandle(format: int = 1, /) -> int: ...
def GetClipboardFormatName(format: int, /) -> str: ...
def GetClipboardOwner() -> int: ...
def GetClipboardSequenceNumber() -> int: ...
def GetClipboardViewer() -> int: ...
def GetGlobalMemory(hglobal: int | _win32typing.PyHANDLE | None, /) -> bytes: ...
def GetOpenClipboardWindow() -> int: ...
def GetPriorityClipboardFormat(formats: Iterable[int], /) -> int: ...
def IsClipboardFormatAvailable(format: int, /) -> Literal[0, 1]: ...
def OpenClipboard(hWnd: int | _win32typing.PyHANDLE | None = None, /) -> None: ...
def RegisterClipboardFormat(name: str, /) -> int: ...
def SetClipboardData(format: int, hMem: int | _win32typing.PyHANDLE | str | ReadableBuffer | None, /) -> int: ...
def SetClipboardText(text: str | bytes, format: int = 1, /) -> int: ...
def SetClipboardViewer(hWndNewViewer: int | _win32typing.PyHANDLE | None, /) -> int | None: ...

CF_BITMAP: Final[int]
CF_DIB: Final[int]
CF_DIBV5: Final[int]
CF_DIF: Final[int]
CF_DSPBITMAP: Final[int]
CF_DSPENHMETAFILE: Final[int]
CF_DSPMETAFILEPICT: Final[int]
CF_DSPTEXT: Final[int]
CF_ENHMETAFILE: Final[int]
CF_HDROP: Final[int]
CF_LOCALE: Final[int]
CF_MAX: Final[int]
CF_METAFILEPICT: Final[int]
CF_OEMTEXT: Final[int]
CF_OWNERDISPLAY: Final[int]
CF_PALETTE: Final[int]
CF_PENDATA: Final[int]
CF_RIFF: Final[int]
CF_SYLK: Final[int]
CF_TEXT: Final[int]
CF_TIFF: Final[int]
CF_UNICODETEXT: Final[int]
CF_WAVE: Final[int]
CF_TEXT: Final = 1
CF_BITMAP: Final = 2
CF_METAFILEPICT: Final = 3
CF_SYLK: Final = 4
CF_DIF: Final = 5
CF_TIFF: Final = 6
CF_OEMTEXT: Final = 7
CF_DIB: Final = 8
CF_PALETTE: Final = 9
CF_PENDATA: Final = 10
CF_RIFF: Final = 11
CF_WAVE: Final = 12
CF_UNICODETEXT: Final = 13
CF_ENHMETAFILE: Final = 14
CF_HDROP: Final = 15
CF_LOCALE: Final = 16
CF_DIBV5: Final = 17
CF_MAX: Final = 18
CF_OWNERDISPLAY: Final = 0x0080
CF_DSPTEXT: Final = 0x0081
CF_DSPBITMAP: Final = 0x0082
CF_DSPMETAFILEPICT: Final = 0x0083
CF_DSPENHMETAFILE: Final = 0x008E
Loading