Skip to content

Phase 5: Phase Out Old Imports in v2.0 (Final Cleanup) #77

@Sinitca-Aleksandr

Description

@Sinitca-Aleksandr

This issue tracks the final phase of our C/C++ code migration plan. The goal is to complete the transition by removing old import paths in v2.0 while maintaining functionality through the legacy submodule.

Objectives:

  1. Remove original C/C++ files from package root
  2. Finalize new module structure
  3. Ensure all functionality available through proper Python bindings
  4. Complete documentation of final state
  5. Verify no breaking changes for users using new imports

Implementation Plan:

  1. Remove C/C++ files from StatTools/ root directory:
    • StatTools_C_API.cpp
    • DFA.cpp
  2. Finalize _cpp_extensions structure:
    • Complete all Python bindings
    • Ensure all functionality covered
  3. Update setup.py to only build new extension structure
  4. Remove compatibility shims from StatTools/init.py
  5. Finalize documentation showing only new import paths
  6. Add comprehensive tests for final state
  7. Update CHANGELOG.md with breaking changes notice

Acceptance Criteria:

  • All C/C++ files removed from package root
  • Only new module structure remains
  • All functionality accessible through proper Python bindings
  • Legacy submodule available for backward compatibility
  • Documentation shows only new import paths
  • Tests verify final state works correctly
  • CHANGELOG.md documents breaking changes clearly

Metadata

Metadata

Assignees

No one assigned

    Labels

    refactoringChanges without bug fixes or adding new features

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions