Marketplace

The SPLENT Marketplace is where features and product lines are found. It is a public catalog at marketplace.splent.io with a UVL configurator that turns a feature selection into the splent commands that build the product. The same index feeds feature:search and feature:info in the CLI.

How features and models reach the index and a product FEATURES GO OUT THROUGH THE FORGE AND PYPI Feature repository [tool.splent.contract] feature:release Forge and PyPI a tag and a package feature:install Your product pyproject.toml marketplace:index Catalog and CLI web, configurator, search read by index.json static, in splent_index spl:fetch by DOI, no account MODELS GO OUT THROUGH THE MARKETPLACE its lines Model working copy splent_spl_<name>/ spl:publish Marketplace holds the UVLHub key relays UVLHub mints the DOI
The index reads features at their released tags and product lines from the marketplace. A product installs features from the forge and fetches its model from UVLHub by DOI.

The rule

The index is a cache you can rebuild, never a second source of truth.

  • Everything is derived. What the marketplace knows about a feature comes from the feature’s generated [tool.splent.contract] in pyproject.toml, read at its latest released tag. What it knows about product lines comes from their UVL models. Nothing is typed in by hand.
  • Releasing a feature publishes it. feature:release bumps the version, regenerates the contract, uploads the package to PyPI and then pushes the tag and the release to the forge (git.splent.io by default). There is no upload form, account or publish API for features.
  • Publishing a model goes through the marketplace. spl:publish sends the .uvl to the marketplace, which relays it to UVLHub on its own key and returns the DOI. You log in to the marketplace with splent login and never touch UVLHub yourself.
  • A stale or lost index is rebuilt. marketplace:index regenerates the whole index.json from the sources. Nothing is edited in place.
  • No data server. The published index is a static index.json that CI builds in splent-io/splent_index and serves as a raw file from the repository. The web catalog reads it by default, and the CLI reads the workspace copy first. The architecture page gives each consumer’s order.

spl:fetch reads models from UVLHub by DOI and needs no account. The DOI travels in the product’s pyproject.toml, so a clone resolves its model from its own repository and UVLHub alone.

In this section

Page What it covers
Browsing the catalog Search, filters, feature sheets and product lines
The configurator Pick a line, select features with live UVL validation, copy the commands
Installing features Using the marketplace from the CLI
Publishing your feature Releasing, getting listed and publishing a UVL model
Architecture The index schema, the CI pipeline and the dependency kinds, for contributors

The commands are in the Marketplace section of the CLI reference.


Table of contents


Back to top

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