Skip to content

Conversation

@svij-sc
Copy link
Collaborator

@svij-sc svij-sc commented Jan 24, 2026

Scope of work done

As part of updating onboarding guidance, I would love to slowly build up the user instead of overwhelming them.
Thus, when someone is pip installing gigl, I would like them as part of their onboarding validate that everything is setup correctly using some instructions similar to below vs. trying to boil the ocean with setting up their own docker, task config, preprocessor specs, etc.

COMPILED_KFP_PIPELINE=$(uv run python -c "from gigl.common.constants import DEFAULT_GIGL_RELEASE_KFP_PIPELINE_PATH; print(DEFAULT_GIGL_RELEASE_KFP_PIPELINE_PATH)")
MY_EMAIL_ADDRESS="...."
MY_CUSTOM_RESOURCE_CONFIG_URI="..." # Some guide will be provided to set this up
uv run python -m gigl.orchestration.kubeflow.runner \
		--action=run_no_compile,run \
		--job_name=my_first_gigl_job\
		--start_at=config_populator \
		--task_config_uri="gigl/examples/link_prediction/graph_store/configs/e2e_hom_cora_sup_gs_task_config.yaml" \
		--resource_config_uri=$MY_CUSTOM_RESOURCE_CONFIG_URI \
		--notification_emails=$MY_EMAIL_ADDRESS \
		--compiled_pipeline_path=$COMPILED_KFP_PIPELINE

Where is the documentation for this feature?: N/A

Did you add automated tests or write a test plan?

Updated Changelog.md? NO

Ready for code review?: YES

@svij-sc
Copy link
Collaborator Author

svij-sc commented Jan 24, 2026

/e2e_test

@svij-sc
Copy link
Collaborator Author

svij-sc commented Jan 24, 2026

/unit_test

@svij-sc
Copy link
Collaborator Author

svij-sc commented Jan 24, 2026

/integration_test

@github-actions
Copy link
Contributor

github-actions bot commented Jan 24, 2026

GiGL Automation

@ 24:30:54UTC : 🔄 E2E Test started.

@ 01:46:12UTC : ✅ Workflow completed successfully.

@github-actions
Copy link
Contributor

github-actions bot commented Jan 24, 2026

GiGL Automation

@ 24:31:01UTC : 🔄 Scala Unit Test started.

@ 24:38:39UTC : ✅ Workflow completed successfully.

@github-actions
Copy link
Contributor

github-actions bot commented Jan 24, 2026

GiGL Automation

@ 24:31:01UTC : 🔄 Integration Test started.

@ 01:40:22UTC : ✅ Workflow completed successfully.

@github-actions
Copy link
Contributor

github-actions bot commented Jan 24, 2026

GiGL Automation

@ 24:31:02UTC : 🔄 Python Unit Test started.

@ 01:39:07UTC : ✅ Workflow completed successfully.

Copy link
Collaborator

@mkolodner-sc mkolodner-sc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Shubham! This change makes sense and LGTM for the reasons outlined in the PR description, but cc @kmontemayor2-sc for thoughts as well.

Copy link
Collaborator

@mkolodner-sc mkolodner-sc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few remaining references of examples/ across some notebooks and readmes:

[1]
[2]
[3] (not sure if this one needs to be updated)
[4]
[5] Similarly, not sure if this path is still correct
[6]
[7]

@kmontemayor2-sc
Copy link
Collaborator

Hmmm I understand the appeal here to make onboarding easier, but also I feel like having import gigl.examples is a bit odd? Additionally, having a top-level examples/ folder makes it easier for people browsing from github to see how to use gigl etc.

I feel like {src}/examples isn't so common a pattern? PYG has a top-level examples/ for instance. https://github.com/pyg-team/pytorch_geometric

That being said, having stuff be easier to onboard does make sense, how about we do something like move the toy example to somewhere inside gigl/? (gigl/src/getting_started/?)

@svij-sc
Copy link
Collaborator Author

svij-sc commented Jan 27, 2026

@kmontemayor2-sc I can resonate with what you are saying.

a top-level examples/ folder makes it easier for people browsing from github to see how to use gigl etc.

There are tradeoffs of what makes it easier browsing on github, vs easier browsing when you pip install, vs folks just browsing the documentation website.

Just extended what you suggested, maybe its better to have a GiGL/gigl/examples that stores examples we use for e2e testing and GiGL/examples for larger more visual e2e tests that are not used for e2e testing but more for visual browsing like notebooks, et al?

@kmontemayor2-sc
Copy link
Collaborator

kmontemayor2-sc commented Jan 27, 2026

easier browsing when you pip install

This is hard anyways isn't it, since the installed files go in some usually obfuscated path.

There are tradeoffs of what makes it easier browsing on github, vs easier browsing when you pip install, vs folks just browsing the documentation website.

Ack, but if the goal here is to make it easier for people start using gigl, there's other ways we can do it right? This path still requires them to setup a resource config, and export the compiled pipeline path, etc.

Another approach here is we add some gigl init_example cora command which would:

  1. Create a gigl_examples/ directory locally.
  2. Download the latest example code from https://github.com/Snapchat/GiGL/tree/main/examples/link_prediction
  3. Prompt the user to create a resource config
  4. Give the user a command they can run to launch the pipeline.

Maybe having a "Setup wizard" is too hard but I think the robots should be able to generate one fairly easily?

I guess my main concerns here are:

  1. Bundling examples with source code seems "incorrect" somehow
  2. We're making it harder for people browsing on github to find the examples
  3. Despite 1 + 2 users still have some hurdles to getting started with gigl, which is the end goal here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants