Skip to content

Quarto Python test pins packages with no Python 3.14 build #54

Closed

Description

@csgillespie

What's wrong

The Quarto Python test's requirements.txt came from a pip freeze taken before Python 3.14. Seven of its 107 pins have no Python 3.14 wheel on PyPI, including matplotlib==3.10.3 and numpy==2.2.6, so the environment fails to build on 3.14. PHS runs Python 3.14, and audit.connect::check_deploy_quarto_python fails there because it deploys this document. The matplotlib error matches matplotlib/matplotlib#30198. Reported in Slack.

Where

inst/extdata/render_quarto/python/requirements.txt on main. audit.connect's check_deploy_quarto_python in R/deploy_quarto-r6.R deploys it to Connect.

Output / steps to reproduce

Pins with no Python 3.14 wheel on PyPI:
cffi==1.17.1
contourpy==1.3.2
kiwisolver==1.4.8
MarkupSafe==3.0.2
matplotlib==3.10.3
numpy==2.2.6
PyYAML==6.0.2

Suggested fix

index.qmd only imports numpy and matplotlib, plus the Jupyter kernel Quarto needs, so list those instead of the full freeze. A single exact pin can't cover every Python: no numpy or contourpy release has wheels for both 3.10 and 3.14. Use version ranges, or environment markers such as numpy==2.2.6; python_version < "3.11". matplotlib 3.10.9 has wheels for both.

Activity

  1. added
    bugSomething doesn't work as intended
    complexity::1-lowDoesn't need an in-depth understanding of the technology to solve.
    effort::1-hoursFor tasks that can be completed within a few hours.
    priority::1-mustCritical to the current delivery timebox. Missing even one means the delivery has failed.
    on Oct 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething doesn't work as intendedcomplexity::1-lowDoesn't need an in-depth understanding of the technology to solve.effort::1-hoursFor tasks that can be completed within a few hours.priority::1-mustCritical to the current delivery timebox. Missing even one means the delivery has failed.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions