Skip to main content

A (partial) reimplementation of pywin32 using ctypes/cffi

Project description

Documentation Status

A reimplementation of pywin32 that is pure python. The default behaviour will try to use cffi (>= 1.3.0), if available, and fall back to using ctypes. Please note that there is no need to have a compiler available on installation or at runtime.

Usage

Example:

# Equivalent to 'import win32api' from pywin32.
from win32ctypes.pywin32 import win32api

win32api.LoadLibraryEx(sys.executable, 0, win32api.LOAD_LIBRARY_AS_DATAFILE)

Development setup

The following should be good enough:

pip install -r test_requirements.txt
python install -e .

Change Log

Version 0.2.2

  • Use ctypes.set_last_error to avoid race conditions (#122)

Version 0.2.1

  • Use faulthandler when testing and fix discovered errors (#115, #117).

  • Fix support for None username in credentials to be consistent in all backends (#99).

  • Test also on cp38, cp39, cp310, cp311 and use cp38 for linking (#114, #107, #100).

  • Add support for CredEnumerate extending code from @markb-EE (#110, #109, #111)

  • Remove support for older python versions < cp36 (#104, #120).

Version 0.2.0

  • Fix syntax error when installing in python 3.7 (#81).

  • Support testing on python 3.7 (#82).

  • Support testing on python 3.3 and python 3.4 (#77).

  • Do not use 2to3 (#75).

  • Support lazy wrapping of win32 functions (#67).

  • Add CRED_PERSIST constants (#79 contributed by @tivnet).

Version 0.1.2

(bugfix release)

  • Fix implementation for the deprecated api (#64).

Version 0.1.1

(bugfix release)

  • Update Manifest.in entries (#63)

  • fix VERSION path in Manifest.in (#62 contributed by @MinchinWeb)

Version 0.1.0

  • Update tests and provide better compatibility with pywin32 for Resource functions

  • Fix: Python 3.5 and 3.6 support (#52).

  • API additions to allow pywin32-ctypes to work with pyinstaller (#46 and #57 contributed by @virtuald).

  • Fix: do not update the global copy of the windows dlls (#42)

  • Add documentation and setup automatic builds in ReadTheDocs (#3, #36).

  • Add cffi backend to be used when available (#31).

  • Fix: EnumResourceTypes and EnumResourceNames would only return ints (#21, #30).

  • Restructure package layout to split core wrapping modules from pywin32 emulation (#15, #17).

Version 0.0.1

7/04/2014

  • Python 2.6 support (#13)

  • Python 3 support (#12)

  • Basic maintenance work (#11, #7)

  • Fix error raising to be pywin32 compatible (#8)

  • Package rename mini_pywin32 -> pywin32-ctypes

  • Add travis-ci integration using wine! (#2)

  • Support basic library and resource loading (#1)

  • mini_pywin32 is born

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pywin32-ctypes-0.2.2.tar.gz (26.9 kB view details)

Uploaded Source

Built Distribution

pywin32_ctypes-0.2.2-py3-none-any.whl (30.2 kB view details)

Uploaded Python 3

File details

Details for the file pywin32-ctypes-0.2.2.tar.gz.

File metadata

  • Download URL: pywin32-ctypes-0.2.2.tar.gz
  • Upload date:
  • Size: 26.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.2.0 pkginfo/1.5.0.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.13

File hashes

Hashes for pywin32-ctypes-0.2.2.tar.gz
Algorithm Hash digest
SHA256 3426e063bdd5fd4df74a14fa3cf80a0b42845a87e1d1e81f6549f9daec593a60
MD5 0240a84cb38ea0936717b936ab74ee21
BLAKE2b-256 103d0cfbca45201351fe8c09cca743403e6c2407892e256e25d126ad64dc6bb7

See more details on using hashes here.

File details

Details for the file pywin32_ctypes-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: pywin32_ctypes-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 30.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.2.0 pkginfo/1.5.0.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.13

File hashes

Hashes for pywin32_ctypes-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 bf490a1a709baf35d688fe0ecf980ed4de11d2b3e37b51e5442587a75d9957e7
MD5 5b33131e0ca521c5d39281fe27b70e5c
BLAKE2b-256 a4bc78b2c00cc64c31dbb3be42a0e8600bcebc123ad338c3b714754d668c7c2d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page