Feature Metadata
Every feature passes its metadata to sila.Feature.__init__. Only originator and category should be set on a new feature.
class FileService(sila.Feature):
"""Read, write, and delete files on the connected file system."""
def __init__(self, protocol: "FileSystemProtocol"):
super().__init__(originator="io.unitelabs", category="filesystem")
self.protocol = protocol
| Argument | Set it? | Default | Format | Example |
|---|---|---|---|---|
originator | Always | org.silastandard | Reverse domain notation; lowercase letters and digits, dot-separated | io.unitelabs |
category | Always | — | Lowercase letters and digits, dot-separated | filesystem, position.clamp.edgelock |
version | Only when bumping | 1.0 | Exactly major.minor | 1.1 |
maturity_level | Never | Draft | Draft, Verified, or Normative | — |
originator
Use io.unitelabs for a UniteLabs connector, or <tld>.<vendorname> for a connector commissioned by an external vendor.
Never leave it unset. The default, org.silastandard, marks the feature as an official SiLA standard feature.
category
Name one functional domain. Check existing connectors for a category that already fits before inventing one. Only nest with dots when the feature genuinely belongs to a narrower sub-domain.
The SDK rejects uppercase letters, spaces, hyphens, and underscores in originator and category.
version
Leave it unset on a new feature; it defaults to 1.0. Set it only when the feature's interface changes, as exactly two numbers: 1.0, then 1.1, never 1.0.1. The SDK rejects patch or label segments.
The feature version is separate from the connector's package version.
maturity_level
Leave it unset. Verified and Normative are reserved for features that have passed the SiLA community review process.
Last updated