61 lines
1.4 KiB
Python
61 lines
1.4 KiB
Python
|
from __future__ import annotations
|
||
|
from collections.abc import Iterable
|
||
|
from typing import Any, Callable, Iterator, Optional
|
||
|
|
||
|
class exceptions:
|
||
|
class PytubeError(Exception): ...
|
||
|
|
||
|
class Channel:
|
||
|
channel_id: str
|
||
|
|
||
|
def __init__(self, url: str) -> None:
|
||
|
pass
|
||
|
|
||
|
class innertube:
|
||
|
class InnerTube:
|
||
|
base_url: str
|
||
|
base_data: dict[str, str]
|
||
|
base_params: dict[str, str]
|
||
|
|
||
|
def _call_api(
|
||
|
self, endpoint: str, params: dict[str, str], data: dict[str, str]
|
||
|
) -> dict[str, Any]: ...
|
||
|
def __init__(self, client: str) -> None: ...
|
||
|
|
||
|
class Stream:
|
||
|
resolution: str
|
||
|
is_progressive: bool
|
||
|
is_adaptive: bool
|
||
|
abr: str
|
||
|
def download(
|
||
|
self,
|
||
|
output_path: Optional[str] = None,
|
||
|
filename_prefix: Optional[str] = None,
|
||
|
) -> str: ...
|
||
|
|
||
|
class StreamQuery(Iterable[Stream]):
|
||
|
resolution: str
|
||
|
def filter(
|
||
|
self,
|
||
|
type: Optional[str] = None,
|
||
|
custom_filter_functions: Optional[
|
||
|
list[Callable[[StreamQuery], bool]]
|
||
|
] = None,
|
||
|
only_audio: bool = False,
|
||
|
) -> StreamQuery: ...
|
||
|
def __iter__(self) -> Iterator[Stream]: ...
|
||
|
|
||
|
class YouTube:
|
||
|
def __init__(self, url: str) -> None: ...
|
||
|
|
||
|
length: int
|
||
|
title: str
|
||
|
author: str
|
||
|
watch_url: str
|
||
|
streams: StreamQuery
|
||
|
|
||
|
class Search:
|
||
|
results: Optional[list[YouTube]]
|
||
|
|
||
|
def __init__(self, query: str) -> None: ...
|