content: [tool.poetry]
  name = "fondant"
  version = "0.1.dev0"
  description = "Fondant - Large-scale data processing made easy and reusable"
  readme = "README.md"
  keywords = ["data", "machine learning", "fine-tuning", "foundation models"]
  license = "Apache-2.0"
  authors = [
      "ML6 <fondant@ml6.eu>",
      "Simon Slangen <simon.slangen@ml6.eu>",
      "Philippe Moussalli <philippe.moussalli@ml6.eu>",
      "Robbe Sneyders <robbe.sneyders@ml6.eu>",
      "Georges Lorré <georges.lorré@ml6.eu>",
      "Niels Rogge <niels.rogge@ml6.eu>",
  ]
  maintainers = [
      "ML6 <fondant@ml6.eu>",
      "Philippe Moussalli <philippe.moussalli@ml6.eu>",
      "Robbe Sneyders <robbe.sneyders@ml6.eu>",
      "Georges Lorré <georges.lorré@ml6.eu>",
      "Niels Rogge <niels.rogge@ml6.eu>",
  ]
  repository = "https://github.com/ml6team/fondant"
  include = ["*.txt", "*.rst", "*.md", "fondant/components/**/*.yaml"]
  exclude = ["fondant/components"]  # Exclude everything except for component specs
  classifiers = [
      "Development Status :: 2 - Pre-Alpha",
      "Intended Audience :: Developers",
      "License :: OSI Approved :: Apache Software License",
      "Operating System :: OS Independent",
      "Programming Language :: Python",
      "Programming Language :: Python :: 3",
      "Programming Language :: Python :: 3 :: Only",
      "Programming Language :: Python :: 3.9",
      "Programming Language :: Python :: 3.10",
      "Programming Language :: Python :: 3.11",
      "Topic :: Software Development",
      "Topic :: Software Development :: Libraries",
      "Topic :: Software Development :: Libraries :: Python Modules",
      "Typing :: Typed",
  ]
  
  [tool.poetry.dependencies]
  python = ">= 3.9, <3.12"
  
  fsspec = ">= 2023.4.0"
  importlib-resources = { version = ">= 1.3", python = "<3.9" }
  jsonschema = ">= 4.18"
  pyarrow = ">= 11.0.0"
  pyyaml = ">= 5.3.1"
  
  dask = { version = ">= 2023.4.1, <2024.3.0", extras = ["dataframe", "distributed", "diagnostics"]}
  docker = ">= 6.1.3"
  
  dask-cuda = { version = ">=23.4.1", optional = true }
  
  gcsfs = { version = ">= 2023.10.0", optional = true }
  s3fs = { version = ">= 2023.4.0", optional = true }
  adlfs = { version = ">= 2023.4.0", optional = true }
  
  kfp = { version = "2.6.0", optional = true, extras =["kubernetes"] }
  google-cloud-aiplatform =  { version = "1.34.0", optional = true}
  sagemaker = {version = ">= 2.197.0", optional = true}
  boto3 = {version = "1.28.64", optional = true}
  
  [tool.poetry.extras]
  gpu = ["dask-cuda"]
  
  aws = ["s3fs"]
  azure = ["adlfs"]
  gcp = ["gcsfs"]
  
  kfp = ["kfp"]
  vertex = ["kfp", "google-cloud-aiplatform"]
  sagemaker = ["sagemaker", "boto3"]
  
  all = ["dask-cuda", "s3fs", "adlfs", "gcsfs", "kfp", "google-cloud-aiplatform",
      "sagemaker", "boto3"]
  
  [tool.poetry.group.test]
  optional = true
  
  [tool.poetry.group.test.dependencies]
  pre-commit = "^3.1.1"
  tox = "^4.6.4"
  tox-gh-actions = "^3.1.3"
  coveralls = "^3.3.1"
  
  [tool.poetry.group.docs]
  optional = true
  
  [tool.poetry.group.docs.dependencies]
  mkdocs-material = "^9.1.8"
  mkdocstrings = { version = "^0.20", extras = ["python"]}
  mkdocs-redirects = "1.2.1"
  
  [tool.poetry.scripts]
  fondant = "fondant.cli:entrypoint"
  
  [build-system]
  requires = ["poetry-core>=1.2.0"]
  build-backend = "poetry.core.masonry.api"
  
  [tool.ruff]
  select = ["C4", "COM", "D", "E", "EM", "ERA", "F", "I", "NPY", "PD", "PIE", "PL", "PT", "RET",
      "RSE", "RUF", "SIM", "TCH", "TID", "UP", "W"]
  ignore = [
      "D100",  # Missing docstring in public module
      "D101",  # Missing docstring in public class
      "D102",  # Missing docstring in public method
      "D103",  # Missing docstring in public function
      "D104",  # Missing docstring in public package
      "D105",  # Missing docstring in magic method
      "D107",  # Missing docstring in __init__
      "D205",  # 1 blank line required between summary line and description (autofix not working)
      "D212",  # Multi-line docstring summary should start at first line (we choose 2nd)
      "PD901", # Pandas-df-variable-name
  ]
  line-length = 100  # Only for comments, as code is handled by black at length 88
  
  [tool.ruff.pydocstyle]
  convention = "google"
  
  [tool.bandit]
  skips = ["B108", "B307", "B404", "B602"]
  
  [tool.bandit.assert_used]
  skips = ["**/test_*.py", "**/*_test.py"]
  
  [[tool.mypy.overrides]]
  module = "referencing.jsonschema.*"
  follow_imports = "skip"
  
  [tool.pytest.ini_options]
  asyncio_mode = "auto"