id,summary,reporter,owner,description,type,status,priority,milestone,component,resolution,keywords,cc,merged,author,reviewer,upstream,work_issues,branch,commit,dependencies,stopgaps
18185,Clean the Graph/DiGraph constructors,ncohen,,"The Graph and DiGraph constructor are rather long, and rather messy, as they are meant to accept a LOT of different inputs.
The point of this branch is to simplify its logic, in order to be able to split it into subfunctions later.
Here is the current logic:
1) Detect and set the 'format' if it was not specified
2) For every possible format, define whether the graph should allow loops/multiedges
3) Pick a data structure (i.e. backend) and create it
4) For every possible format, add vertices and edges
Besides local fixes and modifications, this branch moves '3' right after '1'. Then, '2' and '4' are merged so that we only enumerate all possible formats once.
I tried to split commits to make it easier to review. I know that it will not be very easy to read. It was not exactly easy to write either.",defect,closed,major,sage-6.7,graph theory,fixed,,ncohen sage-combinat tmonteil vdelecroix dcoudert darij,,Nathann Cohen,David Coudert,N/A,,6afd117df805ce5b42c8019069824ed0cd0d277f,6afd117df805ce5b42c8019069824ed0cd0d277f,#18067,