266 lines
9.3 KiB
ReStructuredText
266 lines
9.3 KiB
ReStructuredText
.. _glossary:
|
|
|
|
Glossary
|
|
========
|
|
|
|
.. glossary::
|
|
:sorted:
|
|
|
|
ad hoc script
|
|
Python script (text) file used for ad-hoc automation etc. See
|
|
also :doc:`narr/cli/scripts`.
|
|
|
|
app
|
|
Depending on context, may refer to the software application
|
|
overall, or the :term:`app name`, or the :term:`app handler`.
|
|
|
|
app database
|
|
The main :term:`database` used by the :term:`app`. There is
|
|
normally just one database (for simple apps) which uses
|
|
PostgreSQL for the backend. The app database contains the
|
|
:term:`settings table` as well as :term:`data models <data
|
|
model>`.
|
|
|
|
For more info see :doc:`narr/db/app`.
|
|
|
|
app dir
|
|
Folder containing app-specific config files, log files, etc.
|
|
Usually this is named ``app`` and is located at the root of the
|
|
virtual environment.
|
|
|
|
Can be retrieved via
|
|
:meth:`~wuttjamaican.app.AppHandler.get_appdir()`.
|
|
|
|
app enum
|
|
Python module whose namespace contains all the "enum" values
|
|
used by the :term:`app`. Available on the :term:`app handler`
|
|
as :attr:`~wuttjamaican.app.AppHandler.enum`.
|
|
|
|
app handler
|
|
Python object representing the core :term:`handler` for the
|
|
:term:`app`. There is normally just one "global" app handler;
|
|
see also :doc:`narr/handlers/app`.
|
|
|
|
app model
|
|
Python module whose namespace contains all the :term:`data
|
|
models<data model>` used by the :term:`app`.
|
|
|
|
app name
|
|
This refers to the canonical name for the underlying app/config
|
|
system. It does not refer to the overall app; contrast with
|
|
:term:`app title`.
|
|
|
|
In most cases (i.e. by default) this will simply be ``wutta``.
|
|
This value affects the naming conventions for config files as
|
|
well as setting names etc.
|
|
|
|
The primary reason for this abstraction is so that the Rattail
|
|
Project could leverage the Wutta config logic without having to
|
|
rewrite all config files in the wild.
|
|
|
|
See also :attr:`~wuttjamaican.conf.WuttaConfig.appname`.
|
|
|
|
app provider
|
|
A :term:`provider` which pertains to the :term:`app handler`.
|
|
See :doc:`narr/providers/app`.
|
|
|
|
app title
|
|
Human-friendly name for the :term:`app` (e.g. "Wutta Poser").
|
|
|
|
See also the :term:`app name` which serves a very different
|
|
purpose.
|
|
|
|
auth handler
|
|
A :term:`handler` responsible for user authentication and
|
|
authorization (login, permissions) and related things.
|
|
|
|
See also :class:`~wuttjamaican.auth.AuthHandler`.
|
|
|
|
batch
|
|
This refers to a process whereby bulk data operations may be
|
|
performed, with preview and other tools to allow the user to
|
|
refine as needed before "executing" the batch.
|
|
|
|
The term "batch" may refer to such a feature overall, or the
|
|
:term:`data model` used, or the specific data for a single batch,
|
|
etc.
|
|
|
|
See also :term:`batch handler` and :term:`batch row`, and the
|
|
:class:`~wuttjamaican.db.model.batch.BatchMixin` base class.
|
|
|
|
batch handler
|
|
This refers to a :term:`handler` meant to process a given type of
|
|
:term:`batch`.
|
|
|
|
There may be multiple handlers registered for a given
|
|
:term:`batch type`, but (usually) only one will be configured for
|
|
use.
|
|
|
|
batch row
|
|
A row of data within a :term:`batch`.
|
|
|
|
May also refer to the :term:`data model` class used for such a row.
|
|
|
|
See also the :class:`~wuttjamaican.db.model.batch.BatchRowMixin`
|
|
base class.
|
|
|
|
batch type
|
|
This term is used to distinguish :term:`batches <batch>` according
|
|
to which underlying table is used to store their data, essentially.
|
|
|
|
For instance a "pricing batch" would use one table, whereas an
|
|
"inventory batch" would use another. And each "type" would be
|
|
managed by its own :term:`batch handler`.
|
|
|
|
The batch type is set on the model class but is also available on
|
|
the handler:
|
|
|
|
* :attr:`wuttjamaican.db.model.batch.BatchMixin.batch_type`
|
|
* :attr:`wuttjamaican.batch.BatchHandler.batch_type`
|
|
|
|
command
|
|
A top-level command line interface for the app. Note that
|
|
top-level commands don't usually "do" anything per se, and are
|
|
mostly a way to group :term:`subcommands<subcommand>`. See also
|
|
:doc:`narr/cli/index`.
|
|
|
|
config
|
|
Depending on context, may refer to any of: :term:`config file`,
|
|
:term:`config object`, :term:`config setting`. See also
|
|
:doc:`narr/config/index`.
|
|
|
|
config extension
|
|
A registered extension for the :term:`config object`. What
|
|
happens is, a config object is created and then extended by each
|
|
of the registered config extensions.
|
|
|
|
The intention is that all config extensions will have been
|
|
applied before the :term:`app handler` is created.
|
|
|
|
config file
|
|
A file which contains :term:`config settings<config setting>`.
|
|
See also :doc:`narr/config/files`.
|
|
|
|
config object
|
|
Python object representing the full set of :term:`config
|
|
settings<config setting>` for the :term:`app`. Usually it gets
|
|
some of the settings from :term:`config files<config file>`, but
|
|
it may also get some from the :term:`settings table`. See also
|
|
:doc:`narr/config/object`.
|
|
|
|
config setting
|
|
The value of a setting as obtained from a :term:`config object`.
|
|
Depending on context, sometimes this refers specifically to
|
|
values obtained from the :term:`settings table` as opposed to
|
|
:term:`config file`. See also :doc:`narr/config/settings`.
|
|
|
|
data model
|
|
Usually, a Python class which maps to a :term:`database` table.
|
|
|
|
The :term:`app` (assuming it has an :term:`app database`) will
|
|
have an "official" set of data models, represented as the
|
|
:term:`app model`.
|
|
|
|
database
|
|
Generally refers to a relational database which may be queried
|
|
using SQL. More specifically, one supported by `SQLAlchemy`_.
|
|
|
|
.. _SQLAlchemy: https://www.sqlalchemy.org
|
|
|
|
Most :term:`apps<app>` will have at least one :term:`app
|
|
database`. See also :doc:`narr/db/index`.
|
|
|
|
db handler
|
|
The :term:`handler` responsible for various operations involving
|
|
the :term:`app database` (and possibly other :term:`databases
|
|
<database>`).
|
|
|
|
See also the :class:`~wuttjamaican.db.handler.DatabaseHandler`
|
|
base class.
|
|
|
|
db session
|
|
The "session" is a SQLAlchemy abstraction for an open database
|
|
connection, essentially.
|
|
|
|
In practice this generally refers to a
|
|
:class:`~wuttjamaican.db.sess.Session` instance.
|
|
|
|
email handler
|
|
The :term:`handler` responsible for sending email on behalf of
|
|
the :term:`app`.
|
|
|
|
Default is :class:`~wuttjamaican.email.EmailHandler`.
|
|
|
|
email key
|
|
String idenfier for a certain :term:`email type`. Each email key
|
|
must be unique across the app, so the correct template files and
|
|
other settings are used when sending etc.
|
|
|
|
email type
|
|
The :term:`app` is capable of sending many types of emails,
|
|
e.g. daily reports, alerts of various kinds etc. Each "type" of
|
|
email then will have its own template(s) and sender/recipient
|
|
settings etc. See also :term:`email key`.
|
|
|
|
entry point
|
|
This refers to a "setuptools-style" entry point specifically,
|
|
which is a mechanism used to register "plugins" and the like.
|
|
This lets the app / config discover features dynamically. Most
|
|
notably used to register :term:`commands<command>` and
|
|
:term:`subcommands<subcommand>`.
|
|
|
|
For more info see the `Python Packaging User Guide`_.
|
|
|
|
.. _Python Packaging User Guide: https://packaging.python.org/en/latest/specifications/entry-points/
|
|
|
|
handler
|
|
Similar to a "plugin" concept but only *one* handler may be used
|
|
for a given purpose. See also :doc:`narr/handlers/index`.
|
|
|
|
install handler
|
|
The :term:`handler` responsible for installing a new instance of
|
|
the :term:`app`.
|
|
|
|
Default is :class:`~wuttjamaican.install.InstallHandler`.
|
|
|
|
package
|
|
Generally refers to a proper Python package, i.e. a collection of
|
|
modules etc. which is installed via ``pip``. See also
|
|
:doc:`narr/install/pkg`.
|
|
|
|
provider
|
|
Python object which "provides" extra functionality to some
|
|
portion of the :term:`app`. Similar to a "plugin" concept; see
|
|
:doc:`narr/providers/index`.
|
|
|
|
settings table
|
|
Table in the :term:`app database` which is used to store
|
|
:term:`config settings<config setting>`. See also
|
|
:doc:`narr/config/table`.
|
|
|
|
spec
|
|
As the term is used in Wutta Project context, this refers to a
|
|
string designating the import path to a particular object (class,
|
|
function etc.).
|
|
|
|
Also the term implies a certain format, namely a dotted module
|
|
path followed by colon (``:``), then object name.
|
|
|
|
For instance, ``wuttjamaican.app:AppHandler`` is the spec string
|
|
for the :class:`wuttjamaican.app.AppHandler` class (and note, the
|
|
hyperlink does not use colon, but our "spec" always does).
|
|
|
|
See also :meth:`~wuttjamaican.app.AppHandler.load_object()` (on
|
|
the :term:`app handler`) which can return any object from spec.
|
|
|
|
subcommand
|
|
A top-level :term:`command` may expose one or more subcommands,
|
|
for the overall command line interface. Subcommands are usually
|
|
the real workhorse; each can perform a different function with a
|
|
custom arg set. See also :doc:`narr/cli/index`.
|
|
|
|
virtual environment
|
|
This term comes from the broader Python world and refers to an
|
|
isolated way to install :term:`packages<package>`. See also
|
|
:doc:`narr/install/venv`.
|