← Back to issue list

python plugin: Support `disable-parallel` parameter

View original Github issue

Metadata

Project
craft-parts
Number
#1247
Type
issue
State
open
Author
lengau
Labels
Type: Enhancement Status: Needs information
Created
Updated
Closed

Current evaluation

Enhancement to add the disable-parallel part property to the python plugin, with a proposed 3-state design (None/True/False) for parallel wheel builds. Labeled Needs information; maintainers discussing design and awaiting a real-world use case.

Suggested action: keep open

Reason: The issue is triaged (Type: Enhancement, Status: Needs information) and actively discussed: lengau proposed a 3-state None/True/False design in 2025-09-02, and cmatsuoka's 2026-08-30 question about equivalence with CRAFT_PARALLEL_BUILD_COUNT=1 shows the design debate is ongoing. It is explicitly deferred until a real-world use case (e.g. python-apt, pydantic-core) is provided, so it should remain open pending that input.

Impact: 15 Quick Win: 6.0 Staleness: 5 Complexity: 60 Confidence: 85 Support Request: 10

Issue body

### What needs to get done Support the [disable-parallel](https://canonical-craft-parts.readthedocs-hosted.com/latest/common/craft-parts/reference/part_properties/#disable-parallel) part property in the python plugin. ### Why it needs to get done All of our plugins should theoretically support this. In practice though, this is extremely low priority until someone shows us a real-world use case for it. If someone can bring us a real-world use case that we can test against (especially a case of "this application simply does not build with parallel"), that would be ideal. The [autotools plugin](https://github.com/canonical/craft-parts/pull/1167) required this for OpenJDK builds, for example.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 15
Quick Win: 6.0
Staleness: 5
Complexity: 60
Confidence: 85
Support Request: 10
keep open Enhancement to add the disable-parallel part property to the python plugin, with a proposed 3-state design (None/True/False) for parallel wheel builds. Labeled Needs information; maintainers discussing design and awaiting a real-world use case.
qwen/qwen3.6-35b-a3b
Staleness: 5
Complexity: 45
Confidence: 85
Support Request: 10
keep open Enhancement to support the disable-parallel part property in the Python plugin for compiled wheel extensions. Currently under active maintainer discussion with a proposed three-state implementation.
qwen/qwen3.6-35b-a3b
Staleness: 15
Complexity: 45
Confidence: 80
Support Request: 5
keep open Enhancement to support the disable-parallel part property in the python plugin. Maintainers are discussing implementation states and questioning if parallel builds are relevant to Python packaging. Currently under discussion with recent maintainer comments.
qwen/qwen3.6-35b-a3b
Staleness: 85
Complexity: 45
Confidence: 75
Support Request: 10
keep open Enhancement to add disable-parallel support to the Python plugin. Maintainer provided implementation guidance but no follow-up or PR has been submitted in over a year.
qwen3.6-35b-a3b-mtp-q6
Staleness: 70
Complexity: 60
Confidence: 75
Support Request: 5
keep open Enhancement to add disable-parallel parameter support to the python plugin. Maintainer provided architectural guidance for a 3-state implementation, but no implementation has started in over 10 months.
qwen3.6-35b-a3b-mtp-q6
Staleness: 75
Complexity: 50
Confidence: 75
Support Request: 0
keep open Adds disable-parallel support to the Python plugin. Currently needs a real-world use case to proceed. Maintainer outlines a three-state implementation for enabling or disabling parallel builds, with details under discussion.

Update history

Date Change
updated
updated
updated

Related work

  • Related To: craft-parts#1250 (confidence 80%)

    Referenced in the body: the python plugin's handling of rust dependencies would duplicate whatever is done for the rust plugin's disable-parallel support.

  • Related To: craft-parts#1248 (confidence 75%)

    Sibling issue for the poetry plugin, similarly deferred pending broader Python plugin decisions and a real-world use case.

  • Related To: craft-parts#1252 (confidence 75%)

    Sibling issue for the uv plugin, also blocked on the same broader Python plugin strategy.

  • Related To: craft-parts#1167 (confidence 70%)

    PR cited in the body as the precedent: autotools plugin gained disable-parallel support (confirmed in the changelog).

Related issues

Issue Project State Summary Similarity
#1248 poetry plugin: Support `disable-parallel` parameter craft-parts open Enhancement to support the disable-parallel part property in the poetry plugin. Triaged as 'Needs information'; maintainer deferred it pending the python plugin's disable-parallel decision (#1247), and no real-world use case has been provided.
80%
#1232 ant plugin: Support `disable-parallel` parameter craft-parts open Feature request to add the disable-parallel part property to the ant plugin. Labeled 'Needs information' and waiting ~1 year for a real-world use case; maintainer explicitly called it extremely low priority until one is provided.
80%
#1239 gradle plugin: Support `disable-parallel` parameter craft-parts open Gradle plugin lacks disable-parallel part property support. Labeled Needs information; maintainer proposed a 3-state (None/False/True) design but is waiting for a real-world use case. No implementation in code after 363 days.
79%
#1246 npm plugin: Support `disable-parallel` parameter craft-parts open Feature request to add the disable-parallel part property to the npm plugin. Labeled Needs information; maintainers await a real-world use case before implementing. No activity for ~12 months; part of a family of similar open issues for other plugins.
79%
#1238 go-use plugin: Support `disable-parallel` parameter craft-parts open Feature request to add the disable-parallel part property to the go-use plugin. Labeled Needs information; maintainer awaits a real-world use case, none provided in ~12 months. Plugin still lacks the property.
79%
#1251 scons plugin: Support `disable-parallel` parameter craft-parts open Request to add the disable-parallel part property to the scons plugin. Labeled 'Needs information' by the maintainer, who called it extremely low priority until a real-world use case is provided; no use case or activity in ~12 months.
78%
#1243 maven plugin: Support `disable-parallel` parameter craft-parts open Feature request to add the disable-parallel part property to the maven plugin. Labeled 'Needs information' - maintainer awaits a real-world use case. No activity for ~12 months; the maven plugin still lacks the property.
78%
#1240 java plugin: Support `disable-parallel` parameter craft-parts open Enhancement request to add the disable-parallel part property to the Java base plugin (shared by ant, gradle, maven, maven-use). Labeled Needs information; maintainer awaits a real-world use case, no activity for 363 days.
78%
#1250 rust plugin: Support `disable-parallel` parameter craft-parts open Feature request to add the disable-parallel part property to the rust plugin. Labeled 'Needs information' — maintainer awaits a real-world use case before implementing. No activity for 363 days; rust plugin still lacks the property.
77%
#1244 maven-use plugin: Support `disable-parallel` parameter craft-parts open Feature request to add the disable-parallel part property to the maven-use plugin. Labeled 'Needs information' by the maintainer, who asked for a real-world use case; no comments or use case provided in 12 months.
77%