A Python robot that edits Wikipedia and interacts with people over IRC https://en.wikipedia.org/wiki/User:EarwigBot
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

pyproject.toml 2.2 KiB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. [project]
  2. name = "earwigbot"
  3. version = "0.4.dev0"
  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. keywords = ["earwig", "earwigbot", "irc", "wikipedia", "wiki", "mediawiki"]
  17. classifiers = [
  18. "Development Status :: 3 - Alpha",
  19. "Environment :: Console",
  20. "Intended Audience :: Developers",
  21. "License :: OSI Approved :: MIT License",
  22. "Natural Language :: English",
  23. "Operating System :: OS Independent",
  24. "Programming Language :: Python :: 3",
  25. "Topic :: Communications :: Chat :: Internet Relay Chat",
  26. "Topic :: Internet :: WWW/HTTP",
  27. ]
  28. [project.optional-dependencies]
  29. crypto = [
  30. "cryptography >= 3.4.7", # Storing bot passwords + keys in the config file
  31. ]
  32. sql = [
  33. "pymysql >= 1.1.0", # Interfacing with MediaWiki databases
  34. ]
  35. copyvios = [
  36. "beautifulsoup4 >= 4.9.3", # Parsing/scraping HTML
  37. "charset_normalizer >= 3.3.2", # Encoding detection for BeautifulSoup
  38. "lxml >= 4.6.3", # Faster parser for BeautifulSoup
  39. "nltk >= 3.6.1", # Parsing sentences to split article content
  40. "pdfminer >= 20191125", # Extracting text from PDF files
  41. "tldextract >= 3.1.0", # Getting domains for the multithreaded workers
  42. ]
  43. dev = [
  44. "pytest >= 8.3.1"
  45. ]
  46. [project.urls]
  47. Homepage = "https://github.com/earwig/earwigbot"
  48. Documentation = "https://pythonhosted.org/earwigbot/"
  49. Issues = "https://github.com/earwig/earwigbot/issues"
  50. Changelog = "https://github.com/earwig/earwigbot/blob/main/CHANGELOG"
  51. [project.scripts]
  52. earwigbot = "earwigbot.cli:main"
  53. [build-system]
  54. requires = ["setuptools>=61.0"]
  55. build-backend = "setuptools.build_meta"
  56. [tool.pyright]
  57. exclude = [
  58. # TODO
  59. "src/earwigbot/commands",
  60. "src/earwigbot/tasks",
  61. "src/earwigbot/wiki/copyvios"
  62. ]
  63. pythonVersion = "3.11"
  64. venvPath = "."
  65. venv = "venv"
  66. [tool.ruff]
  67. target-version = "py311"
  68. [tool.ruff.lint]
  69. select = ["E4", "E7", "E9", "F", "I", "UP"]
  70. ignore = ["F403"]