hermes.commands.marketplace

Basic CLI to list plugins from the Hermes marketplace.

Attributes

Classes

SchemaOrgModel

Basic model for Schema.org JSON-LD validation and serialization.

SchemaOrgOrganization

Validation and serialization of schema:Organization.

SchemaOrgSoftwareApplication

Validation and serialization of schema:SoftwareApplication.

PluginMarketPlaceParser

Parser for the JSON-LD Schema.org markup used in the marketplace.

Functions

_sort_plugins_by_step(→ dict[str, ...)

main()

Module Contents

hermes.commands.marketplace.MARKETPLACE_URL = 'https://hermes.software-metadata.pub/marketplace'
class hermes.commands.marketplace.SchemaOrgModel(/, **data: Any)

Bases: pydantic.BaseModel

Basic model for Schema.org JSON-LD validation and serialization.

model_config

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

context_: str = None
type_: str = None
id_: str | None = None
model_dump_jsonld()
class hermes.commands.marketplace.SchemaOrgOrganization(/, **data: Any)

Bases: SchemaOrgModel

Validation and serialization of schema:Organization.

This model does not incorporate all possible fields and is meant to be used merely for the purposes of the Hermes marketplace.

type_: str = None
name: str
class hermes.commands.marketplace.SchemaOrgSoftwareApplication(/, **data: Any)

Bases: SchemaOrgModel

Validation and serialization of schema:SoftwareApplication.

This model does not incorporate all possible fields and is meant to be used merely for the purposes of the Hermes marketplace.

type_: str = None
name: str
url: str | None = None
install_url: str | None = None
abstract: str | None = None
author: SchemaOrgOrganization | None = None
is_part_of: SchemaOrgSoftwareApplication | None = None
keywords: List[str] = None
hermes.commands.marketplace.schema_org_hermes
class hermes.commands.marketplace.PluginMarketPlaceParser(*args, **kwargs)

Bases: html.parser.HTMLParser

Parser for the JSON-LD Schema.org markup used in the marketplace.

is_json_ld: bool = False
plugins: List[SchemaOrgSoftwareApplication] = []
handle_starttag(tag, attrs)
handle_endtag(tag)
handle_data(data)
hermes.commands.marketplace._sort_plugins_by_step(plugins: list[SchemaOrgSoftwareApplication]) dict[str, list[SchemaOrgSoftwareApplication]]
hermes.commands.marketplace.main()