Skip to content

pyodide xbuildenv search --json option #26

Closed
@agriyakhetarpal

Description

@agriyakhetarpal

Description

The pyodide xbuildenv search command currently prints out a formatted table of values:

❯ pyodide xbuildenv search

currently returns

Starting new HTTPS connection (1): raw.githubusercontent.com:443
https://raw.githubusercontent.com:443 "GET /pyodide/pyodide/main/pyodide-cross-build-environments.json HTTP/11" 200 917
Version         Python          Emscripten      pyodide-build                   Compatible
----------      ----------      ----------      -------------------------       ----------
0.27.0a2        3.12.1          3.1.58          0.26.0 -                        Yes       
0.26.2          3.12.1          3.1.58          0.26.0 -                        Yes       
0.26.1          3.12.1          3.1.58          0.26.0 -                        Yes       
0.26.0          3.12.1          3.1.58          0.26.0 -                        Yes    

(Side note: is the pyodide-build version wrong? It's returning 0.26.0 - for all the versions, and not the latest pyodide-build version at the time of writing – which is version 0.28.0?)

It would be great to get the same output in JSON – for example, something like

{
  "environments": [
    {
      "version": "0.27.0a2",
      "python": "3.12.1",
      "emscripten": "3.1.58",
      "pyodide_build": "0.26.0",
      "compatible": true
    },
    {
      "version": "0.26.2",
      "python": "3.12.1",
      "emscripten": "3.1.58",
      "pyodide_build": "0.26.0",
      "compatible": true
    },
    {
      "version": "0.26.1",
      "python": "3.12.1",
      "emscripten": "3.1.58",
      "pyodide_build": "0.26.0",
      "compatible": true
    },
    {
      "version": "0.26.0",
      "python": "3.12.1",
      "emscripten": "3.1.58",
      "pyodide_build": "0.26.0",
      "compatible": true
    }
  ]
}

Motivation

A JSON-based output would be machine-readable and serialisable into a Python script at runtime. This might be useful for cibuildwheel, where currently it is assumed that the Pyodide version and the pyodide-build version go hand-in-hand (it has to be updated since the unvendoring, which I'm working on).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions