weblate/scripts/show-extras.py
Michal Čihař bb23cdda79 docs: use :pypi: role to link to the Python packages
It was introduced recently and makes the pattern reusable.
2026-06-14 13:50:11 +02:00

39 lines
1 KiB
Python
Executable file
Vendored

#!/usr/bin/env python
# Copyright © Michal Čihař <michal@weblate.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
import re
import tomllib
print(
"""
.. Table is generated using scripts/show-extras.py
.. list-table:: Optional dependencies
:header-rows: 1
* - Optional dependency specifier
- Python packages
- Weblate feature
"""
)
indent = " "
with open("pyproject.toml", "rb") as handle:
toml_dict = tomllib.load(handle)
for section, data in toml_dict["project"]["optional-dependencies"].items():
if section == "all":
continue
# Section name
print(f"{indent}* - ``{section}``")
# Actual dependencies
dependencies = [re.split(r"[;<>=[]", dependency)[0].strip() for dependency in data]
dependencies_links = [f"| :pypi:`{dependency}`" for dependency in dependencies]
dependencies_str = f"\n{indent} ".join(dependencies_links)
print(f"{indent} - {dependencies_str}")
# Placeholder for description
print(f"{indent} -")
print()