Skip to content

Glossary

Tom Ritchford edited this page Jul 19, 2023 · 20 revisions

SuperduperDB Glossary

Please keep these glossary entries in alphabetical order within each section.

Terms from the Python code

Artifact

The saved result of a training session, model run or other computation. Artifacts may be very large.

Controller

A Listener that also sends messages to its target.

Enable/disable

A "software switch" (i.e. a boolean) that can be turned on and off repeatedly to enable or disable a software component. Compare start/stop

"Izes": conversions to different Python types.

The types are:

  1. JSON: "What json.dump accepts." None, bool, Number, str, combined with list and string-keyed dicts.
  2. Dicty: like JSON except the leaves can be of any type
  3. BSON
  4. Document: our Document type

and corresponding to them, four verb and four Python methods

  1. jsonize, .to_json()
  2. dictize, .to_dict()
  3. bsonize, .to_bson()
  4. docize, .to_doc()

JSONable

A Python object is JSONable if

  1. It is a Pydantic class, and
  2. if its .dict() value can be converted to JSON.

Listener

A Listener passively accepts events from its target, and then stores or processes them.

Pydantic class

A class is "Pydantic" if

  1. It's derived from superduperdb.JSONable which is derived from pydantic.BaseModel, or
  2. It's a pydantic data class, or equivalently, a superduperdb.misc.dataclasses dataclass

Start/stop

A start/stop object may be started at most once, and not restarted, and can also become stopped without stop() ever being called. Compare enable/disable.

type_id

A type_id is a static class member that uniquely represents a class.

We use them in two places: for discriminated unions in Pydantic, and in distinguishing classes derived from Component.

Versioning

TBD