⚠ This page is served via a proxy. Original site: https://github.com
This service does not collect credentials or authentication data.
Skip to content

Conversation

@ajpotts
Copy link
Contributor

@ajpotts ajpotts commented Jan 29, 2026

Summary

This PR completes the migration of client-facing internals from legacy top-level modules
(arkouda.client, arkouda.logger, arkouda.message, arkouda.infoclass, arkouda.security)
into the new arkouda.core.* namespace.

All internal imports, tests, benchmarks, documentation, and configuration have been updated
to reference arkouda.core as the authoritative implementation, while preserving backward
compatibility via deprecation shims.


What changed

Core refactor & API usage

  • Replaced imports of:
    • arkouda.clientarkouda.core.client
    • arkouda.loggerarkouda.core.logger
    • arkouda.messagearkouda.core.message
    • arkouda.infoclassarkouda.core.infoclass
    • arkouda.securityarkouda.core.security
  • Updated all uses of:
    • generic_msg
    • _no_op
    • maxTransferBytes
    • array-rank helpers
    • async/wait utilities
      to route through arkouda.core.client.

Deprecation shims

  • Added __init__.py shims for:
  • arkouda.core.client
  • arkouda.infoclass
  • arkouda.logger
  • arkouda.message
  • arkouda.core.security
  • Each shim:
    • Emits a DeprecationWarning
    • Re-exports symbols from the corresponding arkouda.core.* module

Tests & benchmarks

  • Moved core-related tests under tests/core/
  • Updated pytest.ini to include new core test paths and remove deprecated ones
  • Updated benchmarks and plotting tests to reference ak.core.client

Documentation & examples

  • Updated developer docs, training materials, and examples to import from
    arkouda.core.client
  • Ensures new contributors see the correct module structure

Tooling & coverage

  • Updated .coveragerc and .flake8 to reflect the new module layout
  • Slightly adjusted docstring coverage threshold to account for module moves

Why this change

  • Establishes a clear separation between public API surface and core implementation
  • Enables future removal of deprecated top-level modules without breaking users
  • Improves maintainability, test organization, and internal consistency
  • Aligns code, tests, docs, and benchmarks on a single source of truth

Backward compatibility

  • Existing imports from arkouda.client, arkouda.logger, etc. continue to work
  • Users receive explicit DeprecationWarnings guiding them to arkouda.core.*
  • No functional behavior changes are intended

Follow-ups (out of scope)

  • Remove deprecated top-level modules in a future major release
  • Update public API documentation
  • Re-tighten coverage thresholds once deprecations are removed

Closes #5366: arkouda.core module

@ajpotts ajpotts force-pushed the 5366_arkouda.core_module branch 6 times, most recently from d3e1a88 to c8c34ff Compare January 29, 2026 20:46
@codecov
Copy link

codecov bot commented Jan 29, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (main@58c09ad). Learn more about missing BASE report.

Additional details and impacted files
@@           Coverage Diff            @@
##             main     #5367   +/-   ##
========================================
  Coverage        ?   100.00%           
========================================
  Files           ?         5           
  Lines           ?       115           
  Branches        ?         0           
========================================
  Hits            ?       115           
  Misses          ?         0           
  Partials        ?         0           
Flag Coverage Δ
python-coverage 100.00% <100.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

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

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ajpotts ajpotts force-pushed the 5366_arkouda.core_module branch from c8c34ff to 365b0d1 Compare February 2, 2026 18:51
@ajpotts ajpotts marked this pull request as ready for review February 2, 2026 19:04
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.

arkouda.core module

1 participant