Skip to main content

pywin32

CI PyPI - Version PyPI - Python Version PyPI - Downloads License - PSF-2.0


This is the readme for the Python for Win32 (pywin32) extensions, which provides access to many of the Windows APIs from Python, including COM support.

See CHANGES.txt for recent notable changes.

adodbapi's documentation can be found in: adodbapi/readme.txt

isapi's documentation can be found in: isapi/README.txt

Docs

The docs are a long and sad story, but there's now an online version of the PyWin32.chm helpfile (thanks @ofek!). Lots of that is very old, but some is auto-generated and current. Would love help untangling the docs!

You can get type hints, signatures and annotations from types-pywin32.

Support

Feel free to open issues for all bugs (or suspected bugs) in pywin32. pull-requests for all bugs or features are also welcome.

However, please do not open GitHub issues for general support requests, or for problems or questions using the modules in this package.
For pywin32 support requests, please start a discussion under the Q&A category. All non bug related issues will be converted into a discussion anyhow.
The python-win32 mailing list is still available for general Python on Windows help requests.

Type stubs currently live in typeshed. Any issue or request related to static type-checking and IntelliSense should be raised there.

Binaries

Binary releases are no longer supported.

Build 306 was the last with .exe installers. You really shouldn't use them, but if you really need them, find them here

Installing via PIP

You should install pywin32 via pip - eg,

python -m pip install --upgrade pywin32

There is a post-install script (see below) which should not be run inside virtual environments; it should only be run in "global" installs.

For unreleased changes, you can download builds made by GitHub actions - choose any "workflow" from the main branch and download its "artifacts"

Installing globally

Outside of a virtual environment you might want to install COM objects, services, etc. You can do this by executing:

python -m pywin32_postinstall -install

or (shorter but you don't have control over which python environment is used)

pywin32_postinstall -install

If you do this with normal permissions it will be global for your user (a few files will be copied to the root of your Python install and some changes made to HKCU). If you execute this from an elevated process, it will be global for the machine (files will be copied to System32, HKLM will be changed, etc)

Installing for MingGW/msys2

The folks at https://github.com/msys2/MINGW-packages/tree/master/mingw-w64-python-pywin32 are graciously keeping an updated set of patches to install pywin32 for MingGW/msys2.

We'd suggest installing from https://packages.msys2.org/base/mingw-w64-python-pywin32 pacman -S mingw-w64-python-pywin32.

We're open to seeing these patches be upstreamed in pywin32 if they can be tested automatically on the CI.

Running as a Windows Service

To run as a service, you probably want to install pywin32 globally from an elevated command prompt - see above.

You also need to ensure Python is installed in a location where the user running the service has access to the installation and is able to load pywintypesXX.dll and pythonXX.dll. In particular, the LocalSystem account typically will not have access to your local %USER% directory structure.

Troubleshooting

If you encounter any problems when upgrading like the following:

The specified procedure could not be found
Entry-point not found

It usually means one of 2 things:

  • You've upgraded an install where the post-install script was previously run. So you should run it again:

    python -m pywin32_postinstall -install
    

    or (shorter but you don't have control over which python environment is used)

    pywin32_postinstall -install
    

    This will make some small attempts to cleanup older conflicting installs.

  • There are other pywin32 DLLs installed in your system, but in a different location than the new ones. This sometimes happens in environments that come with pywin32 pre-shipped (eg, anaconda?).

    The possible solutions here are:

    • Run the "post_install" script documented above.
    • Otherwise, find and remove all other copies of pywintypesXX.dll and pythoncomXX.dll (where XX is the Python version - eg, "39")

Building from source

Install Visual Studio 2019 (later probably works, but options might be different), follow the instructions in Build environment for the version you install.

Then follow the Build instructions for the build itself (including ARM64 cross-compilation).

Release process

The following steps are performed when making a new release - this is mainly to form a checklist so @mhammond doesn't forget what to do :)

Since build 307 the release process is based on the artifacts created by Github actions.

  • Ensure CHANGES.txt has everything worth noting. Update the header to reflect the about-to-be released build and date, commit it.

  • Update setup.py with the new build number. Update CHANGES.txt to have a new heading section for the next unreleased version. (ie, a new, empty "Coming in build XXX, as yet unreleased" section)

  • Push these changes to GitHub, wait for the actions to complete, then download the artifacts from that run.

  • Upload .whl artifacts to pypi - we do this before pushing the tag because they might be rejected for an invalid README.md. Done via py -3.? -m twine upload dist/*XXX*.whl.

  • Create a new git tag for the release.

  • Update setup.py with the new build number + ".1" (eg, 123.1), to ensure future test builds aren't mistaken for the real release.

  • Make sure everything is pushed to GitHub, including the tag (ie, git push --tags)

  • Send mail to python-win32

Older Manual Release Process

This is the old process used when a local dev environment was used to create the builds. Build 306 was the last released with this process.

  • Ensure CHANGES.txt has everything worth noting. Update the header to reflect the about-to-be released build and date, commit it.

  • Update setup.py with the new build number.

  • Execute make_all.bat, wait forever, test the artifacts.

  • Upload .whl artifacts to pypi - we do this before pushing the tag because they might be rejected for an invalid README.md. Done via py -3.? -m twine upload dist/*XXX*.whl.

  • Commit setup.py (so the new build number is in the repo), create a new git tag

  • Upload the .exe installers to GitHub.

  • Update setup.py with the new build number + ".1" (eg, 123.1), to ensure future test builds aren't mistaken for the real release.

  • Make sure everything is pushed to GitHub, including the tag (ie, git push --tags)

  • Send mail to python-win32

Metadata

Release files for pywin32 311

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for pywin32 311
File
pywin32-311-cp314-cp314-win_arm64.whl CPython 3.14 CPython 3.14 Windows ARM64 Details
pywin32-311-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
pywin32-311-cp314-cp314-win32.whl CPython 3.14 CPython 3.14 Windows x86-32 Details
pywin32-311-cp313-cp313-win_arm64.whl CPython 3.13 CPython 3.13 Windows ARM64 Details
pywin32-311-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
pywin32-311-cp313-cp313-win32.whl CPython 3.13 CPython 3.13 Windows x86-32 Details
pywin32-311-cp312-cp312-win_arm64.whl CPython 3.12 CPython 3.12 Windows ARM64 Details
pywin32-311-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
pywin32-311-cp312-cp312-win32.whl CPython 3.12 CPython 3.12 Windows x86-32 Details
pywin32-311-cp311-cp311-win_arm64.whl CPython 3.11 CPython 3.11 Windows ARM64 Details
pywin32-311-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
pywin32-311-cp311-cp311-win32.whl CPython 3.11 CPython 3.11 Windows x86-32 Details
pywin32-311-cp310-cp310-win_arm64.whl CPython 3.10 CPython 3.10 Windows ARM64 Details
pywin32-311-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
pywin32-311-cp310-cp310-win32.whl CPython 3.10 CPython 3.10 Windows x86-32 Details
pywin32-311-cp39-cp39-win_arm64.whl CPython 3.9 CPython 3.9 Windows ARM64 Details
pywin32-311-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
pywin32-311-cp39-cp39-win32.whl CPython 3.9 CPython 3.9 Windows x86-32 Details
pywin32-311-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
pywin32-311-cp38-cp38-win32.whl CPython 3.8 CPython 3.8 Windows x86-32 Details

Total release size: 180.8 MB

Release files / pywin32-311-cp314-cp314-win_arm64.whl

Download URL pywin32-311-cp314-cp314-win_arm64.whl
Size 8.9 MB
Tags CPython 3.14 Windows ARM64
SHA-256 checksum
How to use checksums
a508e2d9025764a8270f93111a970e1d0fbfc33f4153b388bb649b7eec4f9b42
BLAKE2b-256 checksum
How to use checksums
c0d221af5c535501a7233e734b8af901574572da66fcc254cb35d0609c9080dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.3

Release files / pywin32-311-cp314-cp314-win_amd64.whl

Download URL pywin32-311-cp314-cp314-win_amd64.whl
Size 9.7 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
3aca44c046bd2ed8c90de9cb8427f581c479e594e99b5c0bb19b29c10fd6cb87
BLAKE2b-256 checksum
How to use checksums
904b07c77d8ba0e01349358082713400435347df8426208171ce297da32c313d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.3

Release files / pywin32-311-cp314-cp314-win32.whl

Download URL pywin32-311-cp314-cp314-win32.whl
Size 8.8 MB
Tags CPython 3.14 Windows x86-32
SHA-256 checksum
How to use checksums
b7a2c10b93f8986666d0c803ee19b5990885872a7de910fc460f9b0c2fbf92ee
BLAKE2b-256 checksum
How to use checksums
c931097f2e132c4f16d99a22bfb777e0fd88bd8e1c634304e102f313af69ace5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.3

Release files / pywin32-311-cp313-cp313-win_arm64.whl

Download URL pywin32-311-cp313-cp313-win_arm64.whl
Size 8.7 MB
Tags CPython 3.13 Windows ARM64
SHA-256 checksum
How to use checksums
7b4075d959648406202d92a2310cb990fea19b535c7f4a78d3f5e10b926eeb8a
BLAKE2b-256 checksum
How to use checksums
04bf90339ac0f55726dce7d794e6d79a18a91265bdf3aa70b6b9ca52f35e022a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.3

Release files / pywin32-311-cp313-cp313-win_amd64.whl

Download URL pywin32-311-cp313-cp313-win_amd64.whl
Size 9.5 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
718a38f7e5b058e76aee1c56ddd06908116d35147e133427e59a3983f703a20d
BLAKE2b-256 checksum
How to use checksums
e328e0a1909523c6890208295a29e05c2adb2126364e289826c0a8bc7297bd5c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.3

Release files / pywin32-311-cp313-cp313-win32.whl

Download URL pywin32-311-cp313-cp313-win32.whl
Size 8.7 MB
Tags CPython 3.13 Windows x86-32
SHA-256 checksum
How to use checksums
f95ba5a847cba10dd8c4d8fefa9f2a6cf283b8b88ed6178fa8a6c1ab16054d0d
BLAKE2b-256 checksum
How to use checksums
a5be3fd5de0979fcb3994bfee0d65ed8ca9506a8a1260651b86174f6a86f52b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.3

Release files / pywin32-311-cp312-cp312-win_arm64.whl

Download URL pywin32-311-cp312-cp312-win_arm64.whl
Size 8.7 MB
Tags CPython 3.12 Windows ARM64
SHA-256 checksum
How to use checksums
e286f46a9a39c4a18b319c28f59b61de793654af2f395c102b4f819e584b5852
BLAKE2b-256 checksum
How to use checksums
ba3a2ae996277b4b50f17d61f0603efd8253cb2d79cc7ae159468007b586396d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.3

Release files / pywin32-311-cp312-cp312-win_amd64.whl

Download URL pywin32-311-cp312-cp312-win_amd64.whl
Size 9.5 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
b8c095edad5c211ff31c05223658e71bf7116daa0ecf3ad85f3201ea3190d067
BLAKE2b-256 checksum
How to use checksums
d1a8a0e8d07d4d051ec7502cd58b291ec98dcc0c3fff027caad0470b72cfcc2f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.3

Release files / pywin32-311-cp312-cp312-win32.whl

Download URL pywin32-311-cp312-cp312-win32.whl
Size 8.7 MB
Tags CPython 3.12 Windows x86-32
SHA-256 checksum
How to use checksums
750ec6e621af2b948540032557b10a2d43b0cee2ae9758c54154d711cc852d31
BLAKE2b-256 checksum
How to use checksums
e7ab01ea1943d4eba0f850c3c61e78e8dd59757ff815ff3ccd0a84de5f541f42
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.3

Release files / pywin32-311-cp311-cp311-win_arm64.whl

Download URL pywin32-311-cp311-cp311-win_arm64.whl
Size 8.7 MB
Tags CPython 3.11 Windows ARM64
SHA-256 checksum
How to use checksums
a733f1388e1a842abb67ffa8e7aad0e70ac519e09b0f6a784e65a136ec7cefd2
BLAKE2b-256 checksum
How to use checksums
447b9c2ab54f74a138c491aba1b1cd0795ba61f144c711daea84a88b63dc0f6c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.3

Release files / pywin32-311-cp311-cp311-win_amd64.whl

Download URL pywin32-311-cp311-cp311-win_amd64.whl
Size 9.5 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
3ce80b34b22b17ccbd937a6e78e7225d80c52f5ab9940fe0506a1a16f3dab503
BLAKE2b-256 checksum
How to use checksums
518f9bb81dd5bb77d22243d33c8397f09377056d5c687aa6d4042bea7fbf8364
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.3

Release files / pywin32-311-cp311-cp311-win32.whl

Download URL pywin32-311-cp311-cp311-win32.whl
Size 8.7 MB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
184eb5e436dea364dcd3d2316d577d625c0351bf237c4e9a5fabbcfa5a58b151
BLAKE2b-256 checksum
How to use checksums
7caf449a6a91e5d6db51420875c54f6aff7c97a86a3b13a0b4f1a5c13b988de3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.3

Release files / pywin32-311-cp310-cp310-win_arm64.whl

Download URL pywin32-311-cp310-cp310-win_arm64.whl
Size 8.8 MB
Tags CPython 3.10 Windows ARM64
SHA-256 checksum
How to use checksums
0502d1facf1fed4839a9a51ccbcc63d952cf318f78ffc00a7e78528ac27d7a2b
BLAKE2b-256 checksum
How to use checksums
5738d290720e6f138086fb3d5ffe0b6caa019a791dd57866940c82e4eeaf2012
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.3

Release files / pywin32-311-cp310-cp310-win_amd64.whl

Download URL pywin32-311-cp310-cp310-win_amd64.whl
Size 9.6 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
797c2772017851984b97180b0bebe4b620bb86328e8a884bb626156295a63b3b
BLAKE2b-256 checksum
How to use checksums
5ebf360243b1e953bd254a82f12653974be395ba880e7ec23e3731d9f73921cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.3

Release files / pywin32-311-cp310-cp310-win32.whl

Download URL pywin32-311-cp310-cp310-win32.whl
Size 8.8 MB
Tags CPython 3.10 Windows x86-32
SHA-256 checksum
How to use checksums
d03ff496d2a0cd4a5893504789d4a15399133fe82517455e78bad62efbb7f0a3
BLAKE2b-256 checksum
How to use checksums
7b4044efbb0dfbd33aca6a6483191dae0716070ed99e2ecb0c53683f400a0b4f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.3

Release files / pywin32-311-cp39-cp39-win_arm64.whl

Download URL pywin32-311-cp39-cp39-win_arm64.whl
Size 8.8 MB
Tags CPython 3.9 Windows ARM64
SHA-256 checksum
How to use checksums
62ea666235135fee79bb154e695f3ff67370afefd71bd7fea7512fc70ef31e3d
BLAKE2b-256 checksum
How to use checksums
6022e0e8d802f124772cec9c75430b01a212f86f9de7546bda715e54140d5aeb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.3

Release files / pywin32-311-cp39-cp39-win_amd64.whl

Download URL pywin32-311-cp39-cp39-win_amd64.whl
Size 9.6 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
e0c4cfb0621281fe40387df582097fd796e80430597cb9944f0ae70447bacd91
BLAKE2b-256 checksum
How to use checksums
9f8a1403d0353f8c5a2f0829d2b1c4becbf9da2f0a4d040886404fc4a5431e4d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.3

Release files / pywin32-311-cp39-cp39-win32.whl

Download URL pywin32-311-cp39-cp39-win32.whl
Size 8.8 MB
Tags CPython 3.9 Windows x86-32
SHA-256 checksum
How to use checksums
aba8f82d551a942cb20d4a83413ccbac30790b50efb89a75e4f586ac0bb8056b
BLAKE2b-256 checksum
How to use checksums
5942b86689aac0cdaee7ae1c58d464b0ff04ca909c19bb6502d4973cdd9f9544
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.3

Release files / pywin32-311-cp38-cp38-win_amd64.whl

Download URL pywin32-311-cp38-cp38-win_amd64.whl
Size 9.6 MB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
c8015b09fb9a5e188f83b7b04de91ddca4658cee2ae6f3bc483f0b21a77ef6cd
BLAKE2b-256 checksum
How to use checksums
ff6c94c10268bae5d0d0c6509bdfb5aa08882d11a9ccdf89ff1cde59a6161afb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.3

Release files / pywin32-311-cp38-cp38-win32.whl

Download URL pywin32-311-cp38-cp38-win32.whl
Size 8.8 MB
Tags CPython 3.8 Windows x86-32
SHA-256 checksum
How to use checksums
6c6f2969607b5023b0d9ce2541f8d2cbb01c4f46bc87456017cf63b73f1e2d8c
BLAKE2b-256 checksum
How to use checksums
75206cd04d636a4c83458ecbb7c8220c13786a1a80d3f5fb568df39310e73e98
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.3

Release history Release notifications | RSS feed

312

21 release files

This release

311 This release

20 release files

310

16 release files

309

16 release files

308

18 release files

307

18 release files

306

14 release files

305

14 release files

304

14 release files

303

12 release files

302

10 release files

301

10 release files

300

10 release files

228

12 release files

227

12 release files

226

12 release files

225

12 release files

224

8 release files

223

8 release files

222

7 release files

214

210

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page