From e6d06b8e138d8c7d25803324965320ada3dda22c Mon Sep 17 00:00:00 2001 From: Antoine Prouvost Date: Fri, 6 Jun 2025 14:23:51 +0200 Subject: [PATCH] Move stubs to libmambapy-stubs (#3976) --- .github/workflows/unix_impl.yml | 8 +- .gitignore | 1 + dev/compare_stubs.py | 112 --- dev/environment-dev.yml | 5 +- libmambapy-stubs/pyproject.toml | 21 + libmambapy-stubs/setup.py | 48 ++ .../py.typed => libmambapy-stubs/src/.gitkeep | 0 libmambapy/src/libmambapy/__init__.pyi | 4 - .../src/libmambapy/bindings/__init__.pyi | 1 - libmambapy/src/libmambapy/bindings/legacy.pyi | 658 ---------------- .../libmambapy/bindings/solver/__init__.pyi | 570 -------------- .../libmambapy/bindings/solver/libsolv.pyi | 227 ------ libmambapy/src/libmambapy/bindings/specs.pyi | 713 ------------------ libmambapy/src/libmambapy/bindings/utils.pyi | 89 --- libmambapy/src/libmambapy/solver/__init__.pyi | 1 - libmambapy/src/libmambapy/solver/libsolv.pyi | 1 - libmambapy/src/libmambapy/specs.pyi | 1 - libmambapy/src/libmambapy/utils.pyi | 1 - libmambapy/src/libmambapy/version.pyi | 5 - 19 files changed, 78 insertions(+), 2388 deletions(-) delete mode 100644 dev/compare_stubs.py create mode 100644 libmambapy-stubs/pyproject.toml create mode 100644 libmambapy-stubs/setup.py rename libmambapy/src/libmambapy/py.typed => libmambapy-stubs/src/.gitkeep (100%) delete mode 100644 libmambapy/src/libmambapy/__init__.pyi delete mode 100644 libmambapy/src/libmambapy/bindings/__init__.pyi delete mode 100644 libmambapy/src/libmambapy/bindings/legacy.pyi delete mode 100644 libmambapy/src/libmambapy/bindings/solver/__init__.pyi delete mode 100644 libmambapy/src/libmambapy/bindings/solver/libsolv.pyi delete mode 100644 libmambapy/src/libmambapy/bindings/specs.pyi delete mode 100644 libmambapy/src/libmambapy/bindings/utils.pyi delete mode 100644 libmambapy/src/libmambapy/solver/__init__.pyi delete mode 100644 libmambapy/src/libmambapy/solver/libsolv.pyi delete mode 100644 libmambapy/src/libmambapy/specs.pyi delete mode 100644 libmambapy/src/libmambapy/utils.pyi delete mode 100644 libmambapy/src/libmambapy/version.pyi diff --git a/.github/workflows/unix_impl.yml b/.github/workflows/unix_impl.yml index da529c222..59acd455f 100644 --- a/.github/workflows/unix_impl.yml +++ b/.github/workflows/unix_impl.yml @@ -112,10 +112,10 @@ jobs: python -m pytest libmambapy/tests/ \ ${{ runner.debug == 'true' && '-v --capture=tee-sys' || '--exitfirst' }} \ ${{ github.ref == 'refs/heads/main' && '--reruns 3' || '' }} - - name: Generate libmambapy stubs - run: stubgen -o generated/ -p libmambapy -p libmambapy.bindings - - name: Check committed libmambapy stubs against generated ones - run: python dev/compare_stubs.py generated/ libmambapy/src + - name: Test generation of libmambapy stubs + run: stubgen -o stubs/ -p libmambapy -p libmambapy.bindings + - name: Test libmambapy-stubs + run: python -m build --wheel --no-isolation libmambapy-stubs/ mamba_integration_tests_unix: name: mamba integration tests diff --git a/.gitignore b/.gitignore index e0df28aa6..219da5a50 100644 --- a/.gitignore +++ b/.gitignore @@ -89,6 +89,7 @@ installed.json tmp/ test_7.json.state _skbuild/ +dist/ /vcpkg_installed/ diff --git a/dev/compare_stubs.py b/dev/compare_stubs.py deleted file mode 100644 index b31ac577a..000000000 --- a/dev/compare_stubs.py +++ /dev/null @@ -1,112 +0,0 @@ -import ast -import sys -import pathlib -import itertools -from collections.abc import Iterable - - -# https://stackoverflow.com/a/66733795 -# original autho Seanny123, CC BY-SA 4.0 -def compare_ast(node1, node2) -> bool: - if type(node1) is not type(node2): - return False - - if isinstance(node1, ast.AST): - for k, v in vars(node1).items(): - if k in {"lineno", "end_lineno", "col_offset", "end_col_offset", "ctx"}: - continue - if not compare_ast(v, getattr(node2, k)): - return False - return True - - elif isinstance(node1, list) and isinstance(node2, list): - return all(compare_ast(n1, n2) for n1, n2 in itertools.zip_longest(node1, node2)) - else: - return node1 == node2 - - -def compare_two_files(file1: pathlib.Path, file2: pathlib.Path) -> bool: - with open(file1) as f1: - a1 = ast.parse(f1.read()) - with open(file2) as f2: - a2 = ast.parse(f2.read()) - return compare_ast(a1, a2) - - -def common_suffix_len(a: str, b: str) -> int: - return len( - [x for x, y in itertools.takewhile(lambda p: p[0] == p[1], zip(reversed(a), reversed(b)))] - ) - - -StubFileCompare = tuple[pathlib.Path, pathlib.Path, bool] -StubFileMissing = pathlib.Path - - -def compare_files( - files1: Iterable[pathlib.Path], - files2: Iterable[pathlib.Path], -) -> list[StubFileCompare | StubFileMissing]: - matches: list[tuple[pathlib.Path, pathlib.Path]] = [] - mismatches: list[pathlib] = [] - - files2_remaining = set(files2) - files1 = sorted(files1, key=lambda p: len(str(p)), reverse=True) - for f1 in files1: - best = max( - files2_remaining, key=lambda f2: common_suffix_len(str(f1), str(f2)), default=None - ) - if best is not None: - matches.append((f1, best)) - files2_remaining.remove(best) - else: - mismatches.append(f1) - mismatches += files2 - return [(f1, f2, compare_two_files(f1, f2)) for f1, f2 in matches] + mismatches - - -def compare_directories( - dir1: pathlib.Path, - dir2: pathlib.Path, -) -> list[StubFileCompare | StubFileMissing]: - return compare_files( - dir1.glob("**/*.pyi"), - dir2.glob("**/*.pyi"), - ) - - -def compare_paths( - path1: pathlib.Path, - path2: pathlib.Path, -) -> list[StubFileCompare | StubFileMissing]: - if path1.is_dir() and path2.is_dir(): - return compare_directories(path1, path2) - elif not path1.is_dir() and not path2.is_dir(): - return [(path1, path2, compare_two_files(path1, path2))] - else: - raise ValueError("Path must be two directories or two files") - - -if __name__ == "__main__": - path1 = pathlib.Path(sys.argv[1]) - path2 = pathlib.Path(sys.argv[2]) - - comparison = compare_paths(path1, path2) - - ok = True - for c in comparison: - if isinstance(c, tuple): - p1, p2, same = c - print("{} {} -> {}".format("✅" if same else "❌", p1, p2)) - ok &= same - else: - print(f"❌ {c} -> ?") - ok = False - - if not ok: - print( - "\nStubs are out of date! Compile and install libmambapy, then run:" - "\n stubgen -o libmambapy/src/ -p libmambapy -p libmambapy.bindings" - ) - - sys.exit(0 if ok else 1) diff --git a/dev/environment-dev.yml b/dev/environment-dev.yml index e3f7e3730..a2b48f565 100644 --- a/dev/environment-dev.yml +++ b/dev/environment-dev.yml @@ -43,10 +43,13 @@ dependencies: - securesystemslib # libmambapy build dependencies - scikit-build - - mypy # For stubgen # libmambapy dependencies - python - pybind11 + # libmambapy-stubs build dependencies + - mypy # For stubgen + - setuptools + - python-build # dev dependencies - pre-commit # Documentation dependencies diff --git a/libmambapy-stubs/pyproject.toml b/libmambapy-stubs/pyproject.toml new file mode 100644 index 000000000..5857feded --- /dev/null +++ b/libmambapy-stubs/pyproject.toml @@ -0,0 +1,21 @@ +[project] +name = "libmambapy-stubs" +authors = [ + {name = "QuantStack", email = "info@quantstack.net"}, + {name = "Other contributors"}, +] +maintainers = [ + {name = "QuantStack", email = "info@quantstack.net"}, +] +description = "Stub files for libmambapy" +requires-python = ">=3.12" +keywords = ["mamba", "stubs"] +license = {text = "BSD-3-Clause"} +dynamic = ["version", "dependencies"] +[projet.url] +Documentation = "https://mamba.readthedocs.io" +Repository = "https://github.com/mamba-org/mamba/" + +[build-system] +requires = ["setuptools>=42"] +build-backend = "setuptools.build_meta" diff --git a/libmambapy-stubs/setup.py b/libmambapy-stubs/setup.py new file mode 100644 index 000000000..870d14079 --- /dev/null +++ b/libmambapy-stubs/setup.py @@ -0,0 +1,48 @@ +import os +import sys + +import libmambapy +import mypy.stubgen +import setuptools +import setuptools.command.build_py + + +class build_py(setuptools.command.build_py.build_py): + def run(self): + """Generate stub files.""" + options = mypy.stubgen.Options( + pyversion=sys.version_info[:2], + no_import=False, + inspect=True, + doc_dir="", + search_path=[], + interpreter=sys.executable, + parse_only=False, + ignore_errors=False, + include_private=False, + output_dir=self.build_lib, + modules=[], + packages=["libmambapy", "libmambapy.bindings"], + files=[], + verbose=False, + quiet=False, + export_less=False, + include_docstrings=False, + ) + mypy.stubgen.generate_stubs(options) + os.rename( + src=os.path.join(self.build_lib, "libmambapy"), + dst=os.path.join(self.build_lib, "libmambapy-stubs"), + ) + + super().run() + + +setuptools.setup( + name="libmambapy-stubs", + version=libmambapy.__version__, + install_requires=[f"libmambapy=={libmambapy.__version__}"], + packages=["src"], + package_data={"libmambapy-stubs": ["**/*.pyi"]}, + cmdclass={"build_py": build_py}, +) diff --git a/libmambapy/src/libmambapy/py.typed b/libmambapy-stubs/src/.gitkeep similarity index 100% rename from libmambapy/src/libmambapy/py.typed rename to libmambapy-stubs/src/.gitkeep diff --git a/libmambapy/src/libmambapy/__init__.pyi b/libmambapy/src/libmambapy/__init__.pyi deleted file mode 100644 index 9f723c6b3..000000000 --- a/libmambapy/src/libmambapy/__init__.pyi +++ /dev/null @@ -1,4 +0,0 @@ -from libmambapy.bindings.legacy import * -from _typeshed import Incomplete - -__version__: Incomplete diff --git a/libmambapy/src/libmambapy/bindings/__init__.pyi b/libmambapy/src/libmambapy/bindings/__init__.pyi deleted file mode 100644 index cbc8d9837..000000000 --- a/libmambapy/src/libmambapy/bindings/__init__.pyi +++ /dev/null @@ -1 +0,0 @@ -from . import legacy as legacy, solver as solver, specs as specs, utils as utils diff --git a/libmambapy/src/libmambapy/bindings/legacy.pyi b/libmambapy/src/libmambapy/bindings/legacy.pyi deleted file mode 100644 index b57b58235..000000000 --- a/libmambapy/src/libmambapy/bindings/legacy.pyi +++ /dev/null @@ -1,658 +0,0 @@ -import libmambapy.bindings.solver -import libmambapy.bindings.solver.libsolv -import libmambapy.bindings.specs -import libmambapy.bindings.utils -import os -from typing import Any, ClassVar, Iterable, Iterator, overload - -MAMBA_CLEAN_ALL: int -MAMBA_CLEAN_INDEX: int -MAMBA_CLEAN_LOCKS: int -MAMBA_CLEAN_PKGS: int -MAMBA_CLEAN_TARBALLS: int -MAMBA_FORCE_REINSTALL: str -MAMBA_NO_DEPS: str -MAMBA_ONLY_DEPS: str -SOLVER_ALLOWUNINSTALL: str -SOLVER_CLEANDEPS: str -SOLVER_DISFAVOR: str -SOLVER_DISTUPGRADE: str -SOLVER_DROP_ORPHANED: str -SOLVER_ERASE: str -SOLVER_ESSENTIAL: str -SOLVER_FAVOR: str -SOLVER_FLAG_ADD_ALREADY_RECOMMENDED: str -SOLVER_FLAG_ALLOW_ARCHCHANGE: str -SOLVER_FLAG_ALLOW_DOWNGRADE: str -SOLVER_FLAG_ALLOW_NAMECHANGE: str -SOLVER_FLAG_ALLOW_UNINSTALL: str -SOLVER_FLAG_ALLOW_VENDORCHANGE: str -SOLVER_FLAG_BEST_OBEY_POLICY: str -SOLVER_FLAG_BREAK_ORPHANS: str -SOLVER_FLAG_DUP_ALLOW_ARCHCHANGE: str -SOLVER_FLAG_DUP_ALLOW_DOWNGRADE: str -SOLVER_FLAG_DUP_ALLOW_NAMECHANGE: str -SOLVER_FLAG_DUP_ALLOW_VENDORCHANGE: str -SOLVER_FLAG_FOCUS_BEST: str -SOLVER_FLAG_FOCUS_INSTALLED: str -SOLVER_FLAG_IGNORE_RECOMMENDED: str -SOLVER_FLAG_INSTALL_ALSO_UPDATES: str -SOLVER_FLAG_KEEP_EXPLICIT_OBSOLETES: str -SOLVER_FLAG_KEEP_ORPHANS: str -SOLVER_FLAG_NEED_UPDATEPROVIDE: str -SOLVER_FLAG_NO_AUTOTARGET: str -SOLVER_FLAG_NO_INFARCHCHECK: str -SOLVER_FLAG_NO_UPDATEPROVIDE: str -SOLVER_FLAG_ONLY_NAMESPACE_RECOMMENDED: str -SOLVER_FLAG_SPLITPROVIDES: str -SOLVER_FLAG_STRICT_REPO_PRIORITY: str -SOLVER_FLAG_STRONG_RECOMMENDS: str -SOLVER_FLAG_URPM_REORDER: str -SOLVER_FLAG_YUM_OBSOLETES: str -SOLVER_FORCEBEST: str -SOLVER_INSTALL: str -SOLVER_JOBMASK: str -SOLVER_LOCK: str -SOLVER_MULTIVERSION: str -SOLVER_NOAUTOSET: str -SOLVER_NOOP: str -SOLVER_NOTBYUSER: str -SOLVER_ORUPDATE: str -SOLVER_SELECTMASK: str -SOLVER_SETARCH: str -SOLVER_SETEV: str -SOLVER_SETEVR: str -SOLVER_SETMASK: str -SOLVER_SETNAME: str -SOLVER_SETREPO: str -SOLVER_SETVENDOR: str -SOLVER_SOLVABLE: str -SOLVER_SOLVABLE_ALL: str -SOLVER_SOLVABLE_NAME: str -SOLVER_SOLVABLE_ONE_OF: str -SOLVER_SOLVABLE_PROVIDES: str -SOLVER_SOLVABLE_REPO: str -SOLVER_TARGETED: str -SOLVER_UPDATE: str -SOLVER_USERINSTALLED: str -SOLVER_VERIFY: str -SOLVER_WEAK: str -SOLVER_WEAKENDEPS: str - -class ChannelContext: - def __init__( - self, - params: libmambapy.bindings.specs.ChannelResolveParams, - has_zst: list[libmambapy.bindings.specs.Channel], - ) -> None: ... - def has_zst(self, arg0: libmambapy.bindings.specs.Channel) -> bool: ... - @overload - def make_channel(self, arg0: str) -> list[libmambapy.bindings.specs.Channel]: ... - @overload - def make_channel( - self, arg0: libmambapy.bindings.specs.UnresolvedChannel - ) -> list[libmambapy.bindings.specs.Channel]: ... - @staticmethod - def make_conda_compatible(arg0: Context) -> ChannelContext: ... - @staticmethod - def make_simple(arg0: Context) -> ChannelContext: ... - def params(self) -> libmambapy.bindings.specs.ChannelResolveParams: ... - -class ChannelPriority: - __members__: ClassVar[dict] = ... # read-only - Disabled: ClassVar[ChannelPriority] = ... - Flexible: ClassVar[ChannelPriority] = ... - Strict: ClassVar[ChannelPriority] = ... - __entries: ClassVar[dict] = ... - def __init__(self, value: int) -> None: ... - def __eq__(self, other: object) -> bool: ... - def __hash__(self) -> int: ... - def __index__(self) -> int: ... - def __int__(self) -> int: ... - def __ne__(self, other: object) -> bool: ... - @property - def name(self) -> str: ... - @property - def value(self) -> int: ... - -class Context: - class OutputParams: - json: bool - quiet: bool - verbosity: int - def __init__(self) -> None: ... - - class PrefixParams: - conda_prefix: os.PathLike - root_prefix: os.PathLike - target_prefix: os.PathLike - def __init__(self) -> None: ... - - class ThreadsParams: - download_threads: int - extract_threads: int - def __init__(self) -> None: ... - - class ValidationParams: - extra_safety_checks: bool - safety_checks: VerificationLevel - trusted_channels: list[str] - verify_artifacts: bool - def __init__(self) -> None: ... - - RemoteFetchParams: ClassVar[type] = ... # read-only - add_pip_as_python_dependency: bool - always_yes: bool - channel_alias: str - channel_priority: ChannelPriority - channels: list[str] - conda_prefix: os.PathLike - connect_timeout_secs: float - custom_channels: dict[str, str] - custom_multichannels: dict[str, list[str]] - default_channels: list[str] - download_only: bool - download_threads: int - dry_run: bool - envs_dirs: list[os.PathLike] - experimental_repodata_parsing: bool - experimental_sat_error_message: bool - extra_safety_checks: bool - extract_threads: int - graphics_params: GraphicsParams - json: bool - local_repodata_ttl: int - max_retries: int - offline: bool - output_params: Context.OutputParams - pkgs_dirs: list[os.PathLike] - platform: str - prefix_params: Context.PrefixParams - proxy_servers: dict[str, str] - quiet: bool - remote_fetch_params: RemoteFetchParams - retry_backoff: int - retry_timeout: int - root_prefix: os.PathLike - safety_checks: VerificationLevel - show_anaconda_channel_warnings: bool - solver_flags: libmambapy.bindings.solver.Request.Flags - ssl_verify: str - target_prefix: os.PathLike - threads_params: Context.ThreadsParams - trusted_channels: list[str] - use_index_cache: bool - use_lockfiles: bool - use_only_tar_bz2: bool - user_agent: str - validation_params: Context.ValidationParams - verbosity: int - verify_artifacts: bool - def __init__(self, options: ContextOptions = ...) -> None: ... - def set_log_level(self, arg0: LogLevel) -> None: ... - def set_verbosity(self, arg0: int) -> None: ... - @staticmethod - def use_default_signal_handler(arg0: bool) -> None: ... - -class ContextOptions: - enable_logging: bool - enable_signal_handling: bool - def __init__(self, enable_logging: bool = ..., enable_signal_handling: bool = ...) -> None: ... - -class DownloadOptions: - download_threads: int - fail_fast: bool - sort: bool - verbose: bool - def __init__(self) -> None: ... - -class GraphicsParams: - no_progress_bars: bool - palette: Palette - def __init__(self) -> None: ... - -class History: - def __init__(self, path: os.PathLike, channel_context: ChannelContext) -> None: ... - def get_requested_specs_map(self) -> dict[str, libmambapy.bindings.specs.MatchSpec]: ... - -class Key: - keytype: str - keyval: str - scheme: str - def __init__(self, *args, **kwargs) -> None: ... - @staticmethod - def from_ed25519(arg0: str) -> Key: ... - @property - def json_str(self) -> str: ... - -class KeyMgr(RoleBase, RoleBaseExtension): - def __init__(self, arg0: str, arg1: RoleFullKeys, arg2: SpecBase) -> None: ... - -class LockFile: - def __init__(self, arg0: os.PathLike) -> None: ... - -class LogLevel: - __members__: ClassVar[dict] = ... # read-only - CRITICAL: ClassVar[LogLevel] = ... - DEBUG: ClassVar[LogLevel] = ... - ERROR: ClassVar[LogLevel] = ... - INFO: ClassVar[LogLevel] = ... - OFF: ClassVar[LogLevel] = ... - TRACE: ClassVar[LogLevel] = ... - WARNING: ClassVar[LogLevel] = ... - __entries: ClassVar[dict] = ... - def __init__(self, value: int) -> None: ... - def __eq__(self, other: object) -> bool: ... - def __hash__(self) -> int: ... - def __index__(self) -> int: ... - def __int__(self) -> int: ... - def __ne__(self, other: object) -> bool: ... - @property - def name(self) -> str: ... - @property - def value(self) -> int: ... - -class MambaNativeException(Exception): ... - -class MatchSpec: - def __init__(self, *args, **kwargs) -> None: ... - -class MirrorMap: - def __init__(self) -> None: ... - def has_mirrors(self, mirror_name: str) -> bool: ... - def __contains__(self, arg0: str) -> bool: ... - def __len__(self) -> int: ... - -class MultiPackageCache: - def __init__(self, context: Context, pkgs_dirs: list[os.PathLike]) -> None: ... - def get_tarball_path( - self, arg0: libmambapy.bindings.specs.PackageInfo, arg1: bool - ) -> os.PathLike: ... - @property - def first_writable_path(self) -> os.PathLike: ... - -class PackageInfo: - def __init__(self, *args, **kwargs) -> None: ... - -class Palette: - addition: libmambapy.bindings.utils.TextStyle - deletion: libmambapy.bindings.utils.TextStyle - external: libmambapy.bindings.utils.TextStyle - failure: libmambapy.bindings.utils.TextStyle - ignored: libmambapy.bindings.utils.TextStyle - progress_bar_downloaded: libmambapy.bindings.utils.TextStyle - progress_bar_extracted: libmambapy.bindings.utils.TextStyle - progress_bar_none: libmambapy.bindings.utils.TextStyle - safe: libmambapy.bindings.utils.TextStyle - shown: libmambapy.bindings.utils.TextStyle - success: libmambapy.bindings.utils.TextStyle - unsafe: libmambapy.bindings.utils.TextStyle - user: libmambapy.bindings.utils.TextStyle - def __init__(self, *args, **kwargs) -> None: ... - @staticmethod - def no_color() -> Palette: ... - @staticmethod - def terminal() -> Palette: ... - -class Path: - def __init__(self, arg0: str) -> None: ... - -class PkgMgr(RoleBase, RoleBaseExtension): - def __init__(self, arg0: str, arg1: RoleFullKeys, arg2: SpecBase) -> None: ... - -class Pool: - def __init__(self, *args, **kwargs) -> None: ... - -class PrefixData: - def __init__(self, path: os.PathLike, channel_context: ChannelContext) -> None: ... - def add_packages(self, arg0: list[libmambapy.bindings.specs.PackageInfo]) -> None: ... - @property - def package_records(self) -> dict[str, libmambapy.bindings.specs.PackageInfo]: ... - -class Query: - def __init__(self, *args, **kwargs) -> None: ... - @staticmethod - def depends( - arg0: libmambapy.bindings.solver.libsolv.Database, arg1: str, arg2: bool - ) -> QueryResult: ... - @staticmethod - def find(arg0: libmambapy.bindings.solver.libsolv.Database, arg1: list[str]) -> QueryResult: ... - @staticmethod - def whoneeds( - arg0: libmambapy.bindings.solver.libsolv.Database, arg1: str, arg2: bool - ) -> QueryResult: ... - -class QueryResult: - def __init__(self, *args, **kwargs) -> None: ... - def groupby(self, arg0: str) -> QueryResult: ... - def json(self) -> str: ... - def pretty(self, show_all_builds: bool = ...) -> str: ... - def reset(self) -> QueryResult: ... - def sort(self, arg0: str) -> QueryResult: ... - def table(self) -> str: ... - def to_dict(self) -> object: ... - def tree(self, arg0: GraphicsParams) -> str: ... - @property - def query(self) -> str: ... - @property - def type(self) -> QueryType: ... - -class QueryResultFormat: - __members__: ClassVar[dict] = ... # read-only - Json: ClassVar[QueryResultFormat] = ... - Pretty: ClassVar[QueryResultFormat] = ... - RecursiveTable: ClassVar[QueryResultFormat] = ... - Table: ClassVar[QueryResultFormat] = ... - Tree: ClassVar[QueryResultFormat] = ... - __entries: ClassVar[dict] = ... - @overload - def __init__(self, value: int) -> None: ... - @overload - def __init__(self, arg0: str) -> None: ... - def __eq__(self, other: object) -> bool: ... - def __hash__(self) -> int: ... - def __index__(self) -> int: ... - def __int__(self) -> int: ... - def __ne__(self, other: object) -> bool: ... - @property - def name(self) -> str: ... - @property - def value(self) -> int: ... - -class QueryType: - __members__: ClassVar[dict] = ... # read-only - Depends: ClassVar[QueryType] = ... - Search: ClassVar[QueryType] = ... - WhoNeeds: ClassVar[QueryType] = ... - __entries: ClassVar[dict] = ... - @overload - def __init__(self, value: int) -> None: ... - @overload - def __init__(self, arg0: str) -> None: ... - @staticmethod - def parse(arg0: str) -> QueryType: ... - def __eq__(self, other: object) -> bool: ... - def __hash__(self) -> int: ... - def __index__(self) -> int: ... - def __int__(self) -> int: ... - def __ne__(self, other: object) -> bool: ... - @property - def name(self) -> str: ... - @property - def value(self) -> int: ... - -class RemoteFetchParams: - connect_timeout_secs: float - max_retries: int - proxy_servers: dict[str, str] - retry_backoff: int - retry_timeout: int - ssl_verify: str - user_agent: str - def __init__(self) -> None: ... - -class Repo: - def __init__(self, *args, **kwargs) -> None: ... - -class RoleBase: - def __init__(self, *args, **kwargs) -> None: ... - def all_keys(self) -> dict[str, RoleFullKeys]: ... - @property - def expired(self) -> bool: ... - @property - def expires(self) -> str: ... - @property - def file_ext(self) -> str: ... - @property - def spec_version(self) -> SpecBase: ... - @property - def type(self) -> str: ... - @property - def version(self) -> int: ... - -class RoleBaseExtension: - def __init__(self, *args, **kwargs) -> None: ... - @property - def timestamp(self) -> str: ... - -class RoleFullKeys: - keys: dict[str, Key] - threshold: int - @overload - def __init__(self) -> None: ... - @overload - def __init__(self, keys: dict[str, Key], threshold: int) -> None: ... - -class RootImpl(RoleBase, RoleBaseExtension): - def __init__(self, json_str: str) -> None: ... - def create_key_mgr(self, json_str: str) -> KeyMgr: ... - def update(self, json_str: str) -> RootRole: ... - -class RootRole: - def __init__(self, *args, **kwargs) -> None: ... - -class Solver: - __members__: ClassVar[dict] = ... # read-only - __entries: ClassVar[dict] = ... - @overload - def __init__(self, value: int) -> None: ... - @overload - def __init__(self, *args, **kwargs) -> Any: ... - def __eq__(self, other: object) -> bool: ... - def __hash__(self) -> int: ... - def __index__(self) -> int: ... - def __int__(self) -> int: ... - def __ne__(self, other: object) -> bool: ... - @property - def name(self) -> str: ... - @property - def value(self) -> int: ... - -class SolverRuleinfo: - __members__: ClassVar[dict] = ... # read-only - __entries: ClassVar[dict] = ... - @overload - def __init__(self, value: int) -> None: ... - @overload - def __init__(self, *args, **kwargs) -> Any: ... - def __eq__(self, other: object) -> bool: ... - def __hash__(self) -> int: ... - def __index__(self) -> int: ... - def __int__(self) -> int: ... - def __ne__(self, other: object) -> bool: ... - @property - def name(self) -> str: ... - @property - def value(self) -> int: ... - -class SpecBase: - def __init__(self, *args, **kwargs) -> None: ... - -class SpecImpl(SpecBase): - def __init__(self) -> None: ... - -class SubdirData: - def __init__(self, *args, **kwargs) -> None: ... - def cache_path(self) -> str: ... - def create_repo( - self, context: Context, db: libmambapy.bindings.solver.libsolv.Database - ) -> libmambapy.bindings.solver.libsolv.RepoInfo: ... - def loaded(self) -> bool: ... - def valid_json_cache(self) -> os.PathLike | None: ... - def valid_solv_cache(self) -> os.PathLike | None: ... - -class SubdirDownloadParams: - offline: bool - repodata_check_zst: bool - def __init__(self, *args, **kwargs) -> None: ... - -class SubdirIndex: - def __init__(self) -> None: ... - def create( - self, - context: Context, - channel_context: ChannelContext, - channel: libmambapy.bindings.specs.Channel, - platform: str, - full_url: str, - caches: MultiPackageCache, - repodata_fn: str, - url: str, - ) -> None: ... - def download(self, arg0: Context) -> bool: ... - def __getitem__(self, arg0: int) -> SubdirIndexEntry: ... - def __iter__(self) -> Iterator[SubdirIndexEntry]: ... - def __len__(self) -> int: ... - -class SubdirIndexEntry: - def __init__(self) -> None: ... - @property - def channel(self) -> libmambapy.bindings.specs.Channel: ... - @property - def platform(self) -> str: ... - @property - def subdir(self) -> SubdirData: ... - @property - def url(self) -> str: ... - -class SubdirIndexLoader: - def __init__(self, *args, **kwargs) -> None: ... - def caching_is_forbidden(self) -> bool: ... - def channel(self) -> libmambapy.bindings.specs.Channel: ... - def channel_id(self) -> str: ... - def clear_valid_cache_files(self) -> None: ... - @staticmethod - def create( - params: SubdirParams, - channel: libmambapy.bindings.specs.Channel, - platform: str, - caches: MultiPackageCache, - repodata_filename: str = ..., - ) -> SubdirIndexLoader: ... - @staticmethod - def download_required_indexes( - subdir_indices: Iterable, - subdir_params: SubdirDownloadParams, - auth_info: libmambapy.bindings.specs.AuthenticationDataBase, - mirrors: MirrorMap, - download_options: DownloadOptions, - remote_fetch_params: RemoteFetchParams, - ) -> None: ... - def is_local(self) -> bool: ... - def is_noarch(self) -> bool: ... - def metadata(self) -> SubdirMetadata: ... - def name(self) -> str: ... - def platform(self) -> str: ... - def repodata_url(self) -> libmambapy.bindings.specs.CondaURL: ... - def valid_cache_found(self) -> bool: ... - def valid_json_cache_path(self) -> os.PathLike: ... - def valid_libsolv_cache_path(self) -> os.PathLike: ... - def writable_libsolv_cache_path(self) -> os.PathLike: ... - -class SubdirMetadata: - class HttpMetadata: - cache_control: str - etag: str - last_modified: str - url: str - def __init__(self, *args, **kwargs) -> None: ... - - def __init__(self, *args, **kwargs) -> None: ... - def cache_control(self) -> str: ... - def etag(self) -> str: ... - def has_up_to_date_zst(self) -> bool: ... - def is_valid_metadata(self, arg0: os.PathLike) -> bool: ... - def last_modified(self) -> str: ... - @staticmethod - def read(arg0: os.PathLike) -> SubdirMetadata: ... - @staticmethod - def read_from_repodata_json(arg0: os.PathLike) -> SubdirMetadata: ... - @staticmethod - def read_state_file(arg0: os.PathLike, arg1: os.PathLike) -> SubdirMetadata: ... - def set_http_metadata(self, arg0: SubdirMetadata.HttpMetadata) -> None: ... - def set_zst(self, arg0: bool) -> None: ... - def store_file_metadata(self, arg0: os.PathLike) -> None: ... - def url(self) -> str: ... - def write_state_file(self, arg0: os.PathLike) -> None: ... - -class SubdirParams: - local_repodata_ttl_s: int | None - offline: bool - repodata_force_use_zst: bool - def __init__(self, *args, **kwargs) -> None: ... - -class TimeRef: - @overload - def __init__(self) -> None: ... - @overload - def __init__(self, arg0: int) -> None: ... - def set(self, arg0: int) -> None: ... - def set_now(self) -> None: ... - def timestamp(self) -> str: ... - -class Transaction: - def __init__( - self, - arg0: Context, - arg1: libmambapy.bindings.solver.libsolv.Database, - arg2: libmambapy.bindings.solver.Request, - arg3: libmambapy.bindings.solver.Solution, - arg4: MultiPackageCache, - ) -> None: ... - def execute(self, arg0: Context, arg1: ChannelContext, arg2: PrefixData) -> bool: ... - def fetch_extract_packages(self, arg0: Context, arg1: ChannelContext) -> bool: ... - def log_json(self) -> None: ... - def print(self, arg0: Context, arg1: ChannelContext) -> None: ... - def prompt(self, arg0: Context, arg1: ChannelContext) -> bool: ... - def to_conda( - self, - ) -> tuple[tuple[list[str], list[str]], list[tuple[str, str, str]], list[tuple[str, str]]]: ... - -class VerificationLevel: - __members__: ClassVar[dict] = ... # read-only - Disabled: ClassVar[VerificationLevel] = ... - Enabled: ClassVar[VerificationLevel] = ... - Warn: ClassVar[VerificationLevel] = ... - __entries: ClassVar[dict] = ... - def __init__(self, value: int) -> None: ... - def __eq__(self, other: object) -> bool: ... - def __hash__(self) -> int: ... - def __index__(self) -> int: ... - def __int__(self) -> int: ... - def __ne__(self, other: object) -> bool: ... - @property - def name(self) -> str: ... - @property - def value(self) -> int: ... - -class ostream_redirect: - def __init__(self, stdout: bool = ..., stderr: bool = ...) -> None: ... - def __enter__(self) -> None: ... - def __exit__(self, *args) -> None: ... - -def cache_filename_from_url(arg0: str) -> str: ... -def cache_fn_url(arg0: str) -> str: ... -def cache_name_from_url(arg0: str) -> str: ... -def cancel_json_output(arg0: Context) -> None: ... -def clean(context: Context, flags: int) -> None: ... -def create_cache_dir(arg0: os.PathLike) -> str: ... -def extract_package(arg0: os.PathLike, arg1: os.PathLike, arg2: bool) -> None: ... -def generate_ed25519_keypair() -> tuple[str, str]: ... -def get_virtual_packages(arg0: Context) -> list[libmambapy.bindings.specs.PackageInfo]: ... -def init_console() -> None: ... -def load_installed_packages_in_database( - context: Context, database: libmambapy.bindings.solver.libsolv.Database, prefix_data: PrefixData -) -> libmambapy.bindings.solver.libsolv.RepoInfo: ... -def load_subdir_in_database( - context: Context, - database: libmambapy.bindings.solver.libsolv.Database, - subdir: SubdirIndexLoader, -) -> libmambapy.bindings.solver.libsolv.RepoInfo: ... -def sign(data: str, secret_key: str) -> str: ... -def transmute( - context: Context, - source_package: os.PathLike, - destination_package: os.PathLike, - compression_level: int, - compression_threads: int = ..., -) -> bool: ... diff --git a/libmambapy/src/libmambapy/bindings/solver/__init__.pyi b/libmambapy/src/libmambapy/bindings/solver/__init__.pyi deleted file mode 100644 index 37910c08e..000000000 --- a/libmambapy/src/libmambapy/bindings/solver/__init__.pyi +++ /dev/null @@ -1,570 +0,0 @@ -import libmambapy.bindings.specs -import libmambapy.bindings.utils -from . import libsolv as libsolv -from _typeshed import Incomplete -from typing import ClassVar, Iterable, Iterator, overload - -class CompressedProblemsGraph: - class ConstraintListNode: - def __init__(self) -> None: ... - def add(self, arg0: ProblemsGraph.ConstraintNode) -> None: ... - def build_strings_trunc( - self, - sep: str = ..., - etc: str = ..., - threshold: int = ..., - remove_duplicates: bool = ..., - ) -> tuple[str, int]: ... - def clear(self) -> None: ... - def name(self) -> str: ... - def versions_and_build_strings_trunc( - self, - sep: str = ..., - etc: str = ..., - threshold: int = ..., - remove_duplicates: bool = ..., - ) -> tuple[str, int]: ... - def versions_trunc( - self, - sep: str = ..., - etc: str = ..., - threshold: int = ..., - remove_duplicates: bool = ..., - ) -> tuple[str, int]: ... - def __bool__(self) -> bool: ... - def __iter__(self) -> Iterator[ProblemsGraph.ConstraintNode]: ... - def __len__(self) -> int: ... - - class DependencyList: - def __init__(self) -> None: ... - def add(self, arg0: libmambapy.bindings.specs.MatchSpec) -> None: ... - def build_strings_trunc( - self, - sep: str = ..., - etc: str = ..., - threshold: int = ..., - remove_duplicates: bool = ..., - ) -> tuple[str, int]: ... - def clear(self) -> None: ... - def name(self) -> str: ... - def versions_and_build_strings_trunc( - self, - sep: str = ..., - etc: str = ..., - threshold: int = ..., - remove_duplicates: bool = ..., - ) -> tuple[str, int]: ... - def versions_trunc( - self, - sep: str = ..., - etc: str = ..., - threshold: int = ..., - remove_duplicates: bool = ..., - ) -> tuple[str, int]: ... - def __bool__(self) -> bool: ... - def __iter__(self) -> Iterator[libmambapy.bindings.specs.MatchSpec]: ... - def __len__(self) -> int: ... - - class PackageListNode: - def __init__(self) -> None: ... - def add(self, arg0: ProblemsGraph.PackageNode) -> None: ... - def build_strings_trunc( - self, - sep: str = ..., - etc: str = ..., - threshold: int = ..., - remove_duplicates: bool = ..., - ) -> tuple[str, int]: ... - def clear(self) -> None: ... - def name(self) -> str: ... - def versions_and_build_strings_trunc( - self, - sep: str = ..., - etc: str = ..., - threshold: int = ..., - remove_duplicates: bool = ..., - ) -> tuple[str, int]: ... - def versions_trunc( - self, - sep: str = ..., - etc: str = ..., - threshold: int = ..., - remove_duplicates: bool = ..., - ) -> tuple[str, int]: ... - def __bool__(self) -> bool: ... - def __iter__(self) -> Iterator[ProblemsGraph.PackageNode]: ... - def __len__(self) -> int: ... - - class UnresolvedDependencyListNode: - def __init__(self) -> None: ... - def add(self, arg0: ProblemsGraph.UnresolvedDependencyNode) -> None: ... - def build_strings_trunc( - self, - sep: str = ..., - etc: str = ..., - threshold: int = ..., - remove_duplicates: bool = ..., - ) -> tuple[str, int]: ... - def clear(self) -> None: ... - def name(self) -> str: ... - def versions_and_build_strings_trunc( - self, - sep: str = ..., - etc: str = ..., - threshold: int = ..., - remove_duplicates: bool = ..., - ) -> tuple[str, int]: ... - def versions_trunc( - self, - sep: str = ..., - etc: str = ..., - threshold: int = ..., - remove_duplicates: bool = ..., - ) -> tuple[str, int]: ... - def __bool__(self) -> bool: ... - def __iter__(self) -> Iterator[ProblemsGraph.UnresolvedDependencyNode]: ... - def __len__(self) -> int: ... - - ConflictMap: ClassVar[type] = ... # read-only - RootNode: ClassVar[type] = ... # read-only - def __init__(self, *args, **kwargs) -> None: ... - def conflicts(self) -> ProblemsGraph.ConflictMap: ... - @overload - @staticmethod - def from_problems_graph( - problems_graph: ProblemsGraph, merge_criteria - ) -> CompressedProblemsGraph: ... - @overload - @staticmethod - def from_problems_graph(problems_graph: ProblemsGraph) -> CompressedProblemsGraph: ... - def graph( - self, - ) -> tuple[ - dict[ - int, - ProblemsGraph.RootNode - | CompressedProblemsGraph.PackageListNode - | CompressedProblemsGraph.UnresolvedDependencyListNode - | CompressedProblemsGraph.ConstraintListNode, - ], - dict[tuple[int, int], CompressedProblemsGraph.DependencyList], - ]: ... - def root_node(self) -> int: ... - def tree_message(self, format: ProblemsMessageFormat = ...) -> str: ... - -class ProblemsGraph: - class ConflictMap: - def __init__(self) -> None: ... - def add(self, arg0: int, arg1: int) -> bool: ... - def clear(self) -> None: ... - def conflicts(self, arg0: int) -> set[int]: ... - def has_conflict(self, arg0: int) -> bool: ... - def in_conflict(self, arg0: int, arg1: int) -> bool: ... - def __bool__(self) -> bool: ... - def __contains__(self, arg0: int) -> bool: ... - def __copy__(self) -> ProblemsGraph.ConflictMap: ... - def __deepcopy__(self, memo: dict) -> ProblemsGraph.ConflictMap: ... - def __eq__(self, arg0: ProblemsGraph.ConflictMap) -> bool: ... - def __iter__(self) -> Iterator[tuple[int, set[int]]]: ... - def __len__(self) -> int: ... - def __ne__(self, arg0: ProblemsGraph.ConflictMap) -> bool: ... - - class ConstraintNode(libmambapy.bindings.specs.MatchSpec): - def __init__(self, arg0: libmambapy.bindings.specs.MatchSpec) -> None: ... - - class PackageNode(libmambapy.bindings.specs.PackageInfo): - def __init__(self, arg0: libmambapy.bindings.specs.PackageInfo) -> None: ... - - class RootNode: - def __init__(self) -> None: ... - - class UnresolvedDependencyNode(libmambapy.bindings.specs.MatchSpec): - def __init__(self, arg0: libmambapy.bindings.specs.MatchSpec) -> None: ... - - def __init__(self, *args, **kwargs) -> None: ... - def conflicts(self) -> ProblemsGraph.ConflictMap: ... - def graph( - self, - ) -> tuple[ - dict[ - int, - ProblemsGraph.RootNode - | ProblemsGraph.PackageNode - | ProblemsGraph.UnresolvedDependencyNode - | ProblemsGraph.ConstraintNode, - ], - dict[tuple[int, int], libmambapy.bindings.specs.MatchSpec], - ]: ... - def root_node(self) -> int: ... - @staticmethod - def simplify_conflicts(arg0: ProblemsGraph) -> ProblemsGraph: ... - -class ProblemsMessageFormat: - available: libmambapy.bindings.utils.TextStyle - indents: Incomplete - unavailable: libmambapy.bindings.utils.TextStyle - @overload - def __init__(self) -> None: ... - @overload - def __init__( - self, - unavailable: libmambapy.bindings.utils.TextStyle, - available: libmambapy.bindings.utils.TextStyle, - indents, - ) -> None: ... - def __copy__(self) -> ProblemsMessageFormat: ... - def __deepcopy__(self, memo: dict) -> ProblemsMessageFormat: ... - -class Request: - class Flags: - allow_downgrade: bool - allow_uninstall: bool - force_reinstall: bool - keep_dependencies: bool - keep_user_specs: bool - order_request: bool - strict_repo_priority: bool - def __init__( - self, - keep_dependencies: bool = ..., - keep_user_specs: bool = ..., - force_reinstall: bool = ..., - allow_downgrade: bool = ..., - allow_uninstall: bool = ..., - strict_repo_priority: bool = ..., - order_request: bool = ..., - ) -> None: ... - def __copy__(self) -> Request.Flags: ... - def __deepcopy__(self, memo: dict) -> Request.Flags: ... - - class Freeze: - spec: libmambapy.bindings.specs.MatchSpec - def __init__(self, spec: libmambapy.bindings.specs.MatchSpec) -> None: ... - def __copy__(self) -> Request.Freeze: ... - def __deepcopy__(self, memo: dict) -> Request.Freeze: ... - - class Install: - spec: libmambapy.bindings.specs.MatchSpec - def __init__(self, spec: libmambapy.bindings.specs.MatchSpec) -> None: ... - def __copy__(self) -> Request.Install: ... - def __deepcopy__(self, memo: dict) -> Request.Install: ... - - class JobList: - @overload - def __init__(self) -> None: ... - @overload - def __init__(self, arg0: Request.JobList) -> None: ... - @overload - def __init__(self, arg0: Iterable) -> None: ... - def append( - self, - x: Request.Install - | Request.Remove - | Request.Update - | Request.UpdateAll - | Request.Keep - | Request.Freeze - | Request.Pin, - ) -> None: ... - def clear(self) -> None: ... - @overload - def extend(self, L: Request.JobList) -> None: ... - @overload - def extend(self, L: Iterable) -> None: ... - def insert( - self, - i: int, - x: Request.Install - | Request.Remove - | Request.Update - | Request.UpdateAll - | Request.Keep - | Request.Freeze - | Request.Pin, - ) -> None: ... - @overload - def pop( - self, - ) -> ( - Request.Install - | Request.Remove - | Request.Update - | Request.UpdateAll - | Request.Keep - | Request.Freeze - | Request.Pin - ): ... - @overload - def pop( - self, i: int - ) -> ( - Request.Install - | Request.Remove - | Request.Update - | Request.UpdateAll - | Request.Keep - | Request.Freeze - | Request.Pin - ): ... - def __bool__(self) -> bool: ... - @overload - def __delitem__(self, arg0: int) -> None: ... - @overload - def __delitem__(self, arg0: slice) -> None: ... - @overload - def __getitem__(self, s: slice) -> Request.JobList: ... - @overload - def __getitem__( - self, arg0: int - ) -> ( - Request.Install - | Request.Remove - | Request.Update - | Request.UpdateAll - | Request.Keep - | Request.Freeze - | Request.Pin - ): ... - def __iter__( - self, - ) -> Iterator[ - Request.Install - | Request.Remove - | Request.Update - | Request.UpdateAll - | Request.Keep - | Request.Freeze - | Request.Pin - ]: ... - def __len__(self) -> int: ... - @overload - def __setitem__( - self, - arg0: int, - arg1: Request.Install - | Request.Remove - | Request.Update - | Request.UpdateAll - | Request.Keep - | Request.Freeze - | Request.Pin, - ) -> None: ... - @overload - def __setitem__(self, arg0: slice, arg1: Request.JobList) -> None: ... - - class Keep: - spec: libmambapy.bindings.specs.MatchSpec - def __init__(self, spec: libmambapy.bindings.specs.MatchSpec) -> None: ... - def __copy__(self) -> Request.Keep: ... - def __deepcopy__(self, memo: dict) -> Request.Keep: ... - - class Pin: - spec: libmambapy.bindings.specs.MatchSpec - def __init__(self, spec: libmambapy.bindings.specs.MatchSpec) -> None: ... - def __copy__(self) -> Request.Pin: ... - def __deepcopy__(self, memo: dict) -> Request.Pin: ... - - class Remove: - clean_dependencies: bool - spec: libmambapy.bindings.specs.MatchSpec - def __init__( - self, spec: libmambapy.bindings.specs.MatchSpec, clean_dependencies: bool = ... - ) -> None: ... - def __copy__(self) -> Request.Remove: ... - def __deepcopy__(self, memo: dict) -> Request.Remove: ... - - class Update: - clean_dependencies: bool - spec: libmambapy.bindings.specs.MatchSpec - def __init__( - self, spec: libmambapy.bindings.specs.MatchSpec, clean_dependencies: bool = ... - ) -> None: ... - def __copy__(self) -> Request.Update: ... - def __deepcopy__(self, memo: dict) -> Request.Update: ... - - class UpdateAll: - clean_dependencies: bool - def __init__(self, clean_dependencies: bool = ...) -> None: ... - def __copy__(self) -> Request.UpdateAll: ... - def __deepcopy__(self, memo: dict) -> Request.UpdateAll: ... - - flags: Request.Flags - jobs: Request.JobList - @overload - def __init__(self, jobs: Request.JobList, flags: Request.Flags = ...) -> None: ... - @overload - def __init__(self, jobs: Iterable, flags: Request.Flags = ...) -> None: ... - def __copy__(self) -> Request: ... - def __deepcopy__(self, memo: dict) -> Request: ... - -class Solution: - class ActionList: - @overload - def __init__(self) -> None: ... - @overload - def __init__(self, arg0: Solution.ActionList) -> None: ... - @overload - def __init__(self, arg0: Iterable) -> None: ... - def append( - self, - x: Solution.Omit - | Solution.Upgrade - | Solution.Downgrade - | Solution.Change - | Solution.Reinstall - | Solution.Remove - | Solution.Install, - ) -> None: ... - def clear(self) -> None: ... - @overload - def extend(self, L: Solution.ActionList) -> None: ... - @overload - def extend(self, L: Iterable) -> None: ... - def insert( - self, - i: int, - x: Solution.Omit - | Solution.Upgrade - | Solution.Downgrade - | Solution.Change - | Solution.Reinstall - | Solution.Remove - | Solution.Install, - ) -> None: ... - @overload - def pop( - self, - ) -> ( - Solution.Omit - | Solution.Upgrade - | Solution.Downgrade - | Solution.Change - | Solution.Reinstall - | Solution.Remove - | Solution.Install - ): ... - @overload - def pop( - self, i: int - ) -> ( - Solution.Omit - | Solution.Upgrade - | Solution.Downgrade - | Solution.Change - | Solution.Reinstall - | Solution.Remove - | Solution.Install - ): ... - def __bool__(self) -> bool: ... - @overload - def __delitem__(self, arg0: int) -> None: ... - @overload - def __delitem__(self, arg0: slice) -> None: ... - @overload - def __getitem__(self, s: slice) -> Solution.ActionList: ... - @overload - def __getitem__( - self, arg0: int - ) -> ( - Solution.Omit - | Solution.Upgrade - | Solution.Downgrade - | Solution.Change - | Solution.Reinstall - | Solution.Remove - | Solution.Install - ): ... - def __iter__( - self, - ) -> Iterator[ - Solution.Omit - | Solution.Upgrade - | Solution.Downgrade - | Solution.Change - | Solution.Reinstall - | Solution.Remove - | Solution.Install - ]: ... - def __len__(self) -> int: ... - @overload - def __setitem__( - self, - arg0: int, - arg1: Solution.Omit - | Solution.Upgrade - | Solution.Downgrade - | Solution.Change - | Solution.Reinstall - | Solution.Remove - | Solution.Install, - ) -> None: ... - @overload - def __setitem__(self, arg0: slice, arg1: Solution.ActionList) -> None: ... - - class Change: - install: libmambapy.bindings.specs.PackageInfo - remove: libmambapy.bindings.specs.PackageInfo - def __init__( - self, - remove: libmambapy.bindings.specs.PackageInfo, - install: libmambapy.bindings.specs.PackageInfo, - ) -> None: ... - def __copy__(self) -> Solution.Change: ... - def __deepcopy__(self, memo: dict) -> Solution.Change: ... - - class Downgrade: - install: libmambapy.bindings.specs.PackageInfo - remove: libmambapy.bindings.specs.PackageInfo - def __init__( - self, - remove: libmambapy.bindings.specs.PackageInfo, - install: libmambapy.bindings.specs.PackageInfo, - ) -> None: ... - def __copy__(self) -> Solution.Downgrade: ... - def __deepcopy__(self, memo: dict) -> Solution.Downgrade: ... - - class Install: - install: libmambapy.bindings.specs.PackageInfo - def __init__(self, install: libmambapy.bindings.specs.PackageInfo) -> None: ... - def __copy__(self) -> Solution.Install: ... - def __deepcopy__(self, memo: dict) -> Solution.Install: ... - - class Omit: - what: libmambapy.bindings.specs.PackageInfo - def __init__(self, what: libmambapy.bindings.specs.PackageInfo) -> None: ... - def __copy__(self) -> Solution.Omit: ... - def __deepcopy__(self, memo: dict) -> Solution.Omit: ... - - class Reinstall: - what: libmambapy.bindings.specs.PackageInfo - def __init__(self, what: libmambapy.bindings.specs.PackageInfo) -> None: ... - def __copy__(self) -> Solution.Reinstall: ... - def __deepcopy__(self, memo: dict) -> Solution.Reinstall: ... - - class Remove: - remove: libmambapy.bindings.specs.PackageInfo - def __init__(self, remove: libmambapy.bindings.specs.PackageInfo) -> None: ... - def __copy__(self) -> Solution.Remove: ... - def __deepcopy__(self, memo: dict) -> Solution.Remove: ... - - class Upgrade: - install: libmambapy.bindings.specs.PackageInfo - remove: libmambapy.bindings.specs.PackageInfo - def __init__( - self, - remove: libmambapy.bindings.specs.PackageInfo, - install: libmambapy.bindings.specs.PackageInfo, - ) -> None: ... - def __copy__(self) -> Solution.Upgrade: ... - def __deepcopy__(self, memo: dict) -> Solution.Upgrade: ... - - actions: Solution.ActionList - @overload - def __init__(self, arg0: Solution.ActionList) -> None: ... - @overload - def __init__(self, arg0: Iterable) -> None: ... - def to_install(self) -> list[libmambapy.bindings.specs.PackageInfo]: ... - def to_omit(self) -> list[libmambapy.bindings.specs.PackageInfo]: ... - def to_remove(self) -> list[libmambapy.bindings.specs.PackageInfo]: ... - def __copy__(self) -> Solution: ... - def __deepcopy__(self, memo: dict) -> Solution: ... diff --git a/libmambapy/src/libmambapy/bindings/solver/libsolv.pyi b/libmambapy/src/libmambapy/bindings/solver/libsolv.pyi deleted file mode 100644 index ca91e1723..000000000 --- a/libmambapy/src/libmambapy/bindings/solver/libsolv.pyi +++ /dev/null @@ -1,227 +0,0 @@ -import libmambapy.bindings.solver -import libmambapy.bindings.specs -import os -from typing import Callable, ClassVar, Iterable, overload - -class Database: - def __init__( - self, - channel_params: libmambapy.bindings.specs.ChannelResolveParams, - matchspec_parser: MatchSpecParser = ..., - ) -> None: ... - def add_repo_from_native_serialization( - self, - path: os.PathLike, - expected: RepodataOrigin, - channel_id: str, - add_pip_as_python_dependency: PipAsPythonDependency = ..., - ) -> RepoInfo: ... - def add_repo_from_packages( - self, - packages: Iterable, - name: str = ..., - add_pip_as_python_dependency: PipAsPythonDependency = ..., - ) -> RepoInfo: ... - def add_repo_from_repodata_json( - self, - path: os.PathLike, - url: str, - channel_id: str, - add_pip_as_python_dependency: PipAsPythonDependency = ..., - package_types: PackageTypes = ..., - verify_packages: VerifyPackages = ..., - repodata_parser: RepodataParser = ..., - ) -> RepoInfo: ... - def installed_repo(self) -> RepoInfo | None: ... - def native_serialize_repo( - self, repo: RepoInfo, path: os.PathLike, metadata: RepodataOrigin - ) -> RepoInfo: ... - def package_count(self) -> int: ... - def packages_depending_on(self, spec: libmambapy.bindings.specs.MatchSpec) -> list: ... - def packages_in_repo(self, repo: RepoInfo) -> list: ... - def packages_matching(self, spec: libmambapy.bindings.specs.MatchSpec) -> list: ... - def remove_repo(self, repo: RepoInfo) -> None: ... - def repo_count(self) -> int: ... - def set_installed_repo(self, repo: RepoInfo) -> None: ... - def set_logger(self, arg0: Callable[[LogLevel, str], None]) -> None: ... - def set_repo_priority(self, repo: RepoInfo, priorities: Priorities) -> None: ... - -class LogLevel: - __members__: ClassVar[dict] = ... # read-only - Debug: ClassVar[LogLevel] = ... - Error: ClassVar[LogLevel] = ... - Fatal: ClassVar[LogLevel] = ... - Warning: ClassVar[LogLevel] = ... - __entries: ClassVar[dict] = ... - @overload - def __init__(self, value: int) -> None: ... - @overload - def __init__(self, arg0: str) -> None: ... - def __eq__(self, other: object) -> bool: ... - def __hash__(self) -> int: ... - def __index__(self) -> int: ... - def __int__(self) -> int: ... - def __ne__(self, other: object) -> bool: ... - @property - def name(self) -> str: ... - @property - def value(self) -> int: ... - -class MatchSpecParser: - __members__: ClassVar[dict] = ... # read-only - Libsolv: ClassVar[MatchSpecParser] = ... - Mamba: ClassVar[MatchSpecParser] = ... - Mixed: ClassVar[MatchSpecParser] = ... - __entries: ClassVar[dict] = ... - @overload - def __init__(self, value: int) -> None: ... - @overload - def __init__(self, arg0: str) -> None: ... - def __eq__(self, other: object) -> bool: ... - def __hash__(self) -> int: ... - def __index__(self) -> int: ... - def __int__(self) -> int: ... - def __ne__(self, other: object) -> bool: ... - @property - def name(self) -> str: ... - @property - def value(self) -> int: ... - -class PackageTypes: - __members__: ClassVar[dict] = ... # read-only - CondaAndTarBz2: ClassVar[PackageTypes] = ... - CondaOnly: ClassVar[PackageTypes] = ... - CondaOrElseTarBz2: ClassVar[PackageTypes] = ... - TarBz2Only: ClassVar[PackageTypes] = ... - __entries: ClassVar[dict] = ... - @overload - def __init__(self, value: int) -> None: ... - @overload - def __init__(self, arg0: str) -> None: ... - def __eq__(self, other: object) -> bool: ... - def __hash__(self) -> int: ... - def __index__(self) -> int: ... - def __int__(self) -> int: ... - def __ne__(self, other: object) -> bool: ... - @property - def name(self) -> str: ... - @property - def value(self) -> int: ... - -class PipAsPythonDependency: - __members__: ClassVar[dict] = ... # read-only - No: ClassVar[PipAsPythonDependency] = ... - Yes: ClassVar[PipAsPythonDependency] = ... - __entries: ClassVar[dict] = ... - @overload - def __init__(self, value: int) -> None: ... - @overload - def __init__(self, arg0: bool) -> None: ... - def __eq__(self, other: object) -> bool: ... - def __hash__(self) -> int: ... - def __index__(self) -> int: ... - def __int__(self) -> int: ... - def __ne__(self, other: object) -> bool: ... - @property - def name(self) -> str: ... - @property - def value(self) -> int: ... - -class Priorities: - priority: int - subpriority: int - def __init__(self, priority: int = ..., subpriority: int = ...) -> None: ... - def __copy__(self) -> Priorities: ... - def __deepcopy__(self, memo: dict) -> Priorities: ... - def __eq__(self, arg0: Priorities) -> bool: ... - def __ne__(self, arg0: Priorities) -> bool: ... - -class RepoInfo: - def __init__(self, *args, **kwargs) -> None: ... - def package_count(self) -> int: ... - def __copy__(self) -> RepoInfo: ... - def __deepcopy__(self, memo: dict) -> RepoInfo: ... - def __eq__(self, arg0: RepoInfo) -> bool: ... - def __ne__(self, arg0: RepoInfo) -> bool: ... - @property - def id(self) -> int: ... - @property - def name(self) -> str: ... - @property - def priority(self) -> Priorities: ... - -class RepodataOrigin: - etag: str - mod: str - url: str - def __init__(self, url: str = ..., etag: str = ..., mod: str = ...) -> None: ... - def __copy__(self) -> RepodataOrigin: ... - def __deepcopy__(self, memo: dict) -> RepodataOrigin: ... - def __eq__(self, arg0: RepodataOrigin) -> bool: ... - def __ne__(self, arg0: RepodataOrigin) -> bool: ... - -class RepodataParser: - __members__: ClassVar[dict] = ... # read-only - Libsolv: ClassVar[RepodataParser] = ... - Mamba: ClassVar[RepodataParser] = ... - __entries: ClassVar[dict] = ... - @overload - def __init__(self, value: int) -> None: ... - @overload - def __init__(self, arg0: str) -> None: ... - def __eq__(self, other: object) -> bool: ... - def __hash__(self) -> int: ... - def __index__(self) -> int: ... - def __int__(self) -> int: ... - def __ne__(self, other: object) -> bool: ... - @property - def name(self) -> str: ... - @property - def value(self) -> int: ... - -class Solver: - def __init__(self) -> None: ... - def add_global_job(self, *args, **kwargs) -> None: ... - def add_jobs(self, *args, **kwargs) -> None: ... - def add_pin(self, *args, **kwargs) -> None: ... - def is_solved(self, *args, **kwargs) -> None: ... - def must_solve(self, *args, **kwargs) -> None: ... - def set_flags(self, *args, **kwargs) -> None: ... - def set_libsolv_flags(self, *args, **kwargs) -> None: ... - def set_postsolve_flags(self, *args, **kwargs) -> None: ... - def solve( - self, - database: Database, - request: libmambapy.bindings.solver.Request, - matchspec_parser: MatchSpecParser = ..., - ) -> libmambapy.bindings.solver.Solution | UnSolvable: ... - def try_solve(self, *args, **kwargs) -> None: ... - -class UnSolvable: - def __init__(self, *args, **kwargs) -> None: ... - def all_problems_to_str(self, database: Database) -> str: ... - def explain_problems( - self, database: Database, format: libmambapy.bindings.solver.ProblemsMessageFormat - ) -> str: ... - def problems(self, database: Database) -> list[str]: ... - def problems_graph(self, database: Database) -> libmambapy.bindings.solver.ProblemsGraph: ... - def problems_to_str(self, database: Database) -> str: ... - -class VerifyPackages: - __members__: ClassVar[dict] = ... # read-only - No: ClassVar[VerifyPackages] = ... - Yes: ClassVar[VerifyPackages] = ... - __entries: ClassVar[dict] = ... - @overload - def __init__(self, value: int) -> None: ... - @overload - def __init__(self, arg0: bool) -> None: ... - def __eq__(self, other: object) -> bool: ... - def __hash__(self) -> int: ... - def __index__(self) -> int: ... - def __int__(self) -> int: ... - def __ne__(self, other: object) -> bool: ... - @property - def name(self) -> str: ... - @property - def value(self) -> int: ... diff --git a/libmambapy/src/libmambapy/bindings/specs.pyi b/libmambapy/src/libmambapy/bindings/specs.pyi deleted file mode 100644 index 3ea7e84a8..000000000 --- a/libmambapy/src/libmambapy/bindings/specs.pyi +++ /dev/null @@ -1,713 +0,0 @@ -import os -from _typeshed import Incomplete -from typing import ClassVar, Iterable, Iterator, overload - -class AuthenticationDataBase: - @overload - def __init__(self) -> None: ... - @overload - def __init__(self, arg0: dict) -> None: ... - def at_weaken(self, arg0: str) -> BasicHTTPAuthentication | BearerToken | CondaToken: ... - def contains_weaken(self, arg0: str) -> bool: ... - def items(self) -> ItemsView: ... - def keys(self) -> KeysView: ... - def values(self) -> ValuesView: ... - def __bool__(self) -> bool: ... - @overload - def __contains__(self, arg0: str) -> bool: ... - @overload - def __contains__(self, arg0: object) -> bool: ... - def __delitem__(self, arg0: str) -> None: ... - def __eq__(self, arg0: AuthenticationDataBase) -> bool: ... - def __getitem__(self, arg0: str) -> BasicHTTPAuthentication | BearerToken | CondaToken: ... - def __iter__(self) -> Iterator[str]: ... - def __len__(self) -> int: ... - def __ne__(self, arg0: AuthenticationDataBase) -> bool: ... - def __setitem__( - self, arg0: str, arg1: BasicHTTPAuthentication | BearerToken | CondaToken - ) -> None: ... - -class BasicHTTPAuthentication: - password: str - user: str - def __init__(self, user: str, password: str) -> None: ... - def __copy__(self) -> BasicHTTPAuthentication: ... - def __deepcopy__(self, memo: dict) -> BasicHTTPAuthentication: ... - def __eq__(self, arg0: BasicHTTPAuthentication) -> bool: ... - def __hash__(self) -> int: ... - def __ne__(self, arg0: BasicHTTPAuthentication) -> bool: ... - -class BearerToken: - token: str - def __init__(self, token: str) -> None: ... - def __copy__(self) -> BearerToken: ... - def __deepcopy__(self, memo: dict) -> BearerToken: ... - def __eq__(self, arg0: BearerToken) -> bool: ... - def __hash__(self) -> int: ... - def __ne__(self, arg0: BearerToken) -> bool: ... - -class Channel: - class Match: - __members__: ClassVar[dict] = ... # read-only - Full: ClassVar[Channel.Match] = ... - InOtherPlatform: ClassVar[Channel.Match] = ... - No: ClassVar[Channel.Match] = ... - __entries: ClassVar[dict] = ... - @overload - def __init__(self, value: int) -> None: ... - @overload - def __init__(self, arg0: str) -> None: ... - def __eq__(self, other: object) -> bool: ... - def __hash__(self) -> int: ... - def __index__(self) -> int: ... - def __int__(self) -> int: ... - def __ne__(self, other: object) -> bool: ... - @property - def name(self) -> str: ... - @property - def value(self) -> int: ... - - ChannelMap: ClassVar[type] = ... # read-only - MultiChannelMap: ClassVar[type] = ... # read-only - display_name: str - platforms: set[str] - url: CondaURL - def __init__(self, url: CondaURL, display_name: str, platforms: set[str]) -> None: ... - def contains_equivalent(self, arg0: Channel) -> bool: ... - def contains_package(self, arg0: CondaURL) -> Channel.Match: ... - def is_equivalent_to(self, arg0: Channel) -> bool: ... - def is_package(self) -> bool: ... - def platform_url(self, arg0: str) -> CondaURL: ... - def platform_urls(self) -> list[CondaURL]: ... - @overload - @staticmethod - def resolve(what: UnresolvedChannel, params: ChannelResolveParams) -> list[Channel]: ... - @overload - @staticmethod - def resolve( - what: UnresolvedChannel, - platforms: set[str] = ..., - channel_alias: CondaURL = ..., - custom_channels: ChannelResolveParams.ChannelMap = ..., - custom_multichannels: ChannelResolveParams.MultiChannelMap = ..., - authentication_db: AuthenticationDataBase = ..., - home_dir: str = ..., - current_working_dir: str = ..., - ) -> list[Channel]: ... - def url_equivalent_with(self, arg0: Channel) -> bool: ... - def __copy__(self) -> Channel: ... - def __deepcopy__(self, memo: dict) -> Channel: ... - def __eq__(self, arg0: Channel) -> bool: ... - def __hash__(self) -> int: ... - def __ne__(self, arg0: Channel) -> bool: ... - -class ChannelResolveParams: - class ChannelMap: - @overload - def __init__(self) -> None: ... - @overload - def __init__(self, arg0: dict) -> None: ... - def at_weaken(self, arg0: str) -> Channel: ... - def contains_weaken(self, arg0: str) -> bool: ... - def items(self) -> ItemsView: ... - def keys(self) -> KeysView: ... - def values(self) -> ValuesView: ... - def __bool__(self) -> bool: ... - @overload - def __contains__(self, arg0: str) -> bool: ... - @overload - def __contains__(self, arg0: object) -> bool: ... - def __delitem__(self, arg0: str) -> None: ... - def __eq__(self, arg0: ChannelResolveParams.ChannelMap) -> bool: ... - def __getitem__(self, arg0: str) -> Channel: ... - def __iter__(self) -> Iterator[str]: ... - def __len__(self) -> int: ... - def __ne__(self, arg0: ChannelResolveParams.ChannelMap) -> bool: ... - def __setitem__(self, arg0: str, arg1: Channel) -> None: ... - - class MultiChannelMap: - @overload - def __init__(self) -> None: ... - @overload - def __init__(self, arg0: dict) -> None: ... - def at_weaken(self, arg0: str) -> list[Channel]: ... - def contains_weaken(self, arg0: str) -> bool: ... - def items(self) -> ItemsView: ... - def keys(self) -> KeysView: ... - def values(self) -> ValuesView: ... - def __bool__(self) -> bool: ... - @overload - def __contains__(self, arg0: str) -> bool: ... - @overload - def __contains__(self, arg0: object) -> bool: ... - def __delitem__(self, arg0: str) -> None: ... - def __eq__(self, arg0: ChannelResolveParams.MultiChannelMap) -> bool: ... - def __getitem__(self, arg0: str) -> list[Channel]: ... - def __iter__(self) -> Iterator[str]: ... - def __len__(self) -> int: ... - def __ne__(self, arg0: ChannelResolveParams.MultiChannelMap) -> bool: ... - def __setitem__(self, arg0: str, arg1: list[Channel]) -> None: ... - - authentication_db: AuthenticationDataBase - channel_alias: CondaURL - current_working_dir: str - custom_channels: ChannelResolveParams.ChannelMap - custom_multichannels: ChannelResolveParams.MultiChannelMap - home_dir: str - platforms: set[str] - def __init__( - self, - platforms: set[str] = ..., - channel_alias: CondaURL = ..., - custom_channels: ChannelResolveParams.ChannelMap = ..., - custom_multichannels: ChannelResolveParams.MultiChannelMap = ..., - authentication_db: AuthenticationDataBase = ..., - home_dir: str = ..., - current_working_dir: str = ..., - ) -> None: ... - def __copy__(self) -> BasicHTTPAuthentication: ... - def __deepcopy__(self, memo: dict) -> BasicHTTPAuthentication: ... - -class ChimeraStringSpec: - def __init__(self) -> None: ... - def contains(self, arg0: str) -> bool: ... - def is_exact(self) -> bool: ... - def is_explicitly_free(self) -> bool: ... - def is_glob(self) -> bool: ... - @staticmethod - def parse(arg0: str) -> ChimeraStringSpec: ... - def __copy__(self) -> ChimeraStringSpec: ... - def __deepcopy__(self, memo: dict) -> ChimeraStringSpec: ... - -class CommonVersion: - @overload - def __init__(self) -> None: ... - @overload - def __init__(self, arg0: CommonVersion) -> None: ... - @overload - def __init__(self, arg0: Iterable) -> None: ... - def append(self, x: VersionPart) -> None: ... - def clear(self) -> None: ... - def count(self, x: VersionPart) -> int: ... - @overload - def extend(self, L: CommonVersion) -> None: ... - @overload - def extend(self, L: Iterable) -> None: ... - def insert(self, i: int, x: VersionPart) -> None: ... - @overload - def pop(self) -> VersionPart: ... - @overload - def pop(self, i: int) -> VersionPart: ... - def remove(self, x: VersionPart) -> None: ... - def __bool__(self) -> bool: ... - def __contains__(self, x: VersionPart) -> bool: ... - @overload - def __delitem__(self, arg0: int) -> None: ... - @overload - def __delitem__(self, arg0: slice) -> None: ... - def __eq__(self, arg0: CommonVersion) -> bool: ... - @overload - def __getitem__(self, s: slice) -> CommonVersion: ... - @overload - def __getitem__(self, arg0: int) -> VersionPart: ... - def __iter__(self) -> Iterator[VersionPart]: ... - def __len__(self) -> int: ... - def __ne__(self, arg0: CommonVersion) -> bool: ... - @overload - def __setitem__(self, arg0: int, arg1: VersionPart) -> None: ... - @overload - def __setitem__(self, arg0: slice, arg1: CommonVersion) -> None: ... - -class CondaToken: - token: str - def __init__(self, token: str) -> None: ... - def __copy__(self) -> CondaToken: ... - def __deepcopy__(self, memo: dict) -> CondaToken: ... - def __eq__(self, arg0: CondaToken) -> bool: ... - def __hash__(self) -> int: ... - def __ne__(self, arg0: CondaToken) -> bool: ... - -class CondaURL: - class Credentials: - __members__: ClassVar[dict] = ... # read-only - Hide: ClassVar[CondaURL.Credentials] = ... - Remove: ClassVar[CondaURL.Credentials] = ... - Show: ClassVar[CondaURL.Credentials] = ... - __entries: ClassVar[dict] = ... - @overload - def __init__(self, value: int) -> None: ... - @overload - def __init__(self, arg0: str) -> None: ... - def __eq__(self, other: object) -> bool: ... - def __hash__(self) -> int: ... - def __index__(self) -> int: ... - def __int__(self) -> int: ... - def __ne__(self, other: object) -> bool: ... - @property - def name(self) -> str: ... - @property - def value(self) -> int: ... - - def __init__(self) -> None: ... - def append_path(self, path: str, encode: bool = ...) -> None: ... - def authentication(self) -> str: ... - def authority(self) -> str: ... - def clear_host(self) -> str: ... - def clear_package(self) -> bool: ... - def clear_password(self) -> str: ... - def clear_path(self) -> str: ... - def clear_path_without_token(self) -> bool: ... - def clear_platform(self) -> bool: ... - def clear_port(self) -> str: ... - def clear_scheme(self) -> str: ... - def clear_token(self) -> bool: ... - def clear_user(self) -> str: ... - def has_password(self) -> bool: ... - def has_token(self) -> bool: ... - def has_user(self) -> bool: ... - def host(self, decode: bool = ...) -> str: ... - def host_is_defaulted(self) -> bool: ... - def package(self, decode: bool = ...) -> str: ... - @staticmethod - def parse(arg0: str) -> CondaURL: ... - def password(self, decode: bool = ...) -> str: ... - def path(self, decode: bool = ...) -> str: ... - def path_without_token(self, decode: bool = ...) -> str: ... - def platform(self) -> KnownPlatform | None: ... - def port(self) -> str: ... - def pretty_path(self) -> str: ... - def pretty_str( - self, - strip_scheme: bool = ..., - rstrip_path: str = ..., - credentials: CondaURL.Credentials = ..., - ) -> str: ... - def scheme(self) -> str: ... - def scheme_is_defaulted(self) -> bool: ... - def set_host(self, host: str, encode: bool = ...) -> None: ... - def set_package(self, package: str, encode: bool = ...) -> None: ... - def set_password(self, password: str, encode: bool = ...) -> None: ... - def set_path(self, path: str, encode: bool = ...) -> None: ... - def set_path_without_token(self, path_without_token: str, encode: bool = ...) -> None: ... - def set_platform(self, arg0: KnownPlatform) -> None: ... - def set_port(self, arg0: str) -> None: ... - def set_scheme(self, arg0: str) -> None: ... - def set_token(self, arg0: str) -> None: ... - def set_user(self, user: str, encode: bool = ...) -> None: ... - def str(self, credentials: CondaURL.Credentials = ...) -> str: ... - def token(self) -> str: ... - def user(self, decode: bool = ...) -> str: ... - def __copy__(self) -> CondaURL: ... - def __deepcopy__(self, memo: dict) -> CondaURL: ... - def __eq__(self, arg0: CondaURL) -> bool: ... - def __hash__(self) -> int: ... - def __ne__(self, arg0: CondaURL) -> bool: ... - def __truediv__(self, arg0: str) -> CondaURL: ... - -class GlobSpec: - free_pattern: ClassVar[str] = ... # read-only - glob_pattern: ClassVar[str] = ... # read-only - @overload - def __init__(self) -> None: ... - @overload - def __init__(self, spec: str) -> None: ... - def contains(self, arg0: str) -> bool: ... - def is_exact(self) -> bool: ... - def is_free(self) -> bool: ... - def __copy__(self) -> GlobSpec: ... - def __deepcopy__(self, memo: dict) -> GlobSpec: ... - -class ItemsView: - def __init__(self, *args, **kwargs) -> None: ... - def __iter__(self) -> Iterator: ... - def __len__(self) -> int: ... - -class KeysView: - def __init__(self, *args, **kwargs) -> None: ... - def __contains__(self, arg0: object) -> bool: ... - def __iter__(self) -> Iterator: ... - def __len__(self) -> int: ... - -class KnownPlatform: - __members__: ClassVar[dict] = ... # read-only - __entries: ClassVar[dict] = ... - linux_32: ClassVar[KnownPlatform] = ... - linux_64: ClassVar[KnownPlatform] = ... - linux_aarch64: ClassVar[KnownPlatform] = ... - linux_armv6l: ClassVar[KnownPlatform] = ... - linux_armv7l: ClassVar[KnownPlatform] = ... - linux_ppc64: ClassVar[KnownPlatform] = ... - linux_ppc64le: ClassVar[KnownPlatform] = ... - linux_riscv32: ClassVar[KnownPlatform] = ... - linux_riscv64: ClassVar[KnownPlatform] = ... - linux_s390x: ClassVar[KnownPlatform] = ... - noarch: ClassVar[KnownPlatform] = ... - osx_64: ClassVar[KnownPlatform] = ... - osx_arm64: ClassVar[KnownPlatform] = ... - win_32: ClassVar[KnownPlatform] = ... - win_64: ClassVar[KnownPlatform] = ... - win_arm64: ClassVar[KnownPlatform] = ... - zos_z: ClassVar[KnownPlatform] = ... - @overload - def __init__(self, value: int) -> None: ... - @overload - def __init__(self, arg0: str) -> None: ... - @staticmethod - def build_platform() -> KnownPlatform: ... - @staticmethod - def count() -> int: ... - @staticmethod - def parse(arg0: str) -> KnownPlatform | None: ... - def __eq__(self, other: object) -> bool: ... - def __hash__(self) -> int: ... - def __index__(self) -> int: ... - def __int__(self) -> int: ... - def __ne__(self, other: object) -> bool: ... - @property - def name(self) -> str: ... - @property - def value(self) -> int: ... - -class MatchSpec: - BuildStringSpec: ClassVar[type] = ... # read-only - NameSpec: ClassVar[type] = ... # read-only - alt_list_close: ClassVar[str] = ... # read-only - alt_list_open: ClassVar[str] = ... # read-only - alt_quote: ClassVar[str] = ... # read-only - attribute_assign: ClassVar[str] = ... # read-only - attribute_sep: ClassVar[str] = ... # read-only - channel_namespace_spec_sep: ClassVar[str] = ... # read-only - package_version_sep: ClassVar[list] = ... # read-only - preferred_list_close: ClassVar[str] = ... # read-only - preferred_list_open: ClassVar[str] = ... # read-only - preferred_quote: ClassVar[str] = ... # read-only - url_md5_sep: ClassVar[str] = ... # read-only - build_number: Incomplete - build_string: ChimeraStringSpec - channel: UnresolvedChannel | None - features: str - filename: str - license: str - license_family: str - md5: str - name: GlobSpec - name_space: str - optional: bool - platforms: set[str] | None - sha256: str - track_features: set[str] | None - version: VersionSpec - def __init__(self, spec: str) -> None: ... - def conda_build_form(self) -> str: ... - @overload - def contains_except_channel(self, arg0: PackageInfo) -> bool: ... - @overload - def contains_except_channel( - self, - name: str = ..., - version: Version = ..., - build_string: str = ..., - build_number: int = ..., - md5: str = ..., - sha256: str = ..., - license: str = ..., - platform: str = ..., - track_features: set[str] = ..., - ) -> bool: ... - def is_file(self) -> bool: ... - def is_only_package_name(self) -> bool: ... - def is_simple(self) -> bool: ... - @staticmethod - def parse(arg0: str) -> MatchSpec: ... - @staticmethod - def parse_url(arg0: str) -> MatchSpec: ... - def __copy__(self) -> MatchSpec: ... - def __deepcopy__(self, memo: dict) -> MatchSpec: ... - -class NoArchType: - __members__: ClassVar[dict] = ... # read-only - Generic: ClassVar[NoArchType] = ... - No: ClassVar[NoArchType] = ... - Python: ClassVar[NoArchType] = ... - __entries: ClassVar[dict] = ... - @overload - def __init__(self, value: int) -> None: ... - @overload - def __init__(self, arg0: str) -> None: ... - @staticmethod - def count() -> int: ... - @staticmethod - def parse(arg0: str) -> NoArchType | None: ... - def __eq__(self, other: object) -> bool: ... - def __hash__(self) -> int: ... - def __index__(self) -> int: ... - def __int__(self) -> int: ... - def __ne__(self, other: object) -> bool: ... - @property - def name(self) -> str: ... - @property - def value(self) -> int: ... - -class PackageInfo: - build_number: int - build_string: str - channel: str - constrains: list[str] - defaulted_keys: list[str] - dependencies: list[str] - filename: str - fn: None - license: str - md5: str - name: str - noarch: NoArchType - package_url: str - platform: str - sha256: str - signatures: str - size: int - timestamp: int - track_features: list[str] - url: None - version: str - def __init__( - self, - name: str = ..., - version: str = ..., - build_string: str = ..., - build_number: int = ..., - channel: str = ..., - package_url: str = ..., - platform: str = ..., - filename: str = ..., - license: str = ..., - md5: str = ..., - sha256: str = ..., - signatures: str = ..., - track_features: list[str] = ..., - depends: list[str] = ..., - constrains: list[str] = ..., - defaulted_keys: list[str] = ..., - noarch: NoArchType = ..., - size: int = ..., - timestamp: int = ..., - ) -> None: ... - @staticmethod - def from_url(arg0: str) -> PackageInfo: ... - def __copy__(self) -> PackageInfo: ... - def __deepcopy__(self, memo: dict) -> PackageInfo: ... - def __eq__(self, arg0: PackageInfo) -> bool: ... - def __ne__(self, arg0: PackageInfo) -> bool: ... - -class ParseError(ValueError): ... - -class RegexSpec: - free_pattern: ClassVar[str] = ... # read-only - pattern_end: ClassVar[str] = ... # read-only - pattern_start: ClassVar[str] = ... # read-only - def __init__(self) -> None: ... - def contains(self, arg0: str) -> bool: ... - def is_exact(self) -> bool: ... - def is_explicitly_free(self) -> bool: ... - @staticmethod - def parse(arg0: str) -> RegexSpec: ... - def __copy__(self) -> RegexSpec: ... - def __deepcopy__(self, memo: dict) -> RegexSpec: ... - -class UnresolvedChannel: - class Type: - __members__: ClassVar[dict] = ... # read-only - Name: ClassVar[UnresolvedChannel.Type] = ... - PackagePath: ClassVar[UnresolvedChannel.Type] = ... - PackageURL: ClassVar[UnresolvedChannel.Type] = ... - Path: ClassVar[UnresolvedChannel.Type] = ... - URL: ClassVar[UnresolvedChannel.Type] = ... - Unknown: ClassVar[UnresolvedChannel.Type] = ... - __entries: ClassVar[dict] = ... - @overload - def __init__(self, value: int) -> None: ... - @overload - def __init__(self, arg0: str) -> None: ... - def __eq__(self, other: object) -> bool: ... - def __hash__(self) -> int: ... - def __index__(self) -> int: ... - def __int__(self) -> int: ... - def __ne__(self, other: object) -> bool: ... - @property - def name(self) -> str: ... - @property - def value(self) -> int: ... - - def __init__( - self, location: str, platform_filters: set[str], type: UnresolvedChannel.Type = ... - ) -> None: ... - @staticmethod - def parse(arg0: str) -> UnresolvedChannel: ... - def __copy__(self) -> UnresolvedChannel: ... - def __deepcopy__(self, memo: dict) -> UnresolvedChannel: ... - @property - def location(self) -> str: ... - @property - def platform_filters(self) -> set[str]: ... - @property - def type(self) -> UnresolvedChannel.Type: ... - -class ValuesView: - def __init__(self, *args, **kwargs) -> None: ... - def __iter__(self) -> Iterator: ... - def __len__(self) -> int: ... - -class Version: - epoch_delim: ClassVar[str] = ... # read-only - local_delim: ClassVar[str] = ... # read-only - part_delim: ClassVar[str] = ... # read-only - part_delim_alt: ClassVar[str] = ... # read-only - part_delim_special: ClassVar[str] = ... # read-only - def __init__(self, epoch: int = ..., version=..., local=...) -> None: ... - def compatible_with(self, older: Version, level: int) -> bool: ... - @staticmethod - def parse(str: str) -> Version: ... - def starts_with(self, prefix: Version) -> bool: ... - @overload - def str(self) -> str: ... - @overload - def str(self, level: int) -> str: ... - def __copy__(self) -> Version: ... - def __deepcopy__(self, memo: dict) -> Version: ... - def __eq__(self, arg0: Version) -> bool: ... - def __ge__(self, arg0: Version) -> bool: ... - def __gt__(self, arg0: Version) -> bool: ... - def __le__(self, arg0: Version) -> bool: ... - def __lt__(self, arg0: Version) -> bool: ... - def __ne__(self, arg0: Version) -> bool: ... - @property - def epoch(self) -> int: ... - @property - def local(self) -> CommonVersion: ... - @property - def version(self) -> CommonVersion: ... - -class VersionPart: - @overload - def __init__(self) -> None: ... - @overload - def __init__(self, arg0: VersionPart) -> None: ... - @overload - def __init__(self, arg0: Iterable) -> None: ... - def append(self, x: VersionPartAtom) -> None: ... - def clear(self) -> None: ... - def count(self, x: VersionPartAtom) -> int: ... - @overload - def extend(self, L: VersionPart) -> None: ... - @overload - def extend(self, L: Iterable) -> None: ... - def insert(self, i: int, x: VersionPartAtom) -> None: ... - @overload - def pop(self) -> VersionPartAtom: ... - @overload - def pop(self, i: int) -> VersionPartAtom: ... - def remove(self, x: VersionPartAtom) -> None: ... - def __bool__(self) -> bool: ... - def __contains__(self, x: VersionPartAtom) -> bool: ... - @overload - def __delitem__(self, arg0: int) -> None: ... - @overload - def __delitem__(self, arg0: slice) -> None: ... - def __eq__(self, arg0: VersionPart) -> bool: ... - @overload - def __getitem__(self, s: slice) -> VersionPart: ... - @overload - def __getitem__(self, arg0: int) -> VersionPartAtom: ... - def __iter__(self) -> Iterator[VersionPartAtom]: ... - def __len__(self) -> int: ... - def __ne__(self, arg0: VersionPart) -> bool: ... - @overload - def __setitem__(self, arg0: int, arg1: VersionPartAtom) -> None: ... - @overload - def __setitem__(self, arg0: slice, arg1: VersionPart) -> None: ... - -class VersionPartAtom: - @overload - def __init__(self) -> None: ... - @overload - def __init__(self, numeral: int, literal: str = ...) -> None: ... - def __copy__(self) -> VersionPartAtom: ... - def __deepcopy__(self, memo: dict) -> VersionPartAtom: ... - def __eq__(self, arg0: VersionPartAtom) -> bool: ... - def __ge__(self, arg0: VersionPartAtom) -> bool: ... - def __gt__(self, arg0: VersionPartAtom) -> bool: ... - def __le__(self, arg0: VersionPartAtom) -> bool: ... - def __lt__(self, arg0: VersionPartAtom) -> bool: ... - def __ne__(self, arg0: VersionPartAtom) -> bool: ... - @property - def literal(self) -> str: ... - @property - def numeral(self) -> int: ... - -class VersionPredicate: - def __init__(self) -> None: ... - def contains(self, arg0: Version) -> bool: ... - @staticmethod - def make_compatible_with(arg0: Version, arg1: int) -> VersionPredicate: ... - @staticmethod - def make_equal_to(arg0: Version) -> VersionPredicate: ... - @staticmethod - def make_free() -> VersionPredicate: ... - @staticmethod - def make_greater(arg0: Version) -> VersionPredicate: ... - @staticmethod - def make_greater_equal(arg0: Version) -> VersionPredicate: ... - @staticmethod - def make_less(arg0: Version) -> VersionPredicate: ... - @staticmethod - def make_less_equal(arg0: Version) -> VersionPredicate: ... - @staticmethod - def make_not_equal_to(arg0: Version) -> VersionPredicate: ... - @staticmethod - def make_not_starts_with(arg0: Version) -> VersionPredicate: ... - @staticmethod - def make_starts_with(arg0: Version) -> VersionPredicate: ... - def str_conda_build(self) -> str: ... - def __copy__(self) -> VersionPredicate: ... - def __deepcopy__(self, memo: dict) -> VersionPredicate: ... - def __eq__(self, arg0: VersionPredicate) -> bool: ... - def __ne__(self, arg0: VersionPredicate) -> bool: ... - -class VersionSpec: - all_free_strs: ClassVar[list] = ... # read-only - and_token: ClassVar[str] = ... # read-only - compatible_str: ClassVar[str] = ... # read-only - equal_str: ClassVar[str] = ... # read-only - glob_suffix_str: ClassVar[str] = ... # read-only - glob_suffix_token: ClassVar[str] = ... # read-only - greater_equal_str: ClassVar[str] = ... # read-only - greater_str: ClassVar[str] = ... # read-only - left_parenthesis_token: ClassVar[str] = ... # read-only - less_equal_str: ClassVar[str] = ... # read-only - less_str: ClassVar[str] = ... # read-only - not_equal_str: ClassVar[str] = ... # read-only - or_token: ClassVar[str] = ... # read-only - preferred_free_str: ClassVar[str] = ... # read-only - right_parenthesis_token: ClassVar[str] = ... # read-only - starts_with_str: ClassVar[str] = ... # read-only - def __init__(self) -> None: ... - def contains(self, point: Version) -> bool: ... - def expression_size(self) -> int: ... - @staticmethod - def from_predicate(pred: VersionPredicate) -> VersionSpec: ... - def is_explicitly_free(self) -> bool: ... - @staticmethod - def parse(str: str) -> VersionSpec: ... - def str_conda_build(self) -> str: ... - def __copy__(self) -> VersionSpec: ... - def __deepcopy__(self, memo: dict) -> VersionSpec: ... - -def archive_extensions(*args, **kwargs): ... -@overload -def has_archive_extension(arg0: str) -> bool: ... -@overload -def has_archive_extension(arg0: os.PathLike) -> bool: ... -@overload -def strip_archive_extension(arg0: str) -> str: ... -@overload -def strip_archive_extension(arg0: os.PathLike) -> os.PathLike: ... diff --git a/libmambapy/src/libmambapy/bindings/utils.pyi b/libmambapy/src/libmambapy/bindings/utils.pyi deleted file mode 100644 index 9ccd47c2c..000000000 --- a/libmambapy/src/libmambapy/bindings/utils.pyi +++ /dev/null @@ -1,89 +0,0 @@ -from typing import ClassVar, overload - -class TextEmphasis: - __members__: ClassVar[dict] = ... # read-only - Blink: ClassVar[TextEmphasis] = ... - Bold: ClassVar[TextEmphasis] = ... - Conceal: ClassVar[TextEmphasis] = ... - Faint: ClassVar[TextEmphasis] = ... - Italic: ClassVar[TextEmphasis] = ... - Reverse: ClassVar[TextEmphasis] = ... - Strikethrough: ClassVar[TextEmphasis] = ... - Underline: ClassVar[TextEmphasis] = ... - __entries: ClassVar[dict] = ... - @overload - def __init__(self, value: int) -> None: ... - @overload - def __init__(self, arg0: str) -> None: ... - def __eq__(self, other: object) -> bool: ... - def __hash__(self) -> int: ... - def __index__(self) -> int: ... - def __int__(self) -> int: ... - def __ne__(self, other: object) -> bool: ... - @property - def name(self) -> str: ... - @property - def value(self) -> int: ... - -class TextRGBColor: - blue: int - green: int - red: int - @overload - def __init__(self) -> None: ... - @overload - def __init__(self, red: int = ..., green: int = ..., blue: int = ...) -> None: ... - def __copy__(self) -> TextRGBColor: ... - def __deepcopy__(self, memo: dict) -> TextRGBColor: ... - -class TextStyle: - @overload - def __init__(self) -> None: ... - @overload - def __init__( - self, - foreground: TextTerminalColor | TextRGBColor | None = ..., - background: TextTerminalColor | TextRGBColor | None = ..., - emphasis: TextEmphasis | None = ..., - ) -> None: ... - def __copy__(self) -> TextStyle: ... - def __deepcopy__(self, memo: dict) -> TextStyle: ... - @property - def background(self) -> TextTerminalColor | TextRGBColor | None: ... - @property - def emphasis(self) -> TextEmphasis | None: ... - @property - def foreground(self) -> TextTerminalColor | TextRGBColor | None: ... - -class TextTerminalColor: - __members__: ClassVar[dict] = ... # read-only - Black: ClassVar[TextTerminalColor] = ... - Blue: ClassVar[TextTerminalColor] = ... - BrightBlack: ClassVar[TextTerminalColor] = ... - BrightBlue: ClassVar[TextTerminalColor] = ... - BrightCyan: ClassVar[TextTerminalColor] = ... - BrightGreen: ClassVar[TextTerminalColor] = ... - BrightMagenta: ClassVar[TextTerminalColor] = ... - BrightRed: ClassVar[TextTerminalColor] = ... - BrightWhite: ClassVar[TextTerminalColor] = ... - BrightYellow: ClassVar[TextTerminalColor] = ... - Cyan: ClassVar[TextTerminalColor] = ... - Green: ClassVar[TextTerminalColor] = ... - Magenta: ClassVar[TextTerminalColor] = ... - Red: ClassVar[TextTerminalColor] = ... - White: ClassVar[TextTerminalColor] = ... - Yellow: ClassVar[TextTerminalColor] = ... - __entries: ClassVar[dict] = ... - @overload - def __init__(self, value: int) -> None: ... - @overload - def __init__(self, arg0: str) -> None: ... - def __eq__(self, other: object) -> bool: ... - def __hash__(self) -> int: ... - def __index__(self) -> int: ... - def __int__(self) -> int: ... - def __ne__(self, other: object) -> bool: ... - @property - def name(self) -> str: ... - @property - def value(self) -> int: ... diff --git a/libmambapy/src/libmambapy/solver/__init__.pyi b/libmambapy/src/libmambapy/solver/__init__.pyi deleted file mode 100644 index 9dc586454..000000000 --- a/libmambapy/src/libmambapy/solver/__init__.pyi +++ /dev/null @@ -1 +0,0 @@ -from libmambapy.bindings.solver import * diff --git a/libmambapy/src/libmambapy/solver/libsolv.pyi b/libmambapy/src/libmambapy/solver/libsolv.pyi deleted file mode 100644 index 371fcf510..000000000 --- a/libmambapy/src/libmambapy/solver/libsolv.pyi +++ /dev/null @@ -1 +0,0 @@ -from libmambapy.bindings.solver.libsolv import * diff --git a/libmambapy/src/libmambapy/specs.pyi b/libmambapy/src/libmambapy/specs.pyi deleted file mode 100644 index e64cc0a95..000000000 --- a/libmambapy/src/libmambapy/specs.pyi +++ /dev/null @@ -1 +0,0 @@ -from libmambapy.bindings.specs import * diff --git a/libmambapy/src/libmambapy/utils.pyi b/libmambapy/src/libmambapy/utils.pyi deleted file mode 100644 index b4ff730f3..000000000 --- a/libmambapy/src/libmambapy/utils.pyi +++ /dev/null @@ -1 +0,0 @@ -from libmambapy.bindings.utils import * diff --git a/libmambapy/src/libmambapy/version.pyi b/libmambapy/src/libmambapy/version.pyi deleted file mode 100644 index d55cc4d8a..000000000 --- a/libmambapy/src/libmambapy/version.pyi +++ /dev/null @@ -1,5 +0,0 @@ -from _typeshed import Incomplete - -version_info: Incomplete -version_prerelease: str -__version__: Incomplete