[project]
name = "xml2rfc"
dynamic = ["version"]
description = "xml2rfc generates RFCs and IETF drafts from document source in XML according to the IETF xml2rfc v2 and v3 vocabularies."
readme = "README.md"
requires-python = ">=3.9"
license = {file = "LICENSE"}
authors = [{name = "Henrik Levkowetz"}]
maintainers = [{name = "IETF Tools", email = "tools-help@ietf.org"}]
keywords = ["ietf", "rfc", "id", "internet-draft", "xml", "xml2rfc", "xmlrfc"]
classifiers = [
    "Development Status :: 5 - Production/Stable",
    "Environment :: Console",
    "Operating System :: MacOS :: MacOS X",
    "Operating System :: Microsoft :: Windows",
    "Operating System :: POSIX :: Linux",
    "Programming Language :: Python",
    "Topic :: Text Processing",
    "Topic :: Text Processing :: Markup :: XML",
    "License :: OSI Approved :: BSD License",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13"
]
dependencies = [
    "platformdirs>=3.6.0",
    "configargparse>=1.2.3",
    "google-i18n-address>=3.0.0",
    "intervaltree>=3.1.0",
    "jinja2>=3.1.2",
    "lxml>=5.3.0",
    "pycountry>=22.3.5",
    "pyyaml>=5.3.1",
    "requests>=2.5.0",
    "setuptools>=24.2.0",
    "wcwidth>=0.2.5"
]

[project.urls]
homepage = "https://github.com/ietf-tools/xml2rfc"
source = "https://github.com/ietf-tools/xml2rfc"
changelog = "https://github.com/ietf-tools/xml2rfc/blob/main/CHANGELOG.md"
releasenotes = "https://github.com/ietf-tools/xml2rfc/releases"
documentation = "https://ietf-tools.github.io/xml2rfc/"
issues = "https://github.com/ietf-tools/xml2rfc/issues"

[project.optional-dependencies]
pdf = ["weasyprint==61.2", "pydyf<0.10.0"]

[project.scripts]
xml2rfc = "xml2rfc.run:main"

[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"

[tool.setuptools]
include-package-data = true

[tool.setuptools.dynamic]
version = {attr = "xml2rfc.__version__"}

[tool.setuptools.package-data]
xml2rfc = ["data/*", "templates/*"]

[tool.setuptools.packages.find]
include = ["xml2rfc*"]
