content: [build-system]
  requires = ["setuptools>=61.0", "wheel"]
  build-backend = "setuptools.build_meta"
  
  [project]
  name = "rsl-rl-lib"
  version = "2.3.3"
  keywords = ["reinforcement-learning", "isaac", "leggedrobotics", "rl-pytorch"]
  maintainers = [
    { name="Clemens Schwarke", email="cschwarke@ethz.ch" },
    { name="Mayank Mittal", email="mittalma@ethz.ch" },
  ]
  authors = [
    { name="Clemens Schwarke", email="cschwarke@ethz.ch" },
    { name="Mayank Mittal", email="mittalma@ethz.ch" },
    { name="Nikita Rudin", email="rudinn@ethz.ch" },
    { name="David Hoeller", email="holler.david78@gmail.com" },
  ]
  description = "Fast and simple RL algorithms implemented in PyTorch"
  readme = { file = "README.md", content-type = "text/markdown"}
  license = { text = "BSD-3-Clause" }
  
  requires-python = ">=3.8"
  classifiers = [
      "Programming Language :: Python :: 3",
      "Operating System :: OS Independent",
  ]
  dependencies = [
      "torch>=1.10.0",
      "torchvision>=0.5.0",
      "numpy>=1.16.4",
      "GitPython",
      "onnx",
  ]
  
  [project.urls]
  Homepage = "https://github.com/leggedrobotics/rsl_rl"
  Issues = "https://github.com/leggedrobotics/rsl_rl/issues"
  
  [tool.setuptools.packages.find]
  where = ["."]
  include = ["rsl_rl*"]
  
  [tool.setuptools.package-data]
  "rsl_rl" = ["config/*", "licenses/*"]
  
  [tool.isort]
  
  py_version = 37
  line_length = 120
  group_by_package = true
  
  # Files to skip
  skip_glob = [".vscode/*"]
  
  # Order of imports
  sections = [
      "FUTURE",
      "STDLIB",
      "THIRDPARTY",
      "FIRSTPARTY",
      "LOCALFOLDER",
  ]
  
  # Extra standard libraries considered as part of python (permissive licenses)
  extra_standard_library = [
      "numpy",
      "torch",
      "tensordict",
      "warp",
      "typing_extensions",
      "git",
  ]
  # Imports from this repository
  known_first_party = "rsl_rl"
  
  [tool.pyright]
  
  include = ["rsl_rl"]
  
  typeCheckingMode = "basic"
  pythonVersion = "3.7"
  pythonPlatform = "Linux"
  enableTypeIgnoreComments = true
  
  # This is required as the CI pre-commit does not download the module (i.e. numpy, torch, prettytable)
  # Therefore, we have to ignore missing imports
  reportMissingImports = "none"
  # This is required to ignore for type checks of modules with stubs missing.
  reportMissingModuleSource = "none" # -> most common: prettytable in mdp managers
  
  reportGeneralTypeIssues = "none"       # -> raises 218 errors (usage of literal MISSING in dataclasses)
  reportOptionalMemberAccess = "warning" # -> raises 8 errors
  reportPrivateUsage = "warning"
  