All notable changes to this repository will be documented in this file.
The format is based on Keep a Changelog.
- Improved testing by @kmontemayor2-sc in #436 and #433
- Expose boot disk size for VAI configs by @zfan3-sc in #454
- [WIP] Server/Client mode where data is stored on seperate nodes than compute nodes by @kmontemayor2-sc in #453, #445, #458, #438
- Improved examples by @kmontemayor2-sc in #447
- Process staggering logic to smooth out memory spikes by @zfan3-sc in #451
- API doc generation by @svij-sc in #465
- Make release whl installable by @svij-sc in #455, #449, #464
@zfan3-sc
- Update deps / python to latest supported version - use UV for dep management by @svij-sc
in #414
- tl;dr You will need to remove your old conda environments
conda remove --name gnn --all -y, runmake install_dev_depsfrom inside GiGL directory. Following you will need to douv run python -m ...oruv run black(same with all other python tools i.e.mypy) instead of callingpython -m ...orblackdirectly. - We eliminate the need for using pip to manage/install deps; we also eliminate the need to maintain different
requirements files, there is just one now
uv.lock - Deprecation: As a result of this change, we have deprecated use of host managed python environments and we let
uvmanage the virtual env. Consequentially, we don't need to supportmaketargets likeinitialize_environment,generate_..._requirements, etc. have been removed.
- tl;dr You will need to remove your old conda environments
- Update Vuln reporting process. by @svij-sc in #272
- Update splitter names to have
Distprefix by @mkolodner-sc in #378 - Update resource config wrapper / validation check to support graph store mode by @kmontemayor2-sc in #383
- Remove GLT imports from our example code by @kmontemayor2-sc in #389
- Enforce exported config is to GCS. by @kmontemayor2-sc in #243
- Include script folder in the workbench image by @svij-sc in #255
- Support / as an overload on Uri, like Pathlib by @kmontemayor2-sc in #224
- Add
/helpcommand. by @kmontemayor2-sc in #267 - Add HashedNodeSplitter by @mkolodner-sc in #273
- Add ability to load, partition, and separate node labels with features by @mkolodner-sc in #276
- Add KGE constants by @nshah171 in #239
- Add some 'shared' KGE utils by @nshah171 in #233
- Allow users to specifcy no accelerators when creating dev box by @kmontemayor2-sc in #287
- Add custom datetime resolvers by @svij-sc in #279
- Add experimental parsing libs to parse KGE configs by @nshah171 in #235
- Use clamp with bincount approach by @kmontemayor2-sc in #281
- Support GCP region override for vertex ai jobs by @kmontemayor2-sc in #294
- Enable adding labels to VAI pipelines by @kmontemayor2-sc in #300
- Enable Node Classification in Dataset and Dataloaders by @mkolodner-sc in #283
- disable nb e2e tests on merge by @kmontemayor2-sc in #308
- Add ability to resolve any yaml --> dataclass using utility + introduce ${git_hash:} resolver by @svij-sc in #307
- e2e tests on python by @svij-sc in #301
- Node Label Tech Debt [1/2]: TFRecord DataLoader returns labels separately by @mkolodner-sc in #304
- Add google_cloud_pipeline_components package by @kmontemayor2-sc in #324
- Migrate DistDataset to it's own file by @mkolodner-sc in #309
- shutdown example inference loaders by @kmontemayor2-sc in #326
- [KGE] Add core KGE modeling code by @nshah-sc in #293
- Throw error in partitioner for re-registering by @swong3-sc in #325
- Shard nodes before selecting labels in ABLPLoader by @kmontemayor2-sc in #328
- Set cuda devices for example loops by @kmontemayor2-sc in #329
- Create dist_ablp_neighborloader_test by @kmontemayor2-sc in #332
- Add label_edge_type_to_message_passing_edge_type by @kmontemayor2-sc in #333
- Unify handling of partitioning with no edge features by @mkolodner-sc in #334
- Add assert_labels to check the expected label tensor is correct by @kmontemayor2-sc in #335
- Bump GLT Version and add tests for fanning out around isolated nodes by @mkolodner-sc in #280
- Simplify Dataset
buildfunction by @mkolodner-sc in #315 - [KGE] add edge_dataset creation utils by @nshah-sc in #323
- Allow users to be alerted when pipelines finish by @kmontemayor2-sc in #320
- Add VertexAiGraphStoreConfig to support separate graph and compute clusters by @kmontemayor2-sc in #337
- Add longer timeout to v1 trainer by @kmontemayor2-sc in #348
- Allow users to specify custom master nodes for networking utils by @kmontemayor2-sc in #339
- [KGE] Add checkpointing utils by @nshah-sc in #342
- Add FeatureFlag for not populating embedding field by @mkolodner-sc in #352
- Shard Data Preprocessor Enumeration by @mkolodner-sc in #344
- Support multiple supervision edge types in ABLP Loader by @kmontemayor2-sc in #336
- Locking Deps for Release by @svij-sc in #322
- Add
VertexAIService.launch_graph_store_jobby @kmontemayor2-sc in #350 - Add
get_cluster_specto get cluster spec on VAI by @kmontemayor2-sc in #358 - LightGCN for homogenous graphs by @swong3-sc in #338
- Add Prediction Exporter by @mkolodner-sc in #366
- migrate gigl.module -> gigl.nn by @kmontemayor2-sc in #359
- Properly set VAI env vars by @kmontemayor2-sc in #373
- Add get_graph_store_info to determine "Graph cluster" info from environment by @kmontemayor2-sc in #355
- support setting scheduling_strategy by @kmontemayor2-sc in #371
- Add BqUtils.copy_table to enable (more efficient?) table copies by @kmontemayor2-sc in #377
- Add Distributed Model Parallel Tests for models_test.py by @swong3-sc in #363
- Manually log VAI pipeline runs by @kmontemayor2-sc in #384
- Gowalla BigQuery loader script by @swong3-sc in #381
- Add
compute_cluster_local_world_sizetoVertexAiGraphStoreConfigandGraphStoreInfoby @kmontemayor2-sc in #380 - Add
create_test_process_groupand swap Loader tests away from DistContext by @kmontemayor2-sc in #376 - Break up unit tests into separate runners for python and scala by @kmontemayor2-sc in #361
- Add types to SortedDict and add tests by @kmontemayor2-sc in #391
- Add remote_dataset for graph store mode by @kmontemayor2-sc in #386
- Allow installs from non-GiGL root by @kmontemayor2-sc in #270
- Fix BQ Query by @svij-sc in #263
- Fix cost association for glt/trainer by @kmontemayor2-sc in #290
- Fail early if invalid Node IDs are found prior partitioning by @mkolodner-sc in #284
- Fix Cursor Rule Resolution by @svij-sc in #312
- Fix -- Remove sort of feature keys from preprocessed metadata
FeatureSpecDictby @mkolodner-sc in #306 - Fix small issue with train/testing examples by @mkolodner-sc in #331
- Update TFRecordDataLoader TODO by @mkolodner-sc in #269
- Update Vuln reporting process. by @svij-sc in #272
- Update comment to reflect code by @kmontemayor2-sc in #278
- Update default image used in create_dev_instance script by @svij-sc in #295
- nit: update error msg - unsupported image by @svij-sc in #302
- Update Instructions - GiGL wheel is public by @svij-sc in #349
- make README prettier by @kmontemayor2-sc in #241
- Update Tut Readme w/ hook and presenter information by @svij-sc in #254
- More detailed Toy Example by @svij-sc in #260
- format md by @svij-sc in #261
- Try Adding cursor rules for python dev. by @svij-sc in #282
- Add new code owners by @svij-sc in #286
- Actually use test file pattern by @kmontemayor2-sc in #356
- Fossa Analyze show logs by @svij-sc in #357
- Add NGCF to license by @kmontemayor2-sc in #382
- Bump unit test and integration test timeout :( by @kmontemayor2-sc in #375
- Fix spelling error in export_test by @swong3-sc in #321
- Swap back to using docker build from scripts/ by @kmontemayor2-sc in #256
- Prettify the graph visualizations by @svij-sc in #238
- Tutorial assets by @yliu2-sc in #265
- Use
typing.Dictfor Beam type annotations. by @kmontemayor2-sc in #275 - Lock pip-compile version + follow up (#279 ) regen reqs / images by @svij-sc in #289
- [KGE] Add hydra conf yamls by @nshah-sc in #292
- Revert "Use
typing.Dictfor Beam type annotations. (#275)" by @kmontemayor2-sc in #327
- @nshah171, @swong3-sc