https://github.com/praw-dev/praw
Raw File
Tip revision: f9bc8044e07cf651e12de8509fc6c7d57da1b7dc authored by Joel Payne on 29 January 2024, 15:51:21 UTC
Merge pull request #2013 from praw-dev/update/pre-commit-hooks
Tip revision: f9bc804
pyproject.toml
[build-system]
build-backend = "flit_core.buildapi"
requires = ["flit_core >=3.4,<4"]

[project]
authors = [{name = "Bryce Boe", email = "bbzbryce@gmail.com"}]
classifiers = [
  "Development Status :: 5 - Production/Stable",
  "Environment :: Console",
  "Intended Audience :: Developers",
  "License :: OSI Approved :: BSD License",
  "Natural Language :: English",
  "Operating System :: OS Independent",
  "Programming Language :: Python",
  "Programming Language :: Python :: 3",
  "Programming Language :: Python :: 3.8",
  "Programming Language :: Python :: 3.9",
  "Programming Language :: Python :: 3.10",
  "Programming Language :: Python :: 3.11",
  "Programming Language :: Python :: 3.12",
  "Topic :: Utilities"
]
dependencies = [
  "prawcore >=2.1, <3",
  "update_checker >=0.18",
  "websocket-client >=0.54.0"
]
dynamic = ["version", "description"]
keywords = ["reddit", "api", "wrapper"]
license = {file = "LICENSE.txt"}
maintainers = [
  {name = "Bryce Boe", email = "bbzbryce@gmail.com"},
  {name = "Joe RH", email = "jarhill0@gmail.com"},
  {name = "Joel Payne", email = "lilspazjoekp@gmail.com"}
]
name = "praw"
readme = "README.rst"
requires-python = "~=3.8"

[project.optional-dependencies]
ci = ["coveralls"]
dev = [
  "packaging",
  "praw[lint]",
  "praw[test]"
]
lint = [
  "praw[readthedocs]",
  "pre-commit",
  "ruff >=0.0.291"
]
readthedocs = [
  "furo",
  "sphinx"
]
test = [
  "betamax >=0.8, <0.9",
  "betamax-matchers >=0.3.0, <0.5",
  "pytest >=2.7.3",
  "requests >=2.20.1, <3",
  "urllib3 ==1.26.*, <2"
]

[project.urls]
"Change Log" = "https://praw.readthedocs.io/en/latest/package_info/change_log.html"
"Documentation" = "https://praw.readthedocs.io/"
"Issue Tracker" = "https://github.com/praw-dev/praw/issues"
"Source Code" = "https://github.com/praw-dev/praw"

[tool.black]
extend_exclude = '/(\.venv.*)/'
line-length = 88

[tool.docstrfmt]
extend_exclude = ['./docs/examples/']

[tool.isort]
profile = 'black'
skip_glob = '.venv*'

[tool.ruff]
target-version = "py38"
include = [
  "praw/**/*.py"
]
ignore = [
  "A002", # shadowing built-in
  "ANN101", # missing type annotation for self in method
  "ANN102", # missing type annotation for cls in classmethod
  "ANN202", # missing return type for private method
  "ANN401", # typing.Any usage
  "D203", # 1 blank line required before class docstring
  "D213", # Multi-line docstring summary should start at the second line
  "E501", # line-length
  "N818", # exception name should be named with an Error suffix
  "PLR0913", # too many arguments
  "PLR2004", # Magic value used in comparison,
  "S101" # use of assert
]
select = [
  "A", # flake8-builtins
  "ANN", # flake8-annotations
  "ARG", # flake8-unused-arguments
  "B", # flake8-bugbear
  "BLE", # flake8-blind-except
  "C4", # flake8-comprehensions
  "D", # pydocstyle
  "DTZ", # flake8-datetimez
  "E", # pycodestyle errors
  "EM", # flake8-errmsg
  "ERA", # eradicate
  "EXE", # flake8-executable
  "F", # pyflakes
  "FA", # flake8-future-annotations
  "FIX", # flake8-fix me
  "FLY", # flynt
  "G", # flake8-logging-format
  "I", # isort
  "INP", # flake8-no-pep420
  "ISC", # flake8-implicit-str-concat
  "N", # pep8-naming
  "PIE", # flake8-pie
  "PGH", # pygrep-hooks
  "PL", # Pylint
  "PT", # flake8-pytest-style
  "PTH", # flake8-use-pathlib
  "PYI", # flake8-pyi
  "Q", # flake8-quotes
  "RET", # flake8-return
  "RSE", # flake8-raise
  "S", # bandit
  "SIM", # flake8-simplify
  "T10", # flake8-debugger
  "T20", # flake8-print
  "TCH", # flake8-type-checking
  "TD", # flake8-todos
  "W", # pycodestyle warnings
  "UP" # pyupgrade
]
ignore-init-module-imports = true

[tool.ruff.flake8-annotations]
allow-star-arg-any = true
mypy-init-return = true
suppress-dummy-args = true
suppress-none-returning = true

[tool.ruff.per-file-ignores]
"__init__.py" = ["F401"]
"praw/models/mod_notes.py" = ["FA100"]
back to top