Skip to content

[BUG] Build Failure: Python 3.14 incompatibility due to outdated pyo3 in jsonschema-rs #111

Description

@HetCreep

Description

When installing or running tests on Python 3.14, the dependency build fails. The transitive dependency jsonschema-rs (v0.29.1) fails to compile from source. Maturin fails to build the native library because the PyO3 version used by jsonschema-rs (v0.23.4) does not support Python 3.14 yet (maximum supported is Python 3.13).

SkillSpector's pyproject.toml declares:

requires-python = ">=3.12,<3.15"

Which indicates support for Python 3.14, but the build environment fails on 3.14.

Error Logs

error: the configured Python interpreter version (3.14) is newer than PyO3's maximum supported version (3.13)
  = help: please check if an updated version of PyO3 is available.
Current version: 0.23.4
  = help: set PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 to suppress this check and build anyway using the stable ABI
warning: build failed, waiting for other jobs to finish...
maturin failed
  Caused by: Failed to build a native library through cargo

Remediation

  1. Adjust the python requirement range in pyproject.toml to requires-python = ">=3.12,<3.14" to accurately reflect Python 3.13 as the upper limit until PyO3/jsonschema-rs is updated.
  2. Or document a workaround to run PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 uv pip install . on Python 3.14.

Metadata

Metadata

Assignees

No one assigned

    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