Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pypy3 #1

Closed
wants to merge 134 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
134 commits
Select commit Hold shift + click to select a range
e218cc8
Run CI on all origin branches so a dummy PR isn't necessary.
mhammond Apr 30, 2022
256648c
Move to building with latest setuptools
mhammond Apr 30, 2022
f925c71
Fix the htmlhelp build process
mhammond May 1, 2022
21ced54
oops, black formatting
mhammond May 1, 2022
a621f69
Build 304
mhammond May 2, 2022
ebfe402
Post 304 builds
mhammond May 2, 2022
be733ef
Revert "Run CI on all origin branches so a dummy PR isn't necessary."
mhammond May 8, 2022
ea6aae9
Fix debug builds (#1873)
mhammond May 8, 2022
317c414
More specific and helpful warning message about DLLs on service insta…
Fnordbert May 8, 2022
c08c3d9
Remove old support for py2k/non-unicode/windows-ce/vista (#1874)
mhammond May 8, 2022
fde6baf
Fix typo in CHANGES.txt - Python 3.10, not 10
mhammond May 8, 2022
824ff6a
Fix AdjustTokenPrivileges demo usage (#1878)
CristiFati May 16, 2022
9ebcbf8
.gitignore was ignoring too many mapi and adsi files (#1887)
mhammond May 23, 2022
f7f12ec
Lots of UNICODE cleanups (#1886)
mhammond May 29, 2022
e1c0237
Fix uninitialized member failure in the COM browser (#1894)
CristiFati Jun 9, 2022
33460b7
Add flags to win32comext.internet functions (#1905)
tonyroberts Jun 29, 2022
d90ad11
CI runs all tests from the source directory (#1879)
mhammond Jul 1, 2022
a2bf93d
Add a utility for finding test fixtures that allows it to not exist i…
mhammond Jul 1, 2022
02813fb
Slim setup.py's docstring down
mhammond Jun 19, 2022
8ecbaa5
Cleanup how setup.py builds our 2 executables (#1907)
mhammond Jul 2, 2022
799f43b
Change the format of CHANGES.txt and prune older entries.
mhammond Jul 3, 2022
914c6c1
Remove/cleanup old win32ui cruft (#1911)
mhammond Jul 10, 2022
93dc25e
docs: Fix a few typos (#1915)
timgates42 Jul 20, 2022
97ec1b4
Overhaul and vastly simplify service registration process. (#1908)
mhammond Jul 25, 2022
5c0b62b
Revert "Revert "Run CI on all origin branches so a dummy PR isn't nec…
mhammond Jul 24, 2022
b233706
Fix 'time.clock' which deprecated since python3.3 and was removed in …
amchii Aug 13, 2022
a22bd62
Make modal dialog the default again in combrowse.main() (#1924)
kxrob Aug 13, 2022
90c31cb
String API cleanups.
mhammond Jul 15, 2022
f095a26
Improve WinSDK search mechanism (#1935)
CristiFati Aug 22, 2022
9012b2c
inspect.getargspec removed in Py3.11 (fix #1877) (#1937)
kxrob Aug 22, 2022
50c3113
Simplify and improve pywintypes search for dll in site-packages. (#1933)
saaketp Aug 22, 2022
4b64e93
More window functions in win32gui (#1928)
CristiFati Aug 22, 2022
39e09b6
Use new string APIs and add memory safety for PyWinObject_AsPARAM (#1…
mhammond Aug 22, 2022
4cda202
Unfreeze setuptools version again, workaround (#1936)
kxrob Aug 28, 2022
0878603
Speed-up PyWinObject_AsPARAM and PyWinBufferView (#1938)
kxrob Sep 3, 2022
525270c
win32crypt improvements and fixes (via #1859) (#1863)
mhammond Sep 3, 2022
788c9aa
Add parameter to GetNamedPipeHandleState(), add constants, fix GetTic…
kxrob Sep 14, 2022
5f8bf1c
Replace usage of old unicode API removed in Py3.12/PEP 623 (#1860)
kxrob Sep 17, 2022
5e5a19a
Add CreateWaitableTimerEx (#1945)
zariiii9003 Sep 17, 2022
29822b7
Add entries to CHANGES.txt
mhammond Sep 17, 2022
e2ab074
Fix typo in CHANGES.txt
mhammond Sep 18, 2022
58194ff
Replace deprecated "u" and "Z" formats in PyArg_Parse calls (#1947)
kxrob Sep 18, 2022
9e3cf10
Various ssize_t cleanups. (#1948)
mhammond Sep 18, 2022
6a41621
Handle `varchar(max)`/`nvarchar(max)` column sizes (#1954)
EZForever Oct 21, 2022
0ea1c66
Duplicated method declarations and constants (#1950)
Avasam Oct 22, 2022
56f4c17
Deprecate bdist_wininst .exe installers (#1939)
mhammond Oct 22, 2022
7dcba93
update github actions to latest versions.
mhammond Oct 22, 2022
04c22ee
update docs github actions to latest versions.
mhammond Oct 22, 2022
a68d7b2
More updating of github actions
mhammond Oct 22, 2022
5e67913
Only call PyEval_InitThreads on 3.6 and earlier
mhammond Nov 6, 2022
52628af
Build 305
mhammond Nov 6, 2022
2860050
Post 305 builds
mhammond Nov 8, 2022
1da29b1
Fix win32ui not loading pythoncom310+ DLL (#1970)
kxrob Nov 12, 2022
52b4cd4
Fix setup.py issues and include Python 3.12 in CI (#1941)
kxrob Nov 12, 2022
dcfd66c
CHANGES.txt: 3.6 is dropped
mhammond Nov 12, 2022
7638049
Fix: inspect.formatargspec removed in Py3.11 (#1975)
kxrob Nov 28, 2022
b4839f7
adsi: Fix memset arguments (#1971)
Biswa96 Nov 28, 2022
6d0de3e
Improve user documentation for the chicken-and-egg version stamp situ…
vernondcole Nov 29, 2022
f4430c8
perfmon: Fix illegal byte sequence error in a wide string (#1977)
Biswa96 Nov 29, 2022
72686d6
Use proper delete expression to deallocate arrays (#1978)
Biswa96 Nov 30, 2022
c48ddb0
win32com: Initialize variable before jumping to a label (#1980)
Biswa96 Nov 30, 2022
e6e941c
Fix #1982 ModuleNotFoundError in axdebug (#1983)
Avasam Dec 1, 2022
070949f
Update notes about building from source (vs2017 no longer works)
mhammond Dec 10, 2022
a05a729
Fix names with extra namespace qualification in a class (#1981)
Biswa96 Dec 11, 2022
d73b020
Fix for service registration code (#1985)
mhammond Dec 11, 2022
603bcaa
Add CascadeWindows wrapper (#1999)
CristiFati Jan 4, 2023
ba42ecd
Add basic tests for Pythonwin / win32ui (#1997)
kxrob Jan 4, 2023
01fca55
Applied black 23.1.0 to codebase (#2008)
LincolnPuzey Feb 6, 2023
3a3e0e9
Small improvements (#2011)
CristiFati Feb 7, 2023
7d5c727
changed list to tuples to improve performance (#2012)
angrybuddha24 Feb 8, 2023
49f8c20
Add GetSystemPowerStatus wrapper (#2010)
CristiFati Feb 14, 2023
bdca3cc
Specify system import library in setup.py (#1993)
Biswa96 Feb 17, 2023
eb38544
Add missing braces to avoid ambiguous if-else statement (#2018)
Biswa96 Feb 19, 2023
1cb760d
Fix EndPage error message. (#2027)
mats-erik Mar 10, 2023
8b4eb22
Hopefully fix IIS on later Python versions (#2025)
mhammond Mar 25, 2023
1962631
Fix leak in win32pdh.GetFormattedCounterArray() (#2013)
mhammond Mar 25, 2023
a5f20b7
Added win32gui.ResetDC()
mhammond Mar 25, 2023
8e29fec
Fix LONG_PTR is long long on WIN64 (#2033)
vladlp Mar 25, 2023
5ad9167
Added support for adding a categoryDLL when registering a source msgD…
billmccartney Mar 25, 2023
7d996fe
fix docstring for win32gui.ResetDC
mhammond Mar 25, 2023
4860945
Automatic cleanup of imports (#1986)
Avasam Mar 25, 2023
c553b0f
Work around obscure setuptools error
mhammond Mar 25, 2023
cc39535
Note some changes
mhammond Mar 25, 2023
e5cfbb6
Build arm wheels in CI for 3.10
mhammond Mar 25, 2023
bff5b3a
Build 306
mhammond Mar 25, 2023
0906bd8
Clarify post_install script and troubleshooting process in README
mhammond Mar 26, 2023
e05d130
Use bytes-string for constant bytes values (#2046)
Avasam Apr 20, 2023
f6300f8
Fix all "F811 Redefinition of unused" (#2050)
Avasam Apr 22, 2023
ba25e75
Release GIL when creating or starting a service (#2062)
adamkbmc Jun 7, 2023
8be5f45
Fix for Method Resolution Order (MRO) in axdebug
wxinix-2022 Jul 4, 2023
83e7f29
Idiomatic type check (#1991)
Avasam Jul 10, 2023
e995411
Use raw string for pattern matching (#2045)
Avasam Jul 11, 2023
9458217
Removed rundundant and obsolete references to older python unicode co…
Avasam Jul 24, 2023
3a22ca6
remove obsolete aliases except unicode-related in non-adodbapi code (…
Avasam Jul 24, 2023
630ffa3
Fix pycln undecidable cases (#2051)
Avasam Jul 24, 2023
ba9e475
Cleanup unsupported python code (except for adodbapi) (#1990)
Avasam Aug 10, 2023
59136fd
Missed SetApplicationName in tests (#2099)
Avasam Aug 17, 2023
2a7137f
Add GitHub Action concurency groups (#2103)
Avasam Aug 17, 2023
c72d254
zero arguments super (#2106)
Avasam Sep 21, 2023
6df8533
Update and standardise obsolete `OSError` aliases: (#2107)
Avasam Sep 21, 2023
56ecf8c
Update collections literals and comprehensions (#2108)
Avasam Sep 21, 2023
ea314af
Remove extraneous parenthesis found by Ruff/pyupgrade (#2110)
Avasam Sep 21, 2023
4445881
Update unicode strings in comments (#2111)
Avasam Sep 21, 2023
03a8bb1
Replace usages of the `imp` module (#2113)
Avasam Sep 21, 2023
22efab5
Update Python2 string module usage (#2127)
Avasam Sep 22, 2023
378fcb7
Replace `distutils.FileList` with `pathlib` (#2138)
Avasam Nov 1, 2023
d131732
Prefer f-strings and non-printf-style format (#2122)
Avasam Nov 1, 2023
4722923
Fix some importlib usages (#2123)
Avasam Nov 1, 2023
9f24116
Removed unused imports found by type-checkers (#2124)
Avasam Nov 1, 2023
ea43be2
Cleanup `win32comext.axdebug` (#2126)
Avasam Nov 1, 2023
309a8b0
Change `mbcs` encoding to `utf-8` in `com/win32com/client` (#2097)
Avasam Nov 1, 2023
d26c5c8
Fix invalid and accidental escape sequences (#2112)
Avasam Nov 1, 2023
4025d76
Update Python2 print commands left in comments and docs (#2128)
Avasam Nov 1, 2023
f7d0a79
distutils direct replacements (#2134)
Avasam Nov 2, 2023
0bbc2bc
[Documentation] Fix lowercase DLL names and standardize uppercase `X`…
Avasam Jan 15, 2024
bc22bb8
Replace tabs with spaces in strings (#2167)
Avasam Jan 15, 2024
1a03322
Applied black 2024 style to codebase (#2168)
LincolnPuzey Jan 26, 2024
452c094
Improve _d handling (#2169)
Avasam Jan 29, 2024
5c09545
Replace `distutils.dep_util` with `setuptools.modified` (#2148)
Avasam Jan 30, 2024
93426ff
Fix passing float to range in win32pdhquery.Query.collectdatafor (#2170)
Avasam Jan 30, 2024
3e9da59
various runtime improvements found by type-checking (#2176)
Avasam Feb 5, 2024
3987d6d
IFolderView COM client (#2181)
CristiFati Feb 20, 2024
07f984d
MakeGW improvements (#2180)
CristiFati Feb 20, 2024
dc5f699
More shell enumeration constants (#2182)
CristiFati Feb 20, 2024
b714b10
Add UnregisterHotKey support (#2185)
CristiFati Feb 27, 2024
1db3a90
Fix pywin.tools.regpy (#2187)
Avasam Feb 27, 2024
bd65ce8
adsi: avoid usage from star import and avoid global reassignement ove…
Avasam Feb 27, 2024
ae65bf8
Extracted annotations only changes from #2102 (#2175)
Avasam Feb 28, 2024
6c9e366
Fix SetClassWord being overriden by SetWindowWord (#2199)
Avasam Mar 11, 2024
ce0bb31
PyPy: add CI run and avoid com_extensions, pythonwin_extensions
mattip Apr 28, 2022
857afef
restrict CI
mattip Apr 28, 2022
47b1d2c
work around missing PyUnicode_EncodeCodePage
mattip Apr 28, 2022
6837f87
work around bad declaration of printfunc in PyPy
mattip Apr 28, 2022
03a7d60
fixes for PyPy
mattip May 12, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 4 additions & 4 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ jobs:
runs-on: windows-latest

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3

- name: Set up Python
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: '3.9'

Expand All @@ -38,7 +38,7 @@ jobs:
- name: Create archive
run: python -m zipfile -c site.zip site

- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v3
with:
name: documentation
path: site.zip
Expand All @@ -52,7 +52,7 @@ jobs:
if: github.event_name == 'create' && github.event.ref_type == 'tag'

steps:
- uses: actions/download-artifact@v2
- uses: actions/download-artifact@v3
with:
name: documentation

Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/download-arm64-libs.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@

VERSION = "{}.{}.{}".format(*sys.version_info[:3])
if sys.version_info.releaselevel == "alpha":
VERSION += "-a{}".format(sys.version_info.serial)
VERSION += f"-a{sys.version_info.serial}"
if sys.version_info.releaselevel == "beta":
VERSION += "-b{}".format(sys.version_info.serial)
VERSION += f"-b{sys.version_info.serial}"
if sys.version_info.releaselevel == "candidate":
VERSION += "-rc{}".format(sys.version_info.serial)
VERSION += f"-rc{sys.version_info.serial}"

URL = f"https://www.nuget.org/api/v2/package/pythonarm64/{VERSION}"
PATH = dest / f"pythonarm64.{VERSION}.zip"
Expand Down
75 changes: 34 additions & 41 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,63 +2,57 @@ name: CI

on:
push:
branches:
- main
pull_request:
branches:
- main

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

jobs:
test:
name: Build and test
runs-on: windows-2019
strategy:
fail-fast: false
matrix:
python-version: ['3.6', '3.7', '3.8', '3.9', '3.10', '3.11-dev']
# python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12-dev', 'pypy-3.9']
python-version: ['pypy-3.9']
architecture: ['x64', 'x86']
exclude:
- python-version: 'pypy-3.9'
architecture: 'x86'

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
architecture: ${{ matrix.architecture }}

- name: Show runner information
- name: Setup environment
run: |
python --version
pip --version
pip install --upgrade setuptools wheel

# Need wheel so that we can use bdist_wheel
- name: Upgrade Python packaging tools
run: pip install --upgrade wheel

- name: Set Python user directory
run: python -c "import os,site;open(os.environ['GITHUB_ENV'], 'a').write('USER_DIR=%s\n' % os.path.dirname(site.USER_SITE).rstrip('-32'))"

- name: Build package
run: python setup.py --skip-verstamp build

- name: Install package
run: python setup.py install --user
- name: Build and install
run: |
python setup.py --skip-verstamp install --user

- name: Run tests
run: python ${env:USER_DIR}\Scripts\pywin32_testall.py -v -skip-adodbapi
# Run the tests directly from the source dir so support files (eg, .wav files etc)
# can be found - they aren't installed into the Python tree.
run: python pywin32_testall.py -v -skip-adodbapi

- name: Build wheels
run: |
python setup.py bdist_wheel --skip-build

# 3.10 dropped support for bdist_wininst. If we had both 3.9 and 3.10 available in a single
# environment we could also build the .exe for 3.10+ - but for now, we can't.
- if: matrix.python-version != '3.10' && matrix.python-version != '3.11-dev'
name: Build installers
run: |
python setup.py bdist_wininst --skip-build --target-version=${{ matrix.python-version }}

- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v3
if: ${{ always() }}
with:
name: artifacts
Expand All @@ -69,32 +63,27 @@ jobs:
# We cannot build and test on ARM64, so we cross-compile.
# Later, when available, we can add tests using this wheel on ARM64 VMs
build_arm64:
name: Cross-compile ARM
runs-on: windows-2019
strategy:
fail-fast: false
matrix:
python-version: ['3.10', '3.11-dev']
python-version: ['3.10', '3.11', '3.12-dev']

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
architecture: 'x64'

- name: Show runner information
- name: Setup Environment
run: |
python --version
pip --version

# Need wheel so that we can use bdist_wheel
- name: Upgrade Python packaging tools
run: pip install --upgrade setuptools==60.8.2 wheel

- name: Set Python user directory
run: python -c "import os,site;open(os.environ['GITHUB_ENV'], 'a').write('USER_DIR=%s\n' % os.path.dirname(site.USER_SITE).rstrip('-32'))"
pip install --upgrade setuptools wheel

- name: Obtain ARM64 library files
run: |
Expand All @@ -103,17 +92,21 @@ jobs:
- name: Build wheels
run: python setup.py --skip-verstamp build_ext -L .\arm64libs --plat-name win-arm64 build --plat-name win-arm64 bdist_wheel --plat-name win-arm64

- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v3
if: ${{ always() }}
with:
name: artifacts
path: |
dist/*.whl

black:
# This job can be run locally with the `format_all.bat` script
checkers:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- run: pip install isort pycln
- run: pycln . --config=pycln.toml --check
- run: isort . --diff --check-only
- uses: psf/black@stable
with:
options: "--fast --check --diff --verbose"
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,17 @@ com/TestSources/PyCOMTest/.vs/

# SWIG generated files.
com/win32comext/adsi/src/*.cpp
!com/win32comext/adsi/src/PyADSIUtil.cpp
com/win32comext/adsi/src/Py*.h
!com/win32comext/adsi/src/PyADSIUtil.cpp
com/win32comext/mapi/src/*.cpp
!com/win32comext/mapi/src/mapiutil.cpp
!com/win32comext/mapi/src/mapiguids.cpp
!com/win32comext/mapi/src/PyIMAPIAdviseSink.cpp
!com/win32comext/mapi/src/exchangeguids.cpp
com/win32comext/mapi/src/Py*.h
!com/win32comext/mapi/src/PyIMAPIAdviseSink.h
!com/win32comext/mapi/src/PyMAPIUtil.h
win32/src/*_swig.cpp


Expand Down
7 changes: 7 additions & 0 deletions .isort.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[isort]
py_version=37
profile = black
combine_as_imports = true
skip = setup.py
# TODO: Decide if this is wanted:
# combine_straight_imports = true
12 changes: 6 additions & 6 deletions AutoDuck/BuildHHP.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import os
import sys
import glob
import os
import shutil
import sys

"""
BuildHHP.py
Expand Down Expand Up @@ -40,7 +40,7 @@ def handle_globs(lGlobs):
for g in lGlobs:
new = glob.glob(g)
if len(new) == 0:
print("The pattern '%s' yielded no files!" % (g,))
print(f"The pattern '{g}' yielded no files!")
lFiles = lFiles + new
# lFiles is now the list of origin files.
# Normalize all of the paths:
Expand Down Expand Up @@ -111,12 +111,12 @@ def main():
shutil.copyfile(lSrcFiles[i], file)

for file in lDestFiles:
html_files = html_files + "%s\\%s\n" % (html_dir, file)
html_files = html_files + f"{html_dir}\\{file}\n"

for cat in doc:
html_files = html_files + "%s\\%s.html\n" % (output_dir, cat.id)
html_files = html_files + f"{output_dir}\\{cat.id}.html\n"
for suffix in "_overview _modules _objects _constants".split():
html_files = html_files + "%s\\%s%s.html\n" % (output_dir, cat.id, suffix)
html_files = html_files + f"{output_dir}\\{cat.id}{suffix}.html\n"

f.write(sHHPFormat % {"output": output, "target": target, "html_files": html_files})
f.close()
Expand Down
Loading
Loading