check:pyproject

Introduction

check:pyproject checks the pyproject.toml of your selected product. It reads its syntax, dependencies, feature lists, namespaces and SPL, and tells you what is off.

splent check:pyproject
  [✔] pyproject.toml parsed successfully
  [✔] Project name: my_first_app
  [✔] Project version: 0.0.1
  [✔] All 0 dependencies satisfied
  [✔] 4 features in [tool.splent].features
  [✔] SPL model sample_splent_spl (UVL found at /workspace/.splent_cache/spls/sample_splent_spl@10.5281_zenodo.20837624/sample_splent_spl.uvl)

Only a failure makes it exit 1. Warnings do not. splent doctor runs it in its Environment section.


Fixing what it reports

Duplicate feature '<name>' means the feature appears twice across features, features_dev and features_prod. Keep one entry.

SPL model <name> not downloaded yet means the model is pinned but not on disk. Run the splent spl:fetch command it prints.

Missing dependencies: <names> means a dependency of [project].dependencies is not installed in the Python the CLI runs.


Reference

Check Passes when Otherwise
TOML It parses Failure
Project name and version Present Warning
Dependencies All installed, compared by distribution name. PEP 508 markers and direct URLs are understood, and a dependency whose marker excludes this platform or Python is skipped Failure, Missing dependencies: <names> or Invalid dependency '<dep>' (not a PEP 508 requirement)
Features Counts features, and features_dev and features_prod when present  
Duplicates No feature twice across the three lists Failure, naming every entry
Namespaces Each org spelled one way. Features of different orgs are fine Warning, such as Inconsistent namespaces: splent-io, splent_io
SPL [tool.splent].spl names a model whose UVL is on disk, in its working copy or in .splent_cache/spls/ Warning when it is pinned and not fetched yet. Failure with no UVL on disk and no DOI recorded

A product with no spl may name a file under its uvl/ folder in [tool.splent.uvl].file, which must exist. With neither key it warns No SPL configured.


Back to top

splent. Distributed by an LGPL license v3. Contact us: drorganvidez@us.es