Skip to content

feat: base without X_#4076

Open
flying-sheep wants to merge 9 commits into
mainfrom
naked-base
Open

feat: base without X_#4076
flying-sheep wants to merge 9 commits into
mainfrom
naked-base

Conversation

@flying-sheep

@flying-sheep flying-sheep commented Apr 20, 2026

Copy link
Copy Markdown
Member

@codecov

codecov Bot commented Apr 20, 2026

Copy link
Copy Markdown

❌ 1 Tests Failed:

Tests completed Failed Passed Skipped
1867 1 1866 930
View the top 1 failed test(s) by shortest run time
tests/test_embedding.py::test_diffmap_key_added[v2]
Stack Traces | 0.039s run time
key_added = <Preset.ScanpyV2Preview: 'scanpy-v2-preview'>, key_obsm = 'diffmap'
key_uns = 'diffmap'

    #x1B[0m#x1B[37m@pytest#x1B[39;49;00m.mark.parametrize(#x1B[90m#x1B[39;49;00m
        (#x1B[33m"#x1B[39;49;00m#x1B[33mkey_added#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m, #x1B[33m"#x1B[39;49;00m#x1B[33mkey_obsm#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m, #x1B[33m"#x1B[39;49;00m#x1B[33mkey_uns#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m),#x1B[90m#x1B[39;49;00m
        [#x1B[90m#x1B[39;49;00m
            pytest.param(#x1B[94mNone#x1B[39;49;00m, #x1B[33m"#x1B[39;49;00m#x1B[33mX_diffmap#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m, #x1B[33m"#x1B[39;49;00m#x1B[33mdiffmap_evals#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m, #x1B[96mid#x1B[39;49;00m=#x1B[33m"#x1B[39;49;00m#x1B[33mNone#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m),#x1B[90m#x1B[39;49;00m
            pytest.param(#x1B[33m"#x1B[39;49;00m#x1B[33mcustom_key#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m, #x1B[33m"#x1B[39;49;00m#x1B[33mcustom_key#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m, #x1B[33m"#x1B[39;49;00m#x1B[33mcustom_key#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m, #x1B[96mid#x1B[39;49;00m=#x1B[33m"#x1B[39;49;00m#x1B[33mcustom_key#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m),#x1B[90m#x1B[39;49;00m
            pytest.param(sc.Preset.ScanpyV1, #x1B[33m"#x1B[39;49;00m#x1B[33mX_diffmap#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m, #x1B[33m"#x1B[39;49;00m#x1B[33mdiffmap_evals#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m, #x1B[96mid#x1B[39;49;00m=#x1B[33m"#x1B[39;49;00m#x1B[33mv1#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m),#x1B[90m#x1B[39;49;00m
            pytest.param(sc.Preset.ScanpyV2Preview, #x1B[33m"#x1B[39;49;00m#x1B[33mdiffmap#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m, #x1B[33m"#x1B[39;49;00m#x1B[33mdiffmap#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m, #x1B[96mid#x1B[39;49;00m=#x1B[33m"#x1B[39;49;00m#x1B[33mv2#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m),#x1B[90m#x1B[39;49;00m
        ],#x1B[90m#x1B[39;49;00m
    )#x1B[90m#x1B[39;49;00m
    #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_diffmap_key_added#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        key_added: #x1B[96mstr#x1B[39;49;00m | #x1B[94mNone#x1B[39;49;00m | Default | sc.Preset, key_obsm: #x1B[96mstr#x1B[39;49;00m, key_uns: #x1B[96mstr#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    ) -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        pbmc = pbmc68k_reduced()[:#x1B[94m300#x1B[39;49;00m, :#x1B[94m100#x1B[39;49;00m].copy()#x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m #x1B[96misinstance#x1B[39;49;00m(key_added, sc.Preset):#x1B[90m#x1B[39;49;00m
>           sc.settings.preset = key_added#x1B[90m#x1B[39;49;00m
            ^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m

#x1B[1m#x1B[31mtests/test_embedding.py#x1B[0m:129: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m../../../..../scanpy/B9PcT7QG/hatch-test.few-extras/lib/python3.14....../site-packages/pydantic/main.py#x1B[0m:1046: in __setattr__
    #x1B[0msetattr_handler(#x1B[96mself#x1B[39;49;00m, name, value)#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31m../../../..../scanpy/B9PcT7QG/hatch-test.few-extras/lib/python3.14....../site-packages/pydantic/main.py#x1B[0m:112: in <lambda>
    #x1B[0m#x1B[33m'#x1B[39;49;00m#x1B[33mvalidate_assignment#x1B[39;49;00m#x1B[33m'#x1B[39;49;00m: #x1B[94mlambda#x1B[39;49;00m model, name, val: model.__pydantic_validator__.validate_assignment(model, name, val),  #x1B[90m# pyright: ignore[reportAssignmentType]#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <Preset.ScanpyV2Preview: 'scanpy-v2-preview'>

    #x1B[0m#x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mcheck#x1B[39;49;00m(#x1B[96mself#x1B[39;49;00m) -> Self:#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""Check if requirements for preset are met."""#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[94mmatch#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            #x1B[94mcase#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m.ScanpyV2Preview:#x1B[90m#x1B[39;49;00m
                #x1B[94mif#x1B[39;49;00m #x1B[95mnot#x1B[39;49;00m (missing := _missing_scanpy2_deps()):#x1B[90m#x1B[39;49;00m
                    #x1B[94mreturn#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
                missing_str = #x1B[33m"#x1B[39;49;00m#x1B[33m, #x1B[39;49;00m#x1B[33m"#x1B[39;49;00m.join(#x1B[33mf#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33m‘#x1B[39;49;00m#x1B[33m{#x1B[39;49;00mm.name#x1B[33m}#x1B[39;49;00m#x1B[33m’#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m #x1B[94mfor#x1B[39;49;00m m #x1B[95min#x1B[39;49;00m missing)#x1B[90m#x1B[39;49;00m
                msg = (#x1B[90m#x1B[39;49;00m
                    #x1B[33mf#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mSetting preset to #x1B[39;49;00m#x1B[33m{#x1B[39;49;00mPreset.ScanpyV2Preview#x1B[33m!r}#x1B[39;49;00m#x1B[33m requires optional #x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
                    #x1B[33mf#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mdependencies that are not installed: #x1B[39;49;00m#x1B[33m{#x1B[39;49;00mmissing_str#x1B[33m}#x1B[39;49;00m#x1B[33m. #x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
                    #x1B[33m"#x1B[39;49;00m#x1B[33mInstall them with: pip install `scanpy[scanpy2]`#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
                )#x1B[90m#x1B[39;49;00m
>               #x1B[94mraise#x1B[39;49;00m #x1B[96mImportError#x1B[39;49;00m(msg)#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE               ImportError: Setting preset to <Preset.ScanpyV2Preview: 'scanpy-v2-preview'> requires optional dependencies that are not installed: ‘igraph’, ‘scikit-misc’. Install them with: pip install `scanpy[scanpy2]`#x1B[0m

#x1B[1m#x1B[.../scanpy/_settings/presets.py#x1B[0m:286: ImportError

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

@flying-sheep flying-sheep changed the title WIP base without X_ base without X_ May 11, 2026
@flying-sheep flying-sheep added this to the 1.13.0 milestone May 11, 2026
@flying-sheep flying-sheep marked this pull request as ready for review June 23, 2026 13:32
@flying-sheep flying-sheep requested a review from ilan-gold June 23, 2026 13:33
@flying-sheep flying-sheep changed the title base without X_ feat: base without X_ Jun 23, 2026
@flying-sheep flying-sheep removed the request for review from ilan-gold June 23, 2026 13:57
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.

Don't prepend "X_"

1 participant