Unverified Commit a533eabf authored by Maxime Lefrançois's avatar Maxime Lefrançois
Browse files

refactor, generate static files, generate document index and term index

parent 913cc134
Loading
Loading
Loading
Loading
+20 −7
Original line number Diff line number Diff line
@@ -6,11 +6,9 @@ This project provides a number of tools to SAREF ontology developers:
* generate the documentation website https://saref.etsi.org/
* generate ETSI Technical Specification documents from the sources of the ontology

TODO: publish to pypi.

## Installation

NOTE: SAREF Pypeline has been tested on Linux and Windows WSL2. It's not a goal at the moment to ensure it's working in every environemnt, or provide support for installing and using it. 
NOTE: SAREF Pypeline has been tested on Linux and Windows WSL2. It's not a goal at the moment to ensure it's working in every environment, or provide support for installing and using it. 

**Prerequisites:** 

@@ -20,11 +18,17 @@ NOTE: SAREF Pypeline has been tested on Linux and Windows WSL2. It's not a goal

**With uv:** 

`uv tool install saref-pypeline`
uv tool install saref-pipeline

**With pipx:** 

`pipx install saref-pypeline`
pipx install saref-pipeline

**For local development:** 

git clone https://labs.etsi.org/rep/saref/saref-pypeline.git
cd saref-pipeline
pip install -e .[check,website]

## Basic usage

@@ -47,6 +51,8 @@ positional arguments:

options:
  -h, --help            show this help message and exit

Optional features require extras, e.g. uv tool install 'saref-pypeline[website]'
```

Commands `check`, `website`, `ts`, take a set of common options:
@@ -75,9 +81,15 @@ options:
                        Regex to select which documents to check (ontologies, examples, vocabularies, patterns). Evaluated against the path to the documents. Can be given multiple times.
  -c, --include-clauses REGEX
                        Regex to select which clauses to check. Regexes Evaluated against the TS and clause name (e.g., "TS103673 Clause 9.7.1"). Can be given multiple times.

This command require extra 'check', install with uv tool install 'saref-pypeline[check]'
```

Only option `-c` is not available to `ts` and `ts2md`.
Optional features require extras, e.g.:  
uv tool install 'saref-pipeline[check]'
uv tool install 'saref-pipeline[website]'

Option `-c` is only available for `check`.


## About
@@ -107,3 +119,4 @@ The content of this repository is licensed under the terms of the BSD-3-Clause L
Known limitations:

* [] ts generation: missing general axioms
* [] publish to pypi.
+34 −12
Original line number Diff line number Diff line
@@ -11,22 +11,14 @@ authors = [
]
requires-python = ">= 3.13"
dependencies = [
  "python-gitlab",
  "requests",
  "rdflib ~=7.0.0",
  "rdflib-leveldb @ git+https://github.com/RDFLib/rdflib-leveldb",
  "owlready2",
  "gitpython",
  "pyyaml",
  "pyshacl",
  "requests",
  "python-gitlab",
  "jinja2",
  "dominate",
  "markdown",
  "pygments",
  "beautifulsoup4",
  "python-docx",
  "python-dotenv",
  "lunr>=0.8.0",
  "markdown",
  "pyyaml",
]

[tool.setuptools.packages.find]
@@ -34,3 +26,33 @@ where = ["src"]

[project.scripts]
saref-dev = "saref_pypeline.__main__:main"

[project.optional-dependencies]
check = [
  "owlready2",
  "pyshacl",
]
website = [
  "jinja2",
  "dominate",
  "lunr>=0.8.0",
  "pygments",
]
ts = [
  "python-docx",
  "dominate",
  "pygments",
]
# alias
ts2md = ["saref-pypeline[ts]"]
# full install
all = [
  "saref-pypeline[check]",
  "saref-pypeline[website]",
  "saref-pypeline[ts]",
]

[tool.setuptools.package-data]
"saref_pypeline.check.resources" = ["**/*"]
"saref_pypeline.ts.resources" = ["**/*"]
"saref_pypeline.website.resources" = ["**/*"]
 No newline at end of file
+0 −23
Original line number Diff line number Diff line
Metadata-Version: 2.4
Name: saref-pypeline
Version: 0.1
Summary: SAREF pipeline tools
Author-email: Maxime Lefrançois <maxime.lefrancois@emse.fr>
Requires-Python: >=3.13
License-File: LICENSE
Requires-Dist: rdflib~=7.0.0
Requires-Dist: rdflib-leveldb@ git+https://github.com/RDFLib/rdflib-leveldb
Requires-Dist: owlready2
Requires-Dist: gitpython
Requires-Dist: pyyaml
Requires-Dist: pyshacl
Requires-Dist: requests
Requires-Dist: python-gitlab
Requires-Dist: jinja2
Requires-Dist: dominate
Requires-Dist: markdown
Requires-Dist: pygments
Requires-Dist: beautifulsoup4
Requires-Dist: python-docx
Requires-Dist: python-dotenv
Dynamic: license-file
+0 −74
Original line number Diff line number Diff line
LICENSE
README.md
pyproject.toml
src/saref_pypeline/__init__.py
src/saref_pypeline/__main__.py
src/saref_pypeline/_logging.py
src/saref_pypeline/constants.py
src/saref_pypeline/dataset.py
src/saref_pypeline/entities.py
src/saref_pypeline/etsi.py
src/saref_pypeline/localization.py
src/saref_pypeline/metadata_fetcher.py
src/saref_pypeline/pipeline.py
src/saref_pypeline/utils.py
src/saref_pypeline/vocabs.py
src/saref_pypeline.egg-info/PKG-INFO
src/saref_pypeline.egg-info/SOURCES.txt
src/saref_pypeline.egg-info/dependency_links.txt
src/saref_pypeline.egg-info/entry_points.txt
src/saref_pypeline.egg-info/requires.txt
src/saref_pypeline.egg-info/top_level.txt
src/saref_pypeline/checkers/BaseChecker.py
src/saref_pypeline/checkers/BaseGraphDocumentChecker.py
src/saref_pypeline/checkers/BaseGraphDocumentSHACLChecker.py
src/saref_pypeline/checkers/BasePatternChecker.py
src/saref_pypeline/checkers/TS103673_Checker.py
src/saref_pypeline/checkers/TS103673_Clause_10_2_Checker.py
src/saref_pypeline/checkers/TS103673_Clause_10_3_Checker.py
src/saref_pypeline/checkers/TS103673_Clause_10_4_Checker.py
src/saref_pypeline/checkers/TS103673_Clause_10_5_Checker.py
src/saref_pypeline/checkers/TS103673_Clause_10_Checker.py
src/saref_pypeline/checkers/TS103673_Clause_9_2_Checker.py
src/saref_pypeline/checkers/TS103673_Clause_9_3_Checker.py
src/saref_pypeline/checkers/TS103673_Clause_9_4_1_Checker.py
src/saref_pypeline/checkers/TS103673_Clause_9_4_2_Checker.py
src/saref_pypeline/checkers/TS103673_Clause_9_4_3_1_Checker.py
src/saref_pypeline/checkers/TS103673_Clause_9_4_3_2_Checker.py
src/saref_pypeline/checkers/TS103673_Clause_9_4_3_3_Checker.py
src/saref_pypeline/checkers/TS103673_Clause_9_4_4_1_Checker.py
src/saref_pypeline/checkers/TS103673_Clause_9_4_4_2_Checker.py
src/saref_pypeline/checkers/TS103673_Clause_9_4_5_Checker.py
src/saref_pypeline/checkers/TS103673_Clause_9_4_6_Checker.py
src/saref_pypeline/checkers/TS103673_Clause_9_4_Checker.py
src/saref_pypeline/checkers/TS103673_Clause_9_5_Checker.py
src/saref_pypeline/checkers/TS103673_Clause_9_6_1_Checker.py
src/saref_pypeline/checkers/TS103673_Clause_9_6_2_Checker.py
src/saref_pypeline/checkers/TS103673_Clause_9_6_3_Checker.py
src/saref_pypeline/checkers/TS103673_Clause_9_6_4_Checker.py
src/saref_pypeline/checkers/TS103673_Clause_9_6_Checker.py
src/saref_pypeline/checkers/TS103673_Clause_9_7_1_Checker.py
src/saref_pypeline/checkers/TS103673_Clause_9_7_2_Checker.py
src/saref_pypeline/checkers/TS103673_Clause_9_7_Checker.py
src/saref_pypeline/checkers/TS103673_Clause_9_8_Checker.py
src/saref_pypeline/checkers/TS103673_Clause_9_Checker.py
src/saref_pypeline/checkers/__init__.py
src/saref_pypeline/docgen/__init__.py
src/saref_pypeline/docgen/docx_generator.py
src/saref_pypeline/docgen/docxutils.py
src/saref_pypeline/docgen/html_generator.py
src/saref_pypeline/docgen/site_manager.py
src/saref_pypeline/docgen/ts_extractor.py
src/saref_pypeline/docgen/utils.py
tests/test_BranchType.py
tests/test_SAREFProject.py
tests/test_SAREFVersionName.py
tests/test_TS103673_Clause_9_3_Checker.py
tests/test_TS103673_Clause_9_4_1_Checker.py
tests/test_TS103673_Clause_9_4_2_Checker.py
tests/test_TS103673_Clause_9_4_3_1_Checker.py
tests/test_TS103673_Clause_9_4_3_2_Checker.py
tests/test_TS103673_Clause_9_4_3_3_Checker.py
tests/test_TS103673_Clause_9_4_4_1_Checker.py
tests/test_TS103673_Clause_9_4_5_Checker.py
tests/test_pipeline.py
 No newline at end of file
+0 −1
Original line number Diff line number Diff line
Loading