{"id":27759615,"url":"https://github.com/python/pymanager","last_synced_at":"2025-11-11T17:39:41.763Z","repository":{"id":290411162,"uuid":"974364212","full_name":"python/pymanager","owner":"python","description":"The Python Install Manager (for Windows)","archived":false,"fork":false,"pushed_at":"2025-04-29T23:35:50.000Z","size":471,"stargazers_count":2,"open_issues_count":13,"forks_count":3,"subscribers_count":45,"default_branch":"main","last_synced_at":"2025-04-30T12:17:45.009Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"custom":"https://www.python.org/psf/donations/python-dev/","github":["python"]}},"created_at":"2025-04-28T16:59:04.000Z","updated_at":"2025-04-29T23:35:36.000Z","dependencies_parsed_at":"2025-04-29T23:49:26.859Z","dependency_job_id":"e5c267af-1c2f-4d20-bab6-b1ca98c2810b","html_url":"https://github.com/python/pymanager","commit_stats":null,"previous_names":["python/pymanager"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python%2Fpymanager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python%2Fpymanager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python%2Fpymanager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python%2Fpymanager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python","download_url":"https://codeload.github.com/python/pymanager/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251703035,"owners_count":21630152,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-04-29T11:57:56.170Z","updated_at":"2025-11-11T17:39:41.758Z","avatar_url":"https://github.com/python.png","language":"Python","funding_links":["https://www.python.org/psf/donations/python-dev/","https://github.com/sponsors/python"],"categories":["Python"],"sub_categories":[],"readme":"# Python Install Manager\n\n[![Codecov](https://codecov.io/gh/python/pymanager/graph/badge.svg)](https://codecov.io/gh/python/pymanager)\n\nThis is the source code for the Python Install Manager app.\n\nFor information about how to use the Python install manager,\nincluding troubleshooting steps,\nplease refer to the documentation at\n[docs.python.org/using/windows](https://docs.python.org/3.14/using/windows.html).\n\nThe original PEP leading to this tool was\n[PEP 773](https://peps.python.org/pep-0773/).\n\n\n# Build\n\nTo build and run locally requires [`pymsbuild`](https://pypi.org/project/pymsbuild)\nand a Visual Studio installation that includes the C/C++ compilers.\n\n```\n\u003e python -m pip install pymsbuild\n\u003e python -m pymsbuild\n\u003e python-manager\\py.exe ...\n```\n\nAny modification to a source file requires rebuilding.\nThe `.py` files are packaged into an extension module.\nHowever, see the following section on tests, as test runs do not require a full\nbuild.\n\nFor additional output, set `%PYMANAGER_DEBUG%` to force debug-level output.\nThis is the equivalent of passing `-vv`, though it also works for contexts that\ndo not accept options (such as launching a runtime).\n\n# Tests\n\nTo run the test suite locally:\n\n```\n\u003e python -m pip install pymsbuild pytest\n\u003e python -m pymsbuild -c _msbuild_test.py\n\u003e python -m pytest\n```\n\nThis builds the native components separately so that you can quickly iterate on\nthe Python code. Any updates to the C++ files will require running the\n``pymsbuild`` step again.\n\n# Package\n\nTo produce an (almost) installer app package:\n\n```\n\u003e python -m pip install pymsbuild\n\u003e python make-all.py\n```\n\nThis will rebuild the project and produce MSIX, APPXSYM and MSI packages.\n\nYou will need to sign the MSIX package before you can install it. This can be a\nself-signed certificate, but it must be added to your Trusted Publishers.\nAlternatively, rename the file to ``.zip`` and extract it to a directory, and\nrun ``Add-AppxPackage -Register \u003cpath to dir\u003e\\appxmanifest.xml`` to do a\ndevelopment install. This should add the global aliases and allow you to test\nas if it was properly installed.\n\n# Contributions\n\nContributions are welcome under all the same conditions as for CPython, see\nthe [Python Developer's Guide](https://devguide.python.org/) for more information.\n\n# Release Schedule\n\nThe release manager for the Python Install Manager on Windows is whoever is the\nbuild manager for Windows for CPython. Currently, this is @zooba.\n\nReleases are made as needed, with prereleases made at the release manager's\njudgement. Due to the broad user base of PyManager, we have to avoid significant\nchanges to its interface, which means feature development is heavily restricted.\n\n## Versioning\n\nPyManager uses the two digit year as the first part of the version,\nwith the second part incrementing for each release.\nThis is to avoid any sense of features being tied to the version number,\nand to avoid any direct association with Python releases.\n\nThe two digit year is used because MSI does not support major version fields\nover 256. If/when we completely drop the MSI, we could switch to four digit\nyears, but as long as it exists we have to handle its compatibility constraints.\n\n\n# Copyright and License Information\n\nCopyright © 2025 Python Software Foundation.  All rights reserved.\n\nSee the [LICENSE](https://github.com/python/pymanager/blob/main/LICENSE) for\ninformation on the terms \u0026 conditions for usage, and a DISCLAIMER OF ALL\nWARRANTIES.\n\nAll trademarks referenced herein are property of their respective holders.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpython%2Fpymanager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpython%2Fpymanager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpython%2Fpymanager/lists"}