Path:
pyproject.toml
Lines:
150
Non-empty lines:
124
Non-empty lines covered with requirements:
124 / 124 (100.0%)
Functions:
0
Functions covered by requirements:
0 / 0 (0.0%)
- "15.3.1.1. Python language" (REQUIREMENT)
- "15.4.1. Use of open source components" (REQUIREMENT)
1
#2
# @relation(SDOC-SRS-8, scope=file)3
#4
5
[build-system]6
requires = ["hatchling"]
7
build-backend = "hatchling.build"
8
9
[tool.hatch.version]10
path = "strictdoc/__init__.py"
11
12
[tool.hatch.build]13
include = [
14
"/strictdoc/",
15
"LICENSE",
16
"NOTICE",
17
"README.md",
18
"pyproject.toml"
19
]20
21
exclude = [
22
# Without this, the folder is still included to the output tar.gz because it has a Markdown file.
23
"/developer",
24
]25
26
[project]27
name = "strictdoc"
28
dynamic = ["version"]
29
description = "StrictDoc is open-source software for technical documentation and requirements management."
30
readme = "README.md"
31
license = "Apache-2.0"
32
requires-python = ">=3.10"
33
authors = [
34
{ name = "Stanislav Pankevich", email = "s.pankevich@gmail.com" },
35
{ name = "Maryna Balioura", email = "mettta@gmail.com" },
36
]37
classifiers = [
38
"License :: OSI Approved :: Apache Software License",
39
"Operating System :: OS Independent",
40
"Programming Language :: Python :: 3",
41
"Programming Language :: Python :: 3.10",
42
"Programming Language :: Python :: 3.11",
43
"Programming Language :: Python :: 3.12",
44
"Programming Language :: Python :: 3.13",
45
"Programming Language :: Python :: 3.14",
46
"Programming Language :: Python :: Implementation :: CPython",
47
"Programming Language :: Python :: Implementation :: PyPy",
48
]49
50
# @relation(SDOC-SRS-89, scope=range_start)51
dependencies = [
52
"textx >= 4.0.0, == 4.*",
53
"lark >= 1.2.2",
54
55
"jinja2 >= 2.11.2",
56
# Reading project config from strictdoc.toml file.
57
"toml",
58
59
# Parsing and rendering RST.
60
"docutils >= 0.22.2, == 0.*",
61
62
# Parsing Markdown in CommonMark mode. Converting Markdown to HTML.
63
"markdown-it-py >= 4.0.0, == 4.*",
64
65
# Tree Sitter is used for language/AST-aware parsing of Python, C and other files.
66
"tree-sitter >= 0.25",
67
"tree_sitter_cpp",
68
"tree-sitter-python",
69
"tree-sitter-rust",
70
71
# Requirements-to-source traceability. Colored syntax for source files.
72
"pygments >= 2.10.0, == 2.*",
73
74
# Faster JSON serialization for Static HTML search.
75
"orjson",
76
77
# Static HTML export with embedded assets.
78
"beautifulsoup4 >= 4.12.0, == 4.*",
79
"html5lib>=1.1", # Used by beautifulsoup4 as an optional plugin.
80
"python-datauri >= 2.1.1, == 2.*",
81
82
# Excel
83
"XlsxWriter >= 1.3.7, == 1.*",
84
"xlrd >= 2.0.1, == 2.*",
85
"openpyxl >= 3.1.0",
86
87
# ReqIF
88
# @relation(SDOC-SRS-73, scope=line)
89
"reqif >= 0.0.39, == 0.*",
90
91
# SPDX
92
"spdx-tools >= 0.8.5",
93
94
# Web server dependencies
95
"fastapi >= 0.83.0",
96
# FastAPI: To receive uploaded files and/or form data, first install python-multipart.
97
"python-multipart",
98
"uvicorn[standard] >= 0.14.0",
99
"WebSockets",
100
101
# HTML2PDF dependencies
102
"html2pdf4doc == 0.0.33",
103
"pypdf >= 6.5.0, == 6.*",
104
105
# Robot Framework dependencies
106
"robotframework >= 4.0.0",
107
108
# Tree map graphs.
109
"plotly",
110
"pandas"
111
]112
# @relation(SDOC-SRS-89, scope=range_end)113
114
[project.optional-dependencies]115
development = [
116
# Development tasks
117
"invoke>=1.4.1",
118
"tox>=4.4.8",
119
]120
nuitka = [
121
# Nuitka:WARNING: Using very slow fallback for ordered sets, please install
122
# 'ordered-set' PyPI package for best Python compile time performance.
123
"nuitka",
124
"ordered-set",
125
]126
127
[project.scripts]128
strictdoc = "strictdoc.cli.main:main"
129
130
[project.urls]131
Changelog = "https://github.com/strictdoc-project/strictdoc/blob/main/CHANGELOG.md"
132
Homepage = "https://strictdoc.readthedocs.io/en/stable/"
133
Source = "https://github.com/strictdoc-project/strictdoc"
134
135
[tool.pytest.ini_options]136
addopts = "--import-mode=importlib"
137
pythonpath = [
138
"."
139
]140
141
[tool.fixit]142
enable = [
143
".developer.fixit.check_comments",
144
".developer.fixit.check_docstrings",
145
]146
147
# FIXME: Remove disable.148
disable = [
149
"fixit.rules"
150
]