Closes #5441: Remove deprecated modules#5442
Merged
ajpotts merged 1 commit intoBears-R-Us:mainfrom Feb 27, 2026
Merged
Conversation
6464027 to
f157a57
Compare
f157a57 to
a0a0576
Compare
a0a0576 to
b9e86e1
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR completes a structural refactor of the Arkouda Python package
by:
arkouda.pandasarkouda.numpyarkouda.corearkouda.scipynew structure.
The goal is to eliminate transitional shims and finalize the namespace
reorganization.
Motivation
Historically, Arkouda exposed many modules at the top level (e.g.,
arkouda.dataframe,arkouda.groupbyclass,arkouda.util, etc.).Over time, these were reorganized into clearer logical namespaces:
arkouda.pandas.*arkouda.numpy.*arkouda.core.*arkouda.scipy.*Deprecated compatibility modules remained as thin wrappers issuing
DeprecationWarnings.This PR removes those wrappers and updates all references to their
canonical modules.
What Changed
1. Removed Deprecated Top-Level Modules
Deleted legacy modules such as:
arkouda.dataframearkouda.groupbyclassarkouda.indexarkouda.categoricalarkouda.seriesarkouda.utilarkouda.sortingarkouda.randomarkouda.segarrayarkouda.stringsarkouda.timeclassarkouda.ioarkouda.io_utilarkouda.rowarkouda.accessorarkouda.numericarkouda.dtypesarkouda.match,arkouda.matcherarkouda.messagearkouda.securityarkouda.loggerarkouda.sparrayclassarkouda.sparsematrixarkouda.clientarkouda.pdarrayclassarkouda.pdarraycreationarkouda.pdarraymanipulationarkouda.pdarraysetopsarkouda.alignmentarkouda.infoclassarkouda.joinThese modules previously re-exported symbols from their new locations
and emitted
DeprecationWarnings.2. Canonicalized Imports
All internal imports were updated to use the correct module paths, for
example:
Old Import New Import
arkouda.dataframearkouda.pandas.dataframearkouda.groupbyclassarkouda.pandas.groupbyclassarkouda.indexarkouda.pandas.indexarkouda.categoricalarkouda.pandas.categoricalarkouda.utilarkouda.numpy.utilarkouda.sortingarkouda.numpy.sortingarkouda.pdarraycreationarkouda.numpy.pdarraycreationarkouda.infoclassarkouda.core.infoclassarkouda.loggerarkouda.core.loggerThis affects: - Core library code - Pandas extension API - Tests -
Documentation - Training materials
3. Documentation Updates
Updated: - Sphinx autodoc references - Markdown documentation - Usage
guides - File I/O documentation - Training materials
All references now consistently point to:
arkouda.pandas.DataFramearkouda.pandas.Seriesarkouda.pandas.Indexarkouda.pandas.Categoricalarkouda.numpy.*utilities4. Tests Updated
All tests were updated to import from canonical module locations.
Assertions that referenced old module paths were updated accordingly.
Behavioral Impact
arkouda.dataframe)will now fail instead of emitting a warning.
This is a namespace cleanup only.
Benefits
Migration Guide
Replace old imports:
If using sparse functionality:
Conclusion
This PR finalizes the Arkouda namespace refactor by removing deprecated
compatibility modules and standardizing all imports across the codebase.
It simplifies the package structure and clarifies the architectural
layering between pandas-style APIs, numpy-style APIs, and core
infrastructure.
Closes #5441: Remove deprecated modules