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.

77 lines
2.1 KiB
Python

import argparse
import pprint
from collections.abc import Hashable, Iterable, Mapping, MutableMapping, Sequence
from types import ModuleType
from typing import Any, Final, NotRequired, TypedDict, type_check_only
from typing_extensions import TypeVar, override
from .__version__ import version
from .auxfuncs import _Bool
from .auxfuncs import outmess as outmess
###
_KT = TypeVar("_KT", bound=Hashable)
_VT = TypeVar("_VT")
@type_check_only
class _F2PyDict(TypedDict):
csrc: list[str]
h: list[str]
fsrc: NotRequired[list[str]]
ltx: NotRequired[list[str]]
@type_check_only
class _PreparseResult(TypedDict):
dependencies: list[str]
backend: str
modulename: str
###
MESON_ONLY_VER: Final[bool]
f2py_version: Final = version
numpy_version: Final = version
__usage__: Final[str]
show = pprint.pprint
class CombineIncludePaths(argparse.Action):
@override
def __call__(
self,
/,
parser: argparse.ArgumentParser,
namespace: argparse.Namespace,
values: str | Sequence[str] | None,
option_string: str | None = None,
) -> None: ...
#
def run_main(comline_list: Iterable[str]) -> dict[str, _F2PyDict]: ...
def run_compile() -> None: ...
def main() -> None: ...
#
def scaninputline(inputline: Iterable[str]) -> tuple[list[str], dict[str, _Bool]]: ...
def callcrackfortran(files: list[str], options: dict[str, bool]) -> list[dict[str, Any]]: ...
def buildmodules(lst: Iterable[Mapping[str, object]]) -> dict[str, dict[str, Any]]: ...
def dict_append(d_out: MutableMapping[_KT, _VT], d_in: Mapping[_KT, _VT]) -> None: ...
def filter_files(
prefix: str,
suffix: str,
files: Iterable[str],
remove_prefix: _Bool | None = None,
) -> tuple[list[str], list[str]]: ...
def get_prefix(module: ModuleType) -> str: ...
def get_newer_options(iline: Iterable[str]) -> tuple[list[str], Any, list[str]]: ...
#
def f2py_parser() -> argparse.ArgumentParser: ...
def make_f2py_compile_parser() -> argparse.ArgumentParser: ...
#
def preparse_sysargv() -> _PreparseResult: ...
def validate_modulename(pyf_files: Sequence[str], modulename: str = "untitled") -> str: ...