Python for Window Extensions
Project description
# pywin32
[![CI](https://github.com/mhammond/pywin32/workflows/CI/badge.svg)](https://github.com/mhammond/pywin32/actions?query=workflow%3ACI) [![PyPI - Version](https://img.shields.io/pypi/v/pywin32.svg)](https://pypi.org/project/pywin32) [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pywin32.svg)](https://pypi.org/project/pywin32) [![PyPI - Downloads](https://img.shields.io/pypi/dm/pywin32.svg)](https://pypi.org/project/pywin32) [![License - PSF-2.0](https://img.shields.io/badge/license-PSF–2.0-9400d3.svg)](https://spdx.org/licenses/PSF-2.0.html)
This is the readme for the Python for Win32 (pywin32) extensions, which provides access to many of the Windows APIs from Python.
See [CHANGES.txt](https://github.com/mhammond/pywin32/blob/master/CHANGES.txt) for recent notable changes.
Build 228 is the last build supporting Python 2, and as part of this transition, all code in the repository is now using Python 3 syntax. To highlight and celebrate this change, build 228 is the last numbered 2XX - the following build numbers start at 300.
In other words, there is no build 229 - the build numbers jump from 228 to 300.
As of build 222, pywin32 has a new home at [github](https://github.com/mhammond/pywin32). You can find build 221 and later on github and older versions can be found on the old project home at [sourceforge](https://sourceforge.net/projects/pywin32/)
A special shout-out to @xoviat who provided enormous help with the github move!
## Support
Feel free to [open issues](https://github.com/mhammond/pywin32/issues) for all bugs (or suspected bugs) in pywin32. [pull-requests](https://github.com/mhammond/pywin32/pulls) 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 - they will be closed. For such issues, please email the [python-win32 mailing list](http://mail.python.org/mailman/listinfo/python-win32) - note that you must be subscribed to the list before posting.
## Binaries By far the easiest way to use pywin32 is to grab binaries from the [most recent release](https://github.com/mhammond/pywin32/releases)
## Installing via PIP
You can install pywin32 via pip: > pip install pywin32
Note that if you want to use pywin32 for “system wide” features, such as registering COM objects or implementing Windows Services, then you must run the following command from an elevated command prompt:
> python Scripts/pywin32_postinstall.py -install
## Building from source
Building from source has been simplified recently - you just need Visual Studio and the Windows 10 SDK installed (the free compilers probably work too, but haven’t been tested - let me know your experiences!)
setup.py is a standard distutils build script. You probably want:
> python setup.py install
or
> python setup.py –help
You can run setup.py without any arguments to see specific information about dependencies. A vanilla MSVC installation should be able to build most extensions and list any extensions that could not be built due to missing libraries - if the build actually fails with your configuration, please [open an issue](https://github.com/mhammond/pywin32/issues).
## 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 :)
Ensure CHANGES.txt has everything worth noting, commit it.
Update setup.py with the new build number.
Execute build.bat, wait forever, test the artifacts.
Commit setup.py (so the new build number is in the repo), create a new git tag
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)
Upload the .exe installers to github (using the web UI), the .whl files to pypi (using py -3.5 -m twine upload dist/*XXX*.whl where XXX is the build number).
Send mail to python-win32
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Hashes for pywin32-301-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87604a4087434cd814ad8973bd47d6524bd1fa9e971ce428e76b62a5e0860fdf |
|
MD5 | 3fe9793d6bee6e9b6515bc744f7585df |
|
BLAKE2b-256 | 5f977a9d7028977390a9692d7176c85e51750c8e431503fc02ab3e54a8e0dcad |
Hashes for pywin32-301-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c9d33968aa7fcddf44e47750e18f3d034c3e443a707688a008a2e52bbef7e96 |
|
MD5 | df1801730fc6e0d8a2e45119334e1cb2 |
|
BLAKE2b-256 | cb38391371466109bd26a02047b9392fa6b0c1777deadb2f8cd4d2f699bf4574 |
Hashes for pywin32-301-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb3b4933e0382ba49305cc6cd3fb18525df7fd96aa434de19ce0878133bf8e4a |
|
MD5 | 0838d344ac085b10768fc85ab39988d9 |
|
BLAKE2b-256 | 84e0f7c34be2e080c248e378109c3a848cd07ab8e45e11d8dc9f1d818b3940c7 |
Hashes for pywin32-301-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98f62a3f60aa64894a290fb7494bfa0bfa0a199e9e052e1ac293b2ad3cd2818b |
|
MD5 | 1c0068b62cb2fb14a34974a507eb8674 |
|
BLAKE2b-256 | 0b75b7848a682b83dbb2d56ed137ca49e67308fd0ec5260de0efa9ed949cf615 |
Hashes for pywin32-301-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dafa18e95bf2a92f298fe9c582b0e205aca45c55f989937c52c454ce65b93c78 |
|
MD5 | 9b8b83dcc3aff8a487c41b8a70ed636a |
|
BLAKE2b-256 | c621bb0ff995c5f67786fb3d6ffbfc5160ed89d7267862123a10e0a4a2d924db |
Hashes for pywin32-301-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c866f04a182a8cb9b7855de065113bbd2e40524f570db73ef1ee99ff0a5cc2f0 |
|
MD5 | d4f772b4ddd995d945767e518df5ca50 |
|
BLAKE2b-256 | ec98e4169c08b2d45e8a16b3b61c8d6b5a17c732ba604297b1174a427b4847cd |
Hashes for pywin32-301-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9635df6998a70282bd36e7ac2a5cef9ead1627b0a63b17c731312c7a0daebb72 |
|
MD5 | 657938fd5f417843f0522bf3f5cdbab3 |
|
BLAKE2b-256 | fc2aa91ab99796b7321359bcd1f85f95bdfdbe05b888b36e8a7a7cda1cbec8e1 |
Hashes for pywin32-301-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 93367c96e3a76dfe5003d8291ae16454ca7d84bb24d721e0b74a07610b7be4a7 |
|
MD5 | 044ff8954c793795e2e23d45abb02440 |
|
BLAKE2b-256 | 68ce598fa78c2f475dfd7d24fc66e608ab2579d03a696ed6d1a3cb2cb96ad4b7 |