# `taurus.core.taurusfactory`

This module provides the `TaurusFactory` base class that any valid Factory in Taurus must inherit.

The Factory objects are the basic block for building and interacting with a given scheme in Taurus. They provide Taurus model objects (TaurusAuthority, TaurusDevice or TaurusAttribute) for a given taurus model name.

Taurus model naming is URI based (see <https://tools.ietf.org/html/rfc3986>)

All the standard components of an URI (scheme, authority, path, query and fragment) may be part of a model name, and they are separated as follows:

<scheme>:<authority><path>?<query>#<fragment>

The following are some points to consider when using and/or implementing schemes based on this Abstract class:

- It is strongly recommended that the scheme component is always present explicitly in the model name, although a default scheme can be defined in `taurus.tauruscustomsettings` so that model names which do not explicit the scheme can be auto-completed.

- The authority component (if present on a given name) must always begin by a double slash (‘//’). (see <https://tools.ietf.org/html/rfc3986#section-3.2>)

- The path component, if present, must start by a single slash (‘/’) (see <https://tools.ietf.org/html/rfc3986#section-3.3>)

Classes

class TaurusFactory

  The base class for valid Factories in Taurus.

  (more info)