A reliable idiomatic wrapper for networkx [$400]
@Syuizen ci sta già lavorando.
Dal 18/8/2025.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
A reliable idiomatic networkx wrapper [$400]
Using networkx through PythonCall.jl is trivially easy. This bounty is mostly about creating a new NetworkX.jl wrapper (by using PythonCall.jl) that provides quality-of-life improvements,
- Fast conversion and/or views between Graphs.jl types and the networkx structures
- Complete Graph API support for the newly created networkx wrapper types (so that networkx types can be used in all already existing Graph.jl algorithms that do not peek behind the API)
- use GraphsInterfaceChecker.jl in the test suite
- Dispatch from operations defined in Graphs/GraphsMatching/GraphsOptim to networkx implementation. For instance if there is a pre-existing
Graphs.some_interesting_property(::AbstractGraph)there should now be a new method defined in NetworkXsome_interesting_property(g::AbstractGraph, ::NXAlgorithm)that dispatches to the networkx implementation. It should convert thegargument to networkx graphs if necessary. - If there is an algorithm defined in networkx that does not exist yet in Graphs.jl, it should be declared in Graphs.jl (just a function with docs but no methods), together with an error hint that NetworkX is necessary. Given the large scope of the library, this can be more of a proof-of-concept setup, documenting how to add everything, but not expecting everything to be added for completing the bounty.
- Proper tests and documentation.
- PRs on this topic have to be submitted with clean git histories and well compartmentalized for ease of review.
Required skills: familiarity with the Graphs.jl API and understanding of the PythonCall package
Reviewer: any Graphs.jl member with merge rights
Duration: 3 months
Payout procedure:
The Funding for these bounties comes from the National Science Foundation and from the NSF Center for Quantum Networks. The payouts are managed by the NumFOCUS foundation and processed in bulk once every two months. If you live in a country in which NumFOCUS can make payments, you can participate in this bounty program.
Click here for more details about the bug bounty program.
Bug bounty logistic details (click to expand)
To claim exclusive time to work on this bounty either post a comment here or message [email protected] with:
- your name
- github username
- (optional) a brief list of previous pertinent projects you have engaged in
If you want to, you can work on this project without making a claim, however claims are encouraged to give you and other contributors peace of mind. Whoever has made a claim takes precedence when solutions are considered.
You can always propose your own funded project, if you would like to contribute something of value that is not yet covered by an official bounty.
- Lingua principale
- Julia
- Stelle
- 539
- Fork
- 130
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di JuliaGraphs/Graphs.jl
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
JuliaGraphs/Graphs.jl#521 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 42/100
JuliaGraphs/Graphs.jl#504 · 4 commenti ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 55/100
JuliaGraphs/Graphs.jl#498 · 1 commento ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 42/100
JuliaGraphs/Graphs.jl#497 · 1 commento ·
-
good first issue
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
JuliaGraphs/Graphs.jl#483 · 3 commenti ·
Tutte le issue di JuliaGraphs/Graphs.jl
Issue simili
-
Add DocStringExtensionsApertadocumentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
ohno/Antique.jl#165 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
SciML/DiffEqNoiseProcess.jl#342 ·
-
Broken links in the docsAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
I maintainer di solito rispondono entro 1 giorno