Skip to content

plan for splitting the package #450

@CarloLucibello

Description

@CarloLucibello

The codebase is currently undergoing a factorization whose final outcome is to have several packages hosted in the same monorepo (for developing convenience, see #433):

  • GNNGraphs.jl: graph types and graph operations. Depends on Graphs.jl and on NNlib.jl.
  • GNNlib.jl: functional implementation of graph convolutional layers. Depends on GNNGraphs.jl.
  • GraphNeuralNetworks.jl or FluxGNN.jl: Stateful graph convolutional layers based on Flux.jl. This will be the fronted package for Flux users. Depends on GNNlib.jl, GNNGraphs.jl, and Flux.jl.
  • LuxGNN.jl: Stateless graph convolutional layers satisfying Lux's interface. Depends on GNNlib.jl, GNNGraphs.jl, and Lux.jl.

This way we will introduce Lux support (#372) and the Flux and Lux frontends will be only tiny wrappers around a shared codebase given by GNNlib.jl and GNNGraphs.jl.

I will keep track here of the transition status:

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions