A Python parser for MediaWiki wikicode https://mwparserfromhell.readthedocs.io/
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 

98 行
2.9 KiB

  1. [project]
  2. name = "mwparserfromhell"
  3. dynamic = ["version"]
  4. description = "MWParserFromHell is a parser for MediaWiki wikicode"
  5. authors = [
  6. {name = "Ben Kurtovic", email = "ben@benkurtovic.com"},
  7. ]
  8. license = "MIT"
  9. license-files = ["LICENSE"]
  10. keywords = [
  11. "mwparserfromhell", "wikipedia", "wiki", "mediawiki", "wikicode", "wikitext"
  12. ]
  13. readme = "README.rst"
  14. requires-python = ">= 3.9"
  15. dependencies = []
  16. classifiers = [
  17. "Development Status :: 4 - Beta",
  18. "Environment :: Console",
  19. "Intended Audience :: Developers",
  20. "Operating System :: OS Independent",
  21. "Programming Language :: Python :: 3",
  22. "Programming Language :: Python :: 3.9",
  23. "Programming Language :: Python :: 3.10",
  24. "Programming Language :: Python :: 3.11",
  25. "Programming Language :: Python :: 3.12",
  26. "Programming Language :: Python :: 3.13",
  27. "Topic :: Text Processing :: Markup",
  28. ]
  29. [project.urls]
  30. Repository = "https://github.com/earwig/mwparserfromhell"
  31. Documentation = "https://mwparserfromhell.readthedocs.io/"
  32. Issues = "https://github.com/earwig/mwparserfromhell/issues"
  33. Changelog = "https://github.com/earwig/mwparserfromhell/blob/main/CHANGELOG"
  34. [dependency-groups]
  35. dev = [
  36. "psutil",
  37. "pytest",
  38. "pytest-cov",
  39. ]
  40. [build-system]
  41. requires = ["setuptools >= 77.0.3", "setuptools-scm>=8"]
  42. build-backend = "setuptools.build_meta"
  43. [[tool.setuptools.ext-modules]]
  44. name = "mwparserfromhell.parser._tokenizer"
  45. sources = [
  46. "src/mwparserfromhell/parser/ctokenizer/avl_tree.c",
  47. "src/mwparserfromhell/parser/ctokenizer/definitions.c",
  48. "src/mwparserfromhell/parser/ctokenizer/tag_data.c",
  49. "src/mwparserfromhell/parser/ctokenizer/textbuffer.c",
  50. "src/mwparserfromhell/parser/ctokenizer/tok_parse.c",
  51. "src/mwparserfromhell/parser/ctokenizer/tok_support.c",
  52. "src/mwparserfromhell/parser/ctokenizer/tokenizer.c",
  53. "src/mwparserfromhell/parser/ctokenizer/tokens.c",
  54. ]
  55. depends = [
  56. "src/mwparserfromhell/parser/ctokenizer/avl_tree.h",
  57. "src/mwparserfromhell/parser/ctokenizer/common.h",
  58. "src/mwparserfromhell/parser/ctokenizer/contexts.h",
  59. "src/mwparserfromhell/parser/ctokenizer/definitions.h",
  60. "src/mwparserfromhell/parser/ctokenizer/tag_data.h",
  61. "src/mwparserfromhell/parser/ctokenizer/textbuffer.h",
  62. "src/mwparserfromhell/parser/ctokenizer/tok_parse.h",
  63. "src/mwparserfromhell/parser/ctokenizer/tok_support.h",
  64. "src/mwparserfromhell/parser/ctokenizer/tokenizer.h",
  65. "src/mwparserfromhell/parser/ctokenizer/tokens.h",
  66. ]
  67. include-dirs = ["lib"]
  68. optional = true
  69. [tool.setuptools_scm]
  70. [tool.cibuildwheel]
  71. test-groups = ["dev"]
  72. test-command = [
  73. "python -c 'import mwparserfromhell.parser._tokenizer'",
  74. "pytest {project}/tests -rxs --cov=mwparserfromhell",
  75. "if mkdir -p /output; then mv .coverage /output/.coverage.$(uuidgen); fi"
  76. ]
  77. [tool.pyright]
  78. pythonVersion = "3.9"
  79. typeCheckingMode = "standard"
  80. venvPath = "."
  81. venv = ".venv"
  82. [tool.ruff]
  83. target-version = "py39"
  84. [tool.ruff.lint]
  85. extend-select = [
  86. "I",
  87. "UP",
  88. ]