[build-system]
requires = ["hatchling>=1.27"]
build-backend = "hatchling.build"

[project]
name = "Pygments"
dynamic = ["version"]
requires-python = ">=3.9"
license = "BSD-2-Clause"
license-files = ["AUTHORS", "LICENSE"]
authors = [
  {name = "Georg Brandl", email = "georg@python.org"}
]
maintainers = [
  {name = "Georg Brandl", email = "georg@python.org"},
  {name = "Matthäus G. Chajdas"},
  {name = "Jean Abou Samra", email = "jean@abou-samra.fr"},
]
description = "Pygments is a syntax highlighting package written in Python."
# For PyPI, use a shorter description than README.rst.
readme = {file = "description.rst", content-type = "text/x-rst"}
keywords = ["syntax highlighting"]
classifiers = [
    "Development Status :: 6 - Mature",
    "Intended Audience :: Developers",
    "Intended Audience :: End Users/Desktop",
    "Intended Audience :: System Administrators",
    "Operating System :: OS Independent",
    "Programming Language :: Python",
    "Programming Language :: Python :: 3",
    "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",
    "Programming Language :: Python :: 3.14",
    "Programming Language :: Python :: 3.15",
    "Programming Language :: Python :: Implementation :: CPython",
    "Programming Language :: Python :: Implementation :: PyPy",
    "Topic :: Text Processing :: Filters",
    "Topic :: Utilities",
]

[project.optional-dependencies]
plugins = [] # kept for backwards compatibility
windows-terminal = ["colorama >= 0.4.6"]

[project.urls]
Homepage = "https://pygments.org"
Documentation = "https://pygments.org/docs"
Source = "https://github.com/pygments/pygments"
"Bug Tracker" = "https://github.com/pygments/pygments/issues"
Changelog = "https://github.com/pygments/pygments/blob/master/CHANGES"

[project.scripts]
pygmentize = "pygments.cmdline:main"

# Temporary workaround for https://github.com/pypa/hatch/issues/1054
[tool.hatch.build.targets.wheel]
packages = ["pygments"]

[tool.hatch.version]
path = "pygments/__init__.py"

[tool.ruff]
target-version = "py39"
lint.extend-select = [
  "UP",  # "pyupgrade"
]
extend-exclude = [
    # These Python tests are purposefully invalid.
    "tests/snippets",
    "tests/examplefiles",
]
