A Python robot that edits Wikipedia and interacts with people over IRC https://en.wikipedia.org/wiki/User:EarwigBot
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

76 行
2.2 KiB

  1. [project]
  2. name = "earwigbot"
  3. version = "0.4.1"
  4. authors = [
  5. {name = "Ben Kurtovic", email = "ben@benkurtovic.com"},
  6. ]
  7. description = "EarwigBot is a bot that edits Wikipedia and interacts over IRC"
  8. readme = "README.rst"
  9. requires-python = ">=3.11"
  10. dependencies = [
  11. "PyYAML >= 5.4.1", # Parsing config files
  12. "mwparserfromhell >= 0.6", # Parsing wikicode for manipulation
  13. "requests >= 2.25.1", # Wiki API requests
  14. "requests_oauthlib >= 1.3.0", # API authentication via OAuth
  15. ]
  16. license = "MIT"
  17. license-files = ["LICENSE"]
  18. keywords = ["earwig", "earwigbot", "irc", "wikipedia", "wiki", "mediawiki"]
  19. classifiers = [
  20. "Development Status :: 3 - Alpha",
  21. "Environment :: Console",
  22. "Intended Audience :: Developers",
  23. "Natural Language :: English",
  24. "Operating System :: OS Independent",
  25. "Programming Language :: Python :: 3",
  26. "Topic :: Communications :: Chat :: Internet Relay Chat",
  27. "Topic :: Internet :: WWW/HTTP",
  28. ]
  29. [project.optional-dependencies]
  30. crypto = [
  31. "cryptography >= 3.4.7", # Storing bot passwords + keys in the config file
  32. ]
  33. sql = [
  34. "pymysql >= 1.1.0", # Interfacing with MediaWiki databases
  35. ]
  36. copyvios = [
  37. "beautifulsoup4 >= 4.9.3", # Parsing/scraping HTML
  38. "charset_normalizer >= 3.3.2", # Encoding detection for BeautifulSoup
  39. "lxml >= 4.6.3", # Faster parser for BeautifulSoup
  40. "nltk >= 3.9.1", # Parsing sentences to split article content
  41. "pdfminer >= 20191125", # Extracting text from PDF files
  42. "tldextract >= 3.1.0", # Getting domains for the multithreaded workers
  43. ]
  44. dev = [
  45. "gitpython>=3.1.49",
  46. "pytest >= 8.3.1",
  47. ]
  48. [project.urls]
  49. Homepage = "https://github.com/earwig/earwigbot"
  50. Documentation = "https://pythonhosted.org/earwigbot/"
  51. Issues = "https://github.com/earwig/earwigbot/issues"
  52. Changelog = "https://github.com/earwig/earwigbot/blob/main/CHANGELOG"
  53. [project.scripts]
  54. earwigbot = "earwigbot.cli:main"
  55. [build-system]
  56. requires = ["setuptools>=61.0"]
  57. build-backend = "setuptools.build_meta"
  58. [tool.pyright]
  59. pythonVersion = "3.11"
  60. venvPath = "."
  61. venv = ".venv"
  62. [tool.ruff]
  63. target-version = "py311"
  64. [tool.ruff.lint]
  65. select = ["E4", "E7", "E9", "F", "I", "UP"]
  66. [tool.ruff.lint.isort]
  67. known-first-party = ["conftest"]