content: [tool.poetry]
  name = "neucodec"
  version = "0.0.4"
  description = "A package for NeuCodec, based on xcodec2."
  authors = ["Neuphonic <support@neuphonic.com>"]
  readme = "README.md"
  license = "MIT"
  packages = [{ include = "neucodec" }]
  
  [tool.poetry.dependencies]
  python = "^3.10"
  
  # Your provided runtime dependencies
  numpy = ">=2.0.2"
  
  torch = ">=2.5.1"
  torchaudio = ">=2.5.1"
  torchao = ">=0.12.0"
  torchtune = ">=0.3.1"
  vector-quantize-pytorch = "==1.17.8"
  transformers = ">=4.44.2"
  local_attention = ">=1.11.1"
  
  # Optional: specify dev dependencies
  [tool.poetry.group.dev.dependencies]
  pytest = "^8.2.2"
  ruff = "^0.5.0"
  pre-commit = "^3.7.1"
  jupyter = "^1.0.0"
  pytest-asyncio = "^0.23.7"
  pytest-cov = "^5.0.0"
  sphinx = "^7.3.7"
  sphinx-book-theme = "^1.1.3"
  myst-parser = "^3.0.1"
  sphinx-copybutton = "^0.5.2"
  pytest-mock = "^3.14.0"
  
  [build-system]
  requires = ["poetry-core"]
  build-backend = "poetry.core.masonry.api"
  
  # RUFF FORMATTING AND LINTING CONFIG
  [tool.ruff]
  target-version = "py312"
  
  [tool.ruff.lint]
  # Skip unused variable rules (`F841`).
  ignore = ["F841"]
  
  # Enable Pyflakes (`F`), a subset of the pycodestyle (`E`) codes, pycodestyle warnings (`W`)
  # and McCabe complexity (`C901`). This will mimic the default flake8 configuration for linting.
  select = ["E4", "E7", "E9", "F", "W", "C901"]
  
  # Ignore unused-imports and wildcard * imports in __init__.py and __main__.py files.
  extend-per-file-ignores = { "**/__init__.py" = [
    "F401",
    "F403",
    "E402",
  ], "**/__main__.py" = [
    "F401",
    "F403",
  ] }
  