Skip to content

[Tutorials] Plots tutorial on linux tries to build numpy 2.2.4 if py314 is picked by uv for the sandbox #11144

Description

@psobolewskiPhD

Describe the bug

I tested with both the marimo 0.25.1 container and with uvx, e.g.:
UV_CACHE_DIR=/tmp/uv uvx marimo run --sandbox test.py --host 0.0.0.0 --port 9876 --headless

Where test.py is the plots tutorial from:
https://raw.githubusercontent.com/marimo-team/marimo/2155cae9902af88ba093f05792acbb37de5cbcf0/marimo/_tutorials/plots.py

Whether run from the tutorials menu or like this, for the sandbox uv picks python 3.14 and then attempts to build numpy.

If I change:

# requires-python = ">=3.12"

to

# requires-python = "==3.12"

(or 3.13)
then it works as expected, downloading a wheel. But with ==3.14 it tries to build the wheel.

I guess if the other versions are going to be pinned, then there should be an upper bound on the python as well...

Will you submit a PR?

  • Yes

Environment

Environment
{
  "marimo": "0.25.1",
  "editable": false,
  "location": "~/.cache/uv/archive-v0/uOa2INdx2FJGp15j9NWhc/lib/python3.13/site-packages/marimo",
  "OS": "Linux",
  "OS Version": "5.14.0-687.41.1.el9_8.x86_64",
  "Processor": "",
  "Python Version": "3.13.15",
  "Locale": "C",
  "Binaries": {
    "Browser": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/27.0 Safari/605.1.15",
    "Node": "--",
    "uv": "0.10.9"
  },
  "Dependencies": {
    "click": "8.5.0",
    "docutils": "0.23",
    "itsdangerous": "2.2.0",
    "jedi": "0.20.0",
    "markdown": "3.11",
    "narwhals": "2.26.0",
    "packaging": "26.3",
    "psutil": "7.2.2",
    "pygments": "2.21.0",
    "pymdown-extensions": "11.0.2",
    "pyyaml": "6.0.3",
    "starlette": "1.7.0",
    "tomlkit": "0.15.1",
    "typing-extensions": "4.16.0",
    "uvicorn": "0.54.0",
    "websockets": "17.1"
  },
  "Optional Dependencies": {
    "loro": "1.16.2",
    "python-lsp-ruff": "2.3.4",
    "python-lsp-server": "1.15.0",
    "ruff": "0.16.10"
  },
  "Experimental Flags": {
    "line_timing": true
  }
}

Code to reproduce

No response

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

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions