Refactor "loopback" testing backend to also serve as an example backend
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 17.3k
- Forks
- 3.6k
- Avg merge
- 2d 20h
- Merged PRs (30d)
- 36
Description
At a recent dispatching dev meeting, it was suggested that we formalize @Schefflera-Arboricola's J4F example backend to make it more discoverable to NX backend devs. Further discussion proposed repurposing the "loopback" backend used for testing to do the same thing, which would allow it to serve as both a backend for testing and providing a starting example. The advantage of that is it will be tested as part of NetworkX CI to ensure it's always up-to-date.
In order to make it as easy as possible to serve as a starting point for new backends, the proposal included moving the loopback backend to a separate subdir in the NX source tree, which would resembe the root dir of a new backend. Backend devs would simply copy the loopback subdir to a new repo and change it accordingly.
The proposal also mentioned renaming the loopback backend to improve clarity, potentially to "nx-backend-testing", "nx-backend-tester", or something similar. It was mentioned that "loopback" is accurate, but might not be an obvious choice for someone looking for a backend to use as a starting point.
Related PR: https://github.com/networkx/networkx/pull/7369
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the existing loopback backend and reviewing related PR #7369, then compare its structure with the linked J4F example backend. Decide on the backend name and separate copyable subdirectory layout. Done means the backend serves as both a tested NetworkX CI backend and a discoverable starting example for new backend projects.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend, testing
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100