forked from python-poetry/poetry
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtypes.py
67 lines (50 loc) · 1.74 KB
/
types.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
from __future__ import annotations
from typing import TYPE_CHECKING
from typing import Any
from typing import Protocol
if TYPE_CHECKING:
from pathlib import Path
from cleo.io.io import IO
from cleo.testers.command_tester import CommandTester
from poetry.config.config import Config
from poetry.config.source import Source
from poetry.installation import Installer
from poetry.installation.executor import Executor
from poetry.poetry import Poetry
from poetry.utils.env import Env
class CommandTesterFactory(Protocol):
def __call__(
self,
command: str,
poetry: Poetry | None = None,
installer: Installer | None = None,
executor: Executor | None = None,
environment: Env | None = None,
) -> CommandTester:
...
class SourcesFactory(Protocol):
def __call__(self, poetry: Poetry, sources: Source, config: Config, io: IO) -> None:
...
class ProjectFactory(Protocol):
def __call__(
self,
name: str | None = None,
dependencies: dict[str, str] | None = None,
dev_dependencies: dict[str, str] | None = None,
pyproject_content: str | None = None,
poetry_lock_content: str | None = None,
install_deps: bool = True,
source: Path | None = None,
locker_config: dict[str, Any] | None = None,
use_test_locker: bool = True,
) -> Poetry:
...
class FixtureDirGetter(Protocol):
def __call__(self, name: str) -> Path:
...
class FixtureCopier(Protocol):
def __call__(self, relative_path: str, target: Path | None = None) -> Path:
...
class HTMLPageGetter(Protocol):
def __call__(self, content: str, base_url: str | None = None) -> str:
...