Skip to content

Conversation

@tiran
Copy link
Collaborator

@tiran tiran commented Nov 18, 2025

The DependencyGraph.get_build_topology method returns a TrackingTopologicalSorter with all nodes in the graph. Each node tracks its build dependency set. Nodes for a package with exclusive builds are flagged as exclusive.

The new fromager graph build-graph subcommand analyzes a graph file and prints a list of build steps.

$ fromager graph build-graph e2e/build-parallel/graph.json 
Build dependencies (6):
cython==3.1.1, flit-core==3.12.0, packaging==25.0, setuptools-scm==8.3.1, setuptools==80.8.0, wheel==0.46.1 

Build rounds:
1. flit-core==3.12.0, setuptools==80.8.0
2. cython==3.1.1, imapclient==3.0.1, jinja2==3.1.6, markupsafe==3.0.2, more-itertools==10.7.0, packaging==25.0
3. setuptools-scm==8.3.1, wheel==0.46.1
4. imapautofiler==1.14.0, jaraco-classes==3.4.0, jaraco-context==6.0.1, jaraco-functools==4.1.0, keyring==25.6.0, pyyaml==6.0.2

Building 16 packages in 4 rounds.

@tiran tiran requested a review from a team as a code owner November 18, 2025 14:33
@mergify mergify bot added the ci label Nov 18, 2025
@tiran
Copy link
Collaborator Author

tiran commented Nov 18, 2025

@LalatenduMohanty This PR is the next step after #795

@LalatenduMohanty
Copy link
Member

@tiran thanks, I am assuming #796 needs it as well.

@tiran
Copy link
Collaborator Author

tiran commented Nov 18, 2025

@tiran thanks, I am assuming #796 needs it as well.

I'm taking 796 apart into smaller chunks to make the code easier to review and land.

Copy link
Contributor

@rd4398 rd4398 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good! I have left a small comment but it is non-blocking for this MR

The `DependencyGraph.get_build_topology` method returns a
`TrackingTopologicalSorter` with all nodes in the graph. Each node
tracks its build dependency set. Nodes for a package with exclusive
builds are flagged as exclusive.

The `fromager graph build-graph` subcommand analyzes a graph file and
prints a list of build steps.

Signed-off-by: Christian Heimes <[email protected]>
@tiran tiran force-pushed the integrate-tracking-topo branch from 884fb80 to 93bc18d Compare November 19, 2025 07:51
Copy link
Contributor

@rd4398 rd4398 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good!

@mergify mergify bot merged commit 6648ae6 into python-wheel-build:main Nov 19, 2025
112 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants