NAVAL·SEM v1.0 Documentation
v1.0.0 LTS — Long-Term Support. This is the recommended build for academic research. All public result schemas are frozen: field names and types will not change in patch or minor releases. Cite with confidence.
NAVAL·SEM is a free, open-source desktop application for Structural Equation Modeling (PLS-SEM and CB-SEM), fsQCA, and the full suite of measurement, validity, and robustness analyses required for journal submission. It runs a local FastAPI server that the UI communicates with over HTTP — meaning you can also call it from your own Python or R scripts.
Installing NAVAL·SEM
Three distribution channels are available. All are free.
CITATION.cff file in the repository root.POST /run
Fit a structural equation model. Supports PLS-SEM, CB-SEM (ML), and WLS. Returns fit indices, loadings, path coefficients, R², VIF, and f².
| Parameter | Type | Required | Description |
|---|---|---|---|
| syntax | string | required | lavaan-style model syntax (=~, ~, ~~) |
| data | string (base64) | required | Base64-encoded CSV, XLSX, or SAV file |
| algorithm | string | optional | "pls" (default) | "cbsem" | "wls" |
| missing | string | optional | "listwise" (default) | "mean" |
| bootstrap_n | integer | optional | Bootstrap replications (0 = off). Use /bootstrap for full results. |
POST /fsqca New
fuzzy-set Qualitative Comparative Analysis. Accepts raw case data, calibrates fuzzy-set membership, performs necessity analysis, constructs the truth table, and minimises it using Quine-McCluskey Boolean algebra. Returns complex, parsimonious, and intermediate solutions.
| Parameter | Type | Required | Description |
|---|---|---|---|
| outcome | string | required | Column name of the outcome variable in the data |
| conditions | string[] | required | Array of condition column names (2–6 recommended) |
| data | string (base64) | required | Base64-encoded CSV/XLSX with outcome and condition columns |
| calibration.method | string | optional | "direct" (default) — uses crossover and thresholds |
| calibration.crossover | float | optional | Crossover point for calibration (default: 0.5) |
| calibration.thresholds | float[2] | optional | Full non-membership and full membership thresholds, e.g. [0.05, 0.95] |
| frequency_cutoff | integer | optional | Minimum cases per truth table row (default: 1) |
| consistency_cutoff | float | optional | Minimum row consistency to include in solution (default: 0.8) |
| solution_type | string | optional | "complex" (default) | "parsimonious" | "intermediate" |
~ denotes logical NOT (absent condition). For example, LeaderSupport*~Resources means "high leader support AND low resources." Each term in the solution array is a sufficient path to the outcome.POST /report New
Generate a submission-ready APA 7th edition Word (.docx) report aggregating all completed analysis results for a given run. Tables include measurement model, discriminant validity, structural paths, and indirect effects.
| Parameter | Type | Required | Description |
|---|---|---|---|
| run_id | string | required | Run ID from a previous /run call; the engine aggregates all results for this session. |
| include_htmt | boolean | optional | Include HTMT matrix table (default: true if HTMT was run) |
| include_indirect | boolean | optional | Include indirect effects table (default: true if /indirect was run) |
| ci_level | float | optional | Confidence interval level for bootstrap tables (default: 0.95) |
POST /cvi
Content Validity Index. Accepts an expert rating matrix (experts × items, ratings 1–4) and returns item-level I-CVI and scale-level S-CVI/Ave and S-CVI/UA. Polit & Beck (2006) thresholds applied automatically.
POST /efa
Exploratory Factor Analysis with principal-axis factoring. Supports promax (oblique) and varimax (orthogonal) rotation. Kaiser criterion and scree-plot eigenvalues returned for factor retention guidance.
| Parameter | Type | Required | Description |
|---|---|---|---|
| data | string (base64) | required | Dataset with indicator columns |
| rotation | string | optional | "promax" (default) | "varimax" |
| n_factors | integer | optional | Force extraction of N factors. Omit for Kaiser automatic extraction. |
Schema Stability
All public result schemas are frozen as of v1.0.0. The following guarantees apply to v1.x.x releases:
- ✓ No field in any frozen schema will be renamed or removed
- ✓ No field type will be narrowed (e.g., from
floattoint) - ✓ New optional fields may be added — existing integrations will not break
- ✓ Extra fields in request bodies are silently ignored (
extra="ignore")
Migration from v0.9
v1.0.0 is a forward-only additive release. No existing calls need modification.
extra="ignore" change means request bodies with unexpected fields will no longer raise 422 errors — this is a relaxation, not a break.ModelResult strictly, be prepared for new optional fields (e.g., run_id) that may appear in v1.x.x without notice — this is the schema stability guarantee in action. Use extra="ignore" in your own schema if you are building on top of NAVAL-SEM's API.Citing NAVAL·SEM
If you use NAVAL·SEM in your research, please cite the software using the Zenodo DOI. A CITATION.cff is included in the repository for APA 7, BibTeX, and RIS export.