diff --git a/stubs/openpyxl/@tests/test_cases/check_nested_descriptors.py b/stubs/openpyxl/@tests/test_cases/check_nested_descriptors.py index f4018c63f..58e5cfb37 100644 --- a/stubs/openpyxl/@tests/test_cases/check_nested_descriptors.py +++ b/stubs/openpyxl/@tests/test_cases/check_nested_descriptors.py @@ -4,11 +4,11 @@ # These tests are essentially a mirror of check_base_descriptors from __future__ import annotations -from typing import Any, Union, cast +from typing import Union, cast from typing_extensions import Literal, assert_type from openpyxl.descriptors import Strict -from openpyxl.descriptors.nested import ( # EmptyTag, +from openpyxl.descriptors.nested import ( EmptyTag, Nested, NestedBool, @@ -32,7 +32,7 @@ element: _HasTagAndGet[str] = Element("") class WithDescriptors(Serialisable): - descriptor = Nested[str]() + descriptor = Nested(expected_type=str) set_tuple = NestedSet(values=("a", 1, 0.0)) set_list = NestedSet(values=["a", 1, 0.0]) @@ -130,7 +130,7 @@ with_descriptors = WithDescriptors() # Test with missing subclass class NotSerialisable: - descriptor = Nested[Any]() + descriptor = Nested(expected_type=object) NotSerialisable().descriptor = None # type: ignore @@ -138,7 +138,7 @@ NotSerialisable().descriptor = None # type: ignore # Test with Strict subclass class WithDescriptorsStrict(Strict): - descriptor = Nested[Any]() + descriptor = Nested(expected_type=object) WithDescriptorsStrict().descriptor = None diff --git a/stubs/openpyxl/openpyxl/cell/text.pyi b/stubs/openpyxl/openpyxl/cell/text.pyi index fc4ffd1a2..5aed12bbd 100644 --- a/stubs/openpyxl/openpyxl/cell/text.pyi +++ b/stubs/openpyxl/openpyxl/cell/text.pyi @@ -11,7 +11,7 @@ _PhoneticPropertiesType: TypeAlias = Literal["halfwidthKatakana", "fullwidthKata _PhoneticPropertiesAlignment: TypeAlias = Literal["noControl", "left", "center", "distributed"] class PhoneticProperties(Serialisable): - tagname: str + tagname: ClassVar[str] fontId: Integer[Literal[False]] type: NoneSet[_PhoneticPropertiesType] alignment: NoneSet[_PhoneticPropertiesAlignment] @@ -25,7 +25,7 @@ class PhoneticProperties(Serialisable): _PhoneticProperties: TypeAlias = PhoneticProperties class PhoneticText(Serialisable): - tagname: str + tagname: ClassVar[str] sb: Integer[Literal[False]] eb: Integer[Literal[False]] t: NestedText[str, Literal[False]] @@ -33,7 +33,7 @@ class PhoneticText(Serialisable): def __init__(self, sb: _ConvertibleToInt, eb: _ConvertibleToInt, t: object = None) -> None: ... class InlineFont(Font): - tagname: str + tagname: ClassVar[str] rFont: NestedString[Literal[True]] charset: Incomplete family: Incomplete @@ -70,7 +70,7 @@ class InlineFont(Font): ) -> None: ... class RichText(Serialisable): - tagname: str + tagname: ClassVar[str] rPr: Typed[InlineFont, Literal[True]] font: Alias t: NestedText[str, Literal[True]] @@ -79,7 +79,7 @@ class RichText(Serialisable): def __init__(self, rPr: InlineFont | None = None, t: object = None) -> None: ... class Text(Serialisable): - tagname: str + tagname: ClassVar[str] t: NestedText[str, Literal[True]] plain: Alias r: Incomplete diff --git a/stubs/openpyxl/openpyxl/chart/_3d.pyi b/stubs/openpyxl/openpyxl/chart/_3d.pyi index df7ae2bf0..86a4d9829 100644 --- a/stubs/openpyxl/openpyxl/chart/_3d.pyi +++ b/stubs/openpyxl/openpyxl/chart/_3d.pyi @@ -10,7 +10,7 @@ from openpyxl.descriptors.nested import NestedBool, NestedInteger, NestedMinMax, from openpyxl.descriptors.serialisable import Serialisable class View3D(Serialisable): - tagname: str + tagname: ClassVar[str] rotX: NestedMinMax[float, Literal[True]] x_rotation: Alias hPercent: NestedMinMax[float, Literal[True]] @@ -35,7 +35,7 @@ class View3D(Serialisable): ) -> None: ... class Surface(Serialisable): - tagname: str + tagname: ClassVar[str] thickness: NestedInteger[Literal[True]] spPr: Typed[GraphicalProperties, Literal[True]] graphicalProperties: Alias @@ -51,7 +51,7 @@ class Surface(Serialisable): ) -> None: ... class _3DBase(Serialisable): - tagname: str + tagname: ClassVar[str] view3D: Typed[View3D, Literal[True]] floor: Typed[Surface, Literal[True]] sideWall: Typed[Surface, Literal[True]] diff --git a/stubs/openpyxl/openpyxl/chart/_chart.pyi b/stubs/openpyxl/openpyxl/chart/_chart.pyi index 405748b58..51ac0ab5d 100644 --- a/stubs/openpyxl/openpyxl/chart/_chart.pyi +++ b/stubs/openpyxl/openpyxl/chart/_chart.pyi @@ -1,5 +1,4 @@ from _typeshed import Incomplete, Unused -from abc import abstractmethod from typing import ClassVar from typing_extensions import Literal, TypeAlias @@ -41,12 +40,9 @@ class ChartBase(Serialisable): def __init__(self, axId=(), **kw: Unused) -> None: ... def __hash__(self) -> int: ... def __iadd__(self, other): ... - def to_tree(self, namespace: Incomplete | None = None, tagname: Incomplete | None = None, idx: Incomplete | None = None): ... # type: ignore[override] + def to_tree(self, namespace: str | None = None, tagname: str | None = None, idx: Incomplete | None = None): ... # type: ignore[override] def set_categories(self, labels) -> None: ... def add_data(self, data, from_rows: bool = False, titles_from_data: bool = False) -> None: ... def append(self, value) -> None: ... @property def path(self): ... - @property - @abstractmethod - def tagname(self) -> str: ... diff --git a/stubs/openpyxl/openpyxl/chart/area_chart.pyi b/stubs/openpyxl/openpyxl/chart/area_chart.pyi index d583364ff..a6b5e3ee1 100644 --- a/stubs/openpyxl/openpyxl/chart/area_chart.pyi +++ b/stubs/openpyxl/openpyxl/chart/area_chart.pyi @@ -1,5 +1,4 @@ from _typeshed import Incomplete, Unused -from abc import abstractmethod from typing import ClassVar from typing_extensions import Literal, TypeAlias @@ -29,12 +28,9 @@ class _AreaChartBase(ChartBase): dLbls: DataLabelList | None = None, dropLines: ChartLines | None = None, ) -> None: ... - @property - @abstractmethod - def tagname(self) -> str: ... class AreaChart(_AreaChartBase): - tagname: str + tagname: ClassVar[str] grouping: Incomplete varyColors: Incomplete ser: Incomplete @@ -47,7 +43,7 @@ class AreaChart(_AreaChartBase): def __init__(self, axId: Unused = None, extLst: Unused = None, **kw) -> None: ... class AreaChart3D(AreaChart): - tagname: str + tagname: ClassVar[str] grouping: Incomplete varyColors: Incomplete ser: Incomplete diff --git a/stubs/openpyxl/openpyxl/chart/axis.pyi b/stubs/openpyxl/openpyxl/chart/axis.pyi index 70904da10..76d938aee 100644 --- a/stubs/openpyxl/openpyxl/chart/axis.pyi +++ b/stubs/openpyxl/openpyxl/chart/axis.pyi @@ -1,5 +1,4 @@ from _typeshed import Incomplete, Unused -from abc import abstractmethod from typing import ClassVar, overload from typing_extensions import Literal, TypeAlias @@ -41,13 +40,13 @@ _TextAxisLblAlgn: TypeAlias = Literal["ctr", "l", "r"] _DateAxisTimeUnit: TypeAlias = Literal["days", "months", "years"] class ChartLines(Serialisable): - tagname: str + tagname: ClassVar[str] spPr: Typed[GraphicalProperties, Literal[True]] graphicalProperties: Alias def __init__(self, spPr: GraphicalProperties | None = None) -> None: ... class Scaling(Serialisable): - tagname: str + tagname: ClassVar[str] logBase: NestedFloat[Literal[True]] orientation: NestedSet[_ScalingOrientation] max: NestedFloat[Literal[True]] @@ -125,12 +124,9 @@ class _BaseAxis(Serialisable): crosses: Incomplete | None = None, crossesAt: _HasTagAndGet[_ConvertibleToFloat | None] | _ConvertibleToFloat | None = None, ) -> None: ... - @property - @abstractmethod - def tagname(self) -> str: ... class DisplayUnitsLabel(Serialisable): - tagname: str + tagname: ClassVar[str] layout: Typed[Layout, Literal[True]] tx: Typed[Text, Literal[True]] text: Alias @@ -148,7 +144,7 @@ class DisplayUnitsLabel(Serialisable): ) -> None: ... class DisplayUnitsLabelList(Serialisable): - tagname: str + tagname: ClassVar[str] custUnit: NestedFloat[Literal[True]] builtInUnit: NestedNoneSet[_DisplayUnitsLabelListBuiltInUnit] dispUnitsLbl: Typed[DisplayUnitsLabel, Literal[True]] @@ -166,7 +162,7 @@ class DisplayUnitsLabelList(Serialisable): ) -> None: ... class NumericAxis(_BaseAxis): - tagname: str + tagname: ClassVar[str] axId: Incomplete scaling: Incomplete delete: Incomplete @@ -202,7 +198,7 @@ class NumericAxis(_BaseAxis): def from_tree(cls, node): ... class TextAxis(_BaseAxis): - tagname: str + tagname: ClassVar[str] axId: Incomplete scaling: Incomplete delete: Incomplete @@ -240,7 +236,7 @@ class TextAxis(_BaseAxis): ) -> None: ... class DateAxis(TextAxis): - tagname: str + tagname: ClassVar[str] axId: Incomplete scaling: Incomplete delete: Incomplete @@ -280,7 +276,7 @@ class DateAxis(TextAxis): ) -> None: ... class SeriesAxis(_BaseAxis): - tagname: str + tagname: ClassVar[str] axId: Incomplete scaling: Incomplete delete: Incomplete diff --git a/stubs/openpyxl/openpyxl/chart/bar_chart.pyi b/stubs/openpyxl/openpyxl/chart/bar_chart.pyi index 16f52f377..2233b5b81 100644 --- a/stubs/openpyxl/openpyxl/chart/bar_chart.pyi +++ b/stubs/openpyxl/openpyxl/chart/bar_chart.pyi @@ -1,5 +1,4 @@ from _typeshed import Incomplete, Unused -from abc import abstractmethod from typing import ClassVar from typing_extensions import Literal, TypeAlias @@ -34,12 +33,9 @@ class _BarChartBase(ChartBase): dLbls: DataLabelList | None = None, **kw, ) -> None: ... - @property - @abstractmethod - def tagname(self) -> str: ... class BarChart(_BarChartBase): - tagname: str + tagname: ClassVar[str] barDir: Incomplete grouping: Incomplete varyColors: Incomplete @@ -63,7 +59,7 @@ class BarChart(_BarChartBase): ) -> None: ... class BarChart3D(_BarChartBase, _3DBase): - tagname: str + tagname: ClassVar[str] barDir: Incomplete grouping: Incomplete varyColors: Incomplete diff --git a/stubs/openpyxl/openpyxl/chart/bubble_chart.pyi b/stubs/openpyxl/openpyxl/chart/bubble_chart.pyi index b3c1050d7..87868815b 100644 --- a/stubs/openpyxl/openpyxl/chart/bubble_chart.pyi +++ b/stubs/openpyxl/openpyxl/chart/bubble_chart.pyi @@ -13,7 +13,7 @@ from ._chart import ChartBase _BubbleChartSizeRepresents: TypeAlias = Literal["area", "w"] class BubbleChart(ChartBase): - tagname: str + tagname: ClassVar[str] varyColors: NestedBool[Literal[True]] ser: Incomplete dLbls: Typed[DataLabelList, Literal[True]] diff --git a/stubs/openpyxl/openpyxl/chart/chartspace.pyi b/stubs/openpyxl/openpyxl/chart/chartspace.pyi index b404b9ca0..fdc79e6f5 100644 --- a/stubs/openpyxl/openpyxl/chart/chartspace.pyi +++ b/stubs/openpyxl/openpyxl/chart/chartspace.pyi @@ -18,7 +18,7 @@ from openpyxl.drawing.colors import ColorMapping _ChartContainerDispBlanksAs: TypeAlias = Literal["span", "gap", "zero"] class ChartContainer(Serialisable): - tagname: str + tagname: ClassVar[str] title: Typed[Title, Literal[True]] autoTitleDeleted: NestedBool[Literal[True]] pivotFmts: Incomplete @@ -51,7 +51,7 @@ class ChartContainer(Serialisable): ) -> None: ... class Protection(Serialisable): - tagname: str + tagname: ClassVar[str] chartObject: NestedBool[Literal[True]] data: NestedBool[Literal[True]] formatting: NestedBool[Literal[True]] @@ -68,7 +68,7 @@ class Protection(Serialisable): ) -> None: ... class ExternalData(Serialisable): - tagname: str + tagname: ClassVar[str] autoUpdate: NestedBool[Literal[True]] id: String[Literal[False]] @overload @@ -79,7 +79,7 @@ class ExternalData(Serialisable): def __init__(self, autoUpdate: Incomplete | None, id: str) -> None: ... class ChartSpace(Serialisable): - tagname: str + tagname: ClassVar[str] date1904: NestedBool[Literal[True]] lang: NestedString[Literal[True]] roundedCorners: NestedBool[Literal[True]] @@ -134,4 +134,4 @@ class ChartSpace(Serialisable): userShapes: Incomplete | None = None, extLst: Unused = None, ) -> None: ... - def to_tree(self, tagname: Incomplete | None = None, idx: Incomplete | None = None, namespace: Incomplete | None = None): ... + def to_tree(self, tagname: Incomplete | None = None, idx: Incomplete | None = None, namespace: str | None = None): ... diff --git a/stubs/openpyxl/openpyxl/chart/data_source.pyi b/stubs/openpyxl/openpyxl/chart/data_source.pyi index ad752c1d0..791f97e7a 100644 --- a/stubs/openpyxl/openpyxl/chart/data_source.pyi +++ b/stubs/openpyxl/openpyxl/chart/data_source.pyi @@ -47,13 +47,13 @@ class NumRef(Serialisable): def __init__(self, f: object = None, numCache: NumData | None = None, extLst: Unused = None) -> None: ... class StrVal(Serialisable): - tagname: str + tagname: ClassVar[str] idx: Integer[Literal[False]] v: NestedText[str, Literal[False]] def __init__(self, idx: _ConvertibleToInt = 0, v: object = None) -> None: ... class StrData(Serialisable): - tagname: str + tagname: ClassVar[str] ptCount: NestedInteger[Literal[True]] pt: Incomplete extLst: Typed[ExtensionList, Literal[True]] @@ -63,7 +63,7 @@ class StrData(Serialisable): ) -> None: ... class StrRef(Serialisable): - tagname: str + tagname: ClassVar[str] f: NestedText[str, Literal[True]] strCache: Typed[StrData, Literal[True]] extLst: Typed[ExtensionList, Literal[True]] @@ -76,13 +76,13 @@ class NumDataSource(Serialisable): def __init__(self, numRef: NumRef | None = None, numLit: NumData | None = None) -> None: ... class Level(Serialisable): - tagname: str + tagname: ClassVar[str] pt: Incomplete __elements__: ClassVar[tuple[str, ...]] def __init__(self, pt=()) -> None: ... class MultiLevelStrData(Serialisable): - tagname: str + tagname: ClassVar[str] ptCount: Integer[Literal[True]] lvl: Incomplete extLst: Typed[ExtensionList, Literal[True]] @@ -90,7 +90,7 @@ class MultiLevelStrData(Serialisable): def __init__(self, ptCount: _ConvertibleToInt | None = None, lvl=(), extLst: Unused = None) -> None: ... class MultiLevelStrRef(Serialisable): - tagname: str + tagname: ClassVar[str] f: NestedText[str, Literal[False]] multiLvlStrCache: Typed[MultiLevelStrData, Literal[True]] extLst: Typed[ExtensionList, Literal[True]] @@ -98,7 +98,7 @@ class MultiLevelStrRef(Serialisable): def __init__(self, f: object = None, multiLvlStrCache: MultiLevelStrData | None = None, extLst: Unused = None) -> None: ... class AxDataSource(Serialisable): - tagname: str + tagname: ClassVar[str] numRef: Typed[NumRef, Literal[True]] numLit: Typed[NumData, Literal[True]] strRef: Typed[StrRef, Literal[True]] diff --git a/stubs/openpyxl/openpyxl/chart/error_bar.pyi b/stubs/openpyxl/openpyxl/chart/error_bar.pyi index b1b808f12..4f2804bc0 100644 --- a/stubs/openpyxl/openpyxl/chart/error_bar.pyi +++ b/stubs/openpyxl/openpyxl/chart/error_bar.pyi @@ -14,7 +14,7 @@ _ErrorBarsErrValType: TypeAlias = Literal["cust", "fixedVal", "percentage", "std _ErrorBarsErrDir: TypeAlias = Literal["x", "y"] class ErrorBars(Serialisable): - tagname: str + tagname: ClassVar[str] errDir: NestedNoneSet[_ErrorBarsErrDir] direction: Alias errBarType: NestedSet[_ErrorBarsErrBarType] diff --git a/stubs/openpyxl/openpyxl/chart/label.pyi b/stubs/openpyxl/openpyxl/chart/label.pyi index 9d736eb68..e7396adcc 100644 --- a/stubs/openpyxl/openpyxl/chart/label.pyi +++ b/stubs/openpyxl/openpyxl/chart/label.pyi @@ -1,5 +1,4 @@ from _typeshed import Incomplete, Unused -from abc import abstractmethod from typing import ClassVar from typing_extensions import Literal, TypeAlias @@ -46,12 +45,9 @@ class _DataLabelBase(Serialisable): separator: object = None, extLst: Unused = None, ) -> None: ... - @property - @abstractmethod - def tagname(self) -> str: ... class DataLabel(_DataLabelBase): - tagname: str + tagname: ClassVar[str] idx: NestedInteger[Literal[False]] numFmt: Incomplete spPr: Incomplete @@ -70,7 +66,7 @@ class DataLabel(_DataLabelBase): def __init__(self, idx: _HasTagAndGet[_ConvertibleToInt] | _ConvertibleToInt = 0, **kw) -> None: ... class DataLabelList(_DataLabelBase): - tagname: str + tagname: ClassVar[str] dLbl: Incomplete delete: NestedBool[Literal[True]] numFmt: Incomplete diff --git a/stubs/openpyxl/openpyxl/chart/layout.pyi b/stubs/openpyxl/openpyxl/chart/layout.pyi index 423c62311..8d5337afc 100644 --- a/stubs/openpyxl/openpyxl/chart/layout.pyi +++ b/stubs/openpyxl/openpyxl/chart/layout.pyi @@ -11,7 +11,7 @@ _ManualLayoutMode: TypeAlias = Literal["edge", "factor"] _ManualLayoutLayoutTarget: TypeAlias = Literal["inner", "outer"] class ManualLayout(Serialisable): - tagname: str + tagname: ClassVar[str] layoutTarget: NestedNoneSet[_ManualLayoutLayoutTarget] xMode: NestedNoneSet[_ManualLayoutMode] yMode: NestedNoneSet[_ManualLayoutMode] @@ -40,7 +40,7 @@ class ManualLayout(Serialisable): ) -> None: ... class Layout(Serialisable): - tagname: str + tagname: ClassVar[str] manualLayout: Typed[ManualLayout, Literal[True]] extLst: Typed[ExtensionList, Literal[True]] __elements__: ClassVar[tuple[str, ...]] diff --git a/stubs/openpyxl/openpyxl/chart/legend.pyi b/stubs/openpyxl/openpyxl/chart/legend.pyi index 4b371178f..6ce837c98 100644 --- a/stubs/openpyxl/openpyxl/chart/legend.pyi +++ b/stubs/openpyxl/openpyxl/chart/legend.pyi @@ -13,7 +13,7 @@ from openpyxl.descriptors.serialisable import Serialisable _LegendLegendPos: TypeAlias = Literal["b", "tr", "l", "r", "t"] class LegendEntry(Serialisable): - tagname: str + tagname: ClassVar[str] idx: NestedInteger[Literal[False]] delete: NestedBool[Literal[False]] txPr: Typed[RichText, Literal[True]] @@ -28,7 +28,7 @@ class LegendEntry(Serialisable): ) -> None: ... class Legend(Serialisable): - tagname: str + tagname: ClassVar[str] legendPos: NestedSet[_LegendLegendPos] position: Alias legendEntry: Incomplete diff --git a/stubs/openpyxl/openpyxl/chart/line_chart.pyi b/stubs/openpyxl/openpyxl/chart/line_chart.pyi index 09e4be4a4..344250cfe 100644 --- a/stubs/openpyxl/openpyxl/chart/line_chart.pyi +++ b/stubs/openpyxl/openpyxl/chart/line_chart.pyi @@ -1,5 +1,4 @@ from _typeshed import Incomplete, Unused -from abc import abstractmethod from typing import ClassVar from typing_extensions import Literal, TypeAlias @@ -31,12 +30,9 @@ class _LineChartBase(ChartBase): dropLines: ChartLines | None = None, **kw, ) -> None: ... - @property - @abstractmethod - def tagname(self) -> str: ... class LineChart(_LineChartBase): - tagname: str + tagname: ClassVar[str] grouping: Incomplete varyColors: Incomplete ser: Incomplete @@ -61,7 +57,7 @@ class LineChart(_LineChartBase): ) -> None: ... class LineChart3D(_LineChartBase): - tagname: str + tagname: ClassVar[str] grouping: Incomplete varyColors: Incomplete ser: Incomplete diff --git a/stubs/openpyxl/openpyxl/chart/marker.pyi b/stubs/openpyxl/openpyxl/chart/marker.pyi index 5018da4ba..e4a158e0d 100644 --- a/stubs/openpyxl/openpyxl/chart/marker.pyi +++ b/stubs/openpyxl/openpyxl/chart/marker.pyi @@ -14,7 +14,7 @@ _MarkerSymbol: TypeAlias = Literal[ ] class Marker(Serialisable): - tagname: str + tagname: ClassVar[str] symbol: NestedNoneSet[_MarkerSymbol] size: NestedMinMax[float, Literal[True]] spPr: Typed[GraphicalProperties, Literal[True]] @@ -30,7 +30,7 @@ class Marker(Serialisable): ) -> None: ... class DataPoint(Serialisable): - tagname: str + tagname: ClassVar[str] idx: NestedInteger[Literal[False]] invertIfNegative: NestedBool[Literal[True]] marker: Typed[Marker, Literal[True]] diff --git a/stubs/openpyxl/openpyxl/chart/picture.pyi b/stubs/openpyxl/openpyxl/chart/picture.pyi index 53adc04b9..0de58c404 100644 --- a/stubs/openpyxl/openpyxl/chart/picture.pyi +++ b/stubs/openpyxl/openpyxl/chart/picture.pyi @@ -8,7 +8,7 @@ from openpyxl.descriptors.serialisable import Serialisable _PictureOptionsPictureFormat: TypeAlias = Literal["stretch", "stack", "stackScale"] class PictureOptions(Serialisable): - tagname: str + tagname: ClassVar[str] applyToFront: NestedBool[Literal[True]] applyToSides: NestedBool[Literal[True]] applyToEnd: NestedBool[Literal[True]] diff --git a/stubs/openpyxl/openpyxl/chart/pie_chart.pyi b/stubs/openpyxl/openpyxl/chart/pie_chart.pyi index 1325d9a39..8d2338cd4 100644 --- a/stubs/openpyxl/openpyxl/chart/pie_chart.pyi +++ b/stubs/openpyxl/openpyxl/chart/pie_chart.pyi @@ -1,5 +1,4 @@ from _typeshed import Incomplete, Unused -from abc import abstractmethod from typing import ClassVar from typing_extensions import Literal, TypeAlias @@ -35,12 +34,9 @@ class _PieChartBase(ChartBase): ser=(), dLbls: DataLabelList | None = None, ) -> None: ... - @property - @abstractmethod - def tagname(self) -> str: ... class PieChart(_PieChartBase): - tagname: str + tagname: ClassVar[str] varyColors: Incomplete ser: Incomplete dLbls: Incomplete @@ -52,7 +48,7 @@ class PieChart(_PieChartBase): ) -> None: ... class PieChart3D(_PieChartBase): - tagname: str + tagname: ClassVar[str] varyColors: Incomplete ser: Incomplete dLbls: Incomplete @@ -60,7 +56,7 @@ class PieChart3D(_PieChartBase): __elements__: ClassVar[tuple[str, ...]] class DoughnutChart(_PieChartBase): - tagname: str + tagname: ClassVar[str] varyColors: Incomplete ser: Incomplete dLbls: Incomplete @@ -77,13 +73,13 @@ class DoughnutChart(_PieChartBase): ) -> None: ... class CustomSplit(Serialisable): - tagname: str + tagname: ClassVar[str] secondPiePt: Incomplete __elements__: ClassVar[tuple[str, ...]] def __init__(self, secondPiePt=()) -> None: ... class ProjectedPieChart(_PieChartBase): - tagname: str + tagname: ClassVar[str] varyColors: Incomplete ser: Incomplete dLbls: Incomplete diff --git a/stubs/openpyxl/openpyxl/chart/pivot.pyi b/stubs/openpyxl/openpyxl/chart/pivot.pyi index 1c70c0e16..fd7baf8d6 100644 --- a/stubs/openpyxl/openpyxl/chart/pivot.pyi +++ b/stubs/openpyxl/openpyxl/chart/pivot.pyi @@ -12,7 +12,7 @@ from openpyxl.descriptors.nested import NestedInteger, NestedText, _HasTagAndGet from openpyxl.descriptors.serialisable import Serialisable class PivotSource(Serialisable): - tagname: str + tagname: ClassVar[str] name: NestedText[str, Literal[False]] fmtId: NestedInteger[Literal[False]] extLst: Typed[ExtensionList, Literal[True]] @@ -27,7 +27,7 @@ class PivotSource(Serialisable): ) -> None: ... class PivotFormat(Serialisable): - tagname: str + tagname: ClassVar[str] idx: NestedInteger[Literal[False]] spPr: Typed[GraphicalProperties, Literal[True]] graphicalProperties: Alias diff --git a/stubs/openpyxl/openpyxl/chart/plotarea.pyi b/stubs/openpyxl/openpyxl/chart/plotarea.pyi index 8b941d0e4..539c03fc5 100644 --- a/stubs/openpyxl/openpyxl/chart/plotarea.pyi +++ b/stubs/openpyxl/openpyxl/chart/plotarea.pyi @@ -11,7 +11,7 @@ from openpyxl.descriptors.nested import NestedBool, _HasTagAndGet from openpyxl.descriptors.serialisable import Serialisable class DataTable(Serialisable): - tagname: str + tagname: ClassVar[str] showHorzBorder: NestedBool[Literal[True]] showVertBorder: NestedBool[Literal[True]] showOutline: NestedBool[Literal[True]] @@ -33,7 +33,7 @@ class DataTable(Serialisable): ) -> None: ... class PlotArea(Serialisable): - tagname: str + tagname: ClassVar[str] layout: Typed[Layout, Literal[True]] dTable: Typed[DataTable, Literal[True]] spPr: Typed[GraphicalProperties, Literal[True]] @@ -69,6 +69,6 @@ class PlotArea(Serialisable): _axes=(), extLst: Unused = None, ) -> None: ... - def to_tree(self, tagname: Incomplete | None = None, idx: Incomplete | None = None, namespace: Incomplete | None = None): ... + def to_tree(self, tagname: str | None = None, idx: Incomplete | None = None, namespace: str | None = None): ... @classmethod def from_tree(cls, node): ... diff --git a/stubs/openpyxl/openpyxl/chart/print_settings.pyi b/stubs/openpyxl/openpyxl/chart/print_settings.pyi index c7f5ba881..f6c7a329d 100644 --- a/stubs/openpyxl/openpyxl/chart/print_settings.pyi +++ b/stubs/openpyxl/openpyxl/chart/print_settings.pyi @@ -7,7 +7,7 @@ from openpyxl.worksheet.header_footer import HeaderFooter from openpyxl.worksheet.page import PrintPageSetup class PageMargins(Serialisable): - tagname: str + tagname: ClassVar[str] l: Float[Literal[False]] left: Alias r: Float[Literal[False]] @@ -29,7 +29,7 @@ class PageMargins(Serialisable): ) -> None: ... class PrintSettings(Serialisable): - tagname: str + tagname: ClassVar[str] headerFooter: Typed[HeaderFooter, Literal[True]] pageMargins: Typed[PageMargins, Literal[True]] pageSetup: Typed[PrintPageSetup, Literal[True]] diff --git a/stubs/openpyxl/openpyxl/chart/radar_chart.pyi b/stubs/openpyxl/openpyxl/chart/radar_chart.pyi index 2746e34a3..68d53d622 100644 --- a/stubs/openpyxl/openpyxl/chart/radar_chart.pyi +++ b/stubs/openpyxl/openpyxl/chart/radar_chart.pyi @@ -13,7 +13,7 @@ from ._chart import ChartBase _RadarChartRadarStyle: TypeAlias = Literal["standard", "marker", "filled"] class RadarChart(ChartBase): - tagname: str + tagname: ClassVar[str] radarStyle: NestedSet[_RadarChartRadarStyle] type: Alias varyColors: NestedBool[Literal[True]] diff --git a/stubs/openpyxl/openpyxl/chart/scatter_chart.pyi b/stubs/openpyxl/openpyxl/chart/scatter_chart.pyi index b4233e3d9..59d92ba27 100644 --- a/stubs/openpyxl/openpyxl/chart/scatter_chart.pyi +++ b/stubs/openpyxl/openpyxl/chart/scatter_chart.pyi @@ -13,7 +13,7 @@ from ._chart import ChartBase as ChartBase _ScatterChartScatterStyle: TypeAlias = Literal["line", "lineMarker", "marker", "smooth", "smoothMarker"] class ScatterChart(ChartBase): - tagname: str + tagname: ClassVar[str] scatterStyle: NestedNoneSet[_ScatterChartScatterStyle] varyColors: NestedBool[Literal[True]] ser: Incomplete diff --git a/stubs/openpyxl/openpyxl/chart/series.pyi b/stubs/openpyxl/openpyxl/chart/series.pyi index b80037153..b87eac1d9 100644 --- a/stubs/openpyxl/openpyxl/chart/series.pyi +++ b/stubs/openpyxl/openpyxl/chart/series.pyi @@ -19,7 +19,7 @@ _SeriesShape: TypeAlias = Literal["cone", "coneToMax", "box", "cylinder", "pyram attribute_mapping: Incomplete class SeriesLabel(Serialisable): - tagname: str + tagname: ClassVar[str] strRef: Typed[StrRef, Literal[True]] v: NestedText[str, Literal[True]] value: Alias @@ -27,7 +27,7 @@ class SeriesLabel(Serialisable): def __init__(self, strRef: StrRef | None = None, v: object = None) -> None: ... class Series(Serialisable): - tagname: str + tagname: ClassVar[str] idx: NestedInteger[Literal[False]] order: NestedInteger[Literal[False]] tx: Typed[SeriesLabel, Literal[True]] @@ -80,7 +80,7 @@ class Series(Serialisable): explosion: _HasTagAndGet[_ConvertibleToInt | None] | _ConvertibleToInt | None = None, extLst: Unused = None, ) -> None: ... - def to_tree(self, tagname: Incomplete | None = None, idx: Incomplete | None = None): ... # type: ignore[override] + def to_tree(self, tagname: str | None = None, idx: Incomplete | None = None): ... # type: ignore[override] class XYSeries(Series): idx: Incomplete diff --git a/stubs/openpyxl/openpyxl/chart/shapes.pyi b/stubs/openpyxl/openpyxl/chart/shapes.pyi index d9d57a2f5..f973f3004 100644 --- a/stubs/openpyxl/openpyxl/chart/shapes.pyi +++ b/stubs/openpyxl/openpyxl/chart/shapes.pyi @@ -14,7 +14,7 @@ _GraphicalPropertiesBwMode: TypeAlias = Literal[ ] class GraphicalProperties(Serialisable): - tagname: str + tagname: ClassVar[str] bwMode: NoneSet[_GraphicalPropertiesBwMode] xfrm: Typed[Transform2D, Literal[True]] transform: Alias diff --git a/stubs/openpyxl/openpyxl/chart/stock_chart.pyi b/stubs/openpyxl/openpyxl/chart/stock_chart.pyi index f97cc1249..54ac6ae5e 100644 --- a/stubs/openpyxl/openpyxl/chart/stock_chart.pyi +++ b/stubs/openpyxl/openpyxl/chart/stock_chart.pyi @@ -11,7 +11,7 @@ from openpyxl.descriptors.excel import ExtensionList from ._chart import ChartBase class StockChart(ChartBase): - tagname: str + tagname: ClassVar[str] ser: Incomplete dLbls: Typed[DataLabelList, Literal[True]] dataLabels: Alias diff --git a/stubs/openpyxl/openpyxl/chart/surface_chart.pyi b/stubs/openpyxl/openpyxl/chart/surface_chart.pyi index f4fc099bd..4178fcf21 100644 --- a/stubs/openpyxl/openpyxl/chart/surface_chart.pyi +++ b/stubs/openpyxl/openpyxl/chart/surface_chart.pyi @@ -1,5 +1,4 @@ from _typeshed import Incomplete -from abc import abstractmethod from typing import ClassVar from typing_extensions import Literal @@ -14,7 +13,7 @@ from ._3d import _3DBase from ._chart import ChartBase class BandFormat(Serialisable): - tagname: str + tagname: ClassVar[str] idx: NestedInteger[Literal[False]] spPr: Typed[GraphicalProperties, Literal[True]] graphicalProperties: Alias @@ -24,7 +23,7 @@ class BandFormat(Serialisable): ) -> None: ... class BandFormatList(Serialisable): - tagname: str + tagname: ClassVar[str] bandFmt: Incomplete __elements__: ClassVar[tuple[str, ...]] def __init__(self, bandFmt=()) -> None: ... @@ -41,12 +40,9 @@ class _SurfaceChartBase(ChartBase): bandFmts: BandFormatList | None = None, **kw, ) -> None: ... - @property - @abstractmethod - def tagname(self) -> str: ... class SurfaceChart3D(_SurfaceChartBase, _3DBase): - tagname: str + tagname: ClassVar[str] wireframe: Incomplete ser: Incomplete bandFmts: Incomplete @@ -58,7 +54,7 @@ class SurfaceChart3D(_SurfaceChartBase, _3DBase): def __init__(self, **kw) -> None: ... class SurfaceChart(SurfaceChart3D): - tagname: str + tagname: ClassVar[str] wireframe: Incomplete ser: Incomplete bandFmts: Incomplete diff --git a/stubs/openpyxl/openpyxl/chart/text.pyi b/stubs/openpyxl/openpyxl/chart/text.pyi index 72edd6947..c9bebcc87 100644 --- a/stubs/openpyxl/openpyxl/chart/text.pyi +++ b/stubs/openpyxl/openpyxl/chart/text.pyi @@ -8,7 +8,7 @@ from openpyxl.descriptors.serialisable import Serialisable from openpyxl.drawing.text import ListStyle, RichTextProperties class RichText(Serialisable): - tagname: str + tagname: ClassVar[str] bodyPr: Typed[RichTextProperties, Literal[False]] properties: Alias lstStyle: Typed[ListStyle, Literal[True]] @@ -20,9 +20,9 @@ class RichText(Serialisable): ) -> None: ... class Text(Serialisable): - tagname: str + tagname: ClassVar[str] strRef: Typed[StrRef, Literal[True]] rich: Typed[RichText, Literal[True]] __elements__: ClassVar[tuple[str, ...]] def __init__(self, strRef: StrRef | None = None, rich: RichText | None = None) -> None: ... - def to_tree(self, tagname: Incomplete | None = None, idx: Incomplete | None = None, namespace: Incomplete | None = None): ... + def to_tree(self, tagname: str | None = None, idx: Incomplete | None = None, namespace: str | None = None): ... diff --git a/stubs/openpyxl/openpyxl/chart/title.pyi b/stubs/openpyxl/openpyxl/chart/title.pyi index c9e829790..5159ccb32 100644 --- a/stubs/openpyxl/openpyxl/chart/title.pyi +++ b/stubs/openpyxl/openpyxl/chart/title.pyi @@ -12,7 +12,7 @@ from openpyxl.descriptors.nested import NestedBool, _HasTagAndGet from openpyxl.descriptors.serialisable import Serialisable class Title(Serialisable): - tagname: str + tagname: ClassVar[str] tx: Typed[Text, Literal[True]] text: Alias layout: Typed[Layout, Literal[True]] diff --git a/stubs/openpyxl/openpyxl/chart/trendline.pyi b/stubs/openpyxl/openpyxl/chart/trendline.pyi index aa31894ad..409b34b25 100644 --- a/stubs/openpyxl/openpyxl/chart/trendline.pyi +++ b/stubs/openpyxl/openpyxl/chart/trendline.pyi @@ -14,7 +14,7 @@ from openpyxl.descriptors.serialisable import Serialisable _TrendlineTrendlineType: TypeAlias = Literal["exp", "linear", "log", "movingAvg", "poly", "power"] class TrendlineLabel(Serialisable): - tagname: str + tagname: ClassVar[str] layout: Typed[Layout, Literal[True]] tx: Typed[Text, Literal[True]] numFmt: Typed[NumFmt, Literal[True]] @@ -35,7 +35,7 @@ class TrendlineLabel(Serialisable): ) -> None: ... class Trendline(Serialisable): - tagname: str + tagname: ClassVar[str] name: String[Literal[True]] spPr: Typed[ExtensionList, Literal[True]] graphicalProperties: Alias diff --git a/stubs/openpyxl/openpyxl/chart/updown_bars.pyi b/stubs/openpyxl/openpyxl/chart/updown_bars.pyi index 5e789b700..60e7ad447 100644 --- a/stubs/openpyxl/openpyxl/chart/updown_bars.pyi +++ b/stubs/openpyxl/openpyxl/chart/updown_bars.pyi @@ -8,7 +8,7 @@ from openpyxl.descriptors.excel import ExtensionList from openpyxl.descriptors.serialisable import Serialisable class UpDownBars(Serialisable): - tagname: str + tagname: ClassVar[str] gapWidth: Incomplete upBars: Typed[ChartLines, Literal[True]] downBars: Typed[ChartLines, Literal[True]] diff --git a/stubs/openpyxl/openpyxl/chartsheet/chartsheet.pyi b/stubs/openpyxl/openpyxl/chartsheet/chartsheet.pyi index 8df0c1eaa..d174f5ffa 100644 --- a/stubs/openpyxl/openpyxl/chartsheet/chartsheet.pyi +++ b/stubs/openpyxl/openpyxl/chartsheet/chartsheet.pyi @@ -19,7 +19,7 @@ from openpyxl.worksheet.page import PageMargins, PrintPageSetup _ChartsheetSheetState: TypeAlias = Literal["visible", "hidden", "veryHidden"] class Chartsheet(_WorkbookChild, Serialisable): - tagname: str + tagname: ClassVar[str] mime_type: str sheetPr: Typed[ChartsheetProperties, Literal[True]] sheetViews: Typed[ChartsheetViewList, Literal[False]] diff --git a/stubs/openpyxl/openpyxl/chartsheet/custom.pyi b/stubs/openpyxl/openpyxl/chartsheet/custom.pyi index 657bf69b6..4298cd190 100644 --- a/stubs/openpyxl/openpyxl/chartsheet/custom.pyi +++ b/stubs/openpyxl/openpyxl/chartsheet/custom.pyi @@ -10,7 +10,7 @@ from openpyxl.worksheet.page import PageMargins, PrintPageSetup _CustomChartsheetViewState: TypeAlias = Literal["visible", "hidden", "veryHidden"] class CustomChartsheetView(Serialisable): - tagname: str + tagname: ClassVar[str] guid: Incomplete scale: Integer[Literal[False]] state: Set[_CustomChartsheetViewState] @@ -44,7 +44,7 @@ class CustomChartsheetView(Serialisable): ) -> None: ... class CustomChartsheetViews(Serialisable): - tagname: str + tagname: ClassVar[str] customSheetView: Incomplete __elements__: ClassVar[tuple[str, ...]] def __init__(self, customSheetView: Incomplete | None = None) -> None: ... diff --git a/stubs/openpyxl/openpyxl/chartsheet/properties.pyi b/stubs/openpyxl/openpyxl/chartsheet/properties.pyi index aa960694f..9c0eec5b6 100644 --- a/stubs/openpyxl/openpyxl/chartsheet/properties.pyi +++ b/stubs/openpyxl/openpyxl/chartsheet/properties.pyi @@ -6,7 +6,7 @@ from openpyxl.descriptors.serialisable import Serialisable as Serialisable from openpyxl.styles.colors import Color class ChartsheetProperties(Serialisable): - tagname: str + tagname: ClassVar[str] published: Bool[Literal[True]] codeName: String[Literal[True]] tabColor: Typed[Color, Literal[True]] diff --git a/stubs/openpyxl/openpyxl/chartsheet/protection.pyi b/stubs/openpyxl/openpyxl/chartsheet/protection.pyi index 629fa3abc..9504f187b 100644 --- a/stubs/openpyxl/openpyxl/chartsheet/protection.pyi +++ b/stubs/openpyxl/openpyxl/chartsheet/protection.pyi @@ -7,7 +7,7 @@ from openpyxl.descriptors.serialisable import Serialisable from openpyxl.worksheet.protection import _Protected class ChartsheetProtection(Serialisable, _Protected): - tagname: str + tagname: ClassVar[str] algorithmName: String[Literal[True]] hashValue: Incomplete saltValue: Incomplete diff --git a/stubs/openpyxl/openpyxl/chartsheet/publish.pyi b/stubs/openpyxl/openpyxl/chartsheet/publish.pyi index 667706d14..92c6008a7 100644 --- a/stubs/openpyxl/openpyxl/chartsheet/publish.pyi +++ b/stubs/openpyxl/openpyxl/chartsheet/publish.pyi @@ -10,7 +10,7 @@ _WebPublishItemSourceType: TypeAlias = Literal[ ] class WebPublishItem(Serialisable): - tagname: str + tagname: ClassVar[str] id: Integer[Literal[False]] divId: String[Literal[False]] sourceType: Set[_WebPublishItemSourceType] @@ -46,7 +46,7 @@ class WebPublishItem(Serialisable): ) -> None: ... class WebPublishItems(Serialisable): - tagname: str + tagname: ClassVar[str] count: Integer[Literal[True]] webPublishItem: Incomplete __elements__: ClassVar[tuple[str, ...]] diff --git a/stubs/openpyxl/openpyxl/chartsheet/relation.pyi b/stubs/openpyxl/openpyxl/chartsheet/relation.pyi index 95ae0902f..718a65b37 100644 --- a/stubs/openpyxl/openpyxl/chartsheet/relation.pyi +++ b/stubs/openpyxl/openpyxl/chartsheet/relation.pyi @@ -1,11 +1,12 @@ from _typeshed import Incomplete +from typing import ClassVar from typing_extensions import Literal from openpyxl.descriptors.base import Alias, Integer, _ConvertibleToInt from openpyxl.descriptors.serialisable import Serialisable class SheetBackgroundPicture(Serialisable): - tagname: str + tagname: ClassVar[str] id: Incomplete def __init__(self, id) -> None: ... diff --git a/stubs/openpyxl/openpyxl/chartsheet/views.pyi b/stubs/openpyxl/openpyxl/chartsheet/views.pyi index 5f20f7c95..cdc5d1ad6 100644 --- a/stubs/openpyxl/openpyxl/chartsheet/views.pyi +++ b/stubs/openpyxl/openpyxl/chartsheet/views.pyi @@ -7,7 +7,7 @@ from openpyxl.descriptors.excel import ExtensionList from openpyxl.descriptors.serialisable import Serialisable class ChartsheetView(Serialisable): - tagname: str + tagname: ClassVar[str] tabSelected: Bool[Literal[True]] zoomScale: Integer[Literal[True]] workbookViewId: Integer[Literal[False]] @@ -24,7 +24,7 @@ class ChartsheetView(Serialisable): ) -> None: ... class ChartsheetViewList(Serialisable): - tagname: str + tagname: ClassVar[str] sheetView: Incomplete extLst: Typed[ExtensionList, Literal[True]] __elements__: ClassVar[tuple[str, ...]] diff --git a/stubs/openpyxl/openpyxl/comments/author.pyi b/stubs/openpyxl/openpyxl/comments/author.pyi index 89ef622d4..ceba5327e 100644 --- a/stubs/openpyxl/openpyxl/comments/author.pyi +++ b/stubs/openpyxl/openpyxl/comments/author.pyi @@ -1,10 +1,11 @@ from _typeshed import Incomplete +from typing import ClassVar from openpyxl.descriptors.base import Alias from openpyxl.descriptors.serialisable import Serialisable class AuthorList(Serialisable): - tagname: str + tagname: ClassVar[str] author: Incomplete authors: Alias def __init__(self, author=()) -> None: ... diff --git a/stubs/openpyxl/openpyxl/comments/comment_sheet.pyi b/stubs/openpyxl/openpyxl/comments/comment_sheet.pyi index 2fb64a3b8..4d10664d0 100644 --- a/stubs/openpyxl/openpyxl/comments/comment_sheet.pyi +++ b/stubs/openpyxl/openpyxl/comments/comment_sheet.pyi @@ -74,7 +74,7 @@ class Properties(Serialisable): ) -> None: ... class CommentRecord(Serialisable): - tagname: str + tagname: ClassVar[str] ref: String[Literal[False]] authorId: Integer[Literal[False]] guid: Incomplete @@ -104,7 +104,7 @@ class CommentRecord(Serialisable): def content(self): ... class CommentSheet(Serialisable): - tagname: str + tagname: ClassVar[str] authors: Typed[AuthorList, Literal[False]] commentList: Incomplete extLst: Typed[ExtensionList, Literal[True]] diff --git a/stubs/openpyxl/openpyxl/descriptors/base.pyi b/stubs/openpyxl/openpyxl/descriptors/base.pyi index 37f59fed2..1360e48ed 100644 --- a/stubs/openpyxl/openpyxl/descriptors/base.pyi +++ b/stubs/openpyxl/openpyxl/descriptors/base.pyi @@ -30,10 +30,11 @@ class Descriptor(Generic[_T]): def __set__(self, instance: Serialisable | Strict, value: _T) -> None: ... class Typed(Descriptor[_T], Generic[_T, _N]): + __doc__: str + # Members optional in __init__ expected_type: type[_T] allow_none: _N nested: bool - __doc__: Incomplete @overload def __init__( diff --git a/stubs/openpyxl/openpyxl/descriptors/excel.pyi b/stubs/openpyxl/openpyxl/descriptors/excel.pyi index 4424ddc88..7bf24ad9d 100644 --- a/stubs/openpyxl/openpyxl/descriptors/excel.pyi +++ b/stubs/openpyxl/openpyxl/descriptors/excel.pyi @@ -1,5 +1,5 @@ from _typeshed import Incomplete -from typing import TypeVar +from typing import ClassVar, TypeVar from typing_extensions import Literal from . import Integer, MatchPattern, MinMax, Strict, String @@ -36,7 +36,7 @@ class ExtensionList(Serialisable): def __init__(self, ext=()) -> None: ... class Relation(String[Incomplete]): - namespace: Incomplete + namespace: ClassVar[str] allow_none: bool class Base64Binary(MatchPattern[str, Incomplete]): diff --git a/stubs/openpyxl/openpyxl/descriptors/namespace.pyi b/stubs/openpyxl/openpyxl/descriptors/namespace.pyi index db3a017fc..68d35cd8c 100644 --- a/stubs/openpyxl/openpyxl/descriptors/namespace.pyi +++ b/stubs/openpyxl/openpyxl/descriptors/namespace.pyi @@ -1,3 +1 @@ -from _typeshed import Incomplete - -def namespaced(obj, tagname, namespace: Incomplete | None = None): ... +def namespaced(obj, tagname, namespace: str | None = None): ... diff --git a/stubs/openpyxl/openpyxl/descriptors/nested.pyi b/stubs/openpyxl/openpyxl/descriptors/nested.pyi index 313efcfb9..7a68e909d 100644 --- a/stubs/openpyxl/openpyxl/descriptors/nested.pyi +++ b/stubs/openpyxl/openpyxl/descriptors/nested.pyi @@ -1,5 +1,5 @@ from _typeshed import Incomplete, Unused -from collections.abc import Callable +from collections.abc import Callable, Iterable from typing import Any, ClassVar, NoReturn, Protocol, TypeVar, overload from typing_extensions import Literal, TypeAlias @@ -29,12 +29,24 @@ _NestedNoneSetParam: TypeAlias = _HasTagAndGet[_T | Literal["none"] | None] | _T class Nested(Descriptor[_T]): nested: ClassVar[Literal[True]] attribute: ClassVar[str] + # Members optional in __init__ + expected_type: type[_T] + allow_none: bool + namespace: str | None + # In usage, "Nested" is closed to "Typed" than "Descriptor", but doesn't use allow_none + def __init__( + self: Nested[_T], + name: str | None = None, + *, + expected_type: _ExpectedTypeParam[_T], + allow_none: bool = False, + nested: Unused = True, + namespace: str | None = None, + ) -> None: ... def __get__(self, instance: Serialisable | Strict, cls: type | None) -> _T: ... def __set__(self, instance: Serialisable | Strict, value: _HasTagAndGet[_T] | _T) -> None: ... def from_tree(self, node: _HasTagAndGet[_T]) -> _T: ... - def to_tree( - self, tagname: Incomplete | None = None, value: Incomplete | None = None, namespace: Incomplete | None = None - ) -> Element: ... + def to_tree(self, tagname: str | None = None, value: Incomplete | None = None, namespace: str | None = None) -> Element: ... class NestedValue(Nested[_T], Convertible[_T, _N]): # type: ignore[misc] @overload @@ -149,9 +161,7 @@ class NestedText(NestedValue[_T, _N]): @overload def __set__(self: NestedValue[_T, Literal[True]], instance: Serialisable | Strict, value: _T | int | Any | None) -> None: ... def from_tree(self, node: _HasTagAndText) -> str: ... # type: ignore[override] - def to_tree( - self, tagname: Incomplete | None = None, value: Incomplete | None = None, namespace: Incomplete | None = None - ) -> Element: ... + def to_tree(self, tagname: str | None = None, value: Incomplete | None = None, namespace: str | None = None) -> Element: ... class NestedFloat(NestedValue[float, _N], Float[_N]): # type: ignore[misc] @overload @@ -182,9 +192,11 @@ class NestedBool(NestedValue[bool, _N], Bool[_N]): # type: ignore[misc] def from_tree(self, node) -> bool: ... # type: ignore[override] # Actual overriden return type class NestedNoneSet(Nested[_T | None], NoneSet[_T]): # type: ignore[misc] + def __init__(self, name: str | None = None, *, values: Iterable[_T | None]) -> None: ... def __set__(self, instance: Serialisable | Strict, value: _NestedNoneSetParam[_T]) -> None: ... -class NestedSet(Nested[_T], Set[_T]): ... +class NestedSet(Nested[_T], Set[_T]): + def __init__(self, name: str | None = None, *, values: Iterable[_T]) -> None: ... class NestedMinMax(Nested[_M], MinMax[_M, _N]): # type: ignore[misc] @overload @@ -266,6 +278,4 @@ class EmptyTag(Nested[bool], Bool[_N]): # type: ignore[misc] self, instance: Serialisable | Strict, value: _HasTagAndGet[_ConvertibleToBool] | _ConvertibleToBool ) -> None: ... def from_tree(self, node: Unused) -> Literal[True]: ... # type: ignore[override] # Actual overriden return type - def to_tree( - self, tagname: Incomplete | None = None, value: Incomplete | None = None, namespace: Incomplete | None = None - ) -> Element: ... + def to_tree(self, tagname: str | None = None, value: Incomplete | None = None, namespace: str | None = None) -> Element: ... diff --git a/stubs/openpyxl/openpyxl/descriptors/sequence.pyi b/stubs/openpyxl/openpyxl/descriptors/sequence.pyi index 0a76df3a3..333a592a2 100644 --- a/stubs/openpyxl/openpyxl/descriptors/sequence.pyi +++ b/stubs/openpyxl/openpyxl/descriptors/sequence.pyi @@ -13,21 +13,21 @@ class Sequence(Descriptor[Incomplete]): idx_base: int unique: bool def __set__(self, instance: Serialisable | Strict, seq) -> None: ... - def to_tree(self, tagname, obj, namespace: Incomplete | None = None) -> Generator[Incomplete, None, None]: ... + def to_tree(self, tagname, obj, namespace: str | None = None) -> Generator[Incomplete, None, None]: ... class ValueSequence(Sequence): attribute: str - def to_tree(self, tagname, obj, namespace: Incomplete | None = None) -> Generator[Incomplete, None, None]: ... + def to_tree(self, tagname, obj, namespace: str | None = None) -> Generator[Incomplete, None, None]: ... def from_tree(self, node): ... class NestedSequence(Sequence): count: bool - def to_tree(self, tagname, obj, namespace: Incomplete | None = None): ... + def to_tree(self, tagname, obj, namespace: str | None = None): ... def from_tree(self, node): ... class MultiSequence(Sequence): def __set__(self, instance: Serialisable | Strict, seq) -> None: ... - def to_tree(self, tagname, obj, namespace: Incomplete | None = None) -> Generator[Incomplete, None, None]: ... + def to_tree(self, tagname, obj, namespace: str | None = None) -> Generator[Incomplete, None, None]: ... class MultiSequencePart(Alias): expected_type: type[Incomplete] diff --git a/stubs/openpyxl/openpyxl/descriptors/serialisable.pyi b/stubs/openpyxl/openpyxl/descriptors/serialisable.pyi index b037fcae6..6f4158756 100644 --- a/stubs/openpyxl/openpyxl/descriptors/serialisable.pyi +++ b/stubs/openpyxl/openpyxl/descriptors/serialisable.pyi @@ -1,5 +1,5 @@ from _typeshed import Incomplete -from typing import Any, ClassVar +from typing import Any, ClassVar, NoReturn from typing_extensions import Final from openpyxl.descriptors import MetaSerialisable @@ -14,14 +14,13 @@ class Serialisable(metaclass=MetaSerialisable): __elements__: ClassVar[tuple[str, ...]] __namespaced__: ClassVar[tuple[tuple[str, str], ...]] idx_base: int + # Needs overrides in many sub-classes. But a lot of subclasses are instanciated without overriding it, so can't be abstract @property - # TODO: needs overrides in many sub-classes - # @abstractmethod - def tagname(self) -> str: ... - namespace: Incomplete + def tagname(self) -> str | NoReturn: ... + namespace: ClassVar[str | None] @classmethod def from_tree(cls, node): ... - def to_tree(self, tagname: Incomplete | None = None, idx: Incomplete | None = None, namespace: Incomplete | None = None): ... + def to_tree(self, tagname: str | None = None, idx: Incomplete | None = None, namespace: str | None = None): ... def __iter__(self): ... def __eq__(self, other): ... def __ne__(self, other): ... diff --git a/stubs/openpyxl/openpyxl/drawing/colors.pyi b/stubs/openpyxl/openpyxl/drawing/colors.pyi index 5c358ea2e..3ce090a39 100644 --- a/stubs/openpyxl/openpyxl/drawing/colors.pyi +++ b/stubs/openpyxl/openpyxl/drawing/colors.pyi @@ -261,8 +261,8 @@ SCHEME_COLORS: Final[list[_SchemeColors]] class Transform(Serialisable): ... class SystemColor(Serialisable): - tagname: str - namespace: Incomplete + tagname: ClassVar[str] + namespace: ClassVar[str] tint: NestedInteger[Literal[True]] shade: NestedInteger[Literal[True]] comp: Typed[Transform, Literal[True]] @@ -329,14 +329,14 @@ class SystemColor(Serialisable): ) -> None: ... class HSLColor(Serialisable): - tagname: str + tagname: ClassVar[str] hue: Integer[Literal[False]] sat: MinMax[float, Literal[False]] lum: MinMax[float, Literal[False]] def __init__(self, hue: _ConvertibleToInt, sat: _ConvertibleToFloat, lum: _ConvertibleToFloat) -> None: ... class RGBPercent(Serialisable): - tagname: str + tagname: ClassVar[str] r: MinMax[float, Literal[False]] g: MinMax[float, Literal[False]] b: MinMax[float, Literal[False]] @@ -345,8 +345,8 @@ class RGBPercent(Serialisable): _RGBPercent: TypeAlias = RGBPercent class SchemeColor(Serialisable): - tagname: str - namespace: Incomplete + tagname: ClassVar[str] + namespace: ClassVar[str] tint: NestedInteger[Literal[True]] shade: NestedInteger[Literal[True]] comp: EmptyTag[Literal[True]] @@ -446,8 +446,8 @@ class SchemeColor(Serialisable): ) -> None: ... class ColorChoice(Serialisable): - tagname: str - namespace: Incomplete + tagname: ClassVar[str] + namespace: ClassVar[str] scrgbClr: Typed[_RGBPercent, Literal[True]] RGBPercent: Alias srgbClr: NestedValue[_RGBPercent, Literal[True]] @@ -470,7 +470,7 @@ class ColorChoice(Serialisable): _COLOR_SET: Final[tuple[_ColorSetType, ...]] class ColorMapping(Serialisable): - tagname: str + tagname: ClassVar[str] bg1: Set[_ColorSetType] tx1: Set[_ColorSetType] bg2: Set[_ColorSetType] diff --git a/stubs/openpyxl/openpyxl/drawing/connector.pyi b/stubs/openpyxl/openpyxl/drawing/connector.pyi index 565b1b08e..3216c7d1e 100644 --- a/stubs/openpyxl/openpyxl/drawing/connector.pyi +++ b/stubs/openpyxl/openpyxl/drawing/connector.pyi @@ -39,7 +39,7 @@ class ConnectorNonVisual(Serialisable): def __init__(self, cNvPr: NonVisualDrawingProps, cNvCxnSpPr: NonVisualConnectorProperties) -> None: ... class ConnectorShape(Serialisable): - tagname: str + tagname: ClassVar[str] nvCxnSpPr: Typed[ConnectorNonVisual, Literal[False]] spPr: Typed[GraphicalProperties, Literal[False]] style: Typed[ShapeStyle, Literal[True]] @@ -55,7 +55,7 @@ class ConnectorShape(Serialisable): ) -> None: ... class ShapeMeta(Serialisable): - tagname: str + tagname: ClassVar[str] cNvPr: Typed[NonVisualDrawingProps, Literal[False]] cNvSpPr: Typed[NonVisualDrawingShapeProps, Literal[False]] def __init__(self, cNvPr: NonVisualDrawingProps, cNvSpPr: NonVisualDrawingShapeProps) -> None: ... diff --git a/stubs/openpyxl/openpyxl/drawing/effect.pyi b/stubs/openpyxl/openpyxl/drawing/effect.pyi index 130714d48..98cd790bf 100644 --- a/stubs/openpyxl/openpyxl/drawing/effect.pyi +++ b/stubs/openpyxl/openpyxl/drawing/effect.pyi @@ -44,13 +44,13 @@ _PresetShadowEffectPrst: TypeAlias = Literal[ ] class TintEffect(Serialisable): - tagname: str + tagname: ClassVar[str] hue: Integer[Literal[False]] amt: Integer[Literal[False]] def __init__(self, hue: _ConvertibleToInt = 0, amt: _ConvertibleToInt = 0) -> None: ... class LuminanceEffect(Serialisable): - tagname: str + tagname: ClassVar[str] bright: Integer[Literal[False]] contrast: Integer[Literal[False]] def __init__(self, bright: _ConvertibleToInt = 0, contrast: _ConvertibleToInt = 0) -> None: ... @@ -62,7 +62,7 @@ class HSLEffect(Serialisable): def __init__(self, hue: _ConvertibleToInt, sat: _ConvertibleToInt, lum: _ConvertibleToInt) -> None: ... class GrayscaleEffect(Serialisable): - tagname: str + tagname: ClassVar[str] class FillOverlayEffect(Serialisable): blend: Set[_FillOverlayEffectBlend] @@ -140,7 +140,7 @@ class InnerShadowEffect(ColorChoice): def __init__(self, blurRad: _ConvertibleToFloat, dist: _ConvertibleToFloat, dir: _ConvertibleToInt, **kw) -> None: ... class OuterShadow(ColorChoice): - tagname: str + tagname: ClassVar[str] blurRad: Float[Literal[True]] dist: Float[Literal[True]] dir: Integer[Literal[True]] diff --git a/stubs/openpyxl/openpyxl/drawing/fill.pyi b/stubs/openpyxl/openpyxl/drawing/fill.pyi index 3815afbd8..f41624831 100644 --- a/stubs/openpyxl/openpyxl/drawing/fill.pyi +++ b/stubs/openpyxl/openpyxl/drawing/fill.pyi @@ -100,8 +100,8 @@ _BlipCstate: TypeAlias = Literal["email", "screen", "print", "hqprint"] _PathShadePropertiesPath: TypeAlias = Literal["shape", "circle", "rect"] class PatternFillProperties(Serialisable): - tagname: str - namespace: Incomplete + tagname: ClassVar[str] + namespace: ClassVar[str] prst: NoneSet[_PatternFillPropertiesPrst] preset: Alias fgClr: Typed[ColorChoice, Literal[True]] @@ -117,8 +117,8 @@ class PatternFillProperties(Serialisable): ) -> None: ... class RelativeRect(Serialisable): - tagname: str - namespace: Incomplete + tagname: ClassVar[str] + namespace: ClassVar[str] l: Incomplete left: Alias t: Incomplete @@ -132,14 +132,14 @@ class RelativeRect(Serialisable): ) -> None: ... class StretchInfoProperties(Serialisable): - tagname: str - namespace: Incomplete + tagname: ClassVar[str] + namespace: ClassVar[str] fillRect: Typed[RelativeRect, Literal[True]] def __init__(self, fillRect: RelativeRect = ...) -> None: ... class GradientStop(Serialisable): - tagname: str - namespace: Incomplete + tagname: ClassVar[str] + namespace: ClassVar[str] pos: MinMax[float, Literal[True]] scrgbClr: Typed[_RGBPercent, Literal[True]] RGBPercent: Alias @@ -162,22 +162,22 @@ class GradientStop(Serialisable): ) -> None: ... class LinearShadeProperties(Serialisable): - tagname: str - namespace: Incomplete + tagname: ClassVar[str] + namespace: ClassVar[str] ang: Integer[Literal[False]] scaled: Bool[Literal[True]] def __init__(self, ang: _ConvertibleToInt, scaled: _ConvertibleToBool | None = None) -> None: ... class PathShadeProperties(Serialisable): - tagname: str - namespace: Incomplete + tagname: ClassVar[str] + namespace: ClassVar[str] path: Set[_PathShadePropertiesPath] fillToRect: Typed[RelativeRect, Literal[True]] def __init__(self, path: _PathShadePropertiesPath, fillToRect: RelativeRect | None = None) -> None: ... class GradientFillProperties(Serialisable): - tagname: str - namespace: Incomplete + tagname: ClassVar[str] + namespace: ClassVar[str] flip: NoneSet[_PropertiesFlip] rotWithShape: Bool[Literal[True]] gsLst: Incomplete @@ -198,7 +198,7 @@ class GradientFillProperties(Serialisable): ) -> None: ... class SolidColorFillProperties(Serialisable): - tagname: str + tagname: ClassVar[str] scrgbClr: Typed[_RGBPercent, Literal[True]] RGBPercent: Alias srgbClr: NestedValue[_RGBPercent, Literal[True]] @@ -219,8 +219,8 @@ class SolidColorFillProperties(Serialisable): ) -> None: ... class Blip(Serialisable): - tagname: str - namespace: Incomplete + tagname: ClassVar[str] + namespace: ClassVar[str] cstate: NoneSet[_BlipCstate] embed: Incomplete link: Incomplete @@ -307,7 +307,7 @@ class TileInfoProperties(Serialisable): ) -> None: ... class BlipFillProperties(Serialisable): - tagname: str + tagname: ClassVar[str] dpi: Integer[Literal[True]] rotWithShape: Bool[Literal[True]] blip: Typed[Blip, Literal[True]] diff --git a/stubs/openpyxl/openpyxl/drawing/geometry.pyi b/stubs/openpyxl/openpyxl/drawing/geometry.pyi index 8b9b53215..272b618cf 100644 --- a/stubs/openpyxl/openpyxl/drawing/geometry.pyi +++ b/stubs/openpyxl/openpyxl/drawing/geometry.pyi @@ -338,15 +338,15 @@ _PresetGeometry2DPrst: TypeAlias = Literal[ ] class Point2D(Serialisable): - tagname: str - namespace: Incomplete + tagname: ClassVar[str] + namespace: ClassVar[str] x: Incomplete y: Incomplete def __init__(self, x: Incomplete | None = None, y: Incomplete | None = None) -> None: ... class PositiveSize2D(Serialisable): - tagname: str - namespace: Incomplete + tagname: ClassVar[str] + namespace: ClassVar[str] cx: Integer[Literal[False]] width: Alias cy: Integer[Literal[False]] @@ -354,8 +354,8 @@ class PositiveSize2D(Serialisable): def __init__(self, cx: _ConvertibleToInt, cy: _ConvertibleToInt) -> None: ... class Transform2D(Serialisable): - tagname: str - namespace: Incomplete + tagname: ClassVar[str] + namespace: ClassVar[str] rot: Integer[Literal[True]] flipH: Bool[Literal[True]] flipV: Bool[Literal[True]] @@ -376,8 +376,8 @@ class Transform2D(Serialisable): ) -> None: ... class GroupTransform2D(Serialisable): - tagname: str - namespace: Incomplete + tagname: ClassVar[str] + namespace: ClassVar[str] rot: Integer[Literal[True]] flipH: Bool[Literal[True]] flipV: Bool[Literal[True]] @@ -398,14 +398,14 @@ class GroupTransform2D(Serialisable): ) -> None: ... class SphereCoords(Serialisable): - tagname: str + tagname: ClassVar[str] lat: Integer[Literal[False]] lon: Integer[Literal[False]] rev: Integer[Literal[False]] def __init__(self, lat: _ConvertibleToInt, lon: _ConvertibleToInt, rev: _ConvertibleToInt) -> None: ... class Camera(Serialisable): - tagname: str + tagname: ClassVar[str] prst: Set[_CameraPrst] fov: Integer[Literal[True]] zoom: Typed[Percentage, Literal[True]] @@ -419,21 +419,21 @@ class Camera(Serialisable): ) -> None: ... class LightRig(Serialisable): - tagname: str + tagname: ClassVar[str] rig: Set[_LightRigRig] dir: Set[_LightRigDir] rot: Typed[SphereCoords, Literal[True]] def __init__(self, rig: _LightRigRig, dir: _LightRigDir, rot: SphereCoords | None = None) -> None: ... class Vector3D(Serialisable): - tagname: str + tagname: ClassVar[str] dx: Integer[Literal[False]] dy: Integer[Literal[False]] dz: Integer[Literal[False]] def __init__(self, dx: _ConvertibleToInt, dy: _ConvertibleToInt, dz: _ConvertibleToInt) -> None: ... class Point3D(Serialisable): - tagname: str + tagname: ClassVar[str] x: Integer[Literal[False]] y: Integer[Literal[False]] z: Integer[Literal[False]] @@ -456,14 +456,14 @@ class Scene3D(Serialisable): ) -> None: ... class Bevel(Serialisable): - tagname: str + tagname: ClassVar[str] w: Integer[Literal[False]] h: Integer[Literal[False]] prst: NoneSet[_BevelPrst] def __init__(self, w: _ConvertibleToInt, h: _ConvertibleToInt, prst: _BevelPrst | Literal["none"] | None = None) -> None: ... class Shape3D(Serialisable): - namespace: Incomplete + namespace: ClassVar[str] z: Typed[Coordinate[bool], Literal[True]] extrusionH: Integer[Literal[True]] contourW: Integer[Literal[True]] @@ -569,7 +569,7 @@ class CustomGeometry2D(Serialisable): ) -> None: ... class PresetGeometry2D(Serialisable): - namespace: Incomplete + namespace: ClassVar[str] prst: Set[_PresetGeometry2DPrst] avLst: Typed[GeomGuideList, Literal[True]] def __init__(self, prst: _PresetGeometry2DPrst, avLst: GeomGuideList | None = None) -> None: ... diff --git a/stubs/openpyxl/openpyxl/drawing/graphic.pyi b/stubs/openpyxl/openpyxl/drawing/graphic.pyi index 4e5e5b209..a23c66b0b 100644 --- a/stubs/openpyxl/openpyxl/drawing/graphic.pyi +++ b/stubs/openpyxl/openpyxl/drawing/graphic.pyi @@ -30,33 +30,33 @@ class GraphicFrameLocking(Serialisable): ) -> None: ... class NonVisualGraphicFrameProperties(Serialisable): - tagname: str + tagname: ClassVar[str] graphicFrameLocks: Typed[GraphicFrameLocking, Literal[True]] extLst: Typed[ExtensionList, Literal[True]] def __init__(self, graphicFrameLocks: GraphicFrameLocking | None = None, extLst: ExtensionList | None = None) -> None: ... class NonVisualGraphicFrame(Serialisable): - tagname: str + tagname: ClassVar[str] cNvPr: Typed[ExtensionList, Literal[False]] cNvGraphicFramePr: Typed[ExtensionList, Literal[False]] __elements__: ClassVar[tuple[str, ...]] def __init__(self, cNvPr: Incomplete | None = None, cNvGraphicFramePr: Incomplete | None = None) -> None: ... class GraphicData(Serialisable): - tagname: str - namespace: Incomplete + tagname: ClassVar[str] + namespace: ClassVar[str] uri: String[Literal[False]] chart: Typed[ChartRelation, Literal[True]] def __init__(self, uri: str = ..., chart: ChartRelation | None = None) -> None: ... class GraphicObject(Serialisable): - tagname: str - namespace: Incomplete + tagname: ClassVar[str] + namespace: ClassVar[str] graphicData: Typed[GraphicData, Literal[False]] def __init__(self, graphicData: GraphicData | None = None) -> None: ... class GraphicFrame(Serialisable): - tagname: str + tagname: ClassVar[str] nvGraphicFramePr: Typed[NonVisualGraphicFrame, Literal[False]] xfrm: Typed[XDRTransform2D, Literal[False]] graphic: Typed[GraphicObject, Literal[False]] diff --git a/stubs/openpyxl/openpyxl/drawing/line.pyi b/stubs/openpyxl/openpyxl/drawing/line.pyi index df73f7b00..325f59930 100644 --- a/stubs/openpyxl/openpyxl/drawing/line.pyi +++ b/stubs/openpyxl/openpyxl/drawing/line.pyi @@ -27,8 +27,8 @@ _LinePropertiesPrstDash: TypeAlias = Literal[ ] class LineEndProperties(Serialisable): - tagname: str - namespace: Incomplete + tagname: ClassVar[str] + namespace: ClassVar[str] type: NoneSet[_LineEndPropertiesType] w: NoneSet[_LineEndPropertiesWLen] len: NoneSet[_LineEndPropertiesWLen] @@ -40,8 +40,8 @@ class LineEndProperties(Serialisable): ) -> None: ... class DashStop(Serialisable): - tagname: str - namespace: Incomplete + tagname: ClassVar[str] + namespace: ClassVar[str] d: Integer[Literal[False]] length: Alias sp: Integer[Literal[False]] @@ -53,8 +53,8 @@ class DashStopList(Serialisable): def __init__(self, ds: Incomplete | None = None) -> None: ... class LineProperties(Serialisable): - tagname: str - namespace: Incomplete + tagname: ClassVar[str] + namespace: ClassVar[str] w: MinMax[float, Literal[True]] width: Alias cap: NoneSet[_LinePropertiesCap] diff --git a/stubs/openpyxl/openpyxl/drawing/picture.pyi b/stubs/openpyxl/openpyxl/drawing/picture.pyi index 27a0ceccf..776129e14 100644 --- a/stubs/openpyxl/openpyxl/drawing/picture.pyi +++ b/stubs/openpyxl/openpyxl/drawing/picture.pyi @@ -11,8 +11,8 @@ from openpyxl.drawing.geometry import ShapeStyle from openpyxl.drawing.properties import NonVisualDrawingProps class PictureLocking(Serialisable): - tagname: str - namespace: Incomplete + tagname: ClassVar[str] + namespace: ClassVar[str] noCrop: Bool[Literal[True]] noGrp: Bool[Literal[True]] noSelect: Bool[Literal[True]] @@ -43,7 +43,7 @@ class PictureLocking(Serialisable): ) -> None: ... class NonVisualPictureProperties(Serialisable): - tagname: str + tagname: ClassVar[str] preferRelativeResize: Bool[Literal[True]] picLocks: Typed[PictureLocking, Literal[True]] extLst: Typed[ExtensionList, Literal[True]] @@ -53,7 +53,7 @@ class NonVisualPictureProperties(Serialisable): ) -> None: ... class PictureNonVisual(Serialisable): - tagname: str + tagname: ClassVar[str] cNvPr: Typed[NonVisualDrawingProps, Literal[False]] cNvPicPr: Typed[NonVisualPictureProperties, Literal[False]] __elements__: ClassVar[tuple[str, ...]] @@ -62,7 +62,7 @@ class PictureNonVisual(Serialisable): ) -> None: ... class PictureFrame(Serialisable): - tagname: str + tagname: ClassVar[str] macro: String[Literal[True]] fPublished: Bool[Literal[True]] nvPicPr: Typed[PictureNonVisual, Literal[False]] diff --git a/stubs/openpyxl/openpyxl/drawing/properties.pyi b/stubs/openpyxl/openpyxl/drawing/properties.pyi index 6addd6f8c..a7b12d446 100644 --- a/stubs/openpyxl/openpyxl/drawing/properties.pyi +++ b/stubs/openpyxl/openpyxl/drawing/properties.pyi @@ -13,7 +13,7 @@ _GroupShapePropertiesBwMode: TypeAlias = Literal[ ] class GroupShapeProperties(Serialisable): - tagname: str + tagname: ClassVar[str] bwMode: NoneSet[_GroupShapePropertiesBwMode] xfrm: Typed[GroupTransform2D, Literal[True]] scene3d: Typed[Scene3D, Literal[True]] @@ -27,8 +27,8 @@ class GroupShapeProperties(Serialisable): ) -> None: ... class GroupLocking(Serialisable): - tagname: str - namespace: Incomplete + tagname: ClassVar[str] + namespace: ClassVar[str] noGrp: Bool[Literal[True]] noUngrp: Bool[Literal[True]] noSelect: Bool[Literal[True]] @@ -59,14 +59,14 @@ class GroupLocking(Serialisable): ) -> None: ... class NonVisualGroupDrawingShapeProps(Serialisable): - tagname: str + tagname: ClassVar[str] grpSpLocks: Typed[GroupLocking, Literal[True]] extLst: Typed[ExtensionList, Literal[True]] __elements__: ClassVar[tuple[str, ...]] def __init__(self, grpSpLocks: Incomplete | None = None, extLst: Unused = None) -> None: ... class NonVisualDrawingShapeProps(Serialisable): - tagname: str + tagname: ClassVar[str] spLocks: Typed[GroupLocking, Literal[True]] txBax: Bool[Literal[True]] extLst: Typed[ExtensionList, Literal[True]] @@ -77,7 +77,7 @@ class NonVisualDrawingShapeProps(Serialisable): ) -> None: ... class NonVisualDrawingProps(Serialisable): - tagname: str + tagname: ClassVar[str] id: Incomplete name: String[Literal[False]] descr: String[Literal[True]] @@ -115,7 +115,7 @@ class NonVisualDrawingProps(Serialisable): ) -> None: ... class NonVisualGroupShape(Serialisable): - tagname: str + tagname: ClassVar[str] cNvPr: Typed[NonVisualDrawingProps, Literal[False]] cNvGrpSpPr: Typed[NonVisualGroupDrawingShapeProps, Literal[False]] __elements__: ClassVar[tuple[str, ...]] diff --git a/stubs/openpyxl/openpyxl/drawing/relation.pyi b/stubs/openpyxl/openpyxl/drawing/relation.pyi index 05c831ed1..46828b6f9 100644 --- a/stubs/openpyxl/openpyxl/drawing/relation.pyi +++ b/stubs/openpyxl/openpyxl/drawing/relation.pyi @@ -1,9 +1,10 @@ from _typeshed import Incomplete +from typing import ClassVar from openpyxl.descriptors.serialisable import Serialisable class ChartRelation(Serialisable): - tagname: str - namespace: Incomplete + tagname: ClassVar[str] + namespace: ClassVar[str] id: Incomplete def __init__(self, id) -> None: ... diff --git a/stubs/openpyxl/openpyxl/drawing/spreadsheet_drawing.pyi b/stubs/openpyxl/openpyxl/drawing/spreadsheet_drawing.pyi index 29229b282..127666b66 100644 --- a/stubs/openpyxl/openpyxl/drawing/spreadsheet_drawing.pyi +++ b/stubs/openpyxl/openpyxl/drawing/spreadsheet_drawing.pyi @@ -20,7 +20,7 @@ class AnchorClientData(Serialisable): ) -> None: ... class AnchorMarker(Serialisable): - tagname: str + tagname: ClassVar[str] col: NestedText[int, Literal[False]] colOff: NestedText[int, Literal[False]] row: NestedText[int, Literal[False]] @@ -53,7 +53,7 @@ class _AnchorBase(Serialisable): ) -> None: ... class AbsoluteAnchor(_AnchorBase): - tagname: str + tagname: ClassVar[str] pos: Typed[XDRPoint2D, Literal[False]] ext: Typed[XDRPositiveSize2D, Literal[False]] sp: Incomplete @@ -67,7 +67,7 @@ class AbsoluteAnchor(_AnchorBase): def __init__(self, pos: XDRPoint2D | None = None, ext: XDRPositiveSize2D | None = None, **kw) -> None: ... class OneCellAnchor(_AnchorBase): - tagname: str + tagname: ClassVar[str] _from: Typed[AnchorMarker, Literal[False]] # Not private. Avoids name clash ext: Typed[XDRPositiveSize2D, Literal[False]] sp: Incomplete @@ -81,7 +81,7 @@ class OneCellAnchor(_AnchorBase): def __init__(self, _from: AnchorMarker | None = None, ext: XDRPositiveSize2D | None = None, **kw) -> None: ... class TwoCellAnchor(_AnchorBase): - tagname: str + tagname: ClassVar[str] editAs: NoneSet[_TwoCellAnchorEditAs] _from: Typed[AnchorMarker, Literal[False]] # Not private. Avoids name clash to: Typed[AnchorMarker, Literal[False]] @@ -102,7 +102,7 @@ class TwoCellAnchor(_AnchorBase): ) -> None: ... class SpreadsheetDrawing(Serialisable): - tagname: str + tagname: ClassVar[str] mime_type: str PartName: str twoCellAnchor: Incomplete diff --git a/stubs/openpyxl/openpyxl/drawing/text.pyi b/stubs/openpyxl/openpyxl/drawing/text.pyi index 344835c4c..c14018576 100644 --- a/stubs/openpyxl/openpyxl/drawing/text.pyi +++ b/stubs/openpyxl/openpyxl/drawing/text.pyi @@ -146,8 +146,8 @@ class EmbeddedWAVAudioFile(Serialisable): def __init__(self, name: str | None = None) -> None: ... class Hyperlink(Serialisable): - tagname: str - namespace: Incomplete + tagname: ClassVar[str] + namespace: ClassVar[str] invalidUrl: String[Literal[True]] action: String[Literal[True]] tgtFrame: String[Literal[True]] @@ -174,8 +174,8 @@ class Hyperlink(Serialisable): ) -> None: ... class Font(Serialisable): - tagname: str - namespace: Incomplete + tagname: ClassVar[str] + namespace: ClassVar[str] typeface: String[Literal[False]] panose: Incomplete pitchFamily: MinMax[float, Literal[True]] @@ -189,8 +189,8 @@ class Font(Serialisable): ) -> None: ... class CharacterProperties(Serialisable): - tagname: str - namespace: Incomplete + tagname: ClassVar[str] + namespace: ClassVar[str] kumimoji: Bool[Literal[True]] lang: String[Literal[True]] altLang: String[Literal[True]] @@ -303,8 +303,8 @@ class AutonumberBullet(Serialisable): def __init__(self, type: _AutonumberBulletType, startAt: _ConvertibleToInt) -> None: ... class ParagraphProperties(Serialisable): - tagname: str - namespace: Incomplete + tagname: ClassVar[str] + namespace: ClassVar[str] marL: Integer[Literal[True]] marR: Integer[Literal[True]] lvl: Integer[Literal[True]] @@ -367,8 +367,8 @@ class ParagraphProperties(Serialisable): ) -> None: ... class ListStyle(Serialisable): - tagname: str - namespace: Incomplete + tagname: ClassVar[str] + namespace: ClassVar[str] defPPr: Typed[ParagraphProperties, Literal[True]] lvl1pPr: Typed[ParagraphProperties, Literal[True]] lvl2pPr: Typed[ParagraphProperties, Literal[True]] @@ -397,8 +397,8 @@ class ListStyle(Serialisable): ) -> None: ... class RegularTextRun(Serialisable): - tagname: str - namespace: Incomplete + tagname: ClassVar[str] + namespace: ClassVar[str] rPr: Typed[CharacterProperties, Literal[True]] properties: Alias t: NestedText[str, Literal[False]] @@ -407,8 +407,8 @@ class RegularTextRun(Serialisable): def __init__(self, rPr: CharacterProperties | None = None, t: object = "") -> None: ... class LineBreak(Serialisable): - tagname: str - namespace: Incomplete + tagname: ClassVar[str] + namespace: ClassVar[str] rPr: Typed[CharacterProperties, Literal[True]] __elements__: ClassVar[tuple[str, ...]] def __init__(self, rPr: CharacterProperties | None = None) -> None: ... @@ -430,8 +430,8 @@ class TextField(Serialisable): ) -> None: ... class Paragraph(Serialisable): - tagname: str - namespace: Incomplete + tagname: ClassVar[str] + namespace: ClassVar[str] pPr: Typed[ParagraphProperties, Literal[True]] properties: Alias endParaRPr: Typed[CharacterProperties, Literal[True]] @@ -469,8 +469,8 @@ class TextNormalAutofit(Serialisable): def __init__(self, fontScale: _ConvertibleToInt, lnSpcReduction: _ConvertibleToInt) -> None: ... class RichTextProperties(Serialisable): - tagname: str - namespace: Incomplete + tagname: ClassVar[str] + namespace: ClassVar[str] rot: Integer[Literal[True]] spcFirstLastPara: Bool[Literal[True]] vertOverflow: NoneSet[_RichTextPropertiesVertOverflow] diff --git a/stubs/openpyxl/openpyxl/drawing/xdr.pyi b/stubs/openpyxl/openpyxl/drawing/xdr.pyi index c77a2b7e1..fb67f3eda 100644 --- a/stubs/openpyxl/openpyxl/drawing/xdr.pyi +++ b/stubs/openpyxl/openpyxl/drawing/xdr.pyi @@ -1,19 +1,20 @@ from _typeshed import Incomplete +from typing import ClassVar from .geometry import Point2D, PositiveSize2D, Transform2D class XDRPoint2D(Point2D): - namespace: Incomplete + namespace: ClassVar[None] # type:ignore[assignment] x: Incomplete y: Incomplete class XDRPositiveSize2D(PositiveSize2D): - namespace: Incomplete + namespace: ClassVar[None] # type:ignore[assignment] cx: Incomplete cy: Incomplete class XDRTransform2D(Transform2D): - namespace: Incomplete + namespace: ClassVar[None] # type:ignore[assignment] rot: Incomplete flipH: Incomplete flipV: Incomplete diff --git a/stubs/openpyxl/openpyxl/formatting/formatting.pyi b/stubs/openpyxl/openpyxl/formatting/formatting.pyi index 80d0ef837..a828d3c08 100644 --- a/stubs/openpyxl/openpyxl/formatting/formatting.pyi +++ b/stubs/openpyxl/openpyxl/formatting/formatting.pyi @@ -1,4 +1,5 @@ from _typeshed import Incomplete, Unused +from typing import ClassVar from typing_extensions import Literal from openpyxl.descriptors.base import Alias, Bool, Convertible, _ConvertibleToBool, _ConvertibleToMultiCellRange @@ -6,7 +7,7 @@ from openpyxl.descriptors.serialisable import Serialisable from openpyxl.worksheet.cell_range import MultiCellRange class ConditionalFormatting(Serialisable): - tagname: str + tagname: ClassVar[str] sqref: Convertible[MultiCellRange, Literal[False]] cells: Alias pivot: Bool[Literal[True]] diff --git a/stubs/openpyxl/openpyxl/formatting/rule.pyi b/stubs/openpyxl/openpyxl/formatting/rule.pyi index ccb97c501..b9e99931d 100644 --- a/stubs/openpyxl/openpyxl/formatting/rule.pyi +++ b/stubs/openpyxl/openpyxl/formatting/rule.pyi @@ -71,7 +71,7 @@ class ValueDescriptor(Float[Incomplete]): def __set__(self, instance: Serialisable | Strict, value) -> None: ... # type: ignore[override] class FormatObject(Serialisable): - tagname: str + tagname: ClassVar[str] type: Set[_FormatObjectType] val: Incomplete gte: Bool[Literal[True]] @@ -85,7 +85,7 @@ class RuleType(Serialisable): cfvo: Incomplete class IconSet(RuleType): - tagname: str + tagname: ClassVar[str] iconSet: NoneSet[_IconSetIconSet] showValue: Bool[Literal[True]] percent: Bool[Literal[True]] @@ -102,7 +102,7 @@ class IconSet(RuleType): ) -> None: ... class DataBar(RuleType): - tagname: str + tagname: ClassVar[str] minLength: Integer[Literal[True]] maxLength: Integer[Literal[True]] showValue: Bool[Literal[True]] @@ -119,14 +119,14 @@ class DataBar(RuleType): ) -> None: ... class ColorScale(RuleType): - tagname: str + tagname: ClassVar[str] color: Incomplete __elements__: ClassVar[tuple[str, ...]] cfvo: Incomplete def __init__(self, cfvo: Incomplete | None = None, color: Incomplete | None = None) -> None: ... class Rule(Serialisable): - tagname: str + tagname: ClassVar[str] type: Set[_RuleType] dxfId: Integer[Literal[True]] priority: Integer[Literal[False]] diff --git a/stubs/openpyxl/openpyxl/packaging/core.pyi b/stubs/openpyxl/openpyxl/packaging/core.pyi index d1277d22b..29f0191b4 100644 --- a/stubs/openpyxl/openpyxl/packaging/core.pyi +++ b/stubs/openpyxl/openpyxl/packaging/core.pyi @@ -10,18 +10,14 @@ from openpyxl.descriptors.serialisable import Serialisable # Does not reimplement the relevant methods, so runtime also has incompatible supertypes class NestedDateTime(DateTime[Incomplete], NestedText[Incomplete, Incomplete]): # type: ignore[misc] expected_type: type[Incomplete] - def to_tree( - self, tagname: Incomplete | None = None, value: Incomplete | None = None, namespace: Incomplete | None = None - ): ... + def to_tree(self, tagname: str | None = None, value: Incomplete | None = None, namespace: str | None = None): ... class QualifiedDateTime(NestedDateTime): - def to_tree( - self, tagname: Incomplete | None = None, value: Incomplete | None = None, namespace: Incomplete | None = None - ): ... + def to_tree(self, tagname: str | None = None, value: Incomplete | None = None, namespace: str | None = None): ... class DocumentProperties(Serialisable): - tagname: str - namespace: Incomplete + tagname: ClassVar[str] + namespace: ClassVar[str] category: NestedText[str, Literal[True]] contentStatus: NestedText[str, Literal[True]] keywords: NestedText[str, Literal[True]] diff --git a/stubs/openpyxl/openpyxl/packaging/extended.pyi b/stubs/openpyxl/openpyxl/packaging/extended.pyi index 2d0721c54..698fe0164 100644 --- a/stubs/openpyxl/openpyxl/packaging/extended.pyi +++ b/stubs/openpyxl/openpyxl/packaging/extended.pyi @@ -21,7 +21,7 @@ class VectorVariant(Serialisable): __attrs__: ClassVar[tuple[str, ...]] class ExtendedProperties(Serialisable): - tagname: str + tagname: ClassVar[str] Template: NestedText[str, Literal[True]] Manager: NestedText[str, Literal[True]] Company: NestedText[str, Literal[True]] diff --git a/stubs/openpyxl/openpyxl/packaging/manifest.pyi b/stubs/openpyxl/openpyxl/packaging/manifest.pyi index 1d7226ee8..e0b8b8430 100644 --- a/stubs/openpyxl/openpyxl/packaging/manifest.pyi +++ b/stubs/openpyxl/openpyxl/packaging/manifest.pyi @@ -9,13 +9,13 @@ from openpyxl.descriptors.serialisable import Serialisable mimetypes: Incomplete class FileExtension(Serialisable): - tagname: str + tagname: ClassVar[str] Extension: String[Literal[False]] ContentType: String[Literal[False]] def __init__(self, Extension: str, ContentType: str) -> None: ... class Override(Serialisable): - tagname: str + tagname: ClassVar[str] PartName: String[Literal[False]] ContentType: String[Literal[False]] def __init__(self, PartName: str, ContentType: str) -> None: ... @@ -24,7 +24,7 @@ DEFAULT_TYPES: Final[list[FileExtension]] DEFAULT_OVERRIDE: Final[list[Override]] class Manifest(Serialisable): - tagname: str + tagname: ClassVar[str] Default: Incomplete Override: Incomplete path: str diff --git a/stubs/openpyxl/openpyxl/packaging/relationship.pyi b/stubs/openpyxl/openpyxl/packaging/relationship.pyi index 04cb557b1..09165e7bb 100644 --- a/stubs/openpyxl/openpyxl/packaging/relationship.pyi +++ b/stubs/openpyxl/openpyxl/packaging/relationship.pyi @@ -1,13 +1,13 @@ from _typeshed import Incomplete, Unused from collections.abc import Generator -from typing import overload +from typing import ClassVar, overload from typing_extensions import Literal from openpyxl.descriptors.base import Alias, String from openpyxl.descriptors.serialisable import Serialisable class Relationship(Serialisable): - tagname: str + tagname: ClassVar[str] Type: String[Literal[False]] Target: String[Literal[False]] target: Alias @@ -26,7 +26,7 @@ class Relationship(Serialisable): ) -> None: ... class RelationshipList(Serialisable): - tagname: str + tagname: ClassVar[str] Relationship: Incomplete def __init__(self, Relationship=()) -> None: ... def append(self, value) -> None: ... diff --git a/stubs/openpyxl/openpyxl/packaging/workbook.pyi b/stubs/openpyxl/openpyxl/packaging/workbook.pyi index 90f00471a..303fa16ac 100644 --- a/stubs/openpyxl/openpyxl/packaging/workbook.pyi +++ b/stubs/openpyxl/openpyxl/packaging/workbook.pyi @@ -17,7 +17,7 @@ _ChildSheetState: TypeAlias = Literal["visible", "hidden", "veryHidden"] _WorkbookPackageConformance: TypeAlias = Literal["strict", "transitional"] class FileRecoveryProperties(Serialisable): - tagname: str + tagname: ClassVar[str] autoRecover: Bool[Literal[True]] crashSave: Bool[Literal[True]] dataExtractLoad: Bool[Literal[True]] @@ -31,7 +31,7 @@ class FileRecoveryProperties(Serialisable): ) -> None: ... class ChildSheet(Serialisable): - tagname: str + tagname: ClassVar[str] name: String[Literal[False]] sheetId: Integer[Literal[False]] state: NoneSet[_ChildSheetState] @@ -45,13 +45,13 @@ class ChildSheet(Serialisable): ) -> None: ... class PivotCache(Serialisable): - tagname: str + tagname: ClassVar[str] cacheId: Integer[Literal[False]] id: Incomplete def __init__(self, cacheId: _ConvertibleToInt, id: Incomplete | None = None) -> None: ... class WorkbookPackage(Serialisable): - tagname: str + tagname: ClassVar[str] conformance: NoneSet[_WorkbookPackageConformance] fileVersion: Typed[FileVersion, Literal[True]] fileSharing: Typed[FileSharing, Literal[True]] diff --git a/stubs/openpyxl/openpyxl/pivot/cache.pyi b/stubs/openpyxl/openpyxl/pivot/cache.pyi index 864b43e7f..635b93a5b 100644 --- a/stubs/openpyxl/openpyxl/pivot/cache.pyi +++ b/stubs/openpyxl/openpyxl/pivot/cache.pyi @@ -25,19 +25,19 @@ _RangePrGroupBy: TypeAlias = Literal["range", "seconds", "minutes", "hours", "da _CacheSourceType: TypeAlias = Literal["worksheet", "external", "consolidation", "scenario"] class MeasureDimensionMap(Serialisable): - tagname: str + tagname: ClassVar[str] measureGroup: Integer[Literal[True]] dimension: Integer[Literal[True]] def __init__(self, measureGroup: _ConvertibleToInt | None = None, dimension: _ConvertibleToInt | None = None) -> None: ... class MeasureGroup(Serialisable): - tagname: str + tagname: ClassVar[str] name: String[Literal[False]] caption: String[Literal[False]] def __init__(self, name: str, caption: str) -> None: ... class PivotDimension(Serialisable): - tagname: str + tagname: ClassVar[str] measure: Bool[Literal[False]] name: String[Literal[False]] uniqueName: String[Literal[False]] @@ -48,7 +48,7 @@ class PivotDimension(Serialisable): def __init__(self, measure: _ConvertibleToBool, name: str, uniqueName: str, caption: str) -> None: ... class CalculatedMember(Serialisable): - tagname: str + tagname: ClassVar[str] name: String[Literal[False]] mdx: String[Literal[False]] memberName: String[Literal[False]] @@ -71,7 +71,7 @@ class CalculatedMember(Serialisable): ) -> None: ... class CalculatedItem(Serialisable): - tagname: str + tagname: ClassVar[str] field: Integer[Literal[True]] formula: String[Literal[False]] pivotArea: Typed[PivotArea, Literal[False]] @@ -87,13 +87,13 @@ class CalculatedItem(Serialisable): ) -> None: ... class ServerFormat(Serialisable): - tagname: str + tagname: ClassVar[str] culture: String[Literal[True]] format: String[Literal[True]] def __init__(self, culture: str | None = None, format: str | None = None) -> None: ... class ServerFormatList(Serialisable): - tagname: str + tagname: ClassVar[str] serverFormat: Incomplete __elements__: ClassVar[tuple[str, ...]] __attrs__: ClassVar[tuple[str, ...]] @@ -102,21 +102,21 @@ class ServerFormatList(Serialisable): def count(self): ... class Query(Serialisable): - tagname: str + tagname: ClassVar[str] mdx: String[Literal[False]] tpls: Typed[TupleList, Literal[True]] __elements__: ClassVar[tuple[str, ...]] def __init__(self, mdx: str, tpls: TupleList | None = None) -> None: ... class QueryCache(Serialisable): - tagname: str + tagname: ClassVar[str] count: Integer[Literal[False]] query: Typed[Query, Literal[False]] __elements__: ClassVar[tuple[str, ...]] def __init__(self, count: _ConvertibleToInt, query: Query) -> None: ... class OLAPSet(Serialisable): - tagname: str + tagname: ClassVar[str] count: Integer[Literal[False]] maxRank: Integer[Literal[False]] setDefinition: String[Literal[False]] @@ -143,7 +143,7 @@ class OLAPSets(Serialisable): def __init__(self, count: _ConvertibleToInt, set: OLAPSet) -> None: ... class PCDSDTCEntries(Serialisable): - tagname: str + tagname: ClassVar[str] count: Integer[Literal[False]] m: Typed[Missing, Literal[False]] n: Typed[Number, Literal[False]] @@ -153,7 +153,7 @@ class PCDSDTCEntries(Serialisable): def __init__(self, count: _ConvertibleToInt, m: Missing, n: Number, e: Error, s: Text) -> None: ... class TupleCache(Serialisable): - tagname: str + tagname: ClassVar[str] entries: Typed[PCDSDTCEntries, Literal[True]] sets: Typed[OLAPSets, Literal[True]] queryCache: Typed[QueryCache, Literal[True]] @@ -170,7 +170,7 @@ class TupleCache(Serialisable): ) -> None: ... class PCDKPI(Serialisable): - tagname: str + tagname: ClassVar[str] uniqueName: String[Literal[False]] caption: String[Literal[True]] displayFolder: String[Literal[False]] @@ -215,7 +215,7 @@ class PCDKPI(Serialisable): ) -> None: ... class GroupMember(Serialisable): - tagname: str + tagname: ClassVar[str] uniqueName: String[Literal[False]] group: Bool[Literal[False]] def __init__(self, uniqueName: str, group: _ConvertibleToBool = None) -> None: ... @@ -227,7 +227,7 @@ class GroupMembers(Serialisable): def __init__(self, count: _ConvertibleToInt, groupMember: GroupMember) -> None: ... class LevelGroup(Serialisable): - tagname: str + tagname: ClassVar[str] name: String[Literal[False]] uniqueName: String[Literal[False]] caption: String[Literal[False]] @@ -240,14 +240,14 @@ class LevelGroup(Serialisable): ) -> None: ... class Groups(Serialisable): - tagname: str + tagname: ClassVar[str] count: Integer[Literal[False]] group: Typed[LevelGroup, Literal[False]] __elements__: ClassVar[tuple[str, ...]] def __init__(self, count: _ConvertibleToInt, group: LevelGroup) -> None: ... class GroupLevel(Serialisable): - tagname: str + tagname: ClassVar[str] uniqueName: String[Literal[False]] caption: String[Literal[False]] user: Bool[Literal[False]] @@ -272,7 +272,7 @@ class GroupLevels(Serialisable): def __init__(self, count: _ConvertibleToInt, groupLevel: GroupLevel) -> None: ... class FieldUsage(Serialisable): - tagname: str + tagname: ClassVar[str] x: Integer[Literal[False]] def __init__(self, x: _ConvertibleToInt) -> None: ... @@ -283,7 +283,7 @@ class FieldsUsage(Serialisable): def __init__(self, count: _ConvertibleToInt, fieldUsage: FieldUsage | None = None) -> None: ... class CacheHierarchy(Serialisable): - tagname: str + tagname: ClassVar[str] uniqueName: String[Literal[False]] caption: String[Literal[True]] measure: Bool[Literal[False]] @@ -371,7 +371,7 @@ class CacheHierarchy(Serialisable): ) -> None: ... class GroupItems(Serialisable): - tagname: str + tagname: ClassVar[str] m: Incomplete n: Incomplete b: Incomplete @@ -385,7 +385,7 @@ class GroupItems(Serialisable): def count(self): ... class DiscretePr(Serialisable): - tagname: str + tagname: ClassVar[str] count: Integer[Literal[False]] x: NestedInteger[Literal[True]] __elements__: ClassVar[tuple[str, ...]] @@ -394,7 +394,7 @@ class DiscretePr(Serialisable): ) -> None: ... class RangePr(Serialisable): - tagname: str + tagname: ClassVar[str] autoStart: Bool[Literal[True]] autoEnd: Bool[Literal[True]] groupBy: Set[_RangePrGroupBy] @@ -416,7 +416,7 @@ class RangePr(Serialisable): ) -> None: ... class FieldGroup(Serialisable): - tagname: str + tagname: ClassVar[str] par: Integer[Literal[True]] base: Integer[Literal[True]] rangePr: Typed[RangePr, Literal[True]] @@ -433,7 +433,7 @@ class FieldGroup(Serialisable): ) -> None: ... class SharedItems(Serialisable): - tagname: str + tagname: ClassVar[str] m: Incomplete n: Incomplete b: Incomplete @@ -476,7 +476,7 @@ class SharedItems(Serialisable): def count(self): ... class CacheField(Serialisable): - tagname: str + tagname: ClassVar[str] sharedItems: Typed[SharedItems, Literal[True]] fieldGroup: Typed[FieldGroup, Literal[True]] mpMap: NestedInteger[Literal[True]] @@ -540,7 +540,7 @@ class CacheField(Serialisable): ) -> None: ... class RangeSet(Serialisable): - tagname: str + tagname: ClassVar[str] i1: Integer[Literal[True]] i2: Integer[Literal[True]] i3: Integer[Literal[True]] @@ -573,12 +573,12 @@ class RangeSet(Serialisable): ) -> None: ... class PageItem(Serialisable): - tagname: str + tagname: ClassVar[str] name: String[Literal[False]] def __init__(self, name: str) -> None: ... class Page(Serialisable): - tagname: str + tagname: ClassVar[str] pageItem: Incomplete __elements__: ClassVar[tuple[str, ...]] def __init__(self, count: Incomplete | None = None, pageItem: Incomplete | None = None) -> None: ... @@ -586,7 +586,7 @@ class Page(Serialisable): def count(self): ... class Consolidation(Serialisable): - tagname: str + tagname: ClassVar[str] autoPage: Bool[Literal[True]] pages: Incomplete rangeSets: Incomplete @@ -594,14 +594,14 @@ class Consolidation(Serialisable): def __init__(self, autoPage: _ConvertibleToBool | None = None, pages=(), rangeSets=()) -> None: ... class WorksheetSource(Serialisable): - tagname: str + tagname: ClassVar[str] ref: String[Literal[True]] name: String[Literal[True]] sheet: String[Literal[True]] def __init__(self, ref: str | None = None, name: str | None = None, sheet: str | None = None) -> None: ... class CacheSource(Serialisable): - tagname: str + tagname: ClassVar[str] type: Set[_CacheSourceType] connectionId: Integer[Literal[True]] worksheetSource: Typed[WorksheetSource, Literal[True]] @@ -621,7 +621,7 @@ class CacheDefinition(Serialisable): mime_type: str rel_type: str records: Incomplete - tagname: str + tagname: ClassVar[str] invalid: Bool[Literal[True]] saveData: Bool[Literal[True]] refreshOnLoad: Bool[Literal[True]] diff --git a/stubs/openpyxl/openpyxl/pivot/fields.pyi b/stubs/openpyxl/openpyxl/pivot/fields.pyi index 536929917..661b671a4 100644 --- a/stubs/openpyxl/openpyxl/pivot/fields.pyi +++ b/stubs/openpyxl/openpyxl/pivot/fields.pyi @@ -17,7 +17,7 @@ from openpyxl.descriptors.base import ( from openpyxl.descriptors.serialisable import Serialisable class Index(Serialisable): - tagname: str + tagname: ClassVar[str] v: Integer[Literal[True]] def __init__(self, v: _ConvertibleToInt | None = 0) -> None: ... @@ -37,7 +37,7 @@ class TupleList(Serialisable): def __init__(self, c: _ConvertibleToInt | None, tpl: Tuple) -> None: ... class Missing(Serialisable): - tagname: str + tagname: ClassVar[str] tpls: Incomplete x: Incomplete u: Bool[Literal[True]] @@ -70,7 +70,7 @@ class Missing(Serialisable): ) -> None: ... class Number(Serialisable): - tagname: str + tagname: ClassVar[str] tpls: Incomplete x: Incomplete v: Float[Literal[False]] @@ -125,7 +125,7 @@ class Number(Serialisable): ) -> None: ... class Error(Serialisable): - tagname: str + tagname: ClassVar[str] tpls: Typed[TupleList, Literal[True]] x: Incomplete v: String[Literal[False]] @@ -180,7 +180,7 @@ class Error(Serialisable): ) -> None: ... class Boolean(Serialisable): - tagname: str + tagname: ClassVar[str] x: Incomplete v: Bool[Literal[False]] u: Bool[Literal[True]] @@ -199,7 +199,7 @@ class Boolean(Serialisable): ) -> None: ... class Text(Serialisable): - tagname: str + tagname: ClassVar[str] tpls: Incomplete x: Incomplete v: String[Literal[False]] @@ -234,7 +234,7 @@ class Text(Serialisable): ) -> None: ... class DateTimeField(Serialisable): - tagname: str + tagname: ClassVar[str] x: Incomplete v: DateTime[Literal[False]] u: Bool[Literal[True]] diff --git a/stubs/openpyxl/openpyxl/pivot/record.pyi b/stubs/openpyxl/openpyxl/pivot/record.pyi index cc3cb4979..7e90dac95 100644 --- a/stubs/openpyxl/openpyxl/pivot/record.pyi +++ b/stubs/openpyxl/openpyxl/pivot/record.pyi @@ -7,7 +7,7 @@ from openpyxl.descriptors.excel import ExtensionList from openpyxl.descriptors.serialisable import Serialisable class Record(Serialisable): - tagname: str + tagname: ClassVar[str] m: Incomplete n: Incomplete b: Incomplete @@ -30,7 +30,7 @@ class Record(Serialisable): class RecordList(Serialisable): mime_type: str rel_type: str - tagname: str + tagname: ClassVar[str] r: Incomplete extLst: Typed[ExtensionList, Literal[True]] __elements__: ClassVar[tuple[str, ...]] diff --git a/stubs/openpyxl/openpyxl/pivot/table.pyi b/stubs/openpyxl/openpyxl/pivot/table.pyi index d3d10f626..59af9e6eb 100644 --- a/stubs/openpyxl/openpyxl/pivot/table.pyi +++ b/stubs/openpyxl/openpyxl/pivot/table.pyi @@ -106,12 +106,12 @@ _ItemType: TypeAlias = Literal[ _PivotFieldSortType: TypeAlias = Literal["manual", "ascending", "descending"] class HierarchyUsage(Serialisable): - tagname: str + tagname: ClassVar[str] hierarchyUsage: Integer[Literal[False]] def __init__(self, hierarchyUsage: _ConvertibleToInt) -> None: ... class ColHierarchiesUsage(Serialisable): - tagname: str + tagname: ClassVar[str] colHierarchyUsage: Incomplete __elements__: ClassVar[tuple[str, ...]] __attrs__: ClassVar[tuple[str, ...]] @@ -120,7 +120,7 @@ class ColHierarchiesUsage(Serialisable): def count(self): ... class RowHierarchiesUsage(Serialisable): - tagname: str + tagname: ClassVar[str] rowHierarchyUsage: Incomplete __elements__: ClassVar[tuple[str, ...]] __attrs__: ClassVar[tuple[str, ...]] @@ -129,7 +129,7 @@ class RowHierarchiesUsage(Serialisable): def count(self): ... class PivotFilter(Serialisable): - tagname: str + tagname: ClassVar[str] fld: Integer[Literal[False]] mpFld: Integer[Literal[True]] type: Set[_PivotFilterType] @@ -187,7 +187,7 @@ class PivotFilters(Serialisable): def __init__(self, count: _ConvertibleToInt, filter: PivotFilter | None = None) -> None: ... class PivotTableStyle(Serialisable): - tagname: str + tagname: ClassVar[str] name: String[Literal[True]] showRowHeaders: Bool[Literal[False]] showColHeaders: Bool[Literal[False]] @@ -205,7 +205,7 @@ class PivotTableStyle(Serialisable): ) -> None: ... class MemberList(Serialisable): - tagname: str + tagname: ClassVar[str] level: Integer[Literal[True]] member: Incomplete __elements__: ClassVar[tuple[str, ...]] @@ -214,7 +214,7 @@ class MemberList(Serialisable): def count(self): ... class MemberProperty(Serialisable): - tagname: str + tagname: ClassVar[str] name: String[Literal[True]] showCell: Bool[Literal[True]] showTip: Bool[Literal[True]] @@ -253,7 +253,7 @@ class MemberProperty(Serialisable): ) -> None: ... class PivotHierarchy(Serialisable): - tagname: str + tagname: ClassVar[str] outline: Bool[Literal[False]] multipleItemSelectionAllowed: Bool[Literal[False]] subtotalTop: Bool[Literal[False]] @@ -288,7 +288,7 @@ class PivotHierarchy(Serialisable): ) -> None: ... class Reference(Serialisable): - tagname: str + tagname: ClassVar[str] field: Integer[Literal[True]] selected: Bool[Literal[True]] byPosition: Bool[Literal[True]] @@ -334,7 +334,7 @@ class Reference(Serialisable): def count(self): ... class PivotArea(Serialisable): - tagname: str + tagname: ClassVar[str] references: Incomplete extLst: Typed[ExtensionList, Literal[True]] field: Integer[Literal[True]] @@ -369,7 +369,7 @@ class PivotArea(Serialisable): ) -> None: ... class ChartFormat(Serialisable): - tagname: str + tagname: ClassVar[str] chart: Integer[Literal[False]] format: Integer[Literal[False]] series: Bool[Literal[False]] @@ -385,7 +385,7 @@ class ChartFormat(Serialisable): ) -> None: ... class ConditionalFormat(Serialisable): - tagname: str + tagname: ClassVar[str] scope: Set[_ConditionalFormatScope] type: NoneSet[_ConditionalFormatType] priority: Integer[Literal[False]] @@ -413,17 +413,17 @@ class ConditionalFormat(Serialisable): ) -> None: ... class ConditionalFormatList(Serialisable): - tagname: str + tagname: ClassVar[str] conditionalFormat: Incomplete __attrs__: ClassVar[tuple[str, ...]] def __init__(self, conditionalFormat=..., count: Incomplete | None = ...) -> None: ... def by_priority(self): ... @property def count(self): ... - def to_tree(self, tagname: Incomplete | None = ...): ... # type: ignore[override] + def to_tree(self, tagname: str | None = None): ... # type: ignore[override] class Format(Serialisable): - tagname: str + tagname: ClassVar[str] action: NoneSet[_FormatAction] dxfId: Integer[Literal[True]] pivotArea: Typed[PivotArea, Literal[False]] @@ -448,7 +448,7 @@ class Format(Serialisable): ) -> None: ... class DataField(Serialisable): - tagname: str + tagname: ClassVar[str] name: String[Literal[True]] fld: Integer[Literal[False]] subtotal: Set[_DataFieldSubtotal] @@ -485,7 +485,7 @@ class DataField(Serialisable): ) -> None: ... class PageField(Serialisable): - tagname: str + tagname: ClassVar[str] fld: Integer[Literal[False]] item: Integer[Literal[True]] hier: Integer[Literal[True]] @@ -504,7 +504,7 @@ class PageField(Serialisable): ) -> None: ... class RowColItem(Serialisable): - tagname: str + tagname: ClassVar[str] t: Set[_ItemType] r: Integer[Literal[False]] i: Integer[Literal[False]] @@ -513,7 +513,7 @@ class RowColItem(Serialisable): def __init__(self, t: _ItemType = "data", r: _ConvertibleToInt = 0, i: _ConvertibleToInt = 0, x=()) -> None: ... class RowColField(Serialisable): - tagname: str + tagname: ClassVar[str] x: Integer[Literal[False]] def __init__(self, x: _ConvertibleToInt) -> None: ... @@ -523,7 +523,7 @@ class AutoSortScope(Serialisable): def __init__(self, pivotArea: PivotArea) -> None: ... class FieldItem(Serialisable): - tagname: str + tagname: ClassVar[str] n: String[Literal[True]] t: Set[_ItemType] h: Bool[Literal[True]] @@ -551,7 +551,7 @@ class FieldItem(Serialisable): ) -> None: ... class PivotField(Serialisable): - tagname: str + tagname: ClassVar[str] items: Incomplete autoSortScope: Typed[AutoSortScope, Literal[True]] extLst: Typed[ExtensionList, Literal[True]] @@ -660,7 +660,7 @@ class PivotField(Serialisable): ) -> None: ... class Location(Serialisable): - tagname: str + tagname: ClassVar[str] ref: String[Literal[False]] firstHeaderRow: Integer[Literal[False]] firstDataRow: Integer[Literal[False]] @@ -680,7 +680,7 @@ class Location(Serialisable): class TableDefinition(Serialisable): mime_type: str rel_type: str - tagname: str + tagname: ClassVar[str] cache: Incomplete name: String[Literal[False]] cacheId: Integer[Literal[False]] diff --git a/stubs/openpyxl/openpyxl/styles/alignment.pyi b/stubs/openpyxl/openpyxl/styles/alignment.pyi index d38c39286..0b40ab043 100644 --- a/stubs/openpyxl/openpyxl/styles/alignment.pyi +++ b/stubs/openpyxl/openpyxl/styles/alignment.pyi @@ -1,4 +1,5 @@ from _typeshed import Incomplete +from typing import ClassVar from typing_extensions import Literal, TypeAlias from openpyxl.descriptors.base import Alias, Bool, Min, MinMax, NoneSet, _ConvertibleToBool, _ConvertibleToFloat @@ -13,7 +14,7 @@ horizontal_alignments: tuple[_HorizontalAlignmentsType, ...] vertical_aligments: tuple[_VerticalAlignmentsType, ...] class Alignment(Serialisable): - tagname: str + tagname: ClassVar[str] __fields__: Incomplete horizontal: NoneSet[_HorizontalAlignmentsType] vertical: NoneSet[_VerticalAlignmentsType] diff --git a/stubs/openpyxl/openpyxl/styles/borders.pyi b/stubs/openpyxl/openpyxl/styles/borders.pyi index bae92b586..3c486c112 100644 --- a/stubs/openpyxl/openpyxl/styles/borders.pyi +++ b/stubs/openpyxl/openpyxl/styles/borders.pyi @@ -49,7 +49,7 @@ class Side(Serialisable): ) -> None: ... class Border(Serialisable): - tagname: str + tagname: ClassVar[str] __fields__: Incomplete __elements__: ClassVar[tuple[str, ...]] start: Typed[Side, Literal[True]] diff --git a/stubs/openpyxl/openpyxl/styles/cell_style.pyi b/stubs/openpyxl/openpyxl/styles/cell_style.pyi index d1cd92846..22362cf54 100644 --- a/stubs/openpyxl/openpyxl/styles/cell_style.pyi +++ b/stubs/openpyxl/openpyxl/styles/cell_style.pyi @@ -17,7 +17,7 @@ class ArrayDescriptor: def __set__(self, instance: Serialisable | Strict, value) -> None: ... class StyleArray(array[Incomplete]): - tagname: str + tagname: ClassVar[str] fontId: Incomplete fillId: Incomplete borderId: Incomplete @@ -33,7 +33,7 @@ class StyleArray(array[Incomplete]): def __deepcopy__(self, memo): ... class CellStyle(Serialisable): - tagname: str + tagname: ClassVar[str] numFmtId: Integer[Literal[False]] fontId: Integer[Literal[False]] fillId: Integer[Literal[False]] @@ -81,7 +81,7 @@ class CellStyle(Serialisable): def applyAlignment(self): ... class CellStyleList(Serialisable): - tagname: str + tagname: ClassVar[str] __attrs__: ClassVar[tuple[str, ...]] # Overwritten by property below # count: Integer diff --git a/stubs/openpyxl/openpyxl/styles/colors.pyi b/stubs/openpyxl/openpyxl/styles/colors.pyi index 72d38675d..3b69fc271 100644 --- a/stubs/openpyxl/openpyxl/styles/colors.pyi +++ b/stubs/openpyxl/openpyxl/styles/colors.pyi @@ -18,7 +18,7 @@ class RGB(Typed[str, Incomplete]): def __set__(self, instance: Serialisable | Strict, value) -> None: ... class Color(Serialisable): - tagname: str + tagname: ClassVar[str] rgb: Incomplete indexed: Integer[Literal[False]] auto: Bool[Literal[False]] @@ -49,12 +49,12 @@ class ColorDescriptor(Typed[Color, Incomplete]): def __set__(self, instance: Serialisable | Strict, value) -> None: ... class RgbColor(Serialisable): - tagname: str + tagname: ClassVar[str] rgb: Incomplete def __init__(self, rgb: Incomplete | None = None) -> None: ... class ColorList(Serialisable): - tagname: str + tagname: ClassVar[str] indexedColors: Incomplete mruColors: Incomplete __elements__: ClassVar[tuple[str, ...]] diff --git a/stubs/openpyxl/openpyxl/styles/differential.pyi b/stubs/openpyxl/openpyxl/styles/differential.pyi index a30bf66a5..508463dd5 100644 --- a/stubs/openpyxl/openpyxl/styles/differential.pyi +++ b/stubs/openpyxl/openpyxl/styles/differential.pyi @@ -9,7 +9,7 @@ from openpyxl.styles import Alignment, Border, Fill, Font, Protection from openpyxl.styles.numbers import NumberFormat class DifferentialStyle(Serialisable): - tagname: str + tagname: ClassVar[str] __elements__: ClassVar[tuple[str, ...]] font: Typed[Font, Literal[True]] numFmt: Typed[NumberFormat, Literal[True]] @@ -30,7 +30,7 @@ class DifferentialStyle(Serialisable): ) -> None: ... class DifferentialStyleList(Serialisable): - tagname: str + tagname: ClassVar[str] dxf: Incomplete styles: Alias __attrs__: ClassVar[tuple[str, ...]] diff --git a/stubs/openpyxl/openpyxl/styles/fills.pyi b/stubs/openpyxl/openpyxl/styles/fills.pyi index 409c8c436..b65e4d567 100644 --- a/stubs/openpyxl/openpyxl/styles/fills.pyi +++ b/stubs/openpyxl/openpyxl/styles/fills.pyi @@ -51,12 +51,12 @@ _FillsType: TypeAlias = Literal[ fills: tuple[_FillsType, ...] class Fill(Serialisable): - tagname: str + tagname: ClassVar[str] @classmethod def from_tree(cls, el): ... class PatternFill(Fill): - tagname: str + tagname: ClassVar[str] __elements__: ClassVar[tuple[str, ...]] patternType: NoneSet[_FillsType] fill_type: Alias @@ -73,13 +73,13 @@ class PatternFill(Fill): start_color: Incomplete | None = None, end_color: Incomplete | None = None, ) -> None: ... - def to_tree(self, tagname: Incomplete | None = None, idx: Incomplete | None = None): ... # type: ignore[override] + def to_tree(self, tagname: str | None = None, idx: Incomplete | None = None): ... # type: ignore[override] DEFAULT_EMPTY_FILL: Final[PatternFill] DEFAULT_GRAY_FILL: Final[PatternFill] class Stop(Serialisable): - tagname: str + tagname: ClassVar[str] position: MinMax[float, Literal[False]] color: Incomplete def __init__(self, color, position: _ConvertibleToFloat) -> None: ... @@ -89,7 +89,7 @@ class StopList(Sequence): def __set__(self, obj, values) -> None: ... class GradientFill(Fill): - tagname: str + tagname: ClassVar[str] type: Set[_GradientFillType] fill_type: Alias degree: Float[Literal[False]] @@ -109,4 +109,4 @@ class GradientFill(Fill): stop=(), ) -> None: ... def __iter__(self): ... - def to_tree(self, tagname: Incomplete | None = None, namespace: Incomplete | None = None, idx: Incomplete | None = None): ... # type: ignore[override] + def to_tree(self, tagname: str | None = None, namespace: str | None = None, idx: Incomplete | None = None): ... # type: ignore[override] diff --git a/stubs/openpyxl/openpyxl/styles/fonts.pyi b/stubs/openpyxl/openpyxl/styles/fonts.pyi index 7e5236152..b6dbd7859 100644 --- a/stubs/openpyxl/openpyxl/styles/fonts.pyi +++ b/stubs/openpyxl/openpyxl/styles/fonts.pyi @@ -44,7 +44,7 @@ class Font(Serialisable): vertAlign: NestedNoneSet[_FontVertAlign] color: Incomplete scheme: NestedNoneSet[_FontScheme] - tagname: str + tagname: ClassVar[str] __elements__: ClassVar[tuple[str, ...]] def __init__( self, diff --git a/stubs/openpyxl/openpyxl/styles/named_styles.pyi b/stubs/openpyxl/openpyxl/styles/named_styles.pyi index e029b84e0..aa858f0a7 100644 --- a/stubs/openpyxl/openpyxl/styles/named_styles.pyi +++ b/stubs/openpyxl/openpyxl/styles/named_styles.pyi @@ -52,7 +52,7 @@ class NamedStyleList(list[Incomplete]): def append(self, style) -> None: ... class _NamedCellStyle(Serialisable): - tagname: str + tagname: ClassVar[str] name: String[Literal[False]] xfId: Integer[Literal[False]] builtinId: Integer[Literal[True]] @@ -73,7 +73,7 @@ class _NamedCellStyle(Serialisable): ) -> None: ... class _NamedCellStyleList(Serialisable): - tagname: str + tagname: ClassVar[str] # Overwritten by property below # count: Integer cellStyle: Incomplete diff --git a/stubs/openpyxl/openpyxl/styles/protection.pyi b/stubs/openpyxl/openpyxl/styles/protection.pyi index 0f533a668..7295cbf23 100644 --- a/stubs/openpyxl/openpyxl/styles/protection.pyi +++ b/stubs/openpyxl/openpyxl/styles/protection.pyi @@ -1,9 +1,10 @@ from _typeshed import Incomplete +from typing import ClassVar from openpyxl.descriptors.serialisable import Serialisable class Protection(Serialisable): - tagname: str + tagname: ClassVar[str] locked: Incomplete hidden: Incomplete def __init__(self, locked: bool = True, hidden: bool = False) -> None: ... diff --git a/stubs/openpyxl/openpyxl/styles/stylesheet.pyi b/stubs/openpyxl/openpyxl/styles/stylesheet.pyi index ae36e4813..1d7b2fe26 100644 --- a/stubs/openpyxl/openpyxl/styles/stylesheet.pyi +++ b/stubs/openpyxl/openpyxl/styles/stylesheet.pyi @@ -12,7 +12,7 @@ from openpyxl.styles.numbers import NumberFormatList from openpyxl.styles.table import TableStyleList class Stylesheet(Serialisable): - tagname: str + tagname: ClassVar[str] numFmts: Typed[NumberFormatList, Literal[False]] fonts: Incomplete fills: Incomplete @@ -48,7 +48,7 @@ class Stylesheet(Serialisable): def from_tree(cls, node): ... @property def custom_formats(self): ... - def to_tree(self, tagname: Incomplete | None = None, idx: Incomplete | None = None, namespace: Incomplete | None = None): ... + def to_tree(self, tagname: str | None = None, idx: Incomplete | None = None, namespace: str | None = None): ... def apply_stylesheet(archive, wb): ... def write_stylesheet(wb): ... diff --git a/stubs/openpyxl/openpyxl/styles/table.pyi b/stubs/openpyxl/openpyxl/styles/table.pyi index 9e83304b5..e9853be0f 100644 --- a/stubs/openpyxl/openpyxl/styles/table.pyi +++ b/stubs/openpyxl/openpyxl/styles/table.pyi @@ -37,7 +37,7 @@ _TableStyleElementType: TypeAlias = Literal[ ] class TableStyleElement(Serialisable): - tagname: str + tagname: ClassVar[str] type: Set[_TableStyleElementType] size: Integer[Literal[True]] dxfId: Integer[Literal[True]] @@ -46,7 +46,7 @@ class TableStyleElement(Serialisable): ) -> None: ... class TableStyle(Serialisable): - tagname: str + tagname: ClassVar[str] name: String[Literal[False]] pivot: Bool[Literal[True]] table: Bool[Literal[True]] @@ -63,7 +63,7 @@ class TableStyle(Serialisable): ) -> None: ... class TableStyleList(Serialisable): - tagname: str + tagname: ClassVar[str] defaultTableStyle: String[Literal[True]] defaultPivotStyle: String[Literal[True]] tableStyle: Incomplete diff --git a/stubs/openpyxl/openpyxl/workbook/defined_name.pyi b/stubs/openpyxl/openpyxl/workbook/defined_name.pyi index f4b33db33..7d3b95867 100644 --- a/stubs/openpyxl/openpyxl/workbook/defined_name.pyi +++ b/stubs/openpyxl/openpyxl/workbook/defined_name.pyi @@ -2,6 +2,7 @@ from _typeshed import Incomplete from collections import defaultdict from collections.abc import Generator from re import Pattern +from typing import ClassVar from typing_extensions import Final, Literal from openpyxl.descriptors import Sequence @@ -12,7 +13,7 @@ RESERVED: Final[frozenset[str]] RESERVED_REGEX: Final[Pattern[str]] class DefinedName(Serialisable): - tagname: str + tagname: ClassVar[str] name: String[Literal[False]] comment: String[Literal[True]] customMenu: String[Literal[True]] @@ -63,7 +64,7 @@ class DefinedNameDict(dict[str, DefinedName]): def add(self, value: DefinedName) -> None: ... class DefinedNameList(Serialisable): - tagname: str + tagname: ClassVar[str] definedName: Sequence def __init__(self, definedName=()) -> None: ... def by_sheet(self) -> defaultdict[int, DefinedNameDict]: ... diff --git a/stubs/openpyxl/openpyxl/workbook/external_link/external.pyi b/stubs/openpyxl/openpyxl/workbook/external_link/external.pyi index b217df769..fcd66e68b 100644 --- a/stubs/openpyxl/openpyxl/workbook/external_link/external.pyi +++ b/stubs/openpyxl/openpyxl/workbook/external_link/external.pyi @@ -42,14 +42,14 @@ class ExternalSheetNames(Serialisable): def __init__(self, sheetName=()) -> None: ... class ExternalDefinedName(Serialisable): - tagname: str + tagname: ClassVar[str] name: String[Literal[False]] refersTo: String[Literal[True]] sheetId: Integer[Literal[True]] def __init__(self, name: str, refersTo: str | None = None, sheetId: _ConvertibleToInt | None = None) -> None: ... class ExternalBook(Serialisable): - tagname: str + tagname: ClassVar[str] sheetNames: Typed[ExternalSheetNames, Literal[True]] definedNames: Incomplete sheetDataSet: Typed[ExternalSheetDataSet, Literal[True]] @@ -64,7 +64,7 @@ class ExternalBook(Serialisable): ) -> None: ... class ExternalLink(Serialisable): - tagname: str + tagname: ClassVar[str] mime_type: str externalBook: Typed[ExternalBook, Literal[True]] file_link: Typed[Relationship, Literal[True]] diff --git a/stubs/openpyxl/openpyxl/workbook/external_reference.pyi b/stubs/openpyxl/openpyxl/workbook/external_reference.pyi index 507b7acd6..4b202d9ce 100644 --- a/stubs/openpyxl/openpyxl/workbook/external_reference.pyi +++ b/stubs/openpyxl/openpyxl/workbook/external_reference.pyi @@ -1,8 +1,9 @@ from _typeshed import Incomplete +from typing import ClassVar from openpyxl.descriptors.serialisable import Serialisable class ExternalReference(Serialisable): - tagname: str + tagname: ClassVar[str] id: Incomplete def __init__(self, id) -> None: ... diff --git a/stubs/openpyxl/openpyxl/workbook/function_group.pyi b/stubs/openpyxl/openpyxl/workbook/function_group.pyi index 442a4c4b7..61f19b6c6 100644 --- a/stubs/openpyxl/openpyxl/workbook/function_group.pyi +++ b/stubs/openpyxl/openpyxl/workbook/function_group.pyi @@ -6,12 +6,12 @@ from openpyxl.descriptors.base import Integer, String, _ConvertibleToInt from openpyxl.descriptors.serialisable import Serialisable class FunctionGroup(Serialisable): - tagname: str + tagname: ClassVar[str] name: String[Literal[False]] def __init__(self, name: str) -> None: ... class FunctionGroupList(Serialisable): - tagname: str + tagname: ClassVar[str] builtInGroupCount: Integer[Literal[True]] functionGroup: Incomplete __elements__: ClassVar[tuple[str, ...]] diff --git a/stubs/openpyxl/openpyxl/workbook/properties.pyi b/stubs/openpyxl/openpyxl/workbook/properties.pyi index 0d2eebeba..d06b589be 100644 --- a/stubs/openpyxl/openpyxl/workbook/properties.pyi +++ b/stubs/openpyxl/openpyxl/workbook/properties.pyi @@ -1,4 +1,5 @@ from _typeshed import Incomplete +from typing import ClassVar from typing_extensions import Literal, TypeAlias from openpyxl.descriptors.base import ( @@ -19,7 +20,7 @@ _CalcPropertiesCalcMode: TypeAlias = Literal["manual", "auto", "autoNoTable"] _CalcPropertiesRefMode: TypeAlias = Literal["A1", "R1C1"] class WorkbookProperties(Serialisable): - tagname: str + tagname: ClassVar[str] date1904: Bool[Literal[True]] dateCompatibility: Bool[Literal[True]] showObjects: NoneSet[_WorkbookPropertiesShowObjects] @@ -63,7 +64,7 @@ class WorkbookProperties(Serialisable): ) -> None: ... class CalcProperties(Serialisable): - tagname: str + tagname: ClassVar[str] calcId: Integer[Literal[False]] calcMode: NoneSet[_CalcPropertiesCalcMode] fullCalcOnLoad: Bool[Literal[True]] @@ -95,7 +96,7 @@ class CalcProperties(Serialisable): ) -> None: ... class FileVersion(Serialisable): - tagname: str + tagname: ClassVar[str] appName: String[Literal[True]] lastEdited: String[Literal[True]] lowestEdited: String[Literal[True]] diff --git a/stubs/openpyxl/openpyxl/workbook/protection.pyi b/stubs/openpyxl/openpyxl/workbook/protection.pyi index 3e5bdb636..1b4c732b1 100644 --- a/stubs/openpyxl/openpyxl/workbook/protection.pyi +++ b/stubs/openpyxl/openpyxl/workbook/protection.pyi @@ -6,7 +6,7 @@ from openpyxl.descriptors.base import Alias, Bool, Integer, String, _Convertible from openpyxl.descriptors.serialisable import Serialisable class WorkbookProtection(Serialisable): - tagname: str + tagname: ClassVar[str] workbook_password: Alias workbookPasswordCharacterSet: String[Literal[True]] revision_password: Alias @@ -60,7 +60,7 @@ class WorkbookProtection(Serialisable): DocumentSecurity = WorkbookProtection class FileSharing(Serialisable): - tagname: str + tagname: ClassVar[str] readOnlyRecommended: Bool[Literal[True]] userName: String[Literal[True]] reservationPassword: Incomplete diff --git a/stubs/openpyxl/openpyxl/workbook/smart_tags.pyi b/stubs/openpyxl/openpyxl/workbook/smart_tags.pyi index 3c188b2c6..bc7a95d7e 100644 --- a/stubs/openpyxl/openpyxl/workbook/smart_tags.pyi +++ b/stubs/openpyxl/openpyxl/workbook/smart_tags.pyi @@ -8,20 +8,20 @@ from openpyxl.descriptors.serialisable import Serialisable _SmartTagPropertiesShow: TypeAlias = Literal["all", "noIndicator"] class SmartTag(Serialisable): - tagname: str + tagname: ClassVar[str] namespaceUri: String[Literal[True]] name: String[Literal[True]] url: String[Literal[True]] def __init__(self, namespaceUri: str | None = None, name: str | None = None, url: str | None = None) -> None: ... class SmartTagList(Serialisable): - tagname: str + tagname: ClassVar[str] smartTagType: Incomplete __elements__: ClassVar[tuple[str, ...]] def __init__(self, smartTagType=()) -> None: ... class SmartTagProperties(Serialisable): - tagname: str + tagname: ClassVar[str] embed: Bool[Literal[True]] show: NoneSet[_SmartTagPropertiesShow] def __init__( diff --git a/stubs/openpyxl/openpyxl/workbook/views.pyi b/stubs/openpyxl/openpyxl/workbook/views.pyi index d9ecb97e6..96263658b 100644 --- a/stubs/openpyxl/openpyxl/workbook/views.pyi +++ b/stubs/openpyxl/openpyxl/workbook/views.pyi @@ -11,7 +11,7 @@ _CustomWorkbookViewShowComments: TypeAlias = Literal["commNone", "commIndicator" _CustomWorkbookViewShowObjects: TypeAlias = Literal["all", "placeholders"] class BookView(Serialisable): - tagname: str + tagname: ClassVar[str] visibility: NoneSet[_BookViewVilibility] minimized: Bool[Literal[True]] showHorizontalScroll: Bool[Literal[True]] @@ -46,7 +46,7 @@ class BookView(Serialisable): ) -> None: ... class CustomWorkbookView(Serialisable): - tagname: str + tagname: ClassVar[str] name: String[Literal[False]] guid: Incomplete autoUpdate: Bool[Literal[True]] diff --git a/stubs/openpyxl/openpyxl/workbook/web.pyi b/stubs/openpyxl/openpyxl/workbook/web.pyi index 62bbf82c0..a5c184bc4 100644 --- a/stubs/openpyxl/openpyxl/workbook/web.pyi +++ b/stubs/openpyxl/openpyxl/workbook/web.pyi @@ -20,7 +20,7 @@ _WebPublishingTargetScreenSize: TypeAlias = Literal[ ] class WebPublishObject(Serialisable): - tagname: str + tagname: ClassVar[str] id: Integer[Literal[False]] divId: String[Literal[False]] sourceObject: String[Literal[True]] @@ -50,7 +50,7 @@ class WebPublishObject(Serialisable): ) -> None: ... class WebPublishObjectList(Serialisable): - tagname: str + tagname: ClassVar[str] # Overwritten by property below # count: Integer webPublishObject: Incomplete @@ -60,7 +60,7 @@ class WebPublishObjectList(Serialisable): def count(self): ... class WebPublishing(Serialisable): - tagname: str + tagname: ClassVar[str] css: Bool[Literal[True]] thicket: Bool[Literal[True]] longFileNames: Bool[Literal[True]] diff --git a/stubs/openpyxl/openpyxl/worksheet/cell_watch.pyi b/stubs/openpyxl/openpyxl/worksheet/cell_watch.pyi index e6e2e4c95..d6d3c26b9 100644 --- a/stubs/openpyxl/openpyxl/worksheet/cell_watch.pyi +++ b/stubs/openpyxl/openpyxl/worksheet/cell_watch.pyi @@ -6,12 +6,12 @@ from openpyxl.descriptors.base import String from openpyxl.descriptors.serialisable import Serialisable class CellWatch(Serialisable): - tagname: str + tagname: ClassVar[str] r: String[Literal[True]] def __init__(self, r: str) -> None: ... class CellWatches(Serialisable): - tagname: str + tagname: ClassVar[str] cellWatch: Incomplete __elements__: ClassVar[tuple[str, ...]] def __init__(self, cellWatch=()) -> None: ... diff --git a/stubs/openpyxl/openpyxl/worksheet/controls.pyi b/stubs/openpyxl/openpyxl/worksheet/controls.pyi index 33139070e..ad3ebff3d 100644 --- a/stubs/openpyxl/openpyxl/worksheet/controls.pyi +++ b/stubs/openpyxl/openpyxl/worksheet/controls.pyi @@ -7,7 +7,7 @@ from openpyxl.descriptors.serialisable import Serialisable from openpyxl.worksheet.ole import ObjectAnchor class ControlProperty(Serialisable): - tagname: str + tagname: ClassVar[str] anchor: Typed[ObjectAnchor, Literal[False]] locked: Bool[Literal[True]] defaultSize: Bool[Literal[True]] @@ -46,7 +46,7 @@ class ControlProperty(Serialisable): ) -> None: ... class Control(Serialisable): - tagname: str + tagname: ClassVar[str] controlPr: Typed[ControlProperty, Literal[True]] shapeId: Integer[Literal[False]] name: String[Literal[True]] @@ -59,7 +59,7 @@ class Control(Serialisable): def __init__(self, controlPr: ControlProperty | None, shapeId: _ConvertibleToInt, name: str | None = None) -> None: ... class Controls(Serialisable): - tagname: str + tagname: ClassVar[str] control: Incomplete __elements__: ClassVar[tuple[str, ...]] def __init__(self, control=()) -> None: ... diff --git a/stubs/openpyxl/openpyxl/worksheet/custom.pyi b/stubs/openpyxl/openpyxl/worksheet/custom.pyi index f09142011..e395773bc 100644 --- a/stubs/openpyxl/openpyxl/worksheet/custom.pyi +++ b/stubs/openpyxl/openpyxl/worksheet/custom.pyi @@ -6,12 +6,12 @@ from openpyxl.descriptors.base import String from openpyxl.descriptors.serialisable import Serialisable class CustomProperty(Serialisable): - tagname: str + tagname: ClassVar[str] name: String[Literal[False]] def __init__(self, name: str) -> None: ... class CustomProperties(Serialisable): - tagname: str + tagname: ClassVar[str] customPr: Incomplete __elements__: ClassVar[tuple[str, ...]] def __init__(self, customPr=()) -> None: ... diff --git a/stubs/openpyxl/openpyxl/worksheet/datavalidation.pyi b/stubs/openpyxl/openpyxl/worksheet/datavalidation.pyi index b5c567952..157a3bad2 100644 --- a/stubs/openpyxl/openpyxl/worksheet/datavalidation.pyi +++ b/stubs/openpyxl/openpyxl/worksheet/datavalidation.pyi @@ -40,7 +40,7 @@ def collapse_cell_addresses(cells, input_ranges=()): ... def expand_cell_ranges(range_string): ... class DataValidation(Serialisable): - tagname: str + tagname: ClassVar[str] sqref: Convertible[MultiCellRange, Literal[False]] cells: Alias ranges: Alias @@ -84,7 +84,7 @@ class DataValidation(Serialisable): def __contains__(self, cell): ... class DataValidationList(Serialisable): - tagname: str + tagname: ClassVar[str] disablePrompts: Bool[Literal[True]] xWindow: Integer[Literal[True]] yWindow: Integer[Literal[True]] @@ -103,4 +103,4 @@ class DataValidationList(Serialisable): def count(self): ... def __len__(self) -> int: ... def append(self, dv) -> None: ... - def to_tree(self, tagname: Incomplete | None = None): ... # type: ignore[override] + def to_tree(self, tagname: str | None = None): ... # type: ignore[override] diff --git a/stubs/openpyxl/openpyxl/worksheet/dimensions.pyi b/stubs/openpyxl/openpyxl/worksheet/dimensions.pyi index 3d714605b..290a1b926 100644 --- a/stubs/openpyxl/openpyxl/worksheet/dimensions.pyi +++ b/stubs/openpyxl/openpyxl/worksheet/dimensions.pyi @@ -120,7 +120,7 @@ class DimensionHolder(BoundDictionary[str, _DimT], Generic[_DimT]): def to_tree(self) -> Element | None: ... class SheetFormatProperties(Serialisable): - tagname: str + tagname: ClassVar[str] baseColWidth: Integer[Literal[True]] defaultColWidth: Float[Literal[True]] defaultRowHeight: Float[Literal[False]] @@ -144,7 +144,7 @@ class SheetFormatProperties(Serialisable): ) -> None: ... class SheetDimension(Serialisable): - tagname: str + tagname: ClassVar[str] ref: String[Literal[False]] def __init__(self, ref: str) -> None: ... @property diff --git a/stubs/openpyxl/openpyxl/worksheet/drawing.pyi b/stubs/openpyxl/openpyxl/worksheet/drawing.pyi index d95fbd256..39bd9a91f 100644 --- a/stubs/openpyxl/openpyxl/worksheet/drawing.pyi +++ b/stubs/openpyxl/openpyxl/worksheet/drawing.pyi @@ -1,8 +1,9 @@ from _typeshed import Incomplete +from typing import ClassVar from openpyxl.descriptors.serialisable import Serialisable class Drawing(Serialisable): - tagname: str + tagname: ClassVar[str] id: Incomplete def __init__(self, id: Incomplete | None = None) -> None: ... diff --git a/stubs/openpyxl/openpyxl/worksheet/errors.pyi b/stubs/openpyxl/openpyxl/worksheet/errors.pyi index 7bc924830..e5f790588 100644 --- a/stubs/openpyxl/openpyxl/worksheet/errors.pyi +++ b/stubs/openpyxl/openpyxl/worksheet/errors.pyi @@ -6,18 +6,18 @@ from openpyxl.descriptors.base import Bool, String, Typed, _ConvertibleToBool from openpyxl.descriptors.serialisable import Serialisable class Extension(Serialisable): - tagname: str + tagname: ClassVar[str] uri: String[Literal[True]] def __init__(self, uri: str | None = None) -> None: ... class ExtensionList(Serialisable): - tagname: str + tagname: ClassVar[str] ext: Incomplete __elements__: ClassVar[tuple[str, ...]] def __init__(self, ext=()) -> None: ... class IgnoredError(Serialisable): - tagname: str + tagname: ClassVar[str] sqref: Incomplete evalError: Bool[Literal[True]] twoDigitTextYear: Bool[Literal[True]] @@ -43,7 +43,7 @@ class IgnoredError(Serialisable): ) -> None: ... class IgnoredErrors(Serialisable): - tagname: str + tagname: ClassVar[str] ignoredError: Incomplete extLst: Typed[ExtensionList, Literal[True]] __elements__: ClassVar[tuple[str, ...]] diff --git a/stubs/openpyxl/openpyxl/worksheet/filters.pyi b/stubs/openpyxl/openpyxl/worksheet/filters.pyi index caff87dca..a53c503f1 100644 --- a/stubs/openpyxl/openpyxl/worksheet/filters.pyi +++ b/stubs/openpyxl/openpyxl/worksheet/filters.pyi @@ -100,7 +100,7 @@ _DynamicFilterType: TypeAlias = Literal[ _DateGroupItemDateTimeGrouping: TypeAlias = Literal["year", "month", "day", "hour", "minute", "second"] class SortCondition(Serialisable): - tagname: str + tagname: ClassVar[str] descending: Bool[Literal[True]] sortBy: NoneSet[_SortConditionSortBy] ref: Incomplete @@ -120,7 +120,7 @@ class SortCondition(Serialisable): ) -> None: ... class SortState(Serialisable): - tagname: str + tagname: ClassVar[str] columnSort: Bool[Literal[True]] caseSensitive: Bool[Literal[True]] sortMethod: NoneSet[_SortStateSortMethod] @@ -140,19 +140,19 @@ class SortState(Serialisable): def __bool__(self) -> bool: ... class IconFilter(Serialisable): - tagname: str + tagname: ClassVar[str] iconSet: Set[_IconSet] iconId: Integer[Literal[True]] def __init__(self, iconSet: _IconSet, iconId: _ConvertibleToInt | None = None) -> None: ... class ColorFilter(Serialisable): - tagname: str + tagname: ClassVar[str] dxfId: Integer[Literal[True]] cellColor: Bool[Literal[True]] def __init__(self, dxfId: _ConvertibleToInt | None = None, cellColor: _ConvertibleToBool | None = None) -> None: ... class DynamicFilter(Serialisable): - tagname: str + tagname: ClassVar[str] type: Set[_DynamicFilterType] val: Float[Literal[True]] valIso: DateTime[Literal[True]] @@ -168,7 +168,7 @@ class DynamicFilter(Serialisable): ) -> None: ... class CustomFilter(Serialisable): - tagname: str + tagname: ClassVar[str] operator: NoneSet[_CustomFilterOperator] val: Incomplete def __init__( @@ -176,14 +176,14 @@ class CustomFilter(Serialisable): ) -> None: ... class CustomFilters(Serialisable): - tagname: str + tagname: ClassVar[str] _and: Bool[Literal[True]] # Not private. Avoids name clash customFilter: Incomplete __elements__: ClassVar[tuple[str, ...]] def __init__(self, _and: _ConvertibleToBool | None = False, customFilter=()) -> None: ... class Top10(Serialisable): - tagname: str + tagname: ClassVar[str] top: Bool[Literal[True]] percent: Bool[Literal[True]] val: Float[Literal[False]] @@ -207,7 +207,7 @@ class Top10(Serialisable): ) -> None: ... class DateGroupItem(Serialisable): - tagname: str + tagname: ClassVar[str] year: Integer[Literal[False]] month: MinMax[float, Literal[True]] day: MinMax[float, Literal[True]] @@ -240,7 +240,7 @@ class DateGroupItem(Serialisable): ) -> None: ... class Filters(Serialisable): - tagname: str + tagname: ClassVar[str] blank: Bool[Literal[True]] calendarType: NoneSet[_FiltersCalendarType] filter: Incomplete @@ -255,7 +255,7 @@ class Filters(Serialisable): ) -> None: ... class FilterColumn(Serialisable): - tagname: str + tagname: ClassVar[str] colId: Integer[Literal[False]] col_id: Alias hiddenButton: Bool[Literal[True]] @@ -285,7 +285,7 @@ class FilterColumn(Serialisable): ) -> None: ... class AutoFilter(Serialisable): - tagname: str + tagname: ClassVar[str] ref: Incomplete filterColumn: Incomplete sortState: Typed[SortState, Literal[True]] diff --git a/stubs/openpyxl/openpyxl/worksheet/header_footer.pyi b/stubs/openpyxl/openpyxl/worksheet/header_footer.pyi index 0ed2ab37d..e8066e023 100644 --- a/stubs/openpyxl/openpyxl/worksheet/header_footer.pyi +++ b/stubs/openpyxl/openpyxl/worksheet/header_footer.pyi @@ -41,7 +41,7 @@ class HeaderFooterItem(Strict): def from_tree(cls, node): ... class HeaderFooter(Serialisable): - tagname: str + tagname: ClassVar[str] differentOddEven: Bool[Literal[True]] differentFirst: Bool[Literal[True]] scaleWithDoc: Bool[Literal[True]] diff --git a/stubs/openpyxl/openpyxl/worksheet/hyperlink.pyi b/stubs/openpyxl/openpyxl/worksheet/hyperlink.pyi index aaccd9a6d..7281d4cd4 100644 --- a/stubs/openpyxl/openpyxl/worksheet/hyperlink.pyi +++ b/stubs/openpyxl/openpyxl/worksheet/hyperlink.pyi @@ -6,7 +6,7 @@ from openpyxl.descriptors.base import String from openpyxl.descriptors.serialisable import Serialisable class Hyperlink(Serialisable): - tagname: str + tagname: ClassVar[str] ref: String[Literal[False]] location: String[Literal[True]] tooltip: String[Literal[True]] @@ -25,7 +25,7 @@ class Hyperlink(Serialisable): ) -> None: ... class HyperlinkList(Serialisable): - tagname: str + tagname: ClassVar[str] hyperlink: Incomplete def __init__(self, hyperlink=()) -> None: ... def __bool__(self) -> bool: ... diff --git a/stubs/openpyxl/openpyxl/worksheet/merge.pyi b/stubs/openpyxl/openpyxl/worksheet/merge.pyi index 46f9f498e..7df3faaa5 100644 --- a/stubs/openpyxl/openpyxl/worksheet/merge.pyi +++ b/stubs/openpyxl/openpyxl/worksheet/merge.pyi @@ -6,7 +6,7 @@ from openpyxl.descriptors.serialisable import Serialisable from .cell_range import CellRange class MergeCell(CellRange): - tagname: str + tagname: ClassVar[str] @property def ref(self): ... __attrs__: ClassVar[tuple[str, ...]] @@ -14,7 +14,7 @@ class MergeCell(CellRange): def __copy__(self): ... class MergeCells(Serialisable): - tagname: str + tagname: ClassVar[str] # Overwritten by property below # count: Integer mergeCell: Incomplete diff --git a/stubs/openpyxl/openpyxl/worksheet/ole.pyi b/stubs/openpyxl/openpyxl/worksheet/ole.pyi index 21d3bbf38..49c845666 100644 --- a/stubs/openpyxl/openpyxl/worksheet/ole.pyi +++ b/stubs/openpyxl/openpyxl/worksheet/ole.pyi @@ -10,7 +10,7 @@ _OleObjectDvAspect: TypeAlias = Literal["DVASPECT_CONTENT", "DVASPECT_ICON"] _OleObjectOleUpdate: TypeAlias = Literal["OLEUPDATE_ALWAYS", "OLEUPDATE_ONCALL"] class ObjectAnchor(Serialisable): - tagname: str + tagname: ClassVar[str] _from: Typed[AnchorMarker, Literal[False]] # Not private. Avoids name clash to: Typed[AnchorMarker, Literal[False]] moveWithCells: Bool[Literal[True]] @@ -26,7 +26,7 @@ class ObjectAnchor(Serialisable): ) -> None: ... class ObjectPr(Serialisable): - tagname: str + tagname: ClassVar[str] anchor: Typed[ObjectAnchor, Literal[False]] locked: Bool[Literal[True]] defaultSize: Bool[Literal[True]] @@ -75,7 +75,7 @@ class ObjectPr(Serialisable): ) -> None: ... class OleObject(Serialisable): - tagname: str + tagname: ClassVar[str] objectPr: Typed[ObjectPr, Literal[True]] progId: String[Literal[True]] dvAspect: Set[_OleObjectDvAspect] @@ -109,7 +109,7 @@ class OleObject(Serialisable): ) -> None: ... class OleObjects(Serialisable): - tagname: str + tagname: ClassVar[str] oleObject: Incomplete __elements__: ClassVar[tuple[str, ...]] def __init__(self, oleObject=()) -> None: ... diff --git a/stubs/openpyxl/openpyxl/worksheet/page.pyi b/stubs/openpyxl/openpyxl/worksheet/page.pyi index 913c47be7..06a96e133 100644 --- a/stubs/openpyxl/openpyxl/worksheet/page.pyi +++ b/stubs/openpyxl/openpyxl/worksheet/page.pyi @@ -1,4 +1,5 @@ from _typeshed import Incomplete +from typing import ClassVar from typing_extensions import Literal, TypeAlias from openpyxl.descriptors.base import Bool, Float, Integer, NoneSet, _ConvertibleToBool, _ConvertibleToFloat, _ConvertibleToInt @@ -10,7 +11,7 @@ _PrintPageSetupCellComments: TypeAlias = Literal["asDisplayed", "atEnd"] _PrintPageSetupErrors: TypeAlias = Literal["displayed", "blank", "dash", "NA"] class PrintPageSetup(Serialisable): - tagname: str + tagname: ClassVar[str] orientation: NoneSet[_PrintPageSetupOrientation] paperSize: Integer[Literal[True]] scale: Integer[Literal[True]] @@ -68,7 +69,7 @@ class PrintPageSetup(Serialisable): def from_tree(cls, node): ... class PrintOptions(Serialisable): - tagname: str + tagname: ClassVar[str] horizontalCentered: Bool[Literal[True]] verticalCentered: Bool[Literal[True]] headings: Bool[Literal[True]] @@ -85,7 +86,7 @@ class PrintOptions(Serialisable): def __bool__(self) -> bool: ... class PageMargins(Serialisable): - tagname: str + tagname: ClassVar[str] left: Float[Literal[False]] right: Float[Literal[False]] top: Float[Literal[False]] diff --git a/stubs/openpyxl/openpyxl/worksheet/pagebreak.pyi b/stubs/openpyxl/openpyxl/worksheet/pagebreak.pyi index 32f2d2b7e..d995cabe5 100644 --- a/stubs/openpyxl/openpyxl/worksheet/pagebreak.pyi +++ b/stubs/openpyxl/openpyxl/worksheet/pagebreak.pyi @@ -6,7 +6,7 @@ from openpyxl.descriptors.base import Bool, Integer, _ConvertibleToBool, _Conver from openpyxl.descriptors.serialisable import Serialisable class Break(Serialisable): - tagname: str + tagname: ClassVar[str] id: Integer[Literal[True]] min: Integer[Literal[True]] max: Integer[Literal[True]] @@ -22,7 +22,7 @@ class Break(Serialisable): ) -> None: ... class RowBreak(Serialisable): - tagname: str + tagname: ClassVar[str] # Overwritten by properties below # count: Integer # manualBreakCount: Integer @@ -41,7 +41,7 @@ class RowBreak(Serialisable): PageBreak = RowBreak class ColBreak(RowBreak): - tagname: str + tagname: ClassVar[str] @property def count(self): ... @property diff --git a/stubs/openpyxl/openpyxl/worksheet/picture.pyi b/stubs/openpyxl/openpyxl/worksheet/picture.pyi index 71b3f1340..071947859 100644 --- a/stubs/openpyxl/openpyxl/worksheet/picture.pyi +++ b/stubs/openpyxl/openpyxl/worksheet/picture.pyi @@ -1,4 +1,6 @@ +from typing import ClassVar + from openpyxl.descriptors.serialisable import Serialisable class SheetBackgroundPicture(Serialisable): - tagname: str + tagname: ClassVar[str] diff --git a/stubs/openpyxl/openpyxl/worksheet/properties.pyi b/stubs/openpyxl/openpyxl/worksheet/properties.pyi index 0c910c98f..dcc4fdef2 100644 --- a/stubs/openpyxl/openpyxl/worksheet/properties.pyi +++ b/stubs/openpyxl/openpyxl/worksheet/properties.pyi @@ -6,7 +6,7 @@ from openpyxl.descriptors.base import Bool, String, Typed, _ConvertibleToBool from openpyxl.descriptors.serialisable import Serialisable class Outline(Serialisable): - tagname: str + tagname: ClassVar[str] applyStyles: Bool[Literal[True]] summaryBelow: Bool[Literal[True]] summaryRight: Bool[Literal[True]] @@ -20,13 +20,13 @@ class Outline(Serialisable): ) -> None: ... class PageSetupProperties(Serialisable): - tagname: str + tagname: ClassVar[str] autoPageBreaks: Bool[Literal[True]] fitToPage: Bool[Literal[True]] def __init__(self, autoPageBreaks: _ConvertibleToBool | None = None, fitToPage: _ConvertibleToBool | None = None) -> None: ... class WorksheetProperties(Serialisable): - tagname: str + tagname: ClassVar[str] codeName: String[Literal[True]] enableFormatConditionsCalculation: Bool[Literal[True]] filterMode: Bool[Literal[True]] diff --git a/stubs/openpyxl/openpyxl/worksheet/protection.pyi b/stubs/openpyxl/openpyxl/worksheet/protection.pyi index fa1e29004..90ddad654 100644 --- a/stubs/openpyxl/openpyxl/worksheet/protection.pyi +++ b/stubs/openpyxl/openpyxl/worksheet/protection.pyi @@ -13,7 +13,7 @@ class _Protected: def password(self, value) -> None: ... class SheetProtection(Serialisable, _Protected): - tagname: str + tagname: ClassVar[str] sheet: Bool[Literal[False]] enabled: Alias objects: Bool[Literal[False]] diff --git a/stubs/openpyxl/openpyxl/worksheet/scenario.pyi b/stubs/openpyxl/openpyxl/worksheet/scenario.pyi index 67ed74af7..cb5c04e46 100644 --- a/stubs/openpyxl/openpyxl/worksheet/scenario.pyi +++ b/stubs/openpyxl/openpyxl/worksheet/scenario.pyi @@ -15,7 +15,7 @@ from openpyxl.descriptors.serialisable import Serialisable from openpyxl.worksheet.cell_range import MultiCellRange class InputCells(Serialisable): - tagname: str + tagname: ClassVar[str] r: String[Literal[False]] deleted: Bool[Literal[True]] undone: Bool[Literal[True]] @@ -43,7 +43,7 @@ class InputCells(Serialisable): ) -> None: ... class Scenario(Serialisable): - tagname: str + tagname: ClassVar[str] inputCells: Incomplete name: String[Literal[False]] locked: Bool[Literal[True]] @@ -79,7 +79,7 @@ class Scenario(Serialisable): def count(self): ... class ScenarioList(Serialisable): - tagname: str + tagname: ClassVar[str] scenario: Incomplete current: Integer[Literal[True]] show: Integer[Literal[True]] diff --git a/stubs/openpyxl/openpyxl/worksheet/smart_tag.pyi b/stubs/openpyxl/openpyxl/worksheet/smart_tag.pyi index f99140e11..14c20d35a 100644 --- a/stubs/openpyxl/openpyxl/worksheet/smart_tag.pyi +++ b/stubs/openpyxl/openpyxl/worksheet/smart_tag.pyi @@ -6,13 +6,13 @@ from openpyxl.descriptors.base import Bool, Integer, String, _ConvertibleToBool, from openpyxl.descriptors.serialisable import Serialisable class CellSmartTagPr(Serialisable): - tagname: str + tagname: ClassVar[str] key: String[Literal[False]] val: String[Literal[False]] def __init__(self, key: str, val: str) -> None: ... class CellSmartTag(Serialisable): - tagname: str + tagname: ClassVar[str] cellSmartTagPr: Incomplete type: Integer[Literal[False]] deleted: Bool[Literal[True]] @@ -37,14 +37,14 @@ class CellSmartTag(Serialisable): ) -> None: ... class CellSmartTags(Serialisable): - tagname: str + tagname: ClassVar[str] cellSmartTag: Incomplete r: String[Literal[False]] __elements__: ClassVar[tuple[str, ...]] def __init__(self, cellSmartTag, r: str) -> None: ... class SmartTags(Serialisable): - tagname: str + tagname: ClassVar[str] cellSmartTags: Incomplete __elements__: ClassVar[tuple[str, ...]] def __init__(self, cellSmartTags=()) -> None: ... diff --git a/stubs/openpyxl/openpyxl/worksheet/table.pyi b/stubs/openpyxl/openpyxl/worksheet/table.pyi index c07c80b17..8b48b4a02 100644 --- a/stubs/openpyxl/openpyxl/worksheet/table.pyi +++ b/stubs/openpyxl/openpyxl/worksheet/table.pyi @@ -17,7 +17,7 @@ TABLESTYLES: Final[tuple[str, ...]] PIVOTSTYLES: Final[tuple[str, ...]] class TableStyleInfo(Serialisable): - tagname: str + tagname: ClassVar[str] name: String[Literal[True]] showFirstColumn: Bool[Literal[True]] showLastColumn: Bool[Literal[True]] @@ -33,7 +33,7 @@ class TableStyleInfo(Serialisable): ) -> None: ... class XMLColumnProps(Serialisable): - tagname: str + tagname: ClassVar[str] mapId: Integer[Literal[False]] xpath: String[Literal[False]] denormalized: Bool[Literal[True]] @@ -61,14 +61,14 @@ class XMLColumnProps(Serialisable): ) -> None: ... class TableFormula(Serialisable): - tagname: str + tagname: ClassVar[str] array: Bool[Literal[True]] attr_text: Incomplete text: Alias def __init__(self, array: _ConvertibleToBool | None = None, attr_text: Incomplete | None = None) -> None: ... class TableColumn(Serialisable): - tagname: str + tagname: ClassVar[str] id: Integer[Literal[False]] uniqueName: String[Literal[True]] name: String[Literal[False]] @@ -136,7 +136,7 @@ class TableNameDescriptor(String[Incomplete]): class Table(Serialisable): mime_type: str - tagname: str + tagname: ClassVar[str] id: Integer[Literal[False]] name: String[Literal[True]] displayName: Incomplete @@ -202,7 +202,7 @@ class Table(Serialisable): def column_names(self): ... class TablePartList(Serialisable): - tagname: str + tagname: ClassVar[str] # Overwritten by property below # count: Integer tablePart: Incomplete diff --git a/stubs/openpyxl/openpyxl/worksheet/views.pyi b/stubs/openpyxl/openpyxl/worksheet/views.pyi index 51c208c36..626415f3c 100644 --- a/stubs/openpyxl/openpyxl/worksheet/views.pyi +++ b/stubs/openpyxl/openpyxl/worksheet/views.pyi @@ -50,7 +50,7 @@ class Selection(Serialisable): ) -> None: ... class SheetView(Serialisable): - tagname: str + tagname: ClassVar[str] windowProtection: Bool[Literal[True]] showFormulas: Bool[Literal[True]] showGridLines: Bool[Literal[True]] @@ -100,7 +100,7 @@ class SheetView(Serialisable): ) -> None: ... class SheetViewList(Serialisable): - tagname: str + tagname: ClassVar[str] sheetView: Incomplete extLst: Typed[ExtensionList, Literal[True]] __elements__: ClassVar[tuple[str, ...]]