pyproject.toml 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. # Package ######################################################################
  2. [build-system]
  3. requires = ["setuptools >= 61.0.0"]
  4. build-backend = "setuptools.build_meta"
  5. [project]
  6. name = "minigrid"
  7. description = "Minimalistic gridworld reinforcement learning environments."
  8. readme = "README.md"
  9. requires-python = ">= 3.8"
  10. authors = [{ name = "Farama Foundation", email = "contact@farama.org" }]
  11. license = { text = "MIT License" }
  12. keywords = ["Memory, Environment, Agent, RL, Gymnasium"]
  13. classifiers = [
  14. "Development Status :: 4 - Beta", # change to `5 - Production/Stable` when ready
  15. "License :: OSI Approved :: MIT License",
  16. "Programming Language :: Python :: 3",
  17. "Programming Language :: Python :: 3.8",
  18. "Programming Language :: Python :: 3.9",
  19. "Programming Language :: Python :: 3.10",
  20. "Programming Language :: Python :: 3.11",
  21. "Programming Language :: Python :: 3.12",
  22. 'Intended Audience :: Science/Research',
  23. 'Topic :: Scientific/Engineering :: Artificial Intelligence',
  24. ]
  25. dependencies = ["numpy>=1.18.0", "gymnasium>=0.28.1", "pygame>=2.4.0"]
  26. dynamic = ["version"]
  27. [project.optional-dependencies]
  28. testing = ["pytest>=7.0.1", "pytest-mock>=3.10.0", "matplotlib>=3.0"]
  29. wfc = ["networkx", "imageio>=2.31.1"]
  30. [project.urls]
  31. Homepage = "https://farama.org"
  32. Repository = "https://minigrid.farama.org/"
  33. Documentation = "https://minigrid.farama.org/"
  34. "Bug Report" = "https://github.com/Farama-Foundation/Minigrid/issues"
  35. [tool.setuptools]
  36. include-package-data = true
  37. [tool.setuptools.packages.find]
  38. include = ["minigrid*"]
  39. # Linters and Test tools #######################################################
  40. [tool.black]
  41. [tool.isort]
  42. atomic = true
  43. profile = "black"
  44. append_only = true
  45. src_paths = ["minigrid", "tests"]
  46. add_imports = ["from __future__ import annotations"]
  47. [tool.pyright]
  48. include = ["minigrid/**"]
  49. exclude = ["**/node_modules", "**/__pycache__"]
  50. strict = []
  51. typeCheckingMode = "basic"
  52. pythonVersion = "3.7"
  53. typeshedPath = "typeshed"
  54. enableTypeIgnoreComments = true
  55. # This is required as the CI pre-commit does not download the module (i.e. numpy)
  56. # Therefore, we have to ignore missing imports
  57. reportMissingImports = "none"
  58. reportUnknownMemberType = "none"
  59. reportUnknownParameterType = "none"
  60. reportUnknownVariableType = "none"
  61. reportUnknownArgumentType = "none"
  62. reportPrivateUsage = "warning"
  63. reportUntypedFunctionDecorator = "none"
  64. reportMissingTypeStubs = false
  65. reportUnboundVariable = "warning"
  66. reportGeneralTypeIssues = "none"
  67. reportPrivateImportUsage = "none"
  68. [tool.pytest.ini_options]
  69. filterwarnings = [
  70. 'ignore:.*step API.*:DeprecationWarning',
  71. ] # TODO: to be removed when old step API is removed