mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-06 12:14:27 +08:00
Depend on Pillow instead of types-Pillow (#11720)
This commit is contained in:
4
.github/workflows/tests.yml
vendored
4
.github/workflows/tests.yml
vendored
@@ -123,9 +123,7 @@ jobs:
|
||||
if [ -n "$DEPENDENCIES" ]; then
|
||||
source .venv/bin/activate
|
||||
echo "Installing packages: $DEPENDENCIES"
|
||||
# https://github.com/python/typeshed/issues/11688
|
||||
echo "Pillow<10.3" > constraints.txt
|
||||
uv pip install -c constraints.txt $DEPENDENCIES
|
||||
uv pip install $DEPENDENCIES
|
||||
fi
|
||||
- name: Activate the isolated venv for the rest of the job
|
||||
run: echo "$PWD/.venv/bin" >> $GITHUB_PATH
|
||||
|
||||
@@ -31,11 +31,11 @@ If you're just using a type checker ([mypy](https://github.com/python/mypy/),
|
||||
developing it, you don't need to interact with the typeshed repo at
|
||||
all: a copy of standard library part of typeshed is bundled with type checkers.
|
||||
And type stubs for third party packages and modules you are using can
|
||||
be installed from PyPI. For example, if you are using `Pillow` and `requests`,
|
||||
be installed from PyPI. For example, if you are using `html5lib` and `requests`,
|
||||
you can install the type stubs using
|
||||
|
||||
```bash
|
||||
$ pip install types-Pillow types-requests
|
||||
$ pip install types-html5lib types-requests
|
||||
```
|
||||
|
||||
These PyPI packages follow [PEP 561](http://www.python.org/dev/peps/pep-0561/)
|
||||
|
||||
@@ -1,15 +1,20 @@
|
||||
# Verify that ImageTK images are valid to pass to TK code.
|
||||
from __future__ import annotations
|
||||
|
||||
import tkinter
|
||||
# The following tests don't work at the moment, due to pyright getting
|
||||
# confused by the existence of these stubs and annotations in the actual
|
||||
# Pillow package.
|
||||
# https://github.com/python/typeshed/issues/11688
|
||||
|
||||
from PIL import ImageTk
|
||||
# import tkinter
|
||||
|
||||
photo = ImageTk.PhotoImage()
|
||||
bitmap = ImageTk.BitmapImage()
|
||||
# from PIL import ImageTk
|
||||
|
||||
tkinter.Label(image=photo)
|
||||
tkinter.Label(image=bitmap)
|
||||
# photo = ImageTk.PhotoImage()
|
||||
# bitmap = ImageTk.BitmapImage()
|
||||
|
||||
tkinter.Label().configure(image=photo)
|
||||
tkinter.Label().configure(image=bitmap)
|
||||
# tkinter.Label(image=photo)
|
||||
# tkinter.Label(image=bitmap)
|
||||
|
||||
# tkinter.Label().configure(image=photo)
|
||||
# tkinter.Label().configure(image=bitmap)
|
||||
|
||||
@@ -3,14 +3,14 @@ import tkinter
|
||||
from _typeshed import ReadableBuffer, StrOrBytesPath, SupportsRead
|
||||
from typing import Any
|
||||
|
||||
from PIL.Image import Image, _Mode, _Size
|
||||
from PIL.Image import Image
|
||||
|
||||
class PhotoImage(tkinter._PhotoImageLike):
|
||||
tk: _tkinter.TkappType
|
||||
def __init__(
|
||||
self,
|
||||
image: Image | _Mode | None = None,
|
||||
size: _Size | None = None,
|
||||
image: Image | str | None = None,
|
||||
size: tuple[int, int] | None = None,
|
||||
*,
|
||||
file: StrOrBytesPath | SupportsRead[bytes] = ...,
|
||||
data: ReadableBuffer = ...,
|
||||
|
||||
@@ -1,9 +1,16 @@
|
||||
from _typeshed import Incomplete
|
||||
|
||||
from PIL._imaging import _PixelAccessor
|
||||
from typing import Protocol
|
||||
|
||||
ffi: Incomplete
|
||||
|
||||
# Copy of PIL._imaging.PixelAccess.
|
||||
# See https://github.com/python/typeshed/issues/11688.
|
||||
class _PixelAccessor(Protocol):
|
||||
def __setitem__(self, xy: tuple[int, int], color, /) -> None: ...
|
||||
def __getitem__(self, xy: tuple[int, int], /): ...
|
||||
def putpixel(self, xy: tuple[int, int], color, /) -> None: ...
|
||||
def getpixel(self, xy: tuple[int, int], /): ...
|
||||
|
||||
class PyAccess(_PixelAccessor):
|
||||
readonly: Incomplete
|
||||
image8: Incomplete
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version = "0.9.*"
|
||||
upstream_repository = "https://github.com/asweigart/pyautogui"
|
||||
requires = ["types-Pillow", "types-PyScreeze"]
|
||||
requires = ["types-PyScreeze"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
version = "0.1.30"
|
||||
upstream_repository = "https://github.com/asweigart/pyscreeze"
|
||||
requires = ["types-Pillow"]
|
||||
requires = ["Pillow>=10.3.0"]
|
||||
|
||||
[tool.stubtest]
|
||||
# Linux has extra constants, win32 has different definitions
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
version = "2.7.8"
|
||||
upstream_repository = "https://github.com/PyFPDF/fpdf2"
|
||||
requires = ["types-Pillow>=9.2.0"]
|
||||
requires = ["Pillow>=10.3.0"]
|
||||
|
||||
[tool.stubtest]
|
||||
stubtest_requirements = ["cryptography"]
|
||||
|
||||
@@ -1,3 +1,2 @@
|
||||
version = "0.33.*"
|
||||
upstream_repository = "https://github.com/python-xlib/python-xlib"
|
||||
requires = ["types-Pillow"]
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
from collections.abc import Iterable, Sequence
|
||||
from typing import Any
|
||||
from typing_extensions import TypeAlias
|
||||
|
||||
from PIL import Image
|
||||
from Xlib._typing import ErrorHandler
|
||||
from Xlib.protocol import request, rq
|
||||
from Xlib.protocol.structs import _Arc6IntSequence, _Rectangle4IntSequence, _RGB3IntIterable, _Segment4IntSequence
|
||||
from Xlib.xobject import colormap, cursor, fontable, resource
|
||||
|
||||
_Image: TypeAlias = Any # PIL.Image.Image
|
||||
|
||||
class Drawable(resource.Resource):
|
||||
__drawable__ = resource.Resource.__resource__
|
||||
def get_geometry(self) -> request.GetGeometry: ...
|
||||
@@ -100,7 +102,7 @@ class Drawable(resource.Resource):
|
||||
data: bytes | bytearray,
|
||||
onerror: ErrorHandler[object] | None = None,
|
||||
) -> None: ...
|
||||
def put_pil_image(self, gc: int, x: int, y: int, image: Image.Image, onerror: ErrorHandler[object] | None = None) -> None: ...
|
||||
def put_pil_image(self, gc: int, x: int, y: int, image: _Image, onerror: ErrorHandler[object] | None = None) -> None: ...
|
||||
def get_image(self, x: int, y: int, width: int, height: int, format: int, plane_mask: int) -> request.GetImage: ...
|
||||
def draw_text(
|
||||
self, gc: int, x: int, y: int, text: dict[str, str | int], onerror: ErrorHandler[object] | None = None
|
||||
|
||||
Reference in New Issue
Block a user