Skip to content

Track package organization cleanup after rc7 #304

Description

@iskandr

Goal

Split the bulkiest modules into responsibility-focused submodules so the package is easier to navigate and reason about, while preserving public import compatibility during migration.

Ground Rules

  • One refactor PR per scope.
  • Each PR bumps to the next release candidate version: rc8, rc9, rc10, rc11, etc.
  • Keep old public modules as compatibility shims/facades where module paths might matter.
  • Add import-shim/schema tests for each move so downstream code keeps working.
  • Avoid behavior changes; these should be mechanical organization PRs.

Planned Order

Compatibility Risks

  • Console entry points in setup.py must continue to work.
  • Public imports from mhcflurry.local_parallelism, mhcflurry.class1_neural_network, and mhcflurry.class1_affinity_predictor should continue to resolve during the transition.
  • Moving public classes directly can affect pickle/module paths and serialized metadata assumptions; avoid that until a dedicated compatibility audit is done.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions