Metadata-Version: 2.1
Name: strictdoc
Version: 0.0.9
Summary:  Software for writing technical requirements and specifications.
Home-page: https://github.com/stanislaw/strictdoc
License: Apache 2
Keywords: Documentation,Requirements management
Author: Stanislav Pankevich
Author-email: s.pankevich@gmail.com
Maintainer: Stanislav Pankevich
Maintainer-email: s.pankevich@gmail.com
Requires-Python: >=3.6.2,<4.0.0
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Dist: XlsxWriter (>=1.3.7,<2.0.0)
Requires-Dist: beautifulsoup4 (>=4.9.3,<5.0.0)
Requires-Dist: docutils (==0.16)
Requires-Dist: jinja2 (==2.11.2)
Requires-Dist: python-datauri (>=0.2.9,<0.3.0)
Requires-Dist: textx (==2.3.0)
Project-URL: Documentation, https://strictdoc.readthedocs.io/en/latest/index.html
Project-URL: Repository, https://github.com/stanislaw/strictdoc
Description-Content-Type: text/markdown

# StrictDoc

![](https://github.com/stanislaw/strictdoc/workflows/StrictDoc%20on%20macOS/badge.svg)
![](https://github.com/stanislaw/strictdoc/workflows/StrictDoc%20on%20Linux/badge.svg)
![](https://github.com/stanislaw/strictdoc/workflows/StrictDoc%20on%20Windows/badge.svg)

StrictDoc is software for writing technical requirements and specifications.

Summary of StrictDoc features:

- The documentation files are stored as human-readable text files.
- A simple domain-specific language DSL is used for writing the documents. The
  text format for encoding this language is called SDoc (strict-doc).
- StrictDoc reads `*.sdoc` files and builds an in-memory representation of the
  document tree.
- From this in-memory representation, StrictDoc can generate the documentation
  into a number of formats including HTML, RST, PDF, Excel.
- The focus of the tool is modeling requirements and specifications documents.
  Such documents consist of multiple statements like "system X shall do Y"
  called requirements.
- The requirements can be linked together to form the relationships, such as
  "parent-child", and from these connections, many useful features, such as
  [Requirements Traceability](https://en.wikipedia.org/wiki/Requirements_traceability)
  and Documentation Coverage, can be derived.
- Good performance of the [textX](https://github.com/textX/textX) parser and
  parallelized incremental generation of documents: generation of document trees
  with up to 2000-3000 requirements into HTML pages stays within a few seconds.
  From the second run, only changed documents are regenerated. Further
  performance tuning should be possible.

**Warning:** The StrictDoc project is alpha quality. See the
[Roadmap](https://strictdoc.readthedocs.io/en/latest/StrictDoc.html#roadmap)
section to get an idea of the overall project direction.

The documentation is hosted on Read the Docs:
[StrictDoc documentation](https://strictdoc.readthedocs.io/en/latest/).

