Skip to content

Fix deprecations#308

Open
zaz wants to merge 16 commits intogeometric-intelligence:mainfrom
zaz:fix-deprecations
Open

Fix deprecations#308
zaz wants to merge 16 commits intogeometric-intelligence:mainfrom
zaz:fix-deprecations

Conversation

@zaz
Copy link
Copy Markdown

@zaz zaz commented Apr 11, 2026

Checklist

  • My pull request has a clear and explanatory title.
  • My pull request passes the Linting test.
  • I added appropriate unit tests and I made sure the code passes all unit tests. (refer to comment below)
  • My PR follows PEP8 guidelines. (refer to comment below)
  • My code is properly documented, using numpy docs conventions, and I made sure the documentation renders properly.
  • I linked to issues and PRs that are relevant to this PR.

PR series: #303 #307 308 #309

This PR is only for commits 1b244e5..70959fc. It is number 3 in a series of staged PRs, building upon #305 by adding commits 1b244e5..70959fc; if #305 is rejected, the commits in this PR need to be reviewed.

Description

This PR fixes deprecation warnings in preparation for my subsequent PR to unpin torch. It includes commits

  1. A basic refactoring
  2. Specifies safe_globals for torch.load. This is good practice vs. allowing PyG to fall back to weights_only=False. Currently this provides no security benefit, but it will do in the future if my PyG PR is accepted.
  3. Extend safe_globals list
  4. Fix various other deprecation warnings.

Overall, the 4 commits in this PR should be fairly benign, reduce various warning messages, and make TopoBench more amenable to upgrade beyond torch 2.3.0.

Issue

This is preparation for fixing issue #306.

zaz and others added 16 commits April 10, 2026 15:56
Run `pre-commit run --all-files`.
Fixes linter warning: numpydoc-validation flagged mismatched
underline lengths in docstring section headers.
Fixes linter warning: numpydoc-validation flagged GL08 (missing
docstring) on 4 modules.
Run `pre-commit run --all-files`.
After adding these, running `pre-commit run --all-files` indicates
no existing issues.
Run `codespell --write-changes`, then manually correct.
Fix grammar using Claude Haiku 4.5, then manually correct.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Use `return 1` instead of `exit 1` so that sourcing the script
with an invalid platform prints the error without killing the shell.

Fixes geometric-intelligence#305
Verify that `source uv_env_setup.sh INVALID` does not kill the
user's shell (uses return instead of exit).
Replace if/elif chain with case statement and string concatenation.
No functional changes.
torch >= 2.6 defaults to weights_only=True, which breaks OGB's
torch.load calls that serialize PyG data classes. Register the
needed classes as safe globals so datasets load without errors.
Guarded with hasattr for compatibility with torch < 2.6.
Prevents PyG's fs.torch_load from falling back to weights_only=False
when loading processed datasets that contain numpy scalars and dtypes.
Includes numpy.dtypes.*DType subclasses for numpy >= 1.25.
torch.tensor(existing_tensor) is deprecated; use .detach().clone().
nx.from_numpy_matrix is removed in NetworkX 3.0; use from_numpy_array.
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.

1 participant