From 539f351b1afb16d4a65e2b3c526c28aa4c5e8f2c Mon Sep 17 00:00:00 2001 From: Corey Oordt Date: Sun, 17 Mar 2024 08:11:20 -0500 Subject: [PATCH] Added doc framework --- docs/assets/chr_logo.png | Bin 0 -> 11962 bytes docs/assets/extra.css | 54 ++++++++++++++++++++++++++++++++++++ docs/assets/favicon.png | Bin 0 -> 11962 bytes docs/development.md | 58 +++++++++++++++++++++++++++++++++++++++ docs/explanation.md | 20 ++++++++++++++ docs/gen_doc_stubs.py | 35 +++++++++++++++++++++++ docs/glossary.md | 11 ++++++++ docs/howtos/index.md | 15 ++++++++++ docs/index.md | 15 ++++++++++ docs/installation.md | 20 ++++++++++++++ docs/model.md | 30 ++++++++++++++++++++ docs/quickstart.md | 31 +++++++++++++++++++++ docs/reference/index.md | 15 ++++++++++ docs/tutorials/index.md | 22 +++++++++++++++ 14 files changed, 326 insertions(+) create mode 100644 docs/assets/chr_logo.png create mode 100644 docs/assets/extra.css create mode 100644 docs/assets/favicon.png create mode 100644 docs/development.md create mode 100644 docs/explanation.md create mode 100644 docs/gen_doc_stubs.py create mode 100644 docs/glossary.md create mode 100644 docs/howtos/index.md create mode 100644 docs/index.md create mode 100644 docs/installation.md create mode 100644 docs/model.md create mode 100644 docs/quickstart.md create mode 100644 docs/reference/index.md create mode 100644 docs/tutorials/index.md diff --git a/docs/assets/chr_logo.png b/docs/assets/chr_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1bda8b100929959bc9b6f9aa346b7a91c899c713 GIT binary patch literal 11962 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 E4|>bUjQ{`u literal 0 HcmV?d00001 diff --git a/docs/assets/extra.css b/docs/assets/extra.css new file mode 100644 index 0000000..51a8e5b --- /dev/null +++ b/docs/assets/extra.css @@ -0,0 +1,54 @@ +/* Indentation. */ +div.doc-contents:not(.first) { + padding-left: 25px; + border-left: .05rem solid var(--md-typeset-table-color); +} + +/* Normal size fonts on parameter tables */ +.md-typeset div.doc-contents table { + font-size: 1em; + width: 100%; + display: table; +} + +/* Mark external links as such. */ +a.autorefs-external::after { + /* https://primer.style/octicons/arrow-up-right-24 */ + background-image: url('data:image/svg+xml,'); + content: ' '; + + display: inline-block; + vertical-align: middle; + position: relative; + bottom: 0.1em; + margin-left: 0.2em; + margin-right: 0.1em; + + height: 0.7em; + width: 0.7em; + border-radius: 100%; + background-color: var(--md-typeset-a-color); +} +a.autorefs-external:hover::after { + background-color: var(--md-accent-fg-color); +} +span.doc-param-annotation:first-child{ + border-top: 1px solid var(--md-typeset-table-color); + padding-top: 5px; + margin-top: 5px; + margin-bottom: -5px; +} +span.doc-param-annotation { + font-size: 0.8em; + display: block; +} +span.doc-param-default { + font-size: 0.8em; + float: unset; +} +.doc-label { border-radius: 15px; padding: 0 5px; } +.doc-label code { background-color: transparent; color: white;} +.doc-label-special { background-color: blue; color: white; } +.doc-label-private { background-color: red; color: white; } +.doc-label-property { background-color: green; color: white; } +.doc-label-read-only { background-color: yellow; color: black; } diff --git a/docs/assets/favicon.png b/docs/assets/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..df16a6fec60dda3573ce8ce987b3f4a762d91d52 GIT binary patch literal 11962 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 *Python Simple Message Queue* + +## What Next + +To get going quickly head over to the [Quick Start](quickstart.md) tutorial, then check out the [Tutorials](tutorials/index.md), [Reference](reference/index.md), or [How-tos](howtos/index.md) for more information. Developers should check out the [Developer Guide](development.md) for even more detailed information and advice on how to extend psmq. + +The [Glossary](glossary.md) lists terms and nomenclature used in the package and in this documentation. diff --git a/docs/installation.md b/docs/installation.md new file mode 100644 index 0000000..331954b --- /dev/null +++ b/docs/installation.md @@ -0,0 +1,20 @@ +--- +title: Installation +summary: How to install psmq. +date: 2023-08-27 +--- + +!!! warning + + Installation instructions not implemented yet! + + +## Installing the Stable Release from PyPI + +To install psmq, run this command in your terminal: + +``` console +$ pip install psmq +``` + +This is the preferred method to install psmq, as it will always install the most recent stable release. You can also replace `pip` with `pipx`. diff --git a/docs/model.md b/docs/model.md new file mode 100644 index 0000000..b643fdf --- /dev/null +++ b/docs/model.md @@ -0,0 +1,30 @@ +Python Simple Message Queue (psmq) Model + +- QueueManager + - main entry point for developers + - creates and manages a Connection object + - sets up queues and their configuration with appropriate serializers and deserializers +- Connection + - manages connection to the broker + - provides low-level communication with the broker +- Queue + - high-level interface for sending and receiving messages including automatic serialization and deserialization +- ReceivedMessage + - represents a message received from a queue + - provides access to the message's data and metadata +- Serializer + - a callable that takes a Python object and returns a byte string +- Deserializer + - a callable that takes a byte string and returns a Python object +- psmq_library.lua + - The Lua library that is loaded by the broker and does the actual work of queue management + +Streams: + +Producer (client ID, topic/channel, server) + - produce + - flush or poll for acks? + +Consumer (group ID, auto-commit, server) + - consume + - commit diff --git a/docs/quickstart.md b/docs/quickstart.md new file mode 100644 index 0000000..c1b267a --- /dev/null +++ b/docs/quickstart.md @@ -0,0 +1,31 @@ +--- +title: Quickstart +summary: Quickstart instructions for Python Simple Message Queue. +date: 2023-08-27 +--- + +Getting started quickly with Python Simple Message Queue. + +!!! warning + + Quickstart instructions not implemented yet! + +## Prerequisites + +## Installation + +From source...from pypi? + +## The Basics +To use `psmq` in a project: + +```python +import psmq +``` + + +## Basic Operations + +## Tips and Tricks + +## Further Reading diff --git a/docs/reference/index.md b/docs/reference/index.md new file mode 100644 index 0000000..5508a38 --- /dev/null +++ b/docs/reference/index.md @@ -0,0 +1,15 @@ +--- +title: Reference +summary: Technical reference of Python Simple Message Queue. +date: 2023-08-27 +--- + +The *Reference* is intended as technical descriptions of the parts of psmq. + +!!! warning + + Reference not implemented yet! + +Reference guides are technical descriptions of the machinery and how to operate it. Reference material is **information-oriented.** + +[More information](https://diataxis.fr/reference/) diff --git a/docs/tutorials/index.md b/docs/tutorials/index.md new file mode 100644 index 0000000..04d9878 --- /dev/null +++ b/docs/tutorials/index.md @@ -0,0 +1,22 @@ +--- +title: Tutorials +summary: Tutorials for how to use Python Simple Message Queue. +date: 2023-08-27 +--- + +This page provides tutorials on how to use psmq. + +!!! warning + + Tutorials not implemented yet! Tutorials are for learning how to use the package. + +Tutorials are lessons that take the reader by the hand through a series of steps to complete a project of some kind. Tutorials are **learning-oriented.** + +- Help newcomers with getting started +- Teach readers about your library by making them write code +- Inspire confidence through examples that work for everyone, repeatably +- Give readers an immediate sense of achievement +- Show concrete examples, no abstractions +- Provide the minimum necessary explanation +- Avoid any distractions +- [More information](https://diataxis.fr/tutorials/)