pyproject.toml 2.1 KB

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