content: [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
  