forked from meadowdata/meadowrun
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
127 lines (116 loc) · 3.58 KB
/
pyproject.toml
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
[tool.poetry]
name = "meadowrun"
version = "0.2.17a1"
description = "The easiest way to run python code on one or more remote machines"
readme = "README.md"
authors = ["Richard Lee <hrichardlee@gmail.com>"]
homepage = "https://github.com/meadowdata/meadowrun"
repository = "https://github.com/meadowdata/meadowrun"
keywords = []
packages = [
{ include = "meadowrun", from = "src" },
]
[tool.poetry.scripts]
meadowrun-local = 'meadowrun.run_job_local_main:command_line_main'
meadowrun-manage-ec2 = "meadowrun.manage:main_ec2"
meadowrun-manage-azure-vm = "meadowrun.manage:main_azure_vm"
[tool.poetry.dependencies]
python = "^3.7"
protobuf = "^3.18.1"
cloudpickle = "*"
aiobotocore = "^2.1.2"
aiohttp = "^3.8.0"
psutil = "^5.8.0"
boto3 = "^1.21.21"
filelock = "^3.6.0"
typing-extensions = "^4.1.1"
requests = "^2.27.1"
asyncssh = "^2.11.0"
kubernetes-asyncio = "^24.2.0"
# for gcloud-aio-storage
rsa = ">=3.1.4,<5.0.0"
aiofiles = "^0.6.0"
pyasn1-modules = "0.2.1"
backoff = ">=1.0.0,<3.0.0"
chardet = ">=2.0,<4.1"
cryptography = ">=2.0.0,<37.0.0"
future = ">=0.17.0,<0.18.3"
pyjwt = ">=1.5.3,<3.0.0"
six = ">=1.11.0,<2.0.0"
[tool.poetry.dev-dependencies]
pytest = "^7.0.1"
mypy = "0.*"
black = {version = "^22.1", allow-prereleases = true}
grpcio-tools = "^1.39.0"
types-protobuf = "^3.19.12"
types-pytz = "^2022.1.1"
mypy-protobuf = "^3.0.0"
# a big controversy: https://github.com/PyCQA/flake8/pull/1438
flake8 = "3.9.2"
pytest-asyncio = "^0.19.0"
types-psutil = "^5.8.22"
flake8-noqa = "^1.2.1"
boto3-stubs = {extras = ["essential", "events", "logs", "sts", "secretsmanager", "iam", "ecr"], version = "^1.24.64"}
types-aiobotocore = {extras = ["essential"], version = "^2.1.1"}
types-setuptools = "^65.3.0"
mkdocs = "^1.3.0"
mkdocs-material = "^8.2.15"
mkdocstrings = {extras = ["python"], version = "^0.18.1"}
mkdocs-awesome-pages-plugin = "^2.7.0"
pytest-mock = "^3.9.0"
types-requests = "^2.27.30"
flake8-encodings = "^0.5.0"
flake8-type-checking = { version = "^2.0.4", python=">=3.8,<4.0" }
toml = "^0.10.2"
PyYAML = "^6.0"
types-toml = "^0.10.8"
types-PyYAML = "^6.0.12"
types-boto3 = "^1.0.2"
# venv-pack and conda-pack are a weird dependency--we will actually depend on these in
# production but only inside of the meadowrun container or the meadowrun AMI which we
# fully control. We don't want to cause it to be downloaded when there's no need for it
venv-pack = "^0.2.0"
conda-pack = { git = "https://github.com/conda/conda-pack.git", tag="0.7.0"}
flake8-builtins = "^1.5.3"
mkdocs-redirects = "^1.2.0"
mkdocs-include-markdown-plugin = "^3.9.0"
mkdocs-linkcheck = "^1.0.6"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.pytest.ini_options]
testpaths = "tests"
log_level = "INFO"
log_cli = true
log_cli_level = "INFO"
addopts = "-s -v --strict-markers --durations=10"
asyncio_mode="auto"
[tool.mypy]
files = "src,tests,build_scripts"
show_column_numbers = true
show_error_codes = true
pretty = true
warn_unused_configs = true
warn_redundant_casts = true
warn_unused_ignores = true
allow_redefinition = true
check_untyped_defs = true
exclude = ["meadowrun/_vendor"] # really meant to just exclude meadowrun._vendor.*
disallow_untyped_defs = true
disallow_incomplete_defs = true
disallow_untyped_decorators = true
no_implicit_optional = true
strict_equality = true
[[tool.mypy.overrides]]
module = [
"cloudpickle",
"conda_pack",
"kubernetes_asyncio",
"kubernetes_asyncio.client",
"kubernetes_asyncio.client.exceptions",
"kubernetes_asyncio.config",
"kubernetes_asyncio.stream",
"kubernetes_asyncio.watch",
"venv_pack",
]
ignore_missing_imports = true