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

[NDTensors] [ITensors] Excise unneeded submodules #1601

Merged
merged 12 commits into from
Feb 4, 2025

Conversation

mtfishman
Copy link
Member

@mtfishman mtfishman commented Nov 20, 2024

This PR deletes a big set of submodules of NDTensors and moves them to separate repositories, for example NDTensors.BlockSparseArrays has been moved to the new BlockSparseArrays.jl repository. Most will be unregistered (potentially interdependent) packages for the time being, while TypeParameterAccessors.jl will be registered since it is used extensively throughout NDTensors.jl and also is used by some of the new packages.

So far most of the packages are kept as-is, however GradedAxes has been renamed to GradedUnitRanges.

I followed the instructions here to preserve the git history of the subfolders.

To-do:

  • Register TypeParameterAccessors.jl so it can be used as a dependency of NDTensors and also other packages.
  • Delete code loading and testing workflows related to the excised modules.
  • Rewrite code in NDTensors that was depending on DiagonalArrays, so that it can be removed as a dependency.
  • Many of the new packages aren't functional yet so I won't merge this until that is fixed. The goal will be for them to all have their own CI with tests of downstream packages. At first they won't be registered, but we will configure them to install unregistered dependencies automatically with a [sources] section in their Project.toml (see https://pkgdocs.julialang.org/v1/toml-files/#The-%5Bsources%5D-section).

The packages should be set up in a uniform way using ITensorPkgSkeleton.jl. The following packages have been set up based on the code removed in this PR:

Here are package extensions that need to be set up for compatibility with NDTensors.jl and ITensors.jl, which will be addressed in future work:

Other libraries to split off in future PRs are (these are being used in some tests which requires loading NDTensors as a test dependency):

@mtfishman
Copy link
Member Author

mtfishman commented Jan 31, 2025

I plan to merge and register this once TypeParameterAccessors.jl is registered in the General registry (in progress here: JuliaRegistries/General#124121).

@mtfishman mtfishman changed the title [WIP] [NDTensors] Excise libraries [NDTensors] Excise libraries Feb 3, 2025
@mtfishman mtfishman closed this Feb 3, 2025
@mtfishman mtfishman reopened this Feb 3, 2025
@mtfishman mtfishman marked this pull request as ready for review February 3, 2025 18:20
Copy link

codecov bot commented Feb 3, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 79.44%. Comparing base (a61a67b) to head (b5f93c6).
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1601      +/-   ##
==========================================
+ Coverage   78.76%   79.44%   +0.67%     
==========================================
  Files          75       64      -11     
  Lines        5233     5083     -150     
==========================================
- Hits         4122     4038      -84     
+ Misses       1111     1045      -66     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@mtfishman mtfishman changed the title [NDTensors] Excise libraries [NDTensors] [ITensors] Excise unneeded submodules Feb 4, 2025
@mtfishman mtfishman merged commit ce09804 into main Feb 4, 2025
9 of 14 checks passed
@mtfishman mtfishman deleted the NDTensors_excise_libraries branch February 4, 2025 00:53
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