plain-parser
Python parser for ***plain specification files.
Reads a .plain module and its import / requires chain, resolves Liquid templates,
validates concepts and linked resources, and returns the marshalled specification tree
plus the ordered list of functionalities (FRIDs).
Install
pip install plain-parser
Usage
from plain_parser import plain_file_parser
module_name, plain_source_tree, required_modules = plain_file_parser("my_spec.plain", ["."])
plain_source_tree is a dict keyed by section (definitions, implementation reqs,
test reqs, functional specs), each a list of {"markdown": ..., "linked_resources": [...]}
entries. plain_parser.plain_spec has helpers for walking functionalities
(get_frids, get_specifications_for_frid, collect_linked_resources).
Development
uv venv --python 3.11 && source .venv/bin/activate
uv pip install -e ".[dev]"
pytest
black . --check && isort . --check-only && flake8 . && mypy src
License
MIT, see LICENSE.
Metadata
Release files for plain-parser 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| plain_parser-0.1.0.tar.gz | 63.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| plain_parser-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 83.9 kB
Release files / plain_parser-0.1.0.tar.gz
| Download URL | plain_parser-0.1.0.tar.gz |
|---|---|
| Size | 63.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
979d3be4031cfa7d1a85dafcb6e6049bb70006a28e89c7d547e841cc6fb29d02
|
|
BLAKE2b-256 checksum How to use checksums |
bced36a267dec19b78badec1d7354bb0b54767f1cfcd4f8a652b55e20ccbcaad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / plain_parser-0.1.0-py3-none-any.whl
| Download URL | plain_parser-0.1.0-py3-none-any.whl |
|---|---|
| Size | 20.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
01af90d6177877d7e16651542e19a609735f2b894bc722a8df39b92036cb20f7
|
|
BLAKE2b-256 checksum How to use checksums |
978747c48be5d1c0e4659d3530efbb0a2b1f6337bb8e2111ec5d4252c97d8f2e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|