maminrayej / prepona

A graph crate with simplicity in mind
MIT License
87 stars 7 forks source link

GraphStorage doesn't support arbitrary node weights #8

Open dmyyy opened 1 year ago

dmyyy commented 1 year ago

I want to implement a custom graph storage that supports arbitrary info on the nodes. The GraphStorage trait seems a little restrictive in only allowing edge weights - am I missing something or is usize the only node type supported?

maminrayej commented 1 year ago

The current implementation of prepona is not ready to be used at all. I'm working on a re-implementation on simorgh branch, but that's bare bone and and doesn't have anything for you to use. For now, I strongly recommend that you use petgraph.

Thanks for your interest in prepona. I hope I can set aside enough time to work on this project.

dmyyy commented 1 year ago

Thanks for the quick response!

The current implementation of prepona is not ready to be used at all.

That's a shame - I really like a lot of the architectural ideas presented here, the documentation is top notch. I'm looking forward to what you work on in the future.

Edit:

Any possibility you need some help? I'm interested in having a good graph crate and progress in petgraph is on and off (mostly off unfortunately)

maminrayej commented 1 year ago

That's heartwarming to hear :)

Right now the development is annoyingly iterative(there's nothing to build upon). You're more than welcome to look into the code though. I'm currently developing traversal algorithms since I'm tired of working on storage impls. You can start developing some algorithms, or implement a storage like adjacency map for example. basically prepona needs to reach feature parity with petgraph as its first goal. You can see what there is in petgraph that is not in prepona (which are a lot :) ), and implement them. Use the simorgh branch as the base branch.