-
Notifications
You must be signed in to change notification settings - Fork 239
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
chore: bump pyodide #1859
chore: bump pyodide #1859
Conversation
Signed-off-by: Henry Schreiner <[email protected]>
@hoodmane, is there another way to get the emscripten version for a specific pypodide versions, via an API or anything? One that doesn't require installing pyodide-build? Okay if not, but just checking before setting something up. I'd like to be able to quickly get the current pyodide version (can do that with lastversion), and then get the matching emscripten version it requires. |
@ryanking13 do we have anything for this? The information is in this file: |
Yes, that file has the python and emscripten version information needed to build targeting a specific pyodide version. |
https://raw.githubusercontent.com/pyodide/pyodide/main/pyodide-cross-build-environments.json doesn't contain 0.26.1 though. |
I opened a PR to add 0.26.1 (pyodide/pyodide#4854). The workflow for updating that file is not fully automated yet, but I'm planning to improve it. |
# /// script
# dependencies = [ "requests", "packaging", "tomlkit" ]
# ///
from pathlib import Path
import requests
import tomlkit
from packaging.version import Version
URL = "https://raw.githubusercontent.com/pyodide/pyodide/main/pyodide-cross-build-environments.json"
DIR = Path(__file__).parent.resolve()
def main():
response = requests.get(URL)
response.raise_for_status()
pyodide_info = response.json()
current = max(pyodide_info["releases"].values(), key=lambda v: Version(v["version"]))
config_file = DIR.parent / "cibuildwheel/resources/build-platforms.toml"
content = tomlkit.parse(config_file.read_text())
configs = content["pyodide"]["python_configurations"]
for config in configs:
if config["version"].split(".")[1] == current["python_version"].split(".")[1]:
config["version"] = current["python_version"]
config["pyodide_version"] = current["version"]
config["emscripten_version"] = current["emscripten_version"]
config_file.write_text(tomlkit.dumps(content))
if __name__ == "__main__":
main() Works (well, currently it downgrades pyodide, but that's "working"). |
Bumping for pyodide 0.26.1, which contains some important fixes.
We should probably automate this. You can get the emscripten version from pyodide build, not sure if there's a better way.