Path:
pyproject.toml
Lines:
154
Non-empty lines:
128
Non-empty lines covered with requirements:
128 / 128 (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.2",
67
"tree-sitter-c",
68
"tree_sitter_cpp",
69
"tree-sitter-python",
70
"tree-sitter-rust",
71
72
# Requirements-to-source traceability. Colored syntax for source files.
73
"pygments >= 2.10.0, == 2.*",
74
75
# Faster JSON serialization for Static HTML search.
76
"orjson",
77
78
# Static HTML export with embedded assets.
79
"beautifulsoup4 >= 4.12.0, == 4.*",
80
"html5lib>=1.1", # Used by beautifulsoup4 as an optional plugin.
81
"python-datauri >= 2.1.1, == 2.*",
82
83
# Excel
84
"XlsxWriter >= 1.3.7, == 1.*",
85
"xlrd >= 2.0.1, == 2.*",
86
"openpyxl >= 3.1.0",
87
88
# ReqIF
89
# @relation(SDOC-SRS-73, scope=line)
90
"reqif >= 0.0.39, == 0.*",
91
92
# SPDX
93
"spdx-tools >= 0.8.5",
94
95
# Web server dependencies
96
"fastapi >= 0.83.0",
97
# FastAPI: To receive uploaded files and/or form data, first install python-multipart.
98
"python-multipart",
99
"uvicorn[standard] >= 0.14.0",
100
"WebSockets",
101
# Watching project files for the server's --watch live-reload.
102
"watchdog >= 2.1.7",
103
104
# HTML2PDF dependencies
105
"html2pdf4doc == 0.0.33",
106
"pypdf >= 6.5.0, == 6.*",
107
108
# Robot Framework dependencies
109
"robotframework >= 4.0.0",
110
111
# Tree map graphs.
112
"plotly",
113
"pandas"
114
]115
# @relation(SDOC-SRS-89, scope=range_end)116
117
[project.optional-dependencies]118
development = [
119
# Development tasks
120
"invoke>=1.4.1",
121
"tox>=4.4.8",
122
]123
nuitka = [
124
# Nuitka:WARNING: Using very slow fallback for ordered sets, please install
125
# 'ordered-set' PyPI package for best Python compile time performance.
126
"nuitka",
127
"ordered-set",
128
]129
130
[project.scripts]131
strictdoc = "strictdoc.cli.main:main"
132
133
[project.urls]134
Changelog = "https://github.com/strictdoc-project/strictdoc/blob/main/CHANGELOG.md"
135
Homepage = "https://strictdoc.readthedocs.io/en/stable/"
136
Source = "https://github.com/strictdoc-project/strictdoc"
137
138
[tool.pytest.ini_options]139
addopts = "--import-mode=importlib"
140
cache_dir = "build/pytest_cache/default"
141
pythonpath = [
142
"."
143
]144
145
[tool.fixit]146
enable = [
147
".developer.fixit.check_comments",
148
".developer.fixit.check_docstrings",
149
]150
151
# FIXME: Remove disable.152
disable = [
153
"fixit.rules"
154
]