2
0
Fork 0
wuttjamaican/docs/glossary.rst
2023-11-24 19:14:48 -06:00

122 lines
4.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`.
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.
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 name
Code-friendly name for the underlying app/config system
(e.g. ``wutta_poser``).
This must usually be specified as part of the call to
:func:`~wuttjamaican.conf.make_config()` and is then available on
the :term:`config object`
:attr:`~wuttjamaican.conf.WuttaConfig.appname` and the :term:`app
handler` :attr:`~wuttjamaican.app.AppHandler.appname`.
See also the human-friendly :term:`app title`.
app title
Human-friendly name for the :term:`app` (e.g. "Wutta Poser").
See also the code-friendly :term:`app name`.
command
A top-level command line interface for the app. Note that
top-level commands don't really "do" anything per se, and are
mostly a way to group :term:`subcommands<subcommand>`. See also
:class:`~wuttjamaican.cmd.base.Command`.
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 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`.
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`.
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`.
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`.
settings table
Table in the :term:`app database` which is used to store
:term:`config settings<config setting>`. See also
:doc:`narr/config/table`.
subcommand
A top-level :term:`command` may expose one or more subcommands,
for the overall command line interface. Subcommands are the real
workhorse; each can perform a different function. See also
:doc:`narr/cli/subcommands`.
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`.