Type all openpyxl constants (#10312)

This commit is contained in:
Avasam
2023-06-13 03:11:56 -04:00
committed by GitHub
parent d622a2755d
commit 8e4595a168
33 changed files with 375 additions and 318 deletions

View File

@@ -1,8 +1,8 @@
from _typeshed import Incomplete
from datetime import date, datetime, time, timedelta
from decimal import Decimal
from re import Pattern
from typing import overload
from typing_extensions import TypeAlias
from typing_extensions import Final, TypeAlias
from openpyxl.cell.rich_text import CellRichText
from openpyxl.comments.comments import Comment
@@ -12,26 +12,30 @@ from openpyxl.worksheet.formula import ArrayFormula, DataTableFormula
from openpyxl.worksheet.hyperlink import Hyperlink
from openpyxl.worksheet.worksheet import Worksheet
_TimeTypes: TypeAlias = datetime | date | time | timedelta
_CellValue: TypeAlias = ( # if numpy is installed also numpy bool and number types
bool | float | Decimal | str | CellRichText | date | time | timedelta | DataTableFormula | ArrayFormula
bool | float | Decimal | str | CellRichText | _TimeTypes | DataTableFormula | ArrayFormula
)
__docformat__: str
TIME_TYPES: Incomplete
TIME_FORMATS: Incomplete
STRING_TYPES: Incomplete
KNOWN_TYPES: Incomplete
ILLEGAL_CHARACTERS_RE: Incomplete
ERROR_CODES: Incomplete
TYPE_STRING: str
TYPE_FORMULA: str
TYPE_NUMERIC: str
TYPE_BOOL: str
TYPE_NULL: str
TYPE_INLINE: str
TYPE_ERROR: str
TYPE_FORMULA_CACHE_STRING: str
VALID_TYPES: Incomplete
__docformat__: Final = "restructuredtext en"
TIME_TYPES: Final[tuple[type, ...]]
TIME_FORMATS: Final[dict[type[_TimeTypes], str]]
STRING_TYPES: Final[tuple[type, ...]]
KNOWN_TYPES: Final[tuple[type, ...]]
ILLEGAL_CHARACTERS_RE: Final[Pattern[str]]
ERROR_CODES: Final[tuple[str, ...]]
TYPE_STRING: Final = "s"
TYPE_FORMULA: Final = "f"
TYPE_NUMERIC: Final = "n"
TYPE_BOOL: Final = "b"
TYPE_NULL: Final = "n"
TYPE_INLINE: Final = "inlineStr"
TYPE_ERROR: Final = "e"
TYPE_FORMULA_CACHE_STRING: Final = "str"
VALID_TYPES: Final[tuple[str, ...]]
def get_type(t: type, value: object) -> str | None: ...
def get_time_format(t: datetime) -> str: ...

View File

@@ -1,4 +1,5 @@
from _typeshed import Incomplete
from typing_extensions import Final
class ReadOnlyCell:
parent: Incomplete
@@ -48,4 +49,4 @@ class EmptyCell:
alignment: Incomplete
data_type: str
EMPTY_CELL: Incomplete
EMPTY_CELL: Final[EmptyCell]

View File

@@ -1,4 +1,17 @@
from _typeshed import Incomplete
from decimal import Decimal
from typing_extensions import Final, TypeAlias
NUMERIC_TYPES: Incomplete
NUMPY: bool
# NOTE: Can't specify numpy as a dependency because openpyxl doesn't declare it as one
# import numpy
# if sys.version_info >= (3, 8):
# import numpy._typing
# _NBitBase: TypeAlias = numpy._typing.NBitBase
# else:
# _NBitBase: TypeAlias = Any
# _NumericTypes: TypeAlias = int | float | Decimal | numpy.bool_ | numpy.floating[_NBitBase] | numpy.integer[_NBitBase]
_NumericTypes: TypeAlias = int | float | Decimal
NUMERIC_TYPES: Final[tuple[type[_NumericTypes], ...]]
NUMPY: Final[bool]

View File

@@ -1,5 +1,6 @@
from _typeshed import Incomplete
import sys
from typing_extensions import Final
VER: Incomplete
VER: Final[sys._version_info]
def safe_string(value): ...

View File

@@ -1,10 +1,11 @@
from _typeshed import Incomplete
from typing import ClassVar
from typing import Any, ClassVar
from typing_extensions import Final
from openpyxl.descriptors import MetaSerialisable
KEYWORDS: Incomplete
seq_types: Incomplete
KEYWORDS: Final[frozenset[str]]
seq_types: Final[tuple[type[list[Any]], type[tuple[Any, ...]]]]
class Serialisable(metaclass=MetaSerialisable):
# These dunders are always set at runtime by MetaSerialisable so they can't be None

View File

@@ -1,6 +1,6 @@
from _typeshed import Incomplete
from typing import ClassVar, overload
from typing_extensions import Literal, TypeAlias
from typing_extensions import Final, Literal, TypeAlias
from openpyxl.descriptors import Strict, Typed
from openpyxl.descriptors.base import Alias, Integer, MinMax, Set, _ConvertibleToBool, _ConvertibleToFloat, _ConvertibleToInt
@@ -43,7 +43,7 @@ _SystemColorVal: TypeAlias = Literal[
"menuHighlight",
"menuBar",
]
_SchemeColorVal: TypeAlias = Literal[
_SchemeColors: TypeAlias = Literal[
"bg1",
"tx1",
"bg2",
@@ -255,8 +255,8 @@ _PresetColors: TypeAlias = Literal[
"yellowGreen",
]
PRESET_COLORS: list[_PresetColors]
SCHEME_COLORS: Incomplete
PRESET_COLORS: Final[list[_PresetColors]]
SCHEME_COLORS: Final[list[_SchemeColors]]
class Transform(Serialisable): ...
@@ -375,7 +375,7 @@ class SchemeColor(Serialisable):
blueMod: NestedInteger[Literal[True]]
gamma: EmptyTag[Literal[True]]
invGamma: EmptyTag[Literal[True]]
val: Set[_SchemeColorVal]
val: Set[_SchemeColors]
__elements__: ClassVar[tuple[str, ...]]
@overload
def __init__(
@@ -409,7 +409,7 @@ class SchemeColor(Serialisable):
gamma: _HasTagAndGet[_ConvertibleToBool | None] | _ConvertibleToBool | None = None,
invGamma: _HasTagAndGet[_ConvertibleToBool | None] | _ConvertibleToBool | None = None,
*,
val: _SchemeColorVal,
val: _SchemeColors,
) -> None: ...
@overload
def __init__(
@@ -442,7 +442,7 @@ class SchemeColor(Serialisable):
blueMod: _HasTagAndGet[_ConvertibleToInt | None] | _ConvertibleToInt | None,
gamma: _HasTagAndGet[_ConvertibleToBool | None] | _ConvertibleToBool | None,
invGamma: _HasTagAndGet[_ConvertibleToBool | None] | _ConvertibleToBool | None,
val: _SchemeColorVal,
val: _SchemeColors,
) -> None: ...
class ColorChoice(Serialisable):
@@ -467,7 +467,7 @@ class ColorChoice(Serialisable):
prstClr: _NestedNoneSetParam[_PresetColors] = None,
) -> None: ...
_COLOR_SET: tuple[_ColorSetType, ...]
_COLOR_SET: Final[tuple[_ColorSetType, ...]]
class ColorMapping(Serialisable):
tagname: str

View File

@@ -1,13 +1,15 @@
from _typeshed import Incomplete
from re import Pattern
from typing_extensions import Final
class TokenizerError(Exception): ...
class Tokenizer:
SN_RE: Incomplete
WSPACE_RE: Incomplete
STRING_REGEXES: Incomplete
ERROR_CODES: Incomplete
TOKEN_ENDERS: str
SN_RE: Final[Pattern[str]]
WSPACE_RE: Final[Pattern[str]]
STRING_REGEXES: Final[dict[str, Pattern[str]]]
ERROR_CODES: Final[tuple[str, ...]]
TOKEN_ENDERS: Final = ",;}) +-*/^&=><%"
formula: Incomplete
items: Incomplete
token_stack: Incomplete
@@ -20,33 +22,33 @@ class Tokenizer:
def render(self): ...
class Token:
LITERAL: str
OPERAND: str
FUNC: str
ARRAY: str
PAREN: str
SEP: str
OP_PRE: str
OP_IN: str
OP_POST: str
WSPACE: str
LITERAL: Final = "LITERAL"
OPERAND: Final = "OPERAND"
FUNC: Final = "FUNC"
ARRAY: Final = "ARRAY"
PAREN: Final = "PAREN"
SEP: Final = "SEP"
OP_PRE: Final = "OPERATOR-PREFIX"
OP_IN: Final = "OPERATOR-INFIX"
OP_POST: Final = "OPERATOR-POSTFIX"
WSPACE: Final = "WHITE-SPACE"
value: Incomplete
type: Incomplete
subtype: Incomplete
def __init__(self, value, type_, subtype: str = "") -> None: ...
TEXT: str
NUMBER: str
LOGICAL: str
ERROR: str
RANGE: str
TEXT: Final = "TEXT"
NUMBER: Final = "NUMBER"
LOGICAL: Final = "LOGICAL"
ERROR: Final = "ERROR"
RANGE: Final = "RANGE"
@classmethod
def make_operand(cls, value): ...
OPEN: str
CLOSE: str
OPEN: Final = "OPEN"
CLOSE: Final = "CLOSE"
@classmethod
def make_subexp(cls, value, func: bool = False): ...
def get_closer(self): ...
ARG: str
ROW: str
ARG: Final = "ARG"
ROW: Final = "ROW"
@classmethod
def make_separator(cls, value): ...

View File

@@ -1,4 +1,6 @@
from _typeshed import Incomplete
from re import Pattern
from typing_extensions import Final
class TranslatorError(Exception): ...
@@ -6,9 +8,9 @@ class Translator:
tokenizer: Incomplete
def __init__(self, formula, origin) -> None: ...
def get_tokens(self): ...
ROW_RANGE_RE: Incomplete
COL_RANGE_RE: Incomplete
CELL_REF_RE: Incomplete
ROW_RANGE_RE: Final[Pattern[str]]
COL_RANGE_RE: Final[Pattern[str]]
CELL_REF_RE: Final[Pattern[str]]
@staticmethod
def translate_row(row_str, rdelta): ...
@staticmethod

View File

@@ -2,7 +2,7 @@ from _typeshed import Incomplete
from collections.abc import Iterator
from datetime import datetime
from typing import Any, Generic, TypeVar
from typing_extensions import Literal, Self
from typing_extensions import Final, Literal, Self, TypeAlias
from openpyxl.descriptors import Sequence, Strict
from openpyxl.descriptors.base import (
@@ -49,8 +49,9 @@ class BoolProperty(_TypedProperty[_ConvertibleToBool]):
class LinkProperty(_TypedProperty[str]):
value: String[Literal[False]]
CLASS_MAPPING: Incomplete
XML_MAPPING: Incomplete
_MappingPropertyType: TypeAlias = StringProperty | IntProperty | FloatProperty | DateTimeProperty | BoolProperty | LinkProperty
CLASS_MAPPING: Final[dict[type[_MappingPropertyType], str]]
XML_MAPPING: Final[dict[str, type[_MappingPropertyType]]]
class CustomPropertyList(Strict):
props: Sequence

View File

@@ -1,7 +1,7 @@
from _typeshed import Incomplete
from collections.abc import Generator
from typing import ClassVar
from typing_extensions import Literal
from typing_extensions import Final, Literal
from openpyxl.descriptors.base import String
from openpyxl.descriptors.serialisable import Serialisable
@@ -20,8 +20,8 @@ class Override(Serialisable):
ContentType: String[Literal[False]]
def __init__(self, PartName: str, ContentType: str) -> None: ...
DEFAULT_TYPES: Incomplete
DEFAULT_OVERRIDE: Incomplete
DEFAULT_TYPES: Final[list[FileExtension]]
DEFAULT_OVERRIDE: Final[list[Override]]
class Manifest(Serialisable):
tagname: str

View File

@@ -1,4 +1,5 @@
from _typeshed import Incomplete, StrPath, SupportsRead
from typing_extensions import Final, Literal, TypeAlias
from zipfile import ZipFile
from openpyxl.chartsheet.chartsheet import Chartsheet
@@ -7,7 +8,8 @@ from openpyxl.packaging.relationship import Relationship
from openpyxl.reader.workbook import WorkbookParser
from openpyxl.workbook import Workbook
SUPPORTED_FORMATS: Incomplete
_SupportedFormats: TypeAlias = Literal[".xlsx", ".xlsm", ".xltx", ".xltm"]
SUPPORTED_FORMATS: Final[tuple[_SupportedFormats, ...]]
class ExcelReader:
archive: ZipFile

View File

@@ -1,6 +1,6 @@
from _typeshed import Incomplete
from typing import ClassVar
from typing_extensions import Literal, TypeAlias
from typing_extensions import Final, Literal, TypeAlias
from openpyxl.descriptors.base import Alias, Bool, NoneSet, Typed, _ConvertibleToBool
from openpyxl.descriptors.serialisable import Serialisable
@@ -21,20 +21,20 @@ _SideStyle: TypeAlias = Literal[
"thin",
]
BORDER_NONE: Incomplete
BORDER_DASHDOT: str
BORDER_DASHDOTDOT: str
BORDER_DASHED: str
BORDER_DOTTED: str
BORDER_DOUBLE: str
BORDER_HAIR: str
BORDER_MEDIUM: str
BORDER_MEDIUMDASHDOT: str
BORDER_MEDIUMDASHDOTDOT: str
BORDER_MEDIUMDASHED: str
BORDER_SLANTDASHDOT: str
BORDER_THICK: str
BORDER_THIN: str
BORDER_NONE: Final = None
BORDER_DASHDOT: Final = "dashDot"
BORDER_DASHDOTDOT: Final = "dashDotDot"
BORDER_DASHED: Final = "dashed"
BORDER_DOTTED: Final = "dotted"
BORDER_DOUBLE: Final = "double"
BORDER_HAIR: Final = "hair"
BORDER_MEDIUM: Final = "medium"
BORDER_MEDIUMDASHDOT: Final = "mediumDashDot"
BORDER_MEDIUMDASHDOTDOT: Final = "mediumDashDotDot"
BORDER_MEDIUMDASHED: Final = "mediumDashed"
BORDER_SLANTDASHDOT: Final = "slantDashDot"
BORDER_THICK: Final = "thick"
BORDER_THIN: Final = "thin"
class Side(Serialisable):
__fields__: Incomplete
@@ -83,4 +83,4 @@ class Border(Serialisable):
) -> None: ...
def __iter__(self): ...
DEFAULT_BORDER: Incomplete
DEFAULT_BORDER: Final[Border]

View File

@@ -1,16 +1,17 @@
from _typeshed import Incomplete, Unused
from re import Pattern
from typing import ClassVar
from typing_extensions import Literal
from typing_extensions import Final, Literal
from openpyxl.descriptors import Strict, Typed
from openpyxl.descriptors.base import Bool, Integer, MinMax, String, _ConvertibleToBool, _ConvertibleToFloat, _ConvertibleToInt
from openpyxl.descriptors.serialisable import Serialisable
COLOR_INDEX: Incomplete
BLACK: Incomplete
WHITE: Incomplete
BLUE: Incomplete
aRGB_REGEX: Incomplete
COLOR_INDEX: Final[tuple[str, ...]]
BLACK: Final = "00000000"
WHITE: Final = "00FFFFFF"
BLUE: Final = "00FFFFFF"
aRGB_REGEX: Final[Pattern[str]]
class RGB(Typed[str, Incomplete]):
expected_type: type[str]

View File

@@ -75,8 +75,8 @@ class PatternFill(Fill):
) -> None: ...
def to_tree(self, tagname: Incomplete | None = None, idx: Incomplete | None = None): ... # type: ignore[override]
DEFAULT_EMPTY_FILL: Incomplete
DEFAULT_GRAY_FILL: Incomplete
DEFAULT_EMPTY_FILL: Final[PatternFill]
DEFAULT_GRAY_FILL: Final[PatternFill]
class Stop(Serialisable):
tagname: str

View File

@@ -1,6 +1,6 @@
from _typeshed import Incomplete
from typing import ClassVar
from typing_extensions import Literal, TypeAlias
from typing_extensions import Final, Literal, TypeAlias
from openpyxl.descriptors.base import Alias, _ConvertibleToBool, _ConvertibleToFloat, _ConvertibleToInt
from openpyxl.descriptors.nested import (
@@ -20,10 +20,10 @@ _FontVertAlign: TypeAlias = Literal["superscript", "subscript", "baseline"]
_FontScheme: TypeAlias = Literal["major", "minor"]
class Font(Serialisable):
UNDERLINE_DOUBLE: str
UNDERLINE_DOUBLE_ACCOUNTING: str
UNDERLINE_SINGLE: str
UNDERLINE_SINGLE_ACCOUNTING: str
UNDERLINE_DOUBLE: Final = "double"
UNDERLINE_DOUBLE_ACCOUNTING: Final = "doubleAccounting"
UNDERLINE_SINGLE: Final = "single"
UNDERLINE_SINGLE_ACCOUNTING: Final = "singleAccounting"
name: NestedString[Literal[True]]
charset: NestedInteger[Literal[True]]
family: NestedMinMax[float, Literal[True]]
@@ -72,4 +72,4 @@ class Font(Serialisable):
@classmethod
def from_tree(cls, node): ...
DEFAULT_FONT: Incomplete
DEFAULT_FONT: Final[Font]

View File

@@ -1,53 +1,55 @@
from _typeshed import Incomplete, Unused
from re import Pattern
from typing import ClassVar
from typing_extensions import Literal
from typing_extensions import Final, Literal
from openpyxl.descriptors import Strict, String
from openpyxl.descriptors.base import Integer, _ConvertibleToInt
from openpyxl.descriptors.serialisable import Serialisable
BUILTIN_FORMATS: Incomplete
BUILTIN_FORMATS_MAX_SIZE: int
BUILTIN_FORMATS_REVERSE: Incomplete
FORMAT_GENERAL: Incomplete
FORMAT_TEXT: Incomplete
FORMAT_NUMBER: Incomplete
FORMAT_NUMBER_00: Incomplete
FORMAT_NUMBER_COMMA_SEPARATED1: Incomplete
FORMAT_NUMBER_COMMA_SEPARATED2: str
FORMAT_PERCENTAGE: Incomplete
FORMAT_PERCENTAGE_00: Incomplete
FORMAT_DATE_YYYYMMDD2: str
FORMAT_DATE_YYMMDD: str
FORMAT_DATE_DDMMYY: str
FORMAT_DATE_DMYSLASH: str
FORMAT_DATE_DMYMINUS: str
FORMAT_DATE_DMMINUS: str
FORMAT_DATE_MYMINUS: str
FORMAT_DATE_XLSX14: Incomplete
FORMAT_DATE_XLSX15: Incomplete
FORMAT_DATE_XLSX16: Incomplete
FORMAT_DATE_XLSX17: Incomplete
FORMAT_DATE_XLSX22: Incomplete
FORMAT_DATE_DATETIME: str
FORMAT_DATE_TIME1: Incomplete
FORMAT_DATE_TIME2: Incomplete
FORMAT_DATE_TIME3: Incomplete
FORMAT_DATE_TIME4: Incomplete
FORMAT_DATE_TIME5: Incomplete
FORMAT_DATE_TIME6: Incomplete
FORMAT_DATE_TIME7: str
FORMAT_DATE_TIME8: str
FORMAT_DATE_TIMEDELTA: str
FORMAT_DATE_YYMMDDSLASH: str
FORMAT_CURRENCY_USD_SIMPLE: str
FORMAT_CURRENCY_USD: str
FORMAT_CURRENCY_EUR_SIMPLE: str
COLORS: str
LITERAL_GROUP: str
LOCALE_GROUP: str
STRIP_RE: Incomplete
TIMEDELTA_RE: Incomplete
BUILTIN_FORMATS: Final[dict[int, str]]
BUILTIN_FORMATS_MAX_SIZE: Final = 164
BUILTIN_FORMATS_REVERSE: Final[dict[str, int]]
FORMAT_GENERAL: Final = "General"
FORMAT_TEXT: Final = "@"
FORMAT_NUMBER: Final = "0"
FORMAT_NUMBER_00: Final = "0.00"
FORMAT_NUMBER_COMMA_SEPARATED1: Final = "#,##0.00"
FORMAT_NUMBER_COMMA_SEPARATED2: Final = "#,##0.00_-"
FORMAT_PERCENTAGE: Final = "0%"
FORMAT_PERCENTAGE_00: Final = "0.00%"
FORMAT_DATE_YYYYMMDD2: Final = "yyyy-mm-dd"
FORMAT_DATE_YYMMDD: Final = "yy-mm-dd"
FORMAT_DATE_DDMMYY: Final = "dd/mm/yy"
FORMAT_DATE_DMYSLASH: Final = "d/m/y"
FORMAT_DATE_DMYMINUS: Final = "d-m-y"
FORMAT_DATE_DMMINUS: Final = "d-m"
FORMAT_DATE_MYMINUS: Final = "m-y"
FORMAT_DATE_XLSX14: Final = "mm-dd-yy"
FORMAT_DATE_XLSX15: Final = "d-mmm-yy"
FORMAT_DATE_XLSX16: Final = "d-mmm"
FORMAT_DATE_XLSX17: Final = "mmm-yy"
FORMAT_DATE_XLSX22: Final = "m/d/yy h:mm"
FORMAT_DATE_DATETIME: Final = "yyyy-mm-dd h:mm:ss"
FORMAT_DATE_TIME1: Final = "h:mm AM/PM"
FORMAT_DATE_TIME2: Final = "h:mm:ss AM/PM"
FORMAT_DATE_TIME3: Final = "h:mm"
FORMAT_DATE_TIME4: Final = "h:mm:ss"
FORMAT_DATE_TIME5: Final = "mm:ss"
FORMAT_DATE_TIME6: Final = "h:mm:ss"
FORMAT_DATE_TIME7: Final = "i:s.S"
FORMAT_DATE_TIME8: Final = "h:mm:ss@"
FORMAT_DATE_TIMEDELTA: Final = "[hh]:mm:ss"
FORMAT_DATE_YYMMDDSLASH: Final = "yy/mm/dd@"
FORMAT_CURRENCY_USD_SIMPLE: Final = '"$"#,##0.00_-'
FORMAT_CURRENCY_USD: Final = "$#,##0_-"
FORMAT_CURRENCY_EUR_SIMPLE: Final = "[$EUR ]#,##0.00_-"
COLORS: Final[str]
LITERAL_GROUP: Final = r'".*?"'
LOCALE_GROUP: Final = r"\[(?!hh?\]|mm?\]|ss?\])[^\]]*\]"
STRIP_RE: Final[Pattern[str]]
TIMEDELTA_RE: Final[Pattern[str]]
def is_date_format(fmt): ...
def is_timedelta_format(fmt): ...

View File

@@ -1,20 +1,19 @@
from _typeshed import Incomplete
from collections.abc import Generator
from re import Pattern
from typing_extensions import Final
COORD_RE: Incomplete
COL_RANGE: str
ROW_RANGE: str
RANGE_EXPR: str
ABSOLUTE_RE: Incomplete
SHEET_TITLE: str
SHEETRANGE_RE: Incomplete
COORD_RE: Final[Pattern[str]]
COL_RANGE: Final = """[A-Z]{1,3}:[A-Z]{1,3}:"""
ROW_RANGE: Final = r"""\d+:\d+:"""
RANGE_EXPR: Final[str]
ABSOLUTE_RE: Final[Pattern[str]]
SHEET_TITLE: Final[str]
SHEETRANGE_RE: Final[Pattern[str]]
def get_column_interval(start: str | int, end: str | int) -> list[str]: ...
def coordinate_from_string(coord_string: str) -> tuple[str, int]: ...
def absolute_coordinate(coord_string: str) -> str: ...
col: Incomplete
def get_column_letter(idx: int) -> str: ...
def column_index_from_string(str_col: str) -> int: ...
def range_boundaries(range_string: str) -> tuple[int, int, int, int]: ...

View File

@@ -1,14 +1,16 @@
from _typeshed import Incomplete
from datetime import datetime
from re import Pattern
from typing_extensions import Final
MAC_EPOCH: Incomplete
WINDOWS_EPOCH: Incomplete
MAC_EPOCH: Final[datetime]
WINDOWS_EPOCH: Final[datetime]
# The following two constants are defined twice in the implementation.
CALENDAR_WINDOWS_1900 = WINDOWS_EPOCH
CALENDAR_MAC_1904 = MAC_EPOCH
SECS_PER_DAY: int
ISO_FORMAT: str
ISO_REGEX: Incomplete
ISO_DURATION: Incomplete
SECS_PER_DAY: Final = 86400
ISO_FORMAT: Final = "%Y-%m-%dT%H:%M:%SZ"
ISO_REGEX: Final[Pattern[str]]
ISO_DURATION: Final[Pattern[str]]
def to_ISO8601(dt): ...
def from_ISO8601(formatted_string): ...

View File

@@ -1,3 +1,3 @@
from _typeshed import Incomplete
from typing_extensions import Final
FORMULAE: Incomplete
FORMULAE: Final[frozenset[str]]

View File

@@ -1,8 +1,9 @@
from _typeshed import Incomplete
from re import Pattern
from typing_extensions import Final
PERCENT_REGEX: Incomplete
TIME_REGEX: Incomplete
NUMBER_REGEX: Incomplete
PERCENT_REGEX: Final[Pattern[str]]
TIME_REGEX: Final[Pattern[str]]
NUMBER_REGEX: Final[Pattern[str]]
def cast_numeric(value): ...
def cast_percentage(value): ...

View File

@@ -1,11 +1,11 @@
from _typeshed import Incomplete
from typing_extensions import Final
DEFAULT_ROW_HEIGHT: float
BASE_COL_WIDTH: int
DEFAULT_COLUMN_WIDTH: Incomplete
DEFAULT_LEFT_MARGIN: float
DEFAULT_TOP_MARGIN: float
DEFAULT_HEADER: float
DEFAULT_ROW_HEIGHT: Final[float]
BASE_COL_WIDTH: Final = 8
DEFAULT_COLUMN_WIDTH: Final = 13
DEFAULT_LEFT_MARGIN: Final[float]
DEFAULT_TOP_MARGIN: Final[float]
DEFAULT_HEADER: Final[float]
def inch_to_dxa(value): ...
def dxa_to_inch(value): ...

View File

@@ -1,6 +1,8 @@
from _typeshed import Incomplete
from re import Pattern
from typing_extensions import Final
INVALID_TITLE_REGEX: Incomplete
INVALID_TITLE_REGEX: Final[Pattern[str]]
def avoid_duplicate_name(names, value): ...

View File

@@ -2,14 +2,14 @@ from _typeshed import Incomplete
from collections import defaultdict
from collections.abc import Generator
from re import Pattern
from typing_extensions import Literal
from typing_extensions import Final, Literal
from openpyxl.descriptors import Sequence
from openpyxl.descriptors.base import Alias, Bool, Integer, String, _ConvertibleToBool, _ConvertibleToInt
from openpyxl.descriptors.serialisable import Serialisable
RESERVED: frozenset[str]
RESERVED_REGEX: Pattern[str]
RESERVED: Final[frozenset[str]]
RESERVED_REGEX: Final[Pattern[str]]
class DefinedName(Serialisable):
tagname: str

View File

@@ -2,6 +2,7 @@ from _typeshed import Incomplete, StrPath
from collections.abc import Iterator
from datetime import datetime
from typing import IO
from typing_extensions import Final
from openpyxl.chartsheet.chartsheet import Chartsheet
from openpyxl.styles.named_styles import NamedStyle
@@ -9,7 +10,7 @@ from openpyxl.workbook.child import _WorkbookChild
from openpyxl.worksheet._write_only import WriteOnlyWorksheet
from openpyxl.worksheet.worksheet import Worksheet
INTEGER_TYPES: Incomplete
INTEGER_TYPES: Final[tuple[type[int]]]
class Workbook:
template: bool

View File

@@ -1,40 +1,41 @@
import datetime
from _typeshed import Incomplete
from collections.abc import Container, Generator
from typing_extensions import Final
from .hyperlink import HyperlinkList
from .pagebreak import ColBreak, RowBreak
from .protection import SheetProtection
from .table import TablePartList
CELL_TAG: Incomplete
VALUE_TAG: Incomplete
FORMULA_TAG: Incomplete
MERGE_TAG: Incomplete
INLINE_STRING: Incomplete
COL_TAG: Incomplete
ROW_TAG: Incomplete
CF_TAG: Incomplete
LEGACY_TAG: Incomplete
PROT_TAG: Incomplete
EXT_TAG: Incomplete
HYPERLINK_TAG: Incomplete
TABLE_TAG: Incomplete
PRINT_TAG: Incomplete
MARGINS_TAG: Incomplete
PAGE_TAG: Incomplete
HEADER_TAG: Incomplete
FILTER_TAG: Incomplete
VALIDATION_TAG: Incomplete
PROPERTIES_TAG: Incomplete
VIEWS_TAG: Incomplete
FORMAT_TAG: Incomplete
ROW_BREAK_TAG: Incomplete
COL_BREAK_TAG: Incomplete
SCENARIOS_TAG: Incomplete
DATA_TAG: Incomplete
DIMENSION_TAG: Incomplete
CUSTOM_VIEWS_TAG: Incomplete
CELL_TAG: Final[str]
VALUE_TAG: Final[str]
FORMULA_TAG: Final[str]
MERGE_TAG: Final[str]
INLINE_STRING: Final[str]
COL_TAG: Final[str]
ROW_TAG: Final[str]
CF_TAG: Final[str]
LEGACY_TAG: Final[str]
PROT_TAG: Final[str]
EXT_TAG: Final[str]
HYPERLINK_TAG: Final[str]
TABLE_TAG: Final[str]
PRINT_TAG: Final[str]
MARGINS_TAG: Final[str]
PAGE_TAG: Final[str]
HEADER_TAG: Final[str]
FILTER_TAG: Final[str]
VALIDATION_TAG: Final[str]
PROPERTIES_TAG: Final[str]
VIEWS_TAG: Final[str]
FORMAT_TAG: Final[str]
ROW_BREAK_TAG: Final[str]
COL_BREAK_TAG: Final[str]
SCENARIOS_TAG: Final[str]
DATA_TAG: Final[str]
DIMENSION_TAG: Final[str]
CUSTOM_VIEWS_TAG: Final[str]
class WorkSheetParser:
min_row: Incomplete | None

View File

@@ -1,7 +1,7 @@
from _typeshed import Incomplete
from collections.abc import Generator
ALL_TEMP_FILES: Incomplete
ALL_TEMP_FILES: list[str]
def create_temporary_file(suffix: str = ""): ...

View File

@@ -1,21 +1,21 @@
from _typeshed import Incomplete
from re import Pattern
from typing import ClassVar
from typing_extensions import Literal
from typing_extensions import Final, Literal
from openpyxl.descriptors import Strict
from openpyxl.descriptors.base import Alias, Bool, Integer, MatchPattern, String, Typed, _ConvertibleToBool, _ConvertibleToInt
from openpyxl.descriptors.serialisable import Serialisable
FONT_PATTERN: str
COLOR_PATTERN: str
SIZE_REGEX: str
FORMAT_REGEX: Incomplete
FONT_PATTERN: Final = '&"(?P<font>.+)"'
COLOR_PATTERN: Final = "&K(?P<color>[A-F0-9]{6})"
SIZE_REGEX: Final = r"&(?P<size>\d+\s?)"
FORMAT_REGEX: Final[Pattern[str]]
class _HeaderFooterPart(Strict):
text: String[Literal[True]]
font: String[Literal[True]]
size: Integer[Literal[True]]
RGB: str
RGB: ClassVar[str]
color: MatchPattern[str, Literal[True]]
def __init__(
self, text: str | None = None, font: str | None = None, size: _ConvertibleToInt | None = None, color: str | None = None

View File

@@ -1,7 +1,7 @@
from _typeshed import Incomplete, Unused
from re import Pattern
from typing import overload
from typing_extensions import Literal, Self
from typing_extensions import Final, Literal, Self
from openpyxl.descriptors import Integer, Strict, String
from openpyxl.descriptors.base import Typed, _ConvertibleToInt
@@ -9,12 +9,12 @@ from openpyxl.utils.cell import SHEETRANGE_RE as SHEETRANGE_RE
from .cell_range import MultiCellRange
COL_RANGE: str
COL_RANGE_RE: Pattern[str]
ROW_RANGE: str
ROW_RANGE_RE: Pattern[str]
TITLES_REGEX: Pattern[str]
PRINT_AREA_RE: Pattern[str]
COL_RANGE: Final[str]
COL_RANGE_RE: Final[Pattern[str]]
ROW_RANGE: Final[str]
ROW_RANGE_RE: Final[Pattern[str]]
TITLES_REGEX: Final[Pattern[str]]
PRINT_AREA_RE: Final[Pattern[str]]
class ColRange(Strict):
min_col: String[Literal[False]]

View File

@@ -1,6 +1,6 @@
from _typeshed import Incomplete, Unused
from typing import ClassVar, overload
from typing_extensions import Literal, TypeAlias
from typing_extensions import Final, Literal, TypeAlias
from openpyxl.descriptors import Strict, String
from openpyxl.descriptors.base import Alias, Bool, Integer, NoneSet, Typed, _ConvertibleToBool, _ConvertibleToInt
@@ -13,8 +13,8 @@ _TableColumnTotalsRowFunction: TypeAlias = Literal[
]
_TableTableType: TypeAlias = Literal["worksheet", "xml", "queryTable"]
TABLESTYLES: Incomplete
PIVOTSTYLES: Incomplete
TABLESTYLES: Final[tuple[str, ...]]
PIVOTSTYLES: Final[tuple[str, ...]]
class TableStyleInfo(Serialisable):
tagname: str

View File

@@ -23,25 +23,28 @@ from openpyxl.worksheet.views import SheetView, SheetViewList
class Worksheet(_WorkbookChild):
mime_type: str
BREAK_NONE: int
BREAK_ROW: int
BREAK_COLUMN: int
BREAK_NONE: Final = 0
BREAK_ROW: Final = 1
BREAK_COLUMN: Final = 2
SHEETSTATE_VISIBLE: Final = "visible"
SHEETSTATE_HIDDEN: Final = "hidden"
SHEETSTATE_VERYHIDDEN: Final = "veryHidden"
PAPERSIZE_LETTER: str
PAPERSIZE_LETTER_SMALL: str
PAPERSIZE_TABLOID: str
PAPERSIZE_LEDGER: str
PAPERSIZE_LEGAL: str
PAPERSIZE_STATEMENT: str
PAPERSIZE_EXECUTIVE: str
PAPERSIZE_A3: str
PAPERSIZE_A4: str
PAPERSIZE_A4_SMALL: str
PAPERSIZE_A5: str
ORIENTATION_PORTRAIT: str
ORIENTATION_LANDSCAPE: str
PAPERSIZE_LETTER: Final = "1"
PAPERSIZE_LETTER_SMALL: Final = "2"
PAPERSIZE_TABLOID: Final = "3"
PAPERSIZE_LEDGER: Final = "4"
PAPERSIZE_LEGAL: Final = "5"
PAPERSIZE_STATEMENT: Final = "6"
PAPERSIZE_EXECUTIVE: Final = "7"
PAPERSIZE_A3: Final = "8"
PAPERSIZE_A4: Final = "9"
PAPERSIZE_A4_SMALL: Final = "10"
PAPERSIZE_A5: Final = "11"
ORIENTATION_PORTRAIT: Final = "portrait"
ORIENTATION_LANDSCAPE: Final = "landscape"
row_dimensions: DimensionHolder[RowDimension]
column_dimensions: DimensionHolder[ColumnDimension]

View File

@@ -1,11 +1,11 @@
from _typeshed import Incomplete
from typing_extensions import Final
def lxml_available(): ...
def lxml_env_set(): ...
LXML: Incomplete
LXML: Final[bool]
def defusedxml_available(): ...
def defusedxml_env_set(): ...
DEFUSEDXML: Incomplete
DEFUSEDXML: Final[bool]

View File

@@ -1,74 +1,91 @@
from _typeshed import Incomplete
from typing_extensions import Final
MIN_ROW: int
MIN_COLUMN: int
MAX_COLUMN: int
MAX_ROW: int
PACKAGE_PROPS: str
PACKAGE_XL: str
PACKAGE_RELS: str
PACKAGE_THEME: Incomplete
PACKAGE_WORKSHEETS: Incomplete
PACKAGE_CHARTSHEETS: Incomplete
PACKAGE_DRAWINGS: Incomplete
PACKAGE_CHARTS: Incomplete
PACKAGE_IMAGES: Incomplete
PACKAGE_WORKSHEET_RELS: Incomplete
PACKAGE_CHARTSHEETS_RELS: Incomplete
PACKAGE_PIVOT_TABLE: Incomplete
PACKAGE_PIVOT_CACHE: Incomplete
ARC_CONTENT_TYPES: str
ARC_ROOT_RELS: Incomplete
ARC_WORKBOOK_RELS: Incomplete
ARC_CORE: Incomplete
ARC_APP: Incomplete
ARC_WORKBOOK: Incomplete
ARC_STYLE: Incomplete
ARC_THEME: Incomplete
ARC_SHARED_STRINGS: Incomplete
ARC_CUSTOM_UI: str
XML_NS: str
DCORE_NS: str
DCTERMS_NS: str
DCTERMS_PREFIX: str
DOC_NS: str
REL_NS: Incomplete
COMMENTS_NS: Incomplete
IMAGE_NS: Incomplete
VML_NS: Incomplete
VTYPES_NS: Incomplete
XPROPS_NS: Incomplete
EXTERNAL_LINK_NS: Incomplete
PKG_NS: str
PKG_REL_NS: Incomplete
COREPROPS_NS: Incomplete
CONTYPES_NS: Incomplete
XSI_NS: str
SHEET_MAIN_NS: str
CHART_NS: str
DRAWING_NS: str
SHEET_DRAWING_NS: str
CHART_DRAWING_NS: str
CUSTOMUI_NS: str
NAMESPACES: Incomplete
WORKBOOK_MACRO: str
WORKBOOK: str
SPREADSHEET: str
SHARED_STRINGS: Incomplete
EXTERNAL_LINK: Incomplete
WORKSHEET_TYPE: Incomplete
COMMENTS_TYPE: Incomplete
STYLES_TYPE: Incomplete
CHARTSHEET_TYPE: Incomplete
DRAWING_TYPE: str
CHART_TYPE: str
CHARTSHAPE_TYPE: str
THEME_TYPE: str
XLTM: Incomplete
XLSM: Incomplete
XLTX: Incomplete
XLSX: Incomplete
EXT_TYPES: Incomplete
CTRL: str
ACTIVEX: str
VBA: str
MIN_ROW: Final = 0
MIN_COLUMN: Final = 0
MAX_COLUMN: Final = 16384
MAX_ROW: Final = 1048576
PACKAGE_PROPS: Final = "docProps"
PACKAGE_XL: Final = "xl"
PACKAGE_RELS: Final = "_rels"
PACKAGE_THEME: Final = "xl/theme"
PACKAGE_WORKSHEETS: Final = "xl/worksheets"
PACKAGE_CHARTSHEETS: Final = "xl/chartsheets"
PACKAGE_DRAWINGS: Final = "xl/drawings"
PACKAGE_CHARTS: Final = "xl/charts"
PACKAGE_IMAGES: Final = "xl/media"
PACKAGE_WORKSHEET_RELS: Final = "xl/worksheets/_rels"
PACKAGE_CHARTSHEETS_RELS: Final = "xl/chartsheets/_rels"
PACKAGE_PIVOT_TABLE: Final = "xl/pivotTables"
PACKAGE_PIVOT_CACHE: Final = "xl/pivotCache"
ARC_CONTENT_TYPES: Final = "[Content_Types].xml"
ARC_ROOT_RELS: Final = "_rels/.rels"
ARC_WORKBOOK_RELS: Final = "xl/_rels/workbook.xml.rels"
ARC_CORE: Final = "docProps/core.xml"
ARC_APP: Final = "docProps/app.xml"
ARC_CUSTOM: Final = "docProps/custom.xml"
ARC_WORKBOOK: Final = "xl/workbook.xml"
ARC_STYLE: Final = "xl/styles.xml"
ARC_THEME: Final = "xl/theme/theme1.xml"
ARC_SHARED_STRINGS: Final = "xl/sharedStrings.xml"
ARC_CUSTOM_UI: Final = "customUI/customUI.xml"
DCORE_NS: Final = "http://purl.org/dc/elements/1.1/"
DCTERMS_NS: Final = "http://purl.org/dc/terms/"
DCTERMS_PREFIX: Final = "dcterms"
DOC_NS: Final[str]
REL_NS: Final[str]
COMMENTS_NS: Final[str]
IMAGE_NS: Final[str]
VML_NS: Final[str]
VTYPES_NS: Final[str]
XPROPS_NS: Final[str]
CUSTPROPS_NS: Final[str]
EXTERNAL_LINK_NS: Final[str]
CPROPS_FMTID: Final = "{D5CDD505-2E9C-101B-9397-08002B2CF9AE}"
PKG_NS: Final = "http://schemas.openxmlformats.org/package/2006/"
PKG_REL_NS: Final[str]
COREPROPS_NS: Final[str]
CONTYPES_NS: Final[str]
XSI_NS: Final = "http://www.w3.org/2001/XMLSchema-instance"
XML_NS: Final = "http://www.w3.org/XML/1998/namespace"
SHEET_MAIN_NS: Final[str]
CHART_NS: Final[str]
DRAWING_NS: Final[str]
SHEET_DRAWING_NS: Final[str]
CHART_DRAWING_NS: Final[str]
CUSTOMUI_NS: Final[str]
NAMESPACES: Final[dict[str, str]]
WORKBOOK_MACRO: Final = "application/vnd.ms-excel.%s.macroEnabled.main+xml"
WORKBOOK: Final[str]
SPREADSHEET: Final[str]
SHARED_STRINGS: Final[str]
EXTERNAL_LINK: Final[str]
WORKSHEET_TYPE: Final[str]
COMMENTS_TYPE: Final[str]
STYLES_TYPE: Final[str]
CHARTSHEET_TYPE: Final[str]
DRAWING_TYPE: Final[str]
CHART_TYPE: Final[str]
CHARTSHAPE_TYPE: Final[str]
THEME_TYPE: Final[str]
CPROPS_TYPE: Final[str]
XLTM: Final[str]
XLSM: Final[str]
XLTX: Final[str]
XLSX: Final[str]
EXT_TYPES: Final[dict[str, str]]
CTRL: Final = "application/vnd.ms-excel.controlproperties+xml"
ACTIVEX: Final = "application/vnd.ms-office.activeX+xml"
VBA: Final = "application/vnd.ms-office.vbaProject"

View File

@@ -1,7 +1,8 @@
from _typeshed import Incomplete
from re import Pattern
from typing_extensions import Final
from xml.etree.ElementTree import Element as Element # possibly also imported from lxml
NS_REGEX: Incomplete
NS_REGEX: Final[Pattern[str]]
def localname(node): ...
def whitespace(node) -> None: ...