Description
Replace eager imports and multiprocessing.set_start_method('spawn', force=True) with a __getattr__ lazy-import pattern.
Files
openvariant/__init__.py — REWRITE
Definition of Done
Documentation needed: Update changelog and migration guide — note removal of multiprocessing side-effect.
Tests needed:
- Test:
import openvariant does not import the Rust extension until an attribute is accessed
- Test:
from openvariant import Annotation still works
Description
Replace eager imports and
multiprocessing.set_start_method('spawn', force=True)with a__getattr__lazy-import pattern.Files
openvariant/__init__.py— REWRITEDefinition of Done
multiprocessing.set_start_methodfully removed__getattr__exposesAnnotation,Variant,cat,count,group_by,findfiles__version__ = "2.0.0"updated__all__list is completeDocumentation needed: Update changelog and migration guide — note removal of
multiprocessingside-effect.Tests needed:
import openvariantdoes not import the Rust extension until an attribute is accessedfrom openvariant import Annotationstill works