networkx / networkx/networkx

Refactor "loopback" testing backend to also serve as an example backend

Open
#7,468 0 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.