Skip to content

Improving onboarding and enabling contributions #15

Open
@eriknw

Description

@eriknw

It will be an ongoing effort to make it easier to contribute to graphblas-algorithms, so lets gather ideas and prioritize in this thread. Heh, right now, I encourage potential contributors to be very patient. Things will get better/easier, I promise!

  • Improve the overall documentation of python-graphblas
  • Add contributing documentation to python-graphblas and graphblas-algorithms
    • How to set up local dev environment, etc. Should borrow liberally from contributing docs from other libraries.
  • Create issues for "starter algorithms"
  • Create "algorithm template" notebook that helps guide development
    • Create example data, load datasets, guidelines for benchmarking, run networkx tests, etc.
  • Create notebooks with exercises as e.g. self-guided tutorials
    • Example starter exercises:
      • Find neighbors of node X
      • Find "friends of friends"
      • Find predecessors (or successors) of directed graphs
      • etc.; there are lots of "simple" algorithms we can build up to
    • I think some notebooks should encourage hands-on experimentation, not just reading
  • I think dev notebooks could be a nice side-effect of adding algorithms
    • For example, for triangle counting, there were lots of possibilities to choose from, and I decided based on benchmarks
    • These notebooks can help demonstrate how algorithm development is done, and help revise algorithms later if necessary
    • These may be messy. Not intended as tutorial notebooks. I have some notebooks around that probably belong somewhere.
    • I don't want to require a notebook for each algorithm, but it's a nice-to-have.
  • Don't forget about contributions other than algorithms!

I'm the most familiar with both python-graphblas and graphblas-algorithms, so I trust my judgement the least regarding how to improve onboarding and enabling contributions. @MridulS, @z3y50n, @ParticularMiner, what do you think would be the most helpful? Also, thanks for your patience :)

Metadata

Metadata

Assignees

No one assigned

    Labels

    discussionDiscussing a topic with no specific actions yetdocumentationImprove or add to documentation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions