feat : Implement full Graphs.jl API and VNAlgorithm dispatch#26
feat : Implement full Graphs.jl API and VNAlgorithm dispatch#26mahmudsudo wants to merge 5 commits intoJuliaGraphs:masterfrom
Conversation
mahmudsudo
commented
Mar 30, 2026
- Implement Graphs.jl interface for VNGraph (edges, neighbors, has_edge,
- Add VNEdgeIterator for efficient edge traversal
- Implement optimized VNGraph <-> SimpleGraph conversions
- Add VNAlgorithm trait for dispatching Graphs.jl functions to very_nauty:
- clique_number
- chromatic_number
- connected_components (via graph_nclusters)
- Integrate GraphsInterfaceChecker.jl in test suite for API compliance
- Add GraphsInterfaceChecker as a dependency
- Update README with usage examples and feature list
- Implement Graphs.jl interface for VNGraph (edges, neighbors, has_edge,
- Add VNEdgeIterator for efficient edge traversal
- Implement optimized VNGraph <-> SimpleGraph conversions
- Add VNAlgorithm trait for dispatching Graphs.jl functions to very_nauty:
- clique_number
- chromatic_number
- connected_components (via graph_nclusters)
- Integrate GraphsInterfaceChecker.jl in test suite for API compliance
- Add GraphsInterfaceChecker as a dependency
- Update README with usage examples and feature list
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #26 +/- ##
==========================================
+ Coverage 45.90% 53.23% +7.33%
==========================================
Files 1 1
Lines 61 139 +78
==========================================
+ Hits 28 74 +46
- Misses 33 65 +32 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Krastanov
left a comment
There was a problem hiding this comment.
Thanks for pursuing this, it is very helpful to our fairly small team of volunteers.
For my notes, this seems related to JuliaGraphs/Graphs.jl#507
This PR seems to have a few independent parts, that probably should be submitted as separate PRs. There are general improvements to tests / benchmarks / etc, those are very straightforward to agree on. But there are also changes dependent on Graphs.jl PR 507, which probably will require some bikeshedding to figure out how we want to actually do it -- those changes would be much slower to decide on, let alone approve.
If you split these tasks in separate PRs, one of them will be merged much sooner. I would suggest keeping everything related to 507 separate. I left a few minor comments as well.
There was a problem hiding this comment.
This file seems to have started depending on external repos. This should be reverted and workflow files should generally be as "default" as possible to ease development.
There was a problem hiding this comment.
Same issues in this file as above. Also, do not remove the doc build. This repo might not have docs defined yet, but the failing workflow should remain, otherwise we will never remember to get around to making the docs folder. Overall, if something is broken, we should not hide the messenger that reminds us that it is broken.
There was a problem hiding this comment.
the extras and targets are not necessary -- that type of information should just be kept in test/Project.toml