[openpyxl] Update to 3.1, add more annotations (#9875)

Closes: #9644
This commit is contained in:
Sebastian Rittau
2023-03-15 08:50:16 +01:00
committed by GitHub
parent 21d7f7153b
commit 8877c12cdf
12 changed files with 121 additions and 71 deletions

View File

@@ -1,2 +1,5 @@
# "cls" argument has wrong name in implementation.
openpyxl.descriptors.slots.AutoSlotProperties.__new__
# Requires numpy to be installed
openpyxl.utils.dataframe

View File

@@ -1,4 +1,4 @@
version = "3.0.*"
version = "3.1.*"
[tool.stubtest]
ignore_missing_stub = true

View File

@@ -21,7 +21,6 @@ class Drawing:
def height(self): ...
@height.setter
def height(self, h) -> None: ...
def set_dimension(self, w: int = ..., h: int = ...) -> None: ...
def get_emu_dimensions(self): ...
def set_dimension(self, w: int = 0, h: int = 0) -> None: ...
@property
def anchor(self): ...

View File

@@ -84,5 +84,3 @@ class WorkbookPackage(Serialisable):
def to_tree(self): ...
@property
def active(self): ...
@property
def pivot_caches(self): ...

View File

@@ -1,27 +1,38 @@
from _typeshed import Incomplete, StrPath, SupportsRead
from zipfile import ZipFile
from openpyxl.chartsheet.chartsheet import Chartsheet
from openpyxl.packaging.manifest import Manifest
from openpyxl.packaging.relationship import Relationship
from openpyxl.workbook.workbook import Workbook
from openpyxl.reader.workbook import WorkbookParser
from openpyxl.workbook import Workbook
SUPPORTED_FORMATS: Incomplete
class ExcelReader:
archive: Incomplete
valid_files: Incomplete
read_only: Incomplete
keep_vba: Incomplete
data_only: Incomplete
keep_links: Incomplete
shared_strings: Incomplete
archive: ZipFile
valid_files: list[str]
read_only: bool
keep_vba: bool
data_only: bool
keep_links: bool
rich_text: bool
shared_strings: list[Incomplete]
package: Manifest # defined after call to read_manifest()
parser: WorkbookParser # defined after call to read_workbook()
wb: Workbook # defined after call to read_workbook()
def __init__(
self, fn: SupportsRead[bytes] | str, read_only: bool = ..., keep_vba=..., data_only: bool = ..., keep_links: bool = ...
self,
fn: SupportsRead[bytes] | str,
read_only: bool = False,
keep_vba: bool = False,
data_only: bool = False,
keep_links: bool = True,
rich_text: bool = False,
) -> None: ...
package: Incomplete
def read_manifest(self) -> None: ...
def read_strings(self) -> None: ...
parser: Incomplete
wb: Incomplete
def read_workbook(self) -> None: ...
def read_properties(self) -> None: ...
def read_theme(self) -> None: ...
@@ -31,8 +42,9 @@ class ExcelReader:
def load_workbook(
filename: SupportsRead[bytes] | StrPath,
read_only: bool = ...,
keep_vba: bool = ...,
data_only: bool = ...,
keep_links: bool = ...,
read_only: bool = False,
keep_vba: bool = False,
data_only: bool = False,
keep_links: bool = True,
rich_text: bool = False,
) -> Workbook: ...

View File

@@ -1,10 +1,12 @@
from _typeshed import Incomplete
from collections.abc import Generator
from openpyxl.workbook import Workbook
class WorkbookParser:
archive: Incomplete
workbook_part_name: Incomplete
wb: Incomplete
wb: Workbook
keep_links: Incomplete
sheets: Incomplete
def __init__(self, archive, workbook_part_name, keep_links: bool = ...) -> None: ...

View File

@@ -1,15 +1,13 @@
from _typeshed import Incomplete
from collections import defaultdict
from collections.abc import Generator
from re import Pattern
from openpyxl.descriptors import Sequence
from openpyxl.descriptors.serialisable import Serialisable
RESERVED: Incomplete
RESERVED_REGEX: Incomplete
COL_RANGE: str
COL_RANGE_RE: Incomplete
ROW_RANGE: str
ROW_RANGE_RE: Incomplete
TITLES_REGEX: Incomplete
RESERVED: frozenset[str]
RESERVED_REGEX: Pattern[str]
class DefinedName(Serialisable):
tagname: str
@@ -59,15 +57,12 @@ class DefinedName(Serialisable):
def is_external(self): ...
def __iter__(self): ...
class DefinedNameDict(dict[str, DefinedName]):
def add(self, value: DefinedName) -> None: ...
class DefinedNameList(Serialisable):
tagname: str
definedName: Incomplete
definedName: Sequence
def __init__(self, definedName=...) -> None: ...
def append(self, defn) -> None: ...
def by_sheet(self) -> defaultdict[int, DefinedNameDict]: ...
def __len__(self) -> int: ...
def __contains__(self, name): ...
def __getitem__(self, name): ...
def get(self, name, scope: Incomplete | None = ...): ...
def __delitem__(self, name) -> None: ...
def delete(self, name, scope: Incomplete | None = ...): ...
def localnames(self, scope): ...

View File

@@ -6,7 +6,6 @@ from typing import IO
from openpyxl.chartsheet.chartsheet import Chartsheet
from openpyxl.styles.named_styles import NamedStyle
from openpyxl.workbook.child import _WorkbookChild
from openpyxl.workbook.defined_name import DefinedName
from openpyxl.worksheet._write_only import WriteOnlyWorksheet
from openpyxl.worksheet.worksheet import Worksheet
@@ -70,10 +69,6 @@ class Workbook:
def add_named_style(self, style: NamedStyle) -> None: ...
@property
def named_styles(self) -> list[str]: ...
def get_named_ranges(self) -> list[DefinedName] | tuple[DefinedName, ...]: ...
def add_named_range(self, named_range: DefinedName) -> None: ...
def get_named_range(self, name: str) -> DefinedName: ...
def remove_named_range(self, named_range: DefinedName) -> None: ...
@property
def mime_type(self) -> str: ...
def save(self, filename: StrPath | IO[bytes]) -> None: ...

View File

@@ -1,5 +1,11 @@
import datetime
from _typeshed import Incomplete
from collections.abc import Generator
from collections.abc import Container, Generator
from .hyperlink import HyperlinkList
from .pagebreak import ColBreak, RowBreak
from .protection import SheetProtection
from .table import TablePartList
CELL_TAG: Incomplete
VALUE_TAG: Incomplete
@@ -31,39 +37,48 @@ DIMENSION_TAG: Incomplete
CUSTOM_VIEWS_TAG: Incomplete
class WorkSheetParser:
min_row: Incomplete
epoch: Incomplete
min_row: Incomplete | None
min_col: Incomplete | None
epoch: datetime.datetime
source: Incomplete
shared_strings: Incomplete
data_only: Incomplete
shared_formulae: Incomplete
array_formulae: Incomplete
data_only: bool
shared_formulae: dict[Incomplete, Incomplete]
row_counter: int
tables: Incomplete
date_formats: Incomplete
timedelta_formats: Incomplete
row_dimensions: Incomplete
column_dimensions: Incomplete
number_formats: Incomplete
col_counter: int
tables: TablePartList
date_formats: Container[Incomplete]
timedelta_formats: Container[Incomplete]
row_dimensions: dict[Incomplete, Incomplete]
column_dimensions: dict[Incomplete, Incomplete]
number_formats: list[Incomplete]
keep_vba: bool
hyperlinks: Incomplete
formatting: Incomplete
legacy_drawing: Incomplete
merged_cells: Incomplete
row_breaks: Incomplete
col_breaks: Incomplete
hyperlinks: HyperlinkList
formatting: list[Incomplete]
legacy_drawing: Incomplete | None
merged_cells: Incomplete | None
row_breaks: RowBreak
col_breaks: ColBreak
rich_text: bool
protection: SheetProtection # initialized after call to parse_sheet_protection()
def __init__(
self, src, shared_strings, data_only: bool = ..., epoch=..., date_formats=..., timedelta_formats=...
self,
src,
shared_strings,
data_only: bool = False,
epoch: datetime.datetime = ...,
date_formats: Container[Incomplete] = ...,
timedelta_formats: Container[Incomplete] = ...,
rich_text: bool = False,
) -> None: ...
def parse(self) -> Generator[Incomplete, None, None]: ...
def parse_dimensions(self): ...
col_counter: Incomplete
def parse_cell(self, element): ...
def parse_formula(self, element): ...
def parse_column_dimensions(self, col) -> None: ...
def parse_row(self, row): ...
def parse_formatting(self, element) -> None: ...
protection: Incomplete
def parse_sheet_protection(self, element) -> None: ...
def parse_extensions(self, element) -> None: ...
def parse_legacy(self, element) -> None: ...
@@ -75,7 +90,7 @@ class WorksheetReader:
ws: Incomplete
parser: Incomplete
tables: Incomplete
def __init__(self, ws, xml_source, shared_strings, data_only) -> None: ...
def __init__(self, ws, xml_source, shared_strings, data_only, rich_text: bool) -> None: ...
def bind_cells(self) -> None: ...
def bind_formatting(self) -> None: ...
def bind_tables(self) -> None: ...

View File

@@ -0,0 +1,37 @@
from _typeshed import Incomplete
from collections.abc import Iterator
from typing import ClassVar
class DataTableFormula:
t: ClassVar[str]
ref: Incomplete
ca: bool
dt2D: bool
dtr: bool
r1: Incomplete | None
r2: Incomplete | None
del1: bool
del2: bool
def __init__(
self,
ref,
ca: bool = False,
dt2D: bool = False,
dtr: bool = False,
r1: Incomplete | None = None,
r2: Incomplete | None = None,
del1: bool = False,
del2: bool = False,
**kw,
) -> None: ...
def __iter__(self) -> Iterator[tuple[str, str]]: ...
class ArrayFormula:
t: ClassVar[str]
ref: Incomplete
text: Incomplete | None
def __init__(self, ref, text: Incomplete | None = None) -> None: ...
def __iter__(self) -> Iterator[tuple[str, str]]: ...

View File

@@ -9,7 +9,6 @@ from openpyxl.workbook.child import _WorkbookChild
from openpyxl.workbook.workbook import Workbook
from openpyxl.worksheet.cell_range import CellRange
from openpyxl.worksheet.datavalidation import DataValidation
from openpyxl.worksheet.pagebreak import ColBreak, RowBreak
from openpyxl.worksheet.table import Table, TableList
from openpyxl.worksheet.views import SheetView
@@ -42,14 +41,10 @@ class Worksheet(_WorkbookChild):
@property
def active_cell(self) -> Cell: ...
@property
def page_breaks(self) -> tuple[RowBreak, ColBreak]: ...
def array_formulae(self) -> dict[Incomplete, Incomplete]: ...
@property
def show_gridlines(self) -> bool: ...
@property
def show_summary_below(self) -> bool: ...
@property
def show_summary_right(self) -> bool: ...
@property
def freeze_panes(self) -> str | None: ...
@freeze_panes.setter
def freeze_panes(self, topLeftCell: Incomplete | None = ...) -> None: ...

View File

@@ -10,4 +10,3 @@ class ExcelWriter:
def save(self) -> None: ...
def save_workbook(workbook, filename): ...
def save_virtual_workbook(workbook): ...