Skip to content

Conversation

@svij-sc
Copy link
Collaborator

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

Scope of work done

Our source code has lived in GiGL/python for a while.
Although this was fine when the repo was first created, it has since became a headache as we need to make special considerations when handling it in code, when reading bundled yamls, resolution for IDEs, building docker images, et al.

This is also making it harder to bundle static files (non source code) in wheels; thus I am opting to remove it.

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

Did you add automated tests or write a test plan?

Ran testing suite in comments below; addressed fixes as needed.

Updated Changelog.md? NO

Ready for code review?: YES

@svij-sc
Copy link
Collaborator Author

svij-sc commented Jan 21, 2026

/help

@github-actions
Copy link
Contributor

GiGL Automation

@ 20:53:17UTC :

🤖 Available PR Commands

You can trigger the following workflows by commenting on this PR:

  • /help - Checkout code
  • /unit_test_py - Run Python Unit Tests
  • /unit_test_scala - Run Scala Unit Tests
  • /integration_test - Run Integration Tests
  • /e2e_test - Run E2E Tests
  • /notebook_tests - Run Example Notebooks Tests
  • /lint_test - Run Linting Tests

💡 Usage: Simply comment on this PR with any of the commands above (e.g., /unit_test)

⏱️ Note: Commands may take some time to complete. Progress updates will be posted as comments.

@svij-sc
Copy link
Collaborator Author

svij-sc commented Jan 21, 2026

/unit_test_py

@svij-sc
Copy link
Collaborator Author

svij-sc commented Jan 21, 2026

/integration_test

@github-actions
Copy link
Contributor

github-actions bot commented Jan 21, 2026

GiGL Automation

@ 21:01:02UTC : 🔄 Python Unit Test started.

@ 21:14:56UTC : ❌ Workflow failed.
Please check the logs for more details.

@github-actions
Copy link
Contributor

github-actions bot commented Jan 21, 2026

GiGL Automation

@ 21:01:06UTC : 🔄 Integration Test started.

@ 21:18:15UTC : ❌ Workflow failed.
Please check the logs for more details.

@github-actions
Copy link
Contributor

GiGL Automation

@ 21:01:29UTC : Starting to build base images for CUDA and CPU.
This may take a while, please be patient.
The images will be pushed to the GCP Artifact Registry.
Once done, the workflow will update the dep_vars.env file with the new image names.

@github-actions
Copy link
Contributor

GiGL Automation

@ 21:11:56UTC : Built and pushed new images:

  • CUDA base image: us-central1-docker.pkg.dev/external-snap-ci-github-gigl/public-gigl/gigl-cuda-base:2b270be5b9e9aa0396d9ced365407e9f6a19a262.90.1
  • CPU base image: us-central1-docker.pkg.dev/external-snap-ci-github-gigl/public-gigl/gigl-cpu-base:2b270be5b9e9aa0396d9ced365407e9f6a19a262.90.1
  • Dataflow base image: us-central1-docker.pkg.dev/external-snap-ci-github-gigl/public-gigl/gigl-dataflow-base:2b270be5b9e9aa0396d9ced365407e9f6a19a262.90.1
  • Builder image: us-central1-docker.pkg.dev/external-snap-ci-github-gigl/gigl-base-images/gigl-builder:2b270be5b9e9aa0396d9ced365407e9f6a19a262.90.1

Updated dep_vars.env with new image names.
Updated .github/cloud_builder/run_command_on_pr_cloud_build.yaml with new builder image.

@svij-sc
Copy link
Collaborator Author

svij-sc commented Jan 22, 2026

/unit_test_py

@github-actions
Copy link
Contributor

github-actions bot commented Jan 22, 2026

GiGL Automation

@ 03:27:43UTC : 🔄 Python Unit Test started.

@ 04:22:11UTC : ✅ Workflow completed successfully.

@svij-sc
Copy link
Collaborator Author

svij-sc commented Jan 22, 2026

/integration_test

@github-actions
Copy link
Contributor

github-actions bot commented Jan 22, 2026

GiGL Automation

@ 03:27:57UTC : 🔄 Integration Test started.

@ 04:20:45UTC : ❌ Workflow failed.
Please check the logs for more details.

@svij-sc
Copy link
Collaborator Author

svij-sc commented Jan 22, 2026

/integration_test

@github-actions
Copy link
Contributor

github-actions bot commented Jan 22, 2026

GiGL Automation

@ 06:16:28UTC : 🔄 Integration Test started.

@ 07:23:00UTC : ✅ Workflow completed successfully.

@github-actions
Copy link
Contributor

GiGL Automation

@ 06:17:56UTC : Starting to build base images for CUDA and CPU.
This may take a while, please be patient.
The images will be pushed to the GCP Artifact Registry.
Once done, the workflow will update the dep_vars.env file with the new image names.

@github-actions
Copy link
Contributor

GiGL Automation

@ 06:26:49UTC : Built and pushed new images:

  • CUDA base image: us-central1-docker.pkg.dev/external-snap-ci-github-gigl/public-gigl/gigl-cuda-base:b34c863a2168c8df5a6da1f6385e5d374f0175d2.91.1
  • CPU base image: us-central1-docker.pkg.dev/external-snap-ci-github-gigl/public-gigl/gigl-cpu-base:b34c863a2168c8df5a6da1f6385e5d374f0175d2.91.1
  • Dataflow base image: us-central1-docker.pkg.dev/external-snap-ci-github-gigl/public-gigl/gigl-dataflow-base:b34c863a2168c8df5a6da1f6385e5d374f0175d2.91.1
  • Builder image: us-central1-docker.pkg.dev/external-snap-ci-github-gigl/gigl-base-images/gigl-builder:b34c863a2168c8df5a6da1f6385e5d374f0175d2.91.1

Updated dep_vars.env with new image names.
Updated .github/cloud_builder/run_command_on_pr_cloud_build.yaml with new builder image.

@svij-sc svij-sc marked this pull request as ready for review January 22, 2026 16:37
@svij-sc svij-sc changed the title [WIP] remove python folder Remove python folder Jan 22, 2026
@svij-sc
Copy link
Collaborator Author

svij-sc commented Jan 22, 2026

/e2e_test

@github-actions
Copy link
Contributor

github-actions bot commented Jan 22, 2026

GiGL Automation

@ 16:39:32UTC : 🔄 E2E Test started.

@ 18:01:50UTC : ❌ Workflow failed.
Please check the logs for more details.

@kmontemayor2-sc
Copy link
Collaborator

/unit_test

@github-actions
Copy link
Contributor

github-actions bot commented Jan 22, 2026

GiGL Automation

@ 17:04:36UTC : 🔄 Scala Unit Test started.

@ 17:13:14UTC : ✅ Workflow completed successfully.

@github-actions
Copy link
Contributor

github-actions bot commented Jan 22, 2026

GiGL Automation

@ 17:04:41UTC : 🔄 Python Unit Test started.

@ 18:18:19UTC : ✅ Workflow completed successfully.

Copy link
Collaborator

@kmontemayor2-sc kmontemayor2-sc left a comment

Choose a reason for hiding this comment

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

Can we verify this works internally too?

Copy link
Collaborator

Choose a reason for hiding this comment

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

Do we need to update the compile_protos rule too?

https://github.com/Snapchat/GiGL/blob/main/Makefile#L316

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

We do, let me look into it.
Thanks for the good eye.

.lib/
python/gigl/env/customer.yaml
python/gigl/deps/
gigl/env/customer.yaml
Copy link
Collaborator

Choose a reason for hiding this comment

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

lol what even is this file?

Copy link
Collaborator

Choose a reason for hiding this comment

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

not blocking just curious :)

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

some legacy artifact that we moved away from years ago yet is still here.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Hmmm - in the end, what do we want the docker file structure to look like? Is this it?

There's still this /gigl_deps this we use.

Copy link
Collaborator Author

@svij-sc svij-sc Jan 22, 2026

Choose a reason for hiding this comment

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

GiGL deps will probably stick around as its more a directory that hosts the gigl python virtual env and deps for docker base images.

The GiGL source images are rebuilt every code change but deps remain static unless there is a new dep


COPY gigl gigl
COPY snapchat snapchat
COPY tests tests
Copy link
Collaborator

Choose a reason for hiding this comment

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

why do we need tests here?

Copy link
Collaborator

Choose a reason for hiding this comment

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

ditto generally.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Unsure what the consequences of removing it are, and tbh I did not block myself on testing this as my goal was to keep existing logic and just delete the folder.
I was going to add a follow up task to see if we can remove this. Let me do this now: #456

"""Returns the parent directory of GiGL"""
file_path = Path(__file__)
path = LocalUri(file_path.parents[5])
path = LocalUri(file_path.parents[4])
Copy link
Collaborator

Choose a reason for hiding this comment

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

unrelated but can we explain this magic number? Something like

) # gigl/experimental/knowledge_graph_embedding/

@@ -4067,7 +4067,7 @@ object GbmlConfig extends scalapb.GeneratedMessageCompanion[snapchat.research.gb
* Path to modeling task spec class path to construct model for inference. Used for the subgraph-sampling-based inference process.
* @param inferenceBatchSize
* Optional. If set, will be used to batch inference samples to a specific size before call for inference is made
* Defaults to setting in python/gigl/src/inference/gnn_inferencer.py
* Defaults to setting in igl/src/inference/gnn_inferencer.py
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
* Defaults to setting in igl/src/inference/gnn_inferencer.py
* Defaults to setting in gigl/src/inference/gnn_inferencer.py

nit.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

good call

Copy link
Collaborator

Choose a reason for hiding this comment

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

Hmmm, I think it's a bit odd we have both tests/ and testing/ now. I remember there was a reason I named it testing. #185 (comment)

But it seems like that should no longer be an issue if we move testing to tests (or vise-versa).

Copy link
Collaborator

Choose a reason for hiding this comment

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

Probably fine to do as a follow up fwiw.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

👍 #457

@svij-sc
Copy link
Collaborator Author

svij-sc commented Jan 22, 2026

@kmontemayor2-sc addressed ur comments.

Re:

Can we verify this works internally too?

See: go/gigl-issue/1465

Copy link
Collaborator

@kmontemayor2-sc kmontemayor2-sc left a comment

Choose a reason for hiding this comment

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

Have we verified that we can still release/etc with these changes?

We should probably have a version bump with this (and update CHANGELOG)

Otherwise, LGTM but I'd prefer we can verify everything works internally first :)

Copy link
Collaborator

Choose a reason for hiding this comment

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

QQ why do we need this now?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

/shrug.
I didn't touch this file.

Merging artifacts?
Nonetheless, this is already a common practive to have __init__.py file in every module/submodules.

@svij-sc
Copy link
Collaborator Author

svij-sc commented Jan 22, 2026

Have we verified that we can still release/etc with these changes?

No, mostly because release (the wheel) is broken right now and this PR is a prerequisite to me fixing the release process.

We should probably have a version bump with this (and update CHANGELOG)

I am planning to have a version bump and subsequent release when the release wheel is fixed - which I am working on right now.

@svij-sc
Copy link
Collaborator Author

svij-sc commented Jan 22, 2026

@kmontemayor2-sc

Otherwise, LGTM but I'd prefer we can verify everything works internally first :)

As more PRs go into GiGL the burden of work here to constantly update and test this scales tremendously as this will conflict with every* PR.

You can track the progress here go/gigl-issue/1465; which should be resolved soon

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! A few remaining python references from my search: 1, 2, 3, 4, 5, 6, 7

@svij-sc
Copy link
Collaborator Author

svij-sc commented Jan 22, 2026

Thanks for the finds Matt.

Thanks Shubham! A few remaining python references from my search: 1, 2, 3, 4, 5, 6, 7

1: is expected as its on a specific commit/blob
2-7: fixed

@github-actions
Copy link
Contributor

github-actions bot commented Jan 22, 2026

GiGL Automation

@ 20:47:13UTC : 🔄 E2E Test started.

@ 22:04:38UTC : ✅ 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! Generally LGTM conditioned on all testing passing

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