Executable domain formalization toolkit for domain specifications.
- uv
uvx se-df --help
uvx se-df init --help
uvx se-df validate --help
uvx se-df generate --help
uvx se-df translate --help
uvx se-df compare --help
uvx se-df check --help
uvx se-df package --help
uvx se-df report --help
uvx se-df run --helpShow command reference
Open a machine terminal where you want the project:
git clone https://github.com/structural-explainability/se-df
cd se-df
code .# if PowerShell blocks execution
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\rel.ps1
uv self update
uv python pin 3.15
uv lock --upgrade
uv sync --extra dev --extra docs --upgrade
uvx pre-commit install
uvx pre-commit autoupdate
git add -A
uvx pre-commit run --all-files
# repeat if changes were made
uvx pre-commit run --all-files
# Test drive locally
uv run se-df --help
uv run se-df init --help
uv run se-df validate --help
uv run se-df generate --help
uv run se-df translate --help
uv run se-df compare --help
uv run se-df check --help
uv run se-df package --help
uv run se-df report --help
uv run se-df run --help
# types, tests, docs
uv run python -m pyright
uv run python -m pytest
uv run python -m zensical build
# contract checks (should be all kept, 0 broken)
$env:PYTHONPATH = "src"; uvx --python 3.14 --from import-linter lint-imports --config .github/.importlinter
# find dead code
uvx --with-editable . vulture src/se_df
# complexity on all (only A and B allowed)
uvx radon cc src/se_df -s -a
# complexity (check for any C ratings, should return nothing)
uvx radon cc src/se_df -s -a -n C
# maintainability on all (should be A)
uvx radon cc src/se_df -s
# hal
uvx radon cc src/se_df
# raw
uvx radon cc src/se_df
# raw (totals)
uvx radon raw src/se_df -j | uv run python -c "import json, sys; data=json.load(sys.stdin); keys=('loc','lloc','sloc','comments','multi','blank','single_comments'); totals={k:sum(file[k] for file in data.values()) for k in keys}; print('\n'.join(f'{k.upper()}: {v}' for k,v in totals.items()))"
# save progress
git add -A
git commit -m "update"
git push -u origin main