content: [tool.poetry]
  name = "mambular"
  
  version = "1.5.1"
  
  
  description = "A python package for tabular deep learning with mamba blocks."
  authors = ["Anton Thielmann", "Manish Kumar", "Christoph Weisser"]
  readme = "README.md"
  packages = [{ include = "mambular" }]
  
  [build-system]
  requires = ["poetry-core"]
  build-backend = "poetry.core.masonry.api"
  
  [tool.poetry.dependencies]
  python = ">=3.10, <=3.13"
  numpy = "<=1.26.4"
  pandas = "^2.0.3"
  lightning = "^2.3.3"
  scikit-learn = "^1.3.2"
  torch = ">=2.2.2,<=2.7.0"
  torchmetrics = "^1.5.2"
  setuptools = "^75.3.0"
  properscoring = "^0.1"
  scikit-optimize = "^0.10.2"
  einops = "^0.8.0"
  accelerate = "^1.2.1"
  scipy = "^1.15.0"
  pretab = "^0.0.1"
  
  [tool.poetry.group.dev.dependencies]
  pytest = "^8.1"
  pytest-cov = "^4.1"
  ruff = ">=0.3"
  pre-commit = "^3.6"
  docformatter = "^1.4"
  
  
  [tool.poetry.urls]
  homepage = "https://github.com/basf/mamba-tabular"
  documentation = "https://mambular.readthedocs.io/en/"
  repository = "https://github.com/basf/mamba-tabular"
  package = "https://pypi.org/project/mambular/"
  
  
  # code quality tools
  [tool.pyright]
  ignore = []
  reportMissingImports = true
  reportMissingTypeStubs = false
  pythonVersion = "3.10"
  venvPath = "."
  venv = ".venv"
  
  # Configure code linting
  [tool.ruff]
  line-length = 120
  target-version = "py310"
  exclude = ["*.ipynb", "mambular/arch_utils/mamba_utils.mamba_orginal.py"]
  
  [tool.ruff.lint]
  select = [
    "A",   # flake8-buildins
    "B",   # flake8-bugbear
    "C4",
    "E",   # pycodestyle - errors
    "F",   # pyflakes
    "I",   # isort
    "RUF", # ruff specific rules
    "S",   # flake8-bandit
    "UP",  # pyupgrade
    "W",   # pycodestyle - warnings
  ]
  
  ignore = [
    "B006",
    "F401", # Ignore unused imports
    "F841", # Ignore unused local variables
    "E501", # Ignore line length
    "D100", # Missing module-level docstring
    "D101", # Missing class-level docstring
    "D102", # Missing method-level docstring
    "D103", # Missing function-level docstring
    "B007",
    "S307",
  ]
  
  
  [tool.ruff.lint.per-file-ignores]
  # allow asserts in test files (bandit)
  "test_*" = ["S101"]
  
  [tool.ruff.lint.pycodestyle]
  max-doc-length = 120
  
  [tool.docformatter]
  recursive = true
  in-place = true
  wrap-summaries = 120
  wrap-descriptions = 120
  exclude = ["build", "dist", ".venv", ".git"]
  