{
  "schemaVersion": 1,
  "purpose": "Recipient access to three already-selected dependency sources",
  "manifestPath": "/grist-ui/SOURCE-CODE.json",
  "noticePath": "/grist-ui/NOTICE",
  "rootLicensePath": "/grist-ui/LICENSE",
  "sources": [
    {
      "package": "astroid",
      "version": "2.14.2",
      "commit": null,
      "path": "/grist-ui/SOURCES/astroid-2.14.2.tar.gz",
      "bytes": 224336,
      "sha256": "a3cf9f02c53dd259144a7e8f3ccd75d67c9a8c716ef183e0c1f291bc5d7bb3cf",
      "publicURL": "https://files.pythonhosted.org/packages/15/e5/7dea50225cd8b44f1488ae83a243467fe6d2a3c4f611d865085b4bba67e5/astroid-2.14.2.tar.gz",
      "license": "LGPL-2.1-or-later",
      "licenseMember": "astroid-2.14.2/LICENSE",
      "buildFiles": [
        "pyproject.toml",
        "setup.cfg",
        "MANIFEST.in"
      ],
      "correspondence": "100 module paths/header source sizes match recorded source; source/wheel LICENSE bytes exact; no cryptographic pyc identity."
    },
    {
      "package": "chardet",
      "version": "5.1.0",
      "commit": null,
      "path": "/grist-ui/SOURCES/chardet-5.1.0.tar.gz",
      "bytes": 2069617,
      "sha256": "0d62712b956bc154f85fb0a266e2a3c5913c2967e00348701b32411d6def31e5",
      "publicURL": "https://files.pythonhosted.org/packages/41/32/cdc91dcf83849c7385bf8e2a5693d87376536ed000807fa07f5eab33430d/chardet-5.1.0.tar.gz",
      "license": "LGPL",
      "licenseMember": "chardet-5.1.0/LICENSE",
      "buildFiles": [
        "pyproject.toml",
        "setup.cfg",
        "MANIFEST.in"
      ],
      "correspondence": "48 module paths/header source sizes match recorded source; source/wheel LICENSE bytes exact; no cryptographic pyc identity."
    },
    {
      "package": "pyodide",
      "version": "0.28.1",
      "commit": "0db5ff79f310694a7d72ae0b3279e9809ab836d6",
      "path": "/grist-ui/SOURCES/pyodide-0db5ff79f310694a7d72ae0b3279e9809ab836d6-source.tar.gz",
      "bytes": 1518369,
      "sha256": "faf8d52dbd0ec1b93593d57124f8695d9de7b22081175344b835690d4e1a2676",
      "publicURL": "https://codeload.github.com/pyodide/pyodide/tar.gz/0db5ff79f310694a7d72ae0b3279e9809ab836d6",
      "license": "MPL-2.0",
      "licenseMember": "pyodide-0db5ff79f310694a7d72ae0b3279e9809ab836d6/LICENSE",
      "buildFiles": [
        "Makefile",
        "pyproject.toml",
        "run_docker"
      ],
      "correspondence": "Fixed official 0.28.1 tag/npm commit and source archive; no independent rebuild identity."
    }
  ],
  "delivery": {
    "contentType": "application/gzip",
    "contentEncoding": null,
    "requirement": "Serve archive bytes unchanged with Content-Type application/gzip and no Content-Encoding header."
  },
  "publisherRecipe": {
    "gristStaticVersion": "0.1.6",
    "gristStaticCommit": "4eb5c66c2bf9b0c50dd0d11031e1f989ebf1e09e",
    "coreCommit": "76f52c81265e0a0c43be20b923dc03c79f62e1c0",
    "pyodideVersion": "0.28.1",
    "steps": [
      "Fixed grist-static package/tree pins its core gitlink.",
      "Core requirements.txt pins astroid 2.14.2 and chardet 5.1.0; env.sh pins Pyodide 0.28.1.",
      "build_packages.sh checks out that Pyodide version, uses run_docker make, pyodide build -r requirements.txt, then pyodide py-compile; preparePackages.js organizes name/version/fileName.",
      "grist-static pyodide-pyc-ify.js overlays the installed Pyodide version with upstream /pyc/ files.",
      "Core Makefile setup fetches prebuilt packages; recipe availability does not establish that these local wheels were independently rebuilt."
    ],
    "links": [
      {
        "name": "grist-static",
        "publicURL": "https://registry.npmjs.org/grist-static/0.1.6",
        "bytes": 1742,
        "sha256": "d3468995450f231b9ce9c81cf4a69cccf07207ab8acac4a877577bf9dd483461"
      },
      {
        "name": "package.json",
        "publicURL": "https://raw.githubusercontent.com/gristlabs/grist-static/4eb5c66c2bf9b0c50dd0d11031e1f989ebf1e09e/package.json",
        "bytes": 715,
        "sha256": "994425a261052cc8f97642deed7bfc1df4b69a150fea3850ca9ce778b57d376e"
      },
      {
        "name": "tree",
        "publicURL": "https://api.github.com/repos/gristlabs/grist-static/git/trees/4eb5c66c2bf9b0c50dd0d11031e1f989ebf1e09e",
        "bytes": 3765,
        "sha256": "2d825bd602648ade01599541d61989e7ad378a94826a2742e25a9bf1b3de191a"
      },
      {
        "name": "Makefile",
        "publicURL": "https://raw.githubusercontent.com/gristlabs/grist-static/4eb5c66c2bf9b0c50dd0d11031e1f989ebf1e09e/Makefile",
        "bytes": 1332,
        "sha256": "80452c7bd23a48c58208a0c38030e02d15f2b3b1ae53cc56971da3c8629d8683"
      },
      {
        "name": "pyodide-pyc-ify.js",
        "publicURL": "https://raw.githubusercontent.com/gristlabs/grist-static/4eb5c66c2bf9b0c50dd0d11031e1f989ebf1e09e/scripts/pyodide-pyc-ify.js",
        "bytes": 1596,
        "sha256": "dcfd0e88c13e02a915352329fa6e4346128913087133518012183eb50d4be1aa"
      },
      {
        "name": "core-pyodide-Makefile",
        "publicURL": "https://raw.githubusercontent.com/gristlabs/grist-core/76f52c81265e0a0c43be20b923dc03c79f62e1c0/sandbox/pyodide/Makefile",
        "bytes": 1050,
        "sha256": "eee0ca0816e92b2daea67f7588fbea478af87c1e4c6a1fcf87078274a2bfd83a"
      },
      {
        "name": "core-requirements",
        "publicURL": "https://raw.githubusercontent.com/gristlabs/grist-core/76f52c81265e0a0c43be20b923dc03c79f62e1c0/sandbox/requirements.txt",
        "bytes": 1401,
        "sha256": "8435b701a64cd64841d730fa73828364aeccf298a15521278c7f26b4873980c4"
      },
      {
        "name": "core-pyodide-env",
        "publicURL": "https://raw.githubusercontent.com/gristlabs/grist-core/76f52c81265e0a0c43be20b923dc03c79f62e1c0/sandbox/pyodide/env.sh",
        "bytes": 98,
        "sha256": "36492ee9a45434dfffc69c7652abed8112692ad2edce1d73b46f03225bebaa7b"
      },
      {
        "name": "core-build-packages",
        "publicURL": "https://raw.githubusercontent.com/gristlabs/grist-core/76f52c81265e0a0c43be20b923dc03c79f62e1c0/sandbox/pyodide/build_packages.sh",
        "bytes": 951,
        "sha256": "ca9e1decc85a018ef6b72855c26ae89f5e4eb6341c3353d9d097d3e52c0d53b2"
      },
      {
        "name": "core-prepare-packages",
        "publicURL": "https://raw.githubusercontent.com/gristlabs/grist-core/76f52c81265e0a0c43be20b923dc03c79f62e1c0/sandbox/pyodide/preparePackages.js",
        "bytes": 2686,
        "sha256": "6bb63d72696413c6af34f983014200445c73e443da783dbc35cf8d916fdb53dc"
      },
      {
        "name": "core-pyodide-packages",
        "publicURL": "https://raw.githubusercontent.com/gristlabs/grist-core/76f52c81265e0a0c43be20b923dc03c79f62e1c0/sandbox/pyodide/packages.js",
        "bytes": 1140,
        "sha256": "bf65cafa2f3cee593753743e3ec2d566fdf2f64a71887bf31e353e8476216f85"
      }
    ]
  },
  "limits": "Version/module/license/header-size correspondence and fixed publisher recipe are recorded. Timestamp-based pyc headers do not cryptographically prove source identity. No independent rebuild or bytecode equality has been demonstrated. Full corresponding-source fulfillment, all rights, final 67+17/A4 acceptance, final delivery/ZIP/share inclusion and public deployment/cutover remain unaccepted; et_xmlfile canonical LICENSE acquisition remains unresolved.",
  "allRightsAccepted": false,
  "allCorrespondingSourceSatisfied": false,
  "independentRebuildIdentityProved": false
}
