A Python parser for MediaWiki wikicode https://mwparserfromhell.readthedocs.io/
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 
 
 

100 satır
3.0 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. "sphinx",
  40. ]
  41. [build-system]
  42. requires = ["setuptools >= 77.0.3", "setuptools-scm>=8"]
  43. build-backend = "setuptools.build_meta"
  44. [[tool.setuptools.ext-modules]]
  45. name = "mwparserfromhell.parser._tokenizer"
  46. sources = [
  47. "src/mwparserfromhell/parser/ctokenizer/avl_tree.c",
  48. "src/mwparserfromhell/parser/ctokenizer/definitions.c",
  49. "src/mwparserfromhell/parser/ctokenizer/tag_data.c",
  50. "src/mwparserfromhell/parser/ctokenizer/textbuffer.c",
  51. "src/mwparserfromhell/parser/ctokenizer/tok_parse.c",
  52. "src/mwparserfromhell/parser/ctokenizer/tok_support.c",
  53. "src/mwparserfromhell/parser/ctokenizer/tokenizer.c",
  54. "src/mwparserfromhell/parser/ctokenizer/tokens.c",
  55. ]
  56. depends = [
  57. "src/mwparserfromhell/parser/ctokenizer/avl_tree.h",
  58. "src/mwparserfromhell/parser/ctokenizer/common.h",
  59. "src/mwparserfromhell/parser/ctokenizer/contexts.h",
  60. "src/mwparserfromhell/parser/ctokenizer/definitions.h",
  61. "src/mwparserfromhell/parser/ctokenizer/tag_data.h",
  62. "src/mwparserfromhell/parser/ctokenizer/textbuffer.h",
  63. "src/mwparserfromhell/parser/ctokenizer/tok_parse.h",
  64. "src/mwparserfromhell/parser/ctokenizer/tok_support.h",
  65. "src/mwparserfromhell/parser/ctokenizer/tokenizer.h",
  66. "src/mwparserfromhell/parser/ctokenizer/tokens.h",
  67. ]
  68. include-dirs = ["lib"]
  69. optional = true
  70. [tool.setuptools_scm]
  71. [tool.cibuildwheel]
  72. environment-pass = ["RUNNER_OS"]
  73. test-groups = ["dev"]
  74. test-command = [
  75. 'python -c "import mwparserfromhell.parser._tokenizer"',
  76. "pytest {project}/tests -rxs --cov=mwparserfromhell --cov-report=lcov:coverage.lcov",
  77. "python {project}/scripts/save_coverage.py",
  78. ]
  79. [tool.pyright]
  80. pythonVersion = "3.9"
  81. typeCheckingMode = "standard"
  82. venvPath = "."
  83. venv = ".venv"
  84. [tool.ruff]
  85. target-version = "py39"
  86. [tool.ruff.lint]
  87. extend-select = [
  88. "I",
  89. "UP",
  90. ]