You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			218 lines
		
	
	
		
			6.4 KiB
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			218 lines
		
	
	
		
			6.4 KiB
		
	
	
	
		
			Python
		
	
import abc
 | 
						|
from collections.abc import Callable, Collection, Iterable, Sequence, Generator
 | 
						|
import contextlib
 | 
						|
from pathlib import Path
 | 
						|
from matplotlib.artist import Artist
 | 
						|
from matplotlib.backend_bases import TimerBase
 | 
						|
from matplotlib.figure import Figure
 | 
						|
 | 
						|
from typing import Any
 | 
						|
 | 
						|
subprocess_creation_flags: int
 | 
						|
 | 
						|
def adjusted_figsize(w: float, h: float, dpi: float, n: int) -> tuple[float, float]: ...
 | 
						|
 | 
						|
class MovieWriterRegistry:
 | 
						|
    def __init__(self) -> None: ...
 | 
						|
    def register(
 | 
						|
        self, name: str
 | 
						|
    ) -> Callable[[type[AbstractMovieWriter]], type[AbstractMovieWriter]]: ...
 | 
						|
    def is_available(self, name: str) -> bool: ...
 | 
						|
    def __iter__(self) -> Generator[str, None, None]: ...
 | 
						|
    def list(self) -> list[str]: ...
 | 
						|
    def __getitem__(self, name: str) -> type[AbstractMovieWriter]: ...
 | 
						|
 | 
						|
writers: MovieWriterRegistry
 | 
						|
 | 
						|
class AbstractMovieWriter(abc.ABC, metaclass=abc.ABCMeta):
 | 
						|
    fps: int
 | 
						|
    metadata: dict[str, str]
 | 
						|
    codec: str
 | 
						|
    bitrate: int
 | 
						|
    def __init__(
 | 
						|
        self,
 | 
						|
        fps: int = ...,
 | 
						|
        metadata: dict[str, str] | None = ...,
 | 
						|
        codec: str | None = ...,
 | 
						|
        bitrate: int | None = ...,
 | 
						|
    ) -> None: ...
 | 
						|
    outfile: str | Path
 | 
						|
    fig: Figure
 | 
						|
    dpi: float
 | 
						|
 | 
						|
    @abc.abstractmethod
 | 
						|
    def setup(self, fig: Figure, outfile: str | Path, dpi: float | None = ...) -> None: ...
 | 
						|
    @property
 | 
						|
    def frame_size(self) -> tuple[int, int]: ...
 | 
						|
    @abc.abstractmethod
 | 
						|
    def grab_frame(self, **savefig_kwargs) -> None: ...
 | 
						|
    @abc.abstractmethod
 | 
						|
    def finish(self) -> None: ...
 | 
						|
    @contextlib.contextmanager
 | 
						|
    def saving(
 | 
						|
        self, fig: Figure, outfile: str | Path, dpi: float | None, *args, **kwargs
 | 
						|
    ) -> Generator[AbstractMovieWriter, None, None]: ...
 | 
						|
 | 
						|
class MovieWriter(AbstractMovieWriter):
 | 
						|
    supported_formats: list[str]
 | 
						|
    frame_format: str
 | 
						|
    extra_args: list[str] | None
 | 
						|
    def __init__(
 | 
						|
        self,
 | 
						|
        fps: int = ...,
 | 
						|
        codec: str | None = ...,
 | 
						|
        bitrate: int | None = ...,
 | 
						|
        extra_args: list[str] | None = ...,
 | 
						|
        metadata: dict[str, str] | None = ...,
 | 
						|
    ) -> None: ...
 | 
						|
    def setup(self, fig: Figure, outfile: str | Path, dpi: float | None = ...) -> None: ...
 | 
						|
    def grab_frame(self, **savefig_kwargs) -> None: ...
 | 
						|
    def finish(self) -> None: ...
 | 
						|
    @classmethod
 | 
						|
    def bin_path(cls) -> str: ...
 | 
						|
    @classmethod
 | 
						|
    def isAvailable(cls) -> bool: ...
 | 
						|
 | 
						|
class FileMovieWriter(MovieWriter):
 | 
						|
    fig: Figure
 | 
						|
    outfile: str | Path
 | 
						|
    dpi: float
 | 
						|
    temp_prefix: str
 | 
						|
    fname_format_str: str
 | 
						|
    def setup(
 | 
						|
        self,
 | 
						|
        fig: Figure,
 | 
						|
        outfile: str | Path,
 | 
						|
        dpi: float | None = ...,
 | 
						|
        frame_prefix: str | Path | None = ...,
 | 
						|
    ) -> None: ...
 | 
						|
    def __del__(self) -> None: ...
 | 
						|
    @property
 | 
						|
    def frame_format(self) -> str: ...
 | 
						|
    @frame_format.setter
 | 
						|
    def frame_format(self, frame_format: str) -> None: ...
 | 
						|
 | 
						|
class PillowWriter(AbstractMovieWriter):
 | 
						|
    @classmethod
 | 
						|
    def isAvailable(cls) -> bool: ...
 | 
						|
    def setup(
 | 
						|
        self, fig: Figure, outfile: str | Path, dpi: float | None = ...
 | 
						|
    ) -> None: ...
 | 
						|
    def grab_frame(self, **savefig_kwargs) -> None: ...
 | 
						|
    def finish(self) -> None: ...
 | 
						|
 | 
						|
class FFMpegBase:
 | 
						|
    codec: str
 | 
						|
    @property
 | 
						|
    def output_args(self) -> list[str]: ...
 | 
						|
 | 
						|
class FFMpegWriter(FFMpegBase, MovieWriter): ...
 | 
						|
 | 
						|
class FFMpegFileWriter(FFMpegBase, FileMovieWriter):
 | 
						|
    supported_formats: list[str]
 | 
						|
 | 
						|
class ImageMagickBase:
 | 
						|
    @classmethod
 | 
						|
    def bin_path(cls) -> str: ...
 | 
						|
    @classmethod
 | 
						|
    def isAvailable(cls) -> bool: ...
 | 
						|
 | 
						|
class ImageMagickWriter(ImageMagickBase, MovieWriter):
 | 
						|
    input_names: str
 | 
						|
 | 
						|
class ImageMagickFileWriter(ImageMagickBase, FileMovieWriter):
 | 
						|
    supported_formats: list[str]
 | 
						|
    @property
 | 
						|
    def input_names(self) -> str: ...
 | 
						|
 | 
						|
class HTMLWriter(FileMovieWriter):
 | 
						|
    supported_formats: list[str]
 | 
						|
    @classmethod
 | 
						|
    def isAvailable(cls) -> bool: ...
 | 
						|
    embed_frames: bool
 | 
						|
    default_mode: str
 | 
						|
    def __init__(
 | 
						|
        self,
 | 
						|
        fps: int = ...,
 | 
						|
        codec: str | None = ...,
 | 
						|
        bitrate: int | None = ...,
 | 
						|
        extra_args: list[str] | None = ...,
 | 
						|
        metadata: dict[str, str] | None = ...,
 | 
						|
        embed_frames: bool = ...,
 | 
						|
        default_mode: str = ...,
 | 
						|
        embed_limit: float | None = ...,
 | 
						|
    ) -> None: ...
 | 
						|
    def setup(
 | 
						|
        self,
 | 
						|
        fig: Figure,
 | 
						|
        outfile: str | Path,
 | 
						|
        dpi: float | None = ...,
 | 
						|
        frame_dir: str | Path | None = ...,
 | 
						|
    ) -> None: ...
 | 
						|
    def grab_frame(self, **savefig_kwargs): ...
 | 
						|
    def finish(self) -> None: ...
 | 
						|
 | 
						|
class Animation:
 | 
						|
    frame_seq: Iterable[Artist]
 | 
						|
    event_source: Any
 | 
						|
    def __init__(
 | 
						|
        self, fig: Figure, event_source: Any | None = ..., blit: bool = ...
 | 
						|
    ) -> None: ...
 | 
						|
    def __del__(self) -> None: ...
 | 
						|
    def save(
 | 
						|
        self,
 | 
						|
        filename: str | Path,
 | 
						|
        writer: AbstractMovieWriter | str | None = ...,
 | 
						|
        fps: int | None = ...,
 | 
						|
        dpi: float | None = ...,
 | 
						|
        codec: str | None = ...,
 | 
						|
        bitrate: int | None = ...,
 | 
						|
        extra_args: list[str] | None = ...,
 | 
						|
        metadata: dict[str, str] | None = ...,
 | 
						|
        extra_anim: list[Animation] | None = ...,
 | 
						|
        savefig_kwargs: dict[str, Any] | None = ...,
 | 
						|
        *,
 | 
						|
        progress_callback: Callable[[int, int], Any] | None = ...
 | 
						|
    ) -> None: ...
 | 
						|
    def new_frame_seq(self) -> Iterable[Artist]: ...
 | 
						|
    def new_saved_frame_seq(self) -> Iterable[Artist]: ...
 | 
						|
    def to_html5_video(self, embed_limit: float | None = ...) -> str: ...
 | 
						|
    def to_jshtml(
 | 
						|
        self,
 | 
						|
        fps: int | None = ...,
 | 
						|
        embed_frames: bool = ...,
 | 
						|
        default_mode: str | None = ...,
 | 
						|
    ) -> str: ...
 | 
						|
    def _repr_html_(self) -> str: ...
 | 
						|
    def pause(self) -> None: ...
 | 
						|
    def resume(self) -> None: ...
 | 
						|
 | 
						|
class TimedAnimation(Animation):
 | 
						|
    def __init__(
 | 
						|
        self,
 | 
						|
        fig: Figure,
 | 
						|
        interval: int = ...,
 | 
						|
        repeat_delay: int = ...,
 | 
						|
        repeat: bool = ...,
 | 
						|
        event_source: TimerBase | None = ...,
 | 
						|
        *args,
 | 
						|
        **kwargs
 | 
						|
    ) -> None: ...
 | 
						|
 | 
						|
class ArtistAnimation(TimedAnimation):
 | 
						|
    def __init__(self, fig: Figure, artists: Sequence[Collection[Artist]], *args, **kwargs) -> None: ...
 | 
						|
 | 
						|
class FuncAnimation(TimedAnimation):
 | 
						|
    def __init__(
 | 
						|
        self,
 | 
						|
        fig: Figure,
 | 
						|
        func: Callable[..., Iterable[Artist]],
 | 
						|
        frames: Iterable | int | Callable[[], Generator] | None = ...,
 | 
						|
        init_func: Callable[[], Iterable[Artist]] | None = ...,
 | 
						|
        fargs: tuple[Any, ...] | None = ...,
 | 
						|
        save_count: int | None = ...,
 | 
						|
        *,
 | 
						|
        cache_frame_data: bool = ...,
 | 
						|
        **kwargs
 | 
						|
    ) -> None: ...
 |