Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improving onboarding and enabling contributions #15

Open
eriknw opened this issue Jun 14, 2022 · 2 comments
Open

Improving onboarding and enabling contributions #15

eriknw opened this issue Jun 14, 2022 · 2 comments
Labels
discussion Discussing a topic with no specific actions yet documentation Improve or add to documentation

Comments

@eriknw
Copy link
Member

eriknw commented Jun 14, 2022

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 :)

@eriknw eriknw added documentation Improve or add to documentation discussion Discussing a topic with no specific actions yet labels Jun 14, 2022
@z3y50n
Copy link

z3y50n commented Jul 6, 2022

These are all good points for a nicer, smoother onboarding process and making usage of graphblas much easier.

Personally, I feel we need to prioritize having a good reference documentation. This will at least give everyone the basic usage of graphblas' functions.

Besides that, a small tutorial like that of NetworkX could be helpful for a hands on example and exposure to graphblas.

@eriknw
Copy link
Member Author

eriknw commented Jul 11, 2022

I agree with those priorities @z3y50n, thanks for the input.

Check out the documentation that @jim22k just created:
https://python-graphblas.readthedocs.io/en/latest/

I expect documentation will be an ongoing effort, so feedback is most welcome.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion Discussing a topic with no specific actions yet documentation Improve or add to documentation
Projects
None yet
Development

No branches or pull requests

2 participants