Skip to content

Version 2 Refactoring: Restructure Repository with Experimental and Legacy Submodules #72

Description

@Sinitca-Aleksandr

This issue tracks the comprehensive refactoring of the repository structure for Version 2. The key objectives are:

  1. Rename the root module to fluctuation_analysis_tools for better clarity
  2. Introduce an experimental submodule for new features under development
  3. Create a legacy submodule ensuring backward compatibility with v1.*

Proposed Changes

Repository Structure

fluctuation-analysis-tools/
├── fluctuation_analysis_tools/          # Root module (renamed)
│   ├── analysis/                       # Core analysis functions
│   ├── generators/                     # Data generation tools
│   ├── filters/                        # Filtering utilities
│   ├── visualization/                  # Visualization tools
│   ├── auxiliary/                      # Helper functions
│   ├── experimental/                   # New features (unstable)
│   └── legacy/                         # v1.* compatibility layer
├── setup.py
└── pyproject.toml

Key Features

  • Experimental Submodule: Isolated workspace for new features with clear opt-in usage
  • Legacy Submodule: Maintains v1.* API via from fluctuation_analysis_tools.legacy import StatTools
  • Improved Organization: Logical grouping of related functionality

Implementation Plan

  1. Rename root module from StatTools to fluctuation_analysis_tools
  2. Restructure code into logical submodules
  3. Create legacy compatibility layer
  4. Update all documentation and configuration files
  5. Comprehensive testing of migration path

Testing Requirements

  • Verify backward compatibility through legacy submodule
  • Test experimental features in isolation
  • Confirm all existing functionality remains intact

Metadata

Metadata

Labels

enhancementNew feature or requestrefactoringChanges without bug fixes or adding new features

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions