GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - python/pymanager: The Python Install Manager (for Windows)

BranchesTags
Open more actions menu

Latest commit

 

History

180 Commits
180 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
ci
ci
 
 
scripts
scripts
 
 
src
src
 
 
tests
tests
 
 
.gitignore
.gitignore
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
_make_helper.py
_make_helper.py
 
 
_msbuild.py
_msbuild.py
 
 
_msbuild_test.py
_msbuild_test.py
 
 
make-all.py
make-all.py
 
 
make-msi.py
make-msi.py
 
 
make-msix.py
make-msix.py
 
 
make.py
make.py
 
 
pyproject.toml
pyproject.toml
 
 
pytest.ini
pytest.ini
 
 
ruff.toml
ruff.toml
 
 

Repository files navigation

Python Install Manager

Codecov

This is the source code for the Python Install Manager app.

For information about how to use the Python install manager, including troubleshooting steps, please refer to the documentation at docs.python.org/using/windows.

The original PEP leading to this tool was PEP 773.

Build

To build and run locally requires pymsbuild and a Visual Studio installation that includes the C/C++ compilers.

> python -m pip install pymsbuild
> python -m pymsbuild
> python-manager\py.exe ...

Any modification to a source file requires rebuilding. The .py files are packaged into an extension module. However, see the following section on tests, as test runs do not require a full build.

For additional output, set %PYMANAGER_DEBUG% to force debug-level output. This is the equivalent of passing -vv, though it also works for contexts that do not accept options (such as launching a runtime).

Tests

To run the test suite locally:

> python -m pip install pymsbuild pytest
> python -m pymsbuild -c _msbuild_test.py
> python -m pytest

This builds the native components separately so that you can quickly iterate on the Python code. Any updates to the C++ files will require running the pymsbuild step again.

Package

To produce an (almost) installer app package:

> python -m pip install pymsbuild
> python make-all.py

This will rebuild the project and produce MSIX, APPXSYM and MSI packages.

You will need to sign the MSIX package before you can install it. This can be a self-signed certificate, but it must be added to your Trusted Publishers. Alternatively, rename the file to .zip and extract it to a directory, and run Add-AppxPackage -Register <path to dir>\appxmanifest.xml to do a development install. This should add the global aliases and allow you to test as if it was properly installed.

Contributions

Contributions are welcome under all the same conditions as for CPython, see the Python Developer's Guide for more information.

Release Schedule

The release manager for the Python Install Manager on Windows is whoever is the build manager for Windows for CPython. Currently, this is @zooba.

Releases are made as needed, with prereleases made at the release manager's judgement. Due to the broad user base of PyManager, we have to avoid significant changes to its interface, which means feature development is heavily restricted.

Versioning

PyManager uses the two digit year as the first part of the version, with the second part incrementing for each release. This is to avoid any sense of features being tied to the version number, and to avoid any direct association with Python releases.

The two digit year is used because MSI does not support major version fields over 256. If/when we completely drop the MSI, we could switch to four digit years, but as long as it exists we have to handle its compatibility constraints.

Copyright and License Information

Copyright © 2025 Python Software Foundation. All rights reserved.

See the LICENSE for information on the terms & conditions for usage, and a DISCLAIMER OF ALL WARRANTIES.

All trademarks referenced herein are property of their respective holders.

About

The Python Install Manager (for Windows)

Resources

Readme
License

Code of conduct

Code of conduct

Security policy

Security policy
Activity
Custom properties

Stars

371 stars

Watchers

41 watching

Forks

80 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.