Skip to content

Commit

Permalink
Increase ubuntu version & python version for azure CI (#2447)
Browse files Browse the repository at this point in the history
* Increase ubuntu version & python version for azure CI

Signed-off-by: zethson <lukas.heumos@posteo.net>

* Set minimum Python version to 3.8

* Remove compatibility code

Signed-off-by: zethson <lukas.heumos@posteo.net>

* Replace Literal typings

Signed-off-by: zethson <lukas.heumos@posteo.net>

---------

Signed-off-by: zethson <lukas.heumos@posteo.net>
  • Loading branch information
Zethson committed Mar 15, 2023
1 parent 0692ef9 commit ada761b
Show file tree
Hide file tree
Showing 38 changed files with 55 additions and 102 deletions.
6 changes: 3 additions & 3 deletions .azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ variables:
jobs:
- job: PyTest
pool:
vmImage: 'ubuntu-18.04'
vmImage: 'ubuntu-22.04'
strategy:
matrix:
Python37:
python.version: '3.7'
Python38:
python.version: '3.8'
Python39: {}
minimal_tests:
TEST_EXTRA: 'test-min'
Expand Down
8 changes: 3 additions & 5 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ requires = [
[project]
name = "scanpy"
description = "Single-Cell Analysis in Python."
requires-python = ">=3.7"
requires-python = ">=3.8"
license = {file = "LICENSE"}
authors = [
{name = "Alex Wolf"},
Expand Down Expand Up @@ -44,9 +44,9 @@ classifiers = [
"Operating System :: Microsoft :: Windows",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Topic :: Scientific/Engineering :: Bio-Informatics",
"Topic :: Scientific/Engineering :: Visualization",
]
Expand All @@ -71,7 +71,6 @@ dependencies = [
"packaging",
"session-info",
# for getting the stable version
"importlib_metadata>=0.7; python_version < '3.8'",
]
dynamic = ["version"]

Expand Down Expand Up @@ -109,7 +108,6 @@ test-full = [
doc = [
"sphinx>=4.4,<5", # remove upper bound when theme supports dark mode
"scanpydoc[typehints]>=0.7.7",
"typing_extensions; python_version < '3.8'", # for `Literal`
"myst-parser",
"myst-nb",
"sphinx-book-theme",
Expand Down Expand Up @@ -162,7 +160,7 @@ omit = ["*/tests/*"]

[tool.black]
line-length = 88
target-version = ["py37"]
target-version = ["py38"]
skip-string-normalization = true
exclude = """
/build/.*
Expand Down
28 changes: 4 additions & 24 deletions scanpy/_compat.py
Original file line number Diff line number Diff line change
@@ -1,33 +1,13 @@
from packaging import version

try:
from typing import Literal
except ImportError:
try:
from typing_extensions import Literal
except ImportError:

class LiteralMeta(type):
def __getitem__(cls, values):
if not isinstance(values, tuple):
values = (values,)
return type('Literal_', (Literal,), dict(__args__=values))

class Literal(metaclass=LiteralMeta):
pass


def pkg_metadata(package):
try:
from importlib.metadata import metadata as m
except ImportError: # < Python 3.8: Use backport module
from importlib_metadata import metadata as m
from importlib.metadata import metadata as m

return m(package)


def pkg_version(package):
try:
from importlib.metadata import version as v
except ImportError: # < Python 3.8: Use backport module
from importlib_metadata import version as v
from importlib.metadata import version as v

return version.parse(v(package))
3 changes: 1 addition & 2 deletions scanpy/_settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,11 @@
from pathlib import Path
from time import time
from logging import getLevelName
from typing import Any, Union, Optional, Iterable, TextIO
from typing import Any, Union, Optional, Iterable, TextIO, Literal
from typing import Tuple, List, ContextManager

from . import logging
from .logging import _set_log_level, _set_log_file, _RootLogger
from ._compat import Literal

_VERBOSITY_TO_LOGLEVEL = {
'error': 'ERROR',
Expand Down
3 changes: 1 addition & 2 deletions scanpy/_utils/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
from collections import namedtuple
from functools import partial, wraps
from types import ModuleType, MethodType
from typing import Union, Callable, Optional, Mapping, Any, Dict, Tuple
from typing import Union, Callable, Optional, Mapping, Any, Dict, Tuple, Literal

import numpy as np
from numpy import random
Expand All @@ -23,7 +23,6 @@
from packaging import version

from .._settings import settings
from .._compat import Literal
from .. import logging as logg

from .compute.is_constant import is_constant
Expand Down
4 changes: 1 addition & 3 deletions scanpy/datasets/_datasets.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
from pathlib import Path
from typing import Optional
from typing import Optional, Literal
import warnings

import numpy as np
import pandas as pd
import anndata as ad
from packaging import version

from .. import logging as logg, _utils
from .._compat import Literal
from .._settings import settings
from ..readwrite import read, read_visium
from ._utils import check_datasetdir_exists, filter_oldformatwarning
Expand Down
3 changes: 1 addition & 2 deletions scanpy/experimental/pp/_highly_variable_genes.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from multiprocessing.sharedctypes import Value
import warnings
from typing import Optional
from typing import Optional, Literal

import numpy as np
import pandas as pd
Expand All @@ -12,7 +12,6 @@
from scanpy._settings import settings, Verbosity
from scanpy._utils import check_nonnegative_integers, view_to_actual
from scanpy.get import _get_obs_rep
from scanpy._compat import Literal
from scanpy._utils import _doc_params
from scanpy.preprocessing._utils import _get_mean_var
from scanpy.preprocessing._distributed import materialize_as_ndarray
Expand Down
3 changes: 1 addition & 2 deletions scanpy/external/pp/_dca.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
from types import MappingProxyType
from typing import Optional, Sequence, Union, Mapping, Any
from typing import Optional, Sequence, Union, Mapping, Any, Literal

from anndata import AnnData

from ..._compat import Literal
from ..._utils import AnyRandom


Expand Down
3 changes: 1 addition & 2 deletions scanpy/external/pp/_magic.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
"""\
Denoise high-dimensional data using MAGIC
"""
from typing import Union, Sequence, Optional
from typing import Union, Sequence, Optional, Literal

from anndata import AnnData
from packaging import version

from ... import logging as logg
from ..._settings import settings
from ..._compat import Literal
from ..._utils import AnyRandom


Expand Down
3 changes: 1 addition & 2 deletions scanpy/external/pp/_mnn_correct.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
from typing import Union, Collection, Optional, Any, Sequence, Tuple, List
from typing import Union, Collection, Optional, Any, Sequence, Tuple, List, Literal

import numpy as np
import pandas as pd
from anndata import AnnData

from ..._settings import settings
from ..._compat import Literal


def mnn_correct(
Expand Down
3 changes: 1 addition & 2 deletions scanpy/external/tl/_phate.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
"""\
Embed high-dimensional data using PHATE
"""
from typing import Optional, Union
from typing import Optional, Union, Literal

from anndata import AnnData

from ..._settings import settings
from ..._compat import Literal
from ... import logging as logg
from ..._utils import AnyRandom

Expand Down
3 changes: 1 addition & 2 deletions scanpy/external/tl/_phenograph.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
"""\
Perform clustering using PhenoGraph
"""
from typing import Union, Tuple, Optional, Type, Any
from typing import Union, Tuple, Optional, Type, Any, Literal

import numpy as np
import pandas as pd
from anndata import AnnData
from scipy.sparse import spmatrix

from ..._compat import Literal
from ...tools._leiden import MutableVertexPartition
from ... import logging as logg

Expand Down
3 changes: 1 addition & 2 deletions scanpy/external/tl/_sam.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
"""\
Run the Self-Assembling Manifold algorithm
"""
from typing import Optional, Union, Tuple, Any
from typing import Optional, Union, Tuple, Any, Literal

from anndata import AnnData

from ... import logging as logg
from ..._compat import Literal

try:
from samalg import SAM
Expand Down
3 changes: 1 addition & 2 deletions scanpy/external/tl/_trimap.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
"""\
Embed high-dimensional data using TriMap
"""
from typing import Optional, Union
from typing import Optional, Union, Literal

from anndata import AnnData
import scipy.sparse as scp

from ..._settings import settings
from ..._compat import Literal
from ... import logging as logg


Expand Down
3 changes: 1 addition & 2 deletions scanpy/get/get.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
"""This module contains helper functions for accessing data."""
from typing import Optional, Iterable, Tuple, Union, List
from typing import Optional, Iterable, Tuple, Union, List, Literal

import numpy as np
import pandas as pd
from scipy.sparse import spmatrix

from anndata import AnnData
from .._compat import Literal

# --------------------------------------------------------------------------------
# Plotting data helpers
Expand Down
13 changes: 11 additions & 2 deletions scanpy/neighbors/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
from types import MappingProxyType
from typing import Union, Optional, Any, Mapping, Callable, NamedTuple, Generator, Tuple
from typing import (
Union,
Optional,
Any,
Mapping,
Callable,
NamedTuple,
Generator,
Tuple,
Literal,
)
import warnings

import numpy as np
Expand All @@ -11,7 +21,6 @@
from .. import logging as logg
from .. import _utils
from .._utils import _doc_params, AnyRandom, NeighborsView
from .._compat import Literal
from ..tools._utils import _choose_representation, doc_use_rep, doc_n_pcs
from .. import settings

Expand Down
3 changes: 1 addition & 2 deletions scanpy/plotting/_anndata.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import collections.abc as cabc
from itertools import product
from collections import OrderedDict
from typing import Optional, Union, Mapping # Special
from typing import Optional, Union, Mapping, Literal # Special
from typing import Sequence, Collection, Iterable # ABCs
from typing import Tuple, List # Classes

Expand All @@ -24,7 +24,6 @@
from .. import logging as logg
from .._settings import settings
from .._utils import sanitize_anndata, _doc_params, _check_use_raw
from .._compat import Literal
from . import _utils
from ._utils import scatter_base, scatter_group, setup_axes, check_colornorm
from ._utils import ColorLike, _FontWeight, _FontSize
Expand Down
3 changes: 1 addition & 2 deletions scanpy/plotting/_baseplot_class.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"""
import collections.abc as cabc
from collections import namedtuple
from typing import Optional, Union, Mapping # Special
from typing import Optional, Union, Mapping, Literal # Special
from typing import Sequence, Iterable # ABCs
from typing import Tuple # Classes

Expand All @@ -15,7 +15,6 @@
from warnings import warn

from .. import logging as logg
from .._compat import Literal
from ._utils import make_grid_spec, check_colornorm
from ._utils import ColorLike, _AxesSubplot
from ._anndata import _plot_dendrogram, _get_dendrogram_key, _prepare_dataframe
Expand Down
3 changes: 1 addition & 2 deletions scanpy/plotting/_dotplot.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from typing import Optional, Union, Mapping # Special
from typing import Optional, Union, Mapping, Literal # Special
from typing import Sequence # ABCs
from typing import Tuple # Classes

Expand All @@ -11,7 +11,6 @@

from .. import logging as logg
from .._utils import _doc_params
from .._compat import Literal
from ._utils import make_grid_spec, fix_kwds, check_colornorm
from ._utils import ColorLike, _AxesSubplot
from ._utils import savefig_or_show
Expand Down
3 changes: 1 addition & 2 deletions scanpy/plotting/_matrixplot.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from typing import Optional, Union, Mapping # Special
from typing import Optional, Union, Mapping, Literal # Special
from typing import Sequence # ABCs
from typing import Tuple # Classes

Expand All @@ -11,7 +11,6 @@

from .. import logging as logg
from .._utils import _doc_params
from .._compat import Literal
from ._utils import fix_kwds, check_colornorm
from ._utils import ColorLike, _AxesSubplot
from ._utils import savefig_or_show
Expand Down
3 changes: 1 addition & 2 deletions scanpy/plotting/_stacked_violin.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from typing import Optional, Union, Mapping # Special
from typing import Optional, Union, Mapping, Literal # Special
from typing import Sequence # ABCs
from typing import Tuple # Classes

Expand All @@ -9,7 +9,6 @@
from matplotlib.colors import is_color_like, Normalize
from .. import logging as logg
from .._utils import _doc_params
from .._compat import Literal
from ._utils import make_grid_spec, check_colornorm
from ._utils import _AxesSubplot
from ._utils import savefig_or_show
Expand Down
3 changes: 1 addition & 2 deletions scanpy/plotting/_tools/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,10 @@
from matplotlib import pyplot as pl
from matplotlib import rcParams, cm
from anndata import AnnData
from typing import Union, Optional, List, Sequence, Iterable, Mapping
from typing import Union, Optional, List, Sequence, Iterable, Mapping, Literal

from .._utils import savefig_or_show
from ..._utils import _doc_params, sanitize_anndata, subsample
from ..._compat import Literal
from ... import logging as logg
from .._anndata import ranking
from .._utils import timeseries, timeseries_subplot, timeseries_as_heatmap
Expand Down

0 comments on commit ada761b

Please sign in to comment.