pyproject.toml 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. [tool.poetry]
  2. name = "ocma"
  3. version = "0.3.0"
  4. description = ""
  5. authors = ["Sean Blackburn <birdicode@gmail.com>"]
  6. license = "MIT"
  7. packages = [{ include = "ocma" }, { include = "ocma/py.typed" }]
  8. [tool.poetry.dependencies]
  9. python = "^3.9"
  10. selenium = "^4.1.0"
  11. OTPpy = "^0.1.2"
  12. [tool.poetry.group.dev.dependencies]
  13. black = "^23.1.0"
  14. pre-commit = "^3.0.4"
  15. pydocstyle = "^6.1.1"
  16. pylint = "^3.0.3"
  17. mypy = "^1.0.1"
  18. pytest = "^7.2.1"
  19. [build-system]
  20. requires = ["poetry-core>=1.0.0"]
  21. build-backend = "poetry.core.masonry.api"
  22. [tool.poetry.scripts]
  23. ocma = 'ocma.cli:run'
  24. [tool.isort]
  25. profile = "black"
  26. [tool.ruff]
  27. target-version = "py311"
  28. extend-include = ["*.ipynb"]
  29. show-fixes = true
  30. [tool.ruff.lint]
  31. select = [
  32. "E", # pycodestyle
  33. "F", # Pyflakes
  34. "UP", # pyupgrade
  35. "B", # flake8-bugbear
  36. "SIM", # flake8-simplify
  37. "I", # isort
  38. "C90", # MCcabe
  39. "N", # pep8 naming
  40. "D", # pydocstyle
  41. "UP", # pyupgrade
  42. "ICN", # import-conventions
  43. "G", # logging-format
  44. "PIE", # PIE
  45. "RET", # return values
  46. "TCH", # type-checking
  47. "PTH", # Use pathlib
  48. "PD", # pandas-vet
  49. "PL", # Pylint
  50. "TRY", # tryceratops
  51. "NPY", # NumPy-specific rules
  52. "RUF", # Ruff-specific rules
  53. # "FURB", # Refurb (Currently preview)
  54. "PERF", # Perflint
  55. "FA", # Future annotations
  56. "ISC", # Implicit string concat
  57. "INP", # No __init__.py file
  58. "C4", # Comprehensions
  59. "COM", # Commas
  60. "A", # Builtin shadowing
  61. "ANN", # Annotations
  62. "W", # warning
  63. ]
  64. ignore = ["E501", "ANN101", "ANN102", "TRY003"]
  65. [tool.ruff.lint.pep8-naming]
  66. ignore-names = []
  67. [tool.ruff.lint.pydocstyle]
  68. convention = "numpy"
  69. [tool.ruff.lint.per-file-ignores]
  70. "*.ipynb" = [
  71. "D100", # No need to write a docstring at the top of the file
  72. "B018", # It's okay to have a variable at the end of a cell to print its value
  73. ]
  74. "*_test.py" = ["PLR2004"] # Test files may have constants without names
  75. [tool.ruff.lint.flake8-type-checking]
  76. runtime-evaluated-base-classes = []
  77. [tool.mypy]
  78. python_version = "3.11"
  79. warn_return_any = true
  80. warn_unused_configs = true
  81. strict = true
  82. pretty = true
  83. # disallow_untyped_decorators = false
  84. plugins = []
  85. [[tool.mypy.overrides]]
  86. ignore_missing_imports = true
  87. module = ["otppy.*"]
  88. # https://jsh9.github.io/pydoclint/config_options.html
  89. [tool.pydoclint]
  90. style = 'numpy'
  91. exclude = '\.git|data'
  92. allow-init-docstring = true
  93. skip-checking-short-docstrings = false