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

Good first issues in rustworkx #19

Open
mtreinish opened this issue Aug 15, 2022 · 15 comments
Open

Good first issues in rustworkx #19

mtreinish opened this issue Aug 15, 2022 · 15 comments

Comments

@mtreinish
Copy link

Description

rustworkx is a high performance general purpose graph library for python written in Rust to take advantage of the performance and safety that Rust provides. It was originally built as a replacement for Qiskit's previous networkx usage (hence the name) but is designed to provide a high performance general purpose graph library for any python application. The project was originally started to build a faster directed graph to use as the underlying data structure for the DAG at the center of qiskit-terra's transpiler, but it has since grown to cover all the graph usage both in Qiskit and other applications. We use rustworkx at the core of many of Qiskit's algorithms and functions (including the transpiler) when a graph representation is needed.

This project is to work on improving rustworkx and to help maintain the project. The primary activities around this project are going to be contributing to rustworkx and working on open issues. The full list of good first issues in rustworkx can be found here.

Deliverables

The project is to work through good first issues on rustworkx. So ideally pull requests and reviews of others pull requests on rustworkx are the deliverable for this project. However, as it is a fairly open ended project to get involved in the development of rustworkx the exact deliverables aren't set in stone. In previous iterations mentees have helped opened pull requests to other projects using rustworkx along with other related tasks

Mentors details

  • Mentor 1
    • Name: Matthew Treinish
    • GitHub ID: @mtreinish
    • What they do: Qiskit Core Developer

Number of mentees

3

Type of mentees

  • Mentees
    • Required:
      • Some experience programming
      • Desire to contribute to an open source project
    • Nice to have:
      • Experience in Python
      • Experience in Rust (this is not expected and can be learned during the mentorship)
      • Experience with graph theory
@acharyasourav
Copy link

Hello @mtreinish I'm new to open-source and would love to contribute all I lack is a mentor to guide me through stuff. I've experience in python and also learning graph theory as a part of my course. I don't mind learning rust on the go. It would be great being a mentee.

@miamico
Copy link

miamico commented Aug 24, 2022

I'd like to be a mentee on this issue. Is this a possibility for IBMers too?

@gideonuchehara
Copy link

Hello @mtreinish , I am interested in this project. I have submitted my application for mentorship. Please, let me know what the next steps are. Looking forward to working with you. Thanks.

@gprs1809
Copy link

gprs1809 commented Sep 3, 2022

Hello @mtreinish, I have opted for this project. It looks super interesting. I am well-versed with Python, I loved graph theory when I studied it and would love to get back to it. I am extremely keen on learning Rust as well. Would be really happy to learn more about this project from you. Looking forward to a discussion and hopefully, also getting an opportunity to work on this :)

@Seungwook-Woo
Copy link

@GemmaDawson

@prakharb10
Copy link

@GemmaDawson

@acharyasourav
Copy link

acharyasourav commented Sep 17, 2022

@GemmaDawson

@GemmaDawson
Copy link
Contributor

@SUGARXUST - Please email or Slack me to discuss as I cannot find your application or advocate listing.

@prakharb10
Copy link

Checkpoint 1 presentation - qamp-ch-1.pdf

@Seungwook-Woo
Copy link

Checkpoint 2 update

Add ladder graph generator and test unit

I have studied the Rust-lang and submitted a PR Qiskit/rustworkx#705 for the ladder graph generator.
I plan to resolve some conflicts in the PR and contribute to Rustworkx in another issue.

An example of the ladder graph
ladder_graph

@prakharb10
Copy link

Apologies for the delay. I've been extra busy with school and other work. My contributions in this phase have been less than the first four weeks, mainly due to the above reasons. My semester ends soon, and I plan to work full-time for the rest of the project.


I added two graph generators - complete and empty (Qiskit/rustworkx#679). This is part of the more significant issue of expanding the generator module. Minor QA work - Qiskit/rustworkx#691.
I'm also continuing my work on Qiskit/rustworkx#587 to close the issue.

Visualizations of the graphs:
Empty Graph
rustworkx generators empty_graph_0_0

Complete Graph (Directed)
rustworkx generators directed_complete_graph_0_0

@GemmaDawson
Copy link
Contributor

@prakharb10 & @Seungwook-Woo - please upload your Final Showcase presentation materials, and if needed, update the project Title and/or description.

@Seungwook-Woo
Copy link

@GemmaDawson
Hello, sorry for the late upload.
In this QAMP fall 22, I have dealt with a ladder graph generator and now I'm dealing with periphery issue.
This is the final showcase presentation file.
QAMP_Final_SWWOO.pptx

@GemmaDawson
Copy link
Contributor

Congratulations on completing all the requirements for QAMP Fall 2022!! 🌟🌟🌟

@prakharb10
Copy link

Final ppt:
qamp-final.pdf

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Final Showcase Submitted
Development

No branches or pull requests

9 participants