Glossary#
- ADoc#
- ASCIIDoc#
A lightweight markup language, similar to Markdown, but with a more powerful and extensive syntax designed for writing complex technical documentation, articles, and books.
See also DocBook, https://docs.asciidoctor.org/asciidoc/latest/.
- Argument#
Python: A value or object that you pass into a function/method.
Command-line: Data that the command operates on, usually a file name, a directory path, a URL, or a string of text that the program needs to perform its primary function.
See also Option.
- Asynchronous Programming#
A style of concurrent programming that allows a program to start long-waiting operations (like a network request) and then perform other work while waiting for the original operation to complete. With the
async
andawait
keywords, this method prevents the application from blocking on slow I/O tasks, keeping it efficient and responsive.- asyncio#
Python’s standard library for writing concurrent code using the
async
/await
syntax.See also Asynchronous Programming
- Changelog#
A record of all notable changes made in a project.
See also Creating a New Release.
- Concurrency#
The ability of a system to manage and make progress on multiple tasks over an overlapping time period. It’s about dealing with many things at once, but not necessarily executing them at the exact same instant. A single CPU core can be concurrent by rapidly switching between tasks.
See also Asynchronous Programming, asyncio, Parallelism
- DAPS#
The Documentation and Publishing System (DAPS) is a tool to build documentation from DocBook or ADoc files. It is used to generate various output formats such as HTML, PDF, and EPUB.
See openSUSE/daps
- DC File#
The DAPS Configuration File (DC file) is a configuration file used by DAPS to define parameters for building documentation. For example, it contains information about the entry file, what stylesheets to use, and other build options.
- Deliverable#
The smallest unit of documentation that can be built. It’s mapped to a DC File. A deliverable is usually being built in different formats.
- DocBook#
A semantic markup language based on XML used for writing and publishing technical documentation.
See also ADoc, https://www.docbook.org
- Docset#
Usually a release or version of a project. For example,
15-SP6
.- Doctype#
A formal syntax to identify one or many set of documents. The syntax is
[PRODUCT]/[DOCSET][@LIFECYCLES]/LANGS
and contains product, docset, lifecycles, and language.See section Doctype syntax.
- GIL#
- Global Interpreter Lock#
A mutex (a lock) in the standard CPython interpreter that ensures only one thread can execute Python bytecode at any given time within a single process. This lock effectively prevents multi-threaded, CPU-bound Python programs from achieving true parallelism on multi-core processors, as only one thread can run on one core at a time.
See also Mutex.
- IPython#
An interactive command-line interface for Python that enhances the standard Python shell with additional features.
See section Using IPython.
- Lifecycle#
Describes the distinct stages a product goes through, from its initial introduction to the market until its eventual decline and retirement.
See class
LifecycleFlag
.- Module#
In Python context, a single Python file containing code.
See also Package.
- Mutex#
Short for Mutual Exclusion is a locking mechanism in concurrent programming that ensures only one thread can access a shared resource at any given time. By requiring a thread to “acquire” the lock before using the resource and “release” it afterward, it prevents race conditions and protects shared data from being corrupted.
See also Concurrency.
- Option#
Python: An optional settings that modify the function’s behavior.
Command-line: a flag or switch that modifies a program’s execution or triggers a specific behavior.
See also Argument.
- Package#
In Python context, a directory containing one or more Python modules. The Python interpreter treats a directory as a regular package if it contains a
__init__.py
file.See also Module
- Parallelism#
The simultaneous execution of multiple tasks at the exact same instant, which requires a system with multiple hardware resources like CPU cores.
Parallelism is about executing multiple tasks simultaneously. This requires multiple CPU cores
See also Concurrency
- PEP#
Python Enhancement Proposal (PEP) are design documents that describe a new feature for Python and documenting the design decisions.
- Product#
A abbreviated name for a SUSE product. For example,
sles
.See class
Product
.pyproject.toml
#A configuration file used in Python project to define build system requirements and project metadata.
See PEP 518
- Pytest#
A testing framework. It’s used to write, organize, and run tests for your code, from simple unit tests to complex functional testing.
- Ruff#
A fast extensible linter and code formatter to improve code qualitiy and enforce style guidelines.
- SemVer#
- Semantic Versioning#
A formal convention for assinging version numbers to software releases in a
MAJOR.MINOR.PATCH
format.This structure conveys the nature of the changes, indicating if an update introduces incompatible API changes (
MAJOR
), adds backward-compatible features (MINOR
), or contains backward-compatible bug fixes (PATCH
).- Sphinx#
A documentation generator for Python projects. It converts reStructuredText (reST or RST) files into various output formats such as HTML, PDF, or manual pages or more.
See section Building Documentation.
- UV#
A fast package manager which simplifies the building, installing, and managing of this project.
- VENV#
- Virtual Python Environment#
An isolated and self-contained directory that contains a Python installation for a particular version of Python, plus several additional packages.
This prevents dependency conflicts by keeping each project’s requirements separate from other projects and the main system installation.
By convention, a project’s VENV is stored in a directory named
.venv
located at the root of the project folder.See section Preparing Your Development Environment.
- XML#
The eXtensible Markup Language is a text-based markup language used to structure, store, and transport data in a format that is both human- and machine-readable.
- XSLT#
The eXtensible Stylesheet Language for Transformations is a language that transforms XML documents into other formats like HTML, plain text, or new XML structures.