tinyhumansai/openhuman · error

invalid runtime_python.minimum_version `{minimum_version}`

Error message

invalid runtime_python.minimum_version `{minimum_version}`

What it means

select_distribution could not parse runtime_python.minimum_version as a Python version — a raw config syntax error caught before any network call. The offending literal is echoed in backticks.

Source

Thrown at src/openhuman/runtime/python/downloader.rs:87

        .get(&url)
        .header(reqwest::header::USER_AGENT, "openhuman-core/runtime_python")
        .send()
        .await
        .with_context(|| format!("GET {url}"))?
        .error_for_status()
        .with_context(|| format!("non-success status on {url}"))?
        .json::<GithubRelease>()
        .await
        .with_context(|| format!("decoding release metadata from {url}"))
}

pub fn select_distribution(
    release: &GithubRelease,
    minimum_version: &str,
    maximum_version: &str,
) -> Result<PythonDistribution> {
    let Some(minimum) = parse_python_version(minimum_version) else {
        bail!("invalid runtime_python.minimum_version `{minimum_version}`");
    };
    // Empty string disables the upper bound. A non-empty but unparseable value
    // is a config error worth surfacing rather than silently ignoring.
    let maximum = if maximum_version.trim().is_empty() {
        None
    } else {
        match parse_python_version(maximum_version) {
            Some(v) => Some(v),
            None => bail!("invalid runtime_python.maximum_version `{maximum_version}`"),
        }
    };
    let target_suffix = host_asset_suffix()?;

    let mut candidates = release
        .assets
        .iter()
        .filter_map(|asset| parse_distribution_asset(asset, &release.tag_name))
        .filter(|dist| asset_matches_target(&dist.asset_name, target_suffix))

View on GitHub (pinned to 7491200858)

Solutions

  1. Fix minimum_version in the [runtime_python] config block to a valid version like "3.12"
  2. Remove the override to fall back to the built-in default
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at src/openhuman/runtime/python/downloader.rs:87 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of tinyhumansai/openhuman@7491200858 (2026-08-17). Data as JSON: /api/errors/f0a6055511a21c28. Report an issue: GitHub.