Skip to content
This repository was archived by the owner on Jun 5, 2024. It is now read-only.
This repository was archived by the owner on Jun 5, 2024. It is now read-only.

Design #1

@OrkoHunter

Description

@OrkoHunter

Some of the ideas which I have been able to think for networkx-lemon

  1. It can't be assured that any function provided by lemon will be able give the desired output and complete exposure to the wrapper functions with the Graph classes defined by NetworkX. So, we'll need to define some wrapper classes explicitly.
  2. Sure we can also provide the back-and-forth option for users to interchange the classes from one to another, somewhat like lemon.Graph(G) where G is a nx.Graph() class.
  3. We tend to avoid wildcard imports mostly. But at some places, we can use them for providing a cleaner and shorter API, as it is in NetworkX core.
  4. In networkx-metis we have an src directory to carry the external source code. But LEMON provides us way more freedom compared to METIS. We can reproduce the source files and (correct me if I'm wrong) we can even change them. In that case, we can change the way we are bundling the external library. Right now src conveys of something embodying "whole" of METIS. For LEMON, we can pick up files from the directory and place it along with the pyx and pxd using it. This will promote the development of the wrapper files as well as the source library. Just a thought.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions