{"id":19285226,"url":"https://github.com/cwgem/pypy-powershell-install","last_synced_at":"2026-05-01T21:03:18.798Z","repository":{"id":196424757,"uuid":"692535169","full_name":"cwgem/pypy-powershell-install","owner":"cwgem","description":"Powershell module to manage PyPy on Windows","archived":false,"fork":false,"pushed_at":"2023-09-26T12:14:51.000Z","size":36,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-13T00:42:45.203Z","etag":null,"topics":["powershell","powershell-module","pypy","python","windows"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cwgem.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2023-09-16T19:24:04.000Z","updated_at":"2023-09-25T14:36:02.000Z","dependencies_parsed_at":null,"dependency_job_id":"a2b0474b-129d-4c58-804a-1ec31abf9cd8","html_url":"https://github.com/cwgem/pypy-powershell-install","commit_stats":null,"previous_names":["cwgem/pypy-powershell-install"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/cwgem/pypy-powershell-install","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cwgem%2Fpypy-powershell-install","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cwgem%2Fpypy-powershell-install/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cwgem%2Fpypy-powershell-install/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cwgem%2Fpypy-powershell-install/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cwgem","download_url":"https://codeload.github.com/cwgem/pypy-powershell-install/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cwgem%2Fpypy-powershell-install/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32512670,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["powershell","powershell-module","pypy","python","windows"],"created_at":"2024-11-09T21:44:39.409Z","updated_at":"2026-05-01T21:03:18.755Z","avatar_url":"https://github.com/cwgem.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PyPyInstaller\n\nPowershell module to manage PyPy on Windows. This project was created with the goal in mind of providing an easy way to install PyPy versions, as well as make them available in $PATH and through the [Python Launcher](https://docs.python.org/3/using/windows.html#python-launcher-for-windows). Functionality of this module exists through individual functions with different options. The mirror list for PyPy versions is downloaded into a cache directory to reduce server hits, and PyPy files will not be downloaded if they already exist in the downloads folder.\n\n## Requirements\n\nThe following requirements are needed for this module to work:\n\n- [Powershell 7](https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-windows?view=powershell-7.3)\n- A Windows version that supports Powershell 7 ( A listing can be found on the [5.1 migration page](https://learn.microsoft.com/en-us/powershell/scripting/whats-new/migrating-from-windows-powershell-51-to-powershell-7?view=powershell-7.3) )\n- A version of [Python for Windows](https://www.python.org/downloads/windows/) that comes bundled with the [Python Launcher](https://docs.python.org/3/using/windows.html#python-launcher-for-windows) if you want [PEP 514](https://peps.python.org/pep-0514/) support to work (the latest version is recommended)\n\n## Installation\n\nMost user setups on windows have a execution policy of RemoteSigned. To make this work out I'd have to fork out around $200 USD for a code signing certificate which is not that realistic for a project I just started. This means `Set-ExecutionPolicy` will have to be used to temporarily bypass this for the installation script. To start out, open up a **Non-Administrative** Powershell session through the Terminal command. All functionality for PyPyInstaller works off the current user so no administrative permissions are required. Now run the following:\n\n```powershell\n \u003e Invoke-WebRequest https://raw.githubusercontent.com/cwgem/pypy-powershell-install/main/Install.ps1 -OutFile Install.ps1\n```\n\nNow to run the installer which has several variations:\n\n### Recommended Installation Method\n\n```powershell\n\u003e Set-ExecutionPolicy Bypass -Scope Process; .\\Install.ps1 -UpdateMirrorList\n```\n\nIf you're not sure what option to pick this is the recommended.\n\n### Setup Only\n\n```powershell\n\u003e Set-ExecutionPolicy Bypass -Scope Process; .\\Install.ps1 -SetupOnly\n```\n\nThis simply sets up the suppporting folders and files and does not download the latest release from GitHub.\n\n### Update Mirrors\n\n```powershell\n\u003e Set-ExecutionPolicy Bypass -Scope Process; .\\Install.ps1 -UpdateMirrorList\n```\n\nThis will update the list PyPy versions list from the buildbot mirrors. It's highly recommended to use this for a first install.\n\n### Root Path Directory\n\n```powershell\n\u003e Set-ExecutionPolicy Bypass -Scope Process; .\\Install.ps1 -RootPath c:\\Some\\Folder\\Somewhere\n```\n\nThis will update what folder is used for the PyPyInstaller root path. This path is used to store PyPy support files as well as downloads and installations. If you don't designate a directory it will use the `.pypy_installer` in your home directory. Please note that the root path should be a dedicated folder with no other files in it. So don't do this:\n\n**Bad**\n```powershell\n\u003e Set-ExecutionPolicy Bypass -Scope Process; .\\Install.ps1 -RootPath c:\\Users\\MyUser\n```\n\nInstead point it to a dedicated folder like so (the installer script will create underlying parent directories if they don't exist):\n\n**Good**\n```powershell\n\u003e Set-ExecutionPolicy Bypass -Scope Process; .\\Install.ps1 -RootPath c:\\Users\\MyUser\\PyPyInstaller\n```\n\n### Post Setup\n\nWhen you're done with the setup close out the Powershell terminal so the policy bypass is no longer applied. Unless you have one already the installer script will have created a `.pypy_installer_config.json` in your home directory. While defaults are used if the file is missing, please avoid removing it. Currently the only option set is the root path, but other options may come in the future.\n\n## Usage\n\nTo start out if you didn't use the recommended `-UpdateMirrorList` option and this is your first time running PyPyInstaller, update the list now:\n\n```powershell\nUpdate-PyPyMirror\n```\n\n### Basic Usage\n\nAs an example, here is how to install the latest Python 3.9 and 3.10 supported PyPy versions:\n\n```powershell\n\u003e Find-PyPyLatest -PythonSeries \"3.9\", \"3.10\" | Install-PyPy\n```\n\nThis will download and extract the files to the appropriate folders under PyPyInstaller's root path, as well as setup PATH and Python Launcher registry entries.\n\n### Separate Execution\n\nYou can also run each of the steps manually:\n\n```powershell\n\u003e Find-PyPyLatest -PythonSeries \"3.8\"\n\npypy_version   : 7.3.11\npython_version : 3.8.16\nstable         : True\nlatest_pypy    : True\ndate           : 2022-12-29\nfiles          : {@{filename=pypy3.8-v7.3.11-aarch64.tar.bz2; arch=aarch64; platform=linux; download_url=https://downlo\n                 ads.python.org/pypy/pypy3.8-v7.3.11-aarch64.tar.bz2}, @{filename=pypy3.8-v7.3.11-linux32.tar.bz2; arch\n                 =i686; platform=linux; download_url=https://downloads.python.org/pypy/pypy3.8-v7.3.11-linux32.tar.bz2}\n                 , @{filename=pypy3.8-v7.3.11-linux64.tar.bz2; arch=x64; platform=linux; download_url=https://downloads\n                 .python.org/pypy/pypy3.8-v7.3.11-linux64.tar.bz2}, @{filename=pypy3.8-v7.3.11-macos_x86_64.tar.bz2; ar\n                 ch=x64; platform=darwin; download_url=https://downloads.python.org/pypy/pypy3.8-v7.3.11-macos_x86_64.t\n                 ar.bz2}…}\n\u003e Install-PyPy -PythonVersions \"3.8.16\"\n```\n\nAs shown running the `Install-PyPy` command will also allow you to install a specific version which may not be the latest of the series. As indicated by the `-PythonVersions` argument name you can indicate multiple versions through a comma separated list (single versions are dealt with as a single element list):\n\n```powershell\n\u003e Install-PyPy -PythonVersions \"3.8.16\", \"3.10.12\"\n```\n\n### Python Launcher\n\nIf you have the Python Launcher installed (see Requirements) Major.Minor versions of PyPy will be available:\n\n```powershell\n\u003e py -0p\n -V:3.11 *        C:\\Python311\\python.exe\n -V:PyPyInstaller/3.10 C:\\Users\\SomeUser\\.pypy_installer\\Installs\\7.3.12-3.10.12\\pypy.exe\n -V:PyPyInstaller/3.9 C:\\Users\\SomeUser\\.pypy_installer\\Installs\\7.3.12-3.9.17\\pypy.exe\n -V:PyPyInstaller/3.8 C:\\Users\\SomeUser\\.pypy_installer\\Installs\\7.3.11-3.8.16\\pypy.exe\n```\n\nYou can run using the specific PyPy version by running `py` with one of the version tags listed:\n\n```powershell\n\u003e py -V:PyPyInstaller/3.10 -c \"import sys; print(sys.version_info)\"\nsys.version_info(major=3, minor=10, micro=12, releaselevel='final', serial=0)\n```\n\n## Uninstall\n\nCurrently there is no automated uninstall method. The following will remove traces of PyPyInstaller manually:\n\n- Remove PyPyInstaller from the modules directory which is under your Documents folder + `Powershell\\Modules\\`\n- Remove the folder indicated as `RootPath` in `.pypy_installer_config.json` under your home directory\n- Remove the `.pypy_installer_config.json`  file under your home directory\n- Remove the registry key `Computer\\HKEY_CURRENT_USER\\Software\\Python\\PyPyInstaller`\n- Remove any PyPy directories from your PATH which can be done via 'edit environment variables for your account` in the Control Panel or through a windows start menu search\n\n## Thar Be Dragons Here\n\nThe current version of this code is mostly a code dump now that a sufficient amount of code coverage is present and the basic installation functionality works. Also this is the first real PowerShell project I've worked on so may be less ideal ways to do thing. That said the codebase is 99% coverarge (stil wish I could figure out the remaining %) after fighting with my good friend Pester over weird scoping issues.\n\n### Current Status\n\nRight now the status of the codebase is:\n\n- Can locate the latest version of a PyPy package given a Python major.minor version (ex. 3.9)\n- Download and extract PyPy zips to a specific installation folder, as well as keeping track of installs\n- Add the latest version of a major.minor Python series to PATH and the Python Launcher via [PEP 514](https://peps.python.org/pep-0514/)\n- Obtain the latest version of the PyPy mirror list\n- Basic Installation\n- README.md updates\n\n### What Needs To Be Done\n\n- Adding more GitHub Actions Workflows to run Pester tests\n- List/Remove/Update PyPy versions\n- Standardize and fully document the codebase\n- Work with any contributors / GitHub Issues that may come up\n- Contributor instructions","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcwgem%2Fpypy-powershell-install","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcwgem%2Fpypy-powershell-install","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcwgem%2Fpypy-powershell-install/lists"}