Blee Panel Controls: | Show-All : Overview : Content : (1) : S&Q : Save : Quit : Bury |
Panel Links: | Repo Blee Panel |
See Also: | At PYPI : bisos.PyCS |
|---|
bisos.py-dblock is a pure-Python engine for expanding org-mode dynamic
blocks (dblocks) in files, without requiring Emacs or the Blee bx-dblock
tool. It mimics org-mode’s dblock model: handlers register under a signature
string, and a single pass over a file dispatches each
####+BEGIN: <signature> [args] / ####+END: block to its registered handler,
replacing the block body with freshly computed content.
bisos.py-dblock is a python package that uses the
PyCS-Framework. It provides the
py-dblock.cs command for updating org-mode dynamic blocks from the
command-line.
The package ships one built-in handler, for the b:ai:file/particulars dblock
used by the ByStar AI collaborative development template set.
- Overview
- Part of BISOS — ByStar Internet Services Operating System
- bisos.py-dblock is a Command-Only PyCS Facility
- Installation
- Usage
- How It Works
- Key Files
- Documentation and Blee-Panels
- Support
- Planned Improvements
Layered on top of Debian, BISOS (By* Internet Services Operating System) is a unified and universal framework for developing both internet services and software-service continuums that use internet services. See Bootstrapping ByStar, BISOS and Blee for information about getting started with BISOS.
BISOS is a foundation for The Libre-Halaal ByStar Digital Ecosystem which is described as a cure for losses of autonomy and privacy in a book titled: Nature of Polyexistentials
bisos.py-dblock is part of BISOS. It is a standalone package that can be used independently of the full BISOS environment.
bisos.py-dblock is a command-line tool. It is a PyCS single-unit command service. PyCS is a framework that converges development of CLI tools and services. PyCS is an alternative to FastAPI, Typer and Click.
bisos.py-dblock uses the PyCS-Framework to expand org-mode ####+BEGIN: ...
/ ####+END: dynamic blocks in one or more files, in pure Python, without
requiring Emacs or bx-dblock.
The core of PyCS-Framework is the bisos.b package (the PyCS-Foundation). See bisos.b for an overview.
The sources for the bisos.py-dblock pip package are maintained at: https://github.com/bisos-pip/py-dblock.
The bisos.py-dblock pip package is available at PYPI as https://pypi.org/project/bisos.py-dblock
You can install bisos.py-dblock with pip or pipx.
If you need access to bisos.py-dblock as a python module, you can install it with pip:
pip install bisos.py-dblockIf you only need access to bisos.py-dblock on command-line, you can install it with pipx:
pipx install bisos.py-dblockThe following command is made available:
py-dblock.cs— updates org-mode dynamic blocks in files (pure Python)
After installation, run:
py-dblock.cs
py-dblock.cs -i examplesExpand all registered dblocks in one or more files:
py-dblock.cs -i updateDblocks AI-WorkPlan.org AI-DevStatus.orgEach file argument is scanned for ####+BEGIN: <signature> / ####+END:
blocks. Blocks whose signature has a registered handler are re-expanded;
unrecognised blocks are left untouched. Non-file arguments are skipped with a
note.
A ready-to-use example/test file is bundled at py3/tests/AI-WorkPlan.org
(a copy of the ByStar mother/AI-WorkPlan.org template). It contains a
b:ai:file/particulars dblock, so:
py-dblock.cs -i updateDblocks ./tests/AI-WorkPlan.orgexpands that block in place. py-dblock.cs -i examples lists this and other
example invocations.
py-dblock mimics org-mode’s dblock model in pure Python:
- Handlers register under a signature string via
registerHandler(signature, fn). expandAll(filePath)does a single-pass regex substitution over the file.- For each
####+BEGIN: <signature> [args]/####+END:block, the signature and its:key valuearguments are parsed from the BEGIN line, the registered handler is looked up, and its returned text replaces the block body. - Unregistered signatures are left untouched.
The bundled b:ai:file/particulars handler derives its content from the file
path, the containing directory, and the AI-Activity.org symlink present there
(activity name + companion-docs list).
An overview of the relevant files of the bisos.py-dblock package:
The CS-MU (Command-Services Multi-Unit). Provides the updateDblocks command.
Imports dblock_particulars to register the b:ai:file/particulars handler.
General dblock dispatch engine. Handlers register under a signature string
via registerHandler(sig, fn). expandAll(filePath) does a single-pass
regex substitution over the file, dispatching each ####+BEGIN: <signature>
block to its registered handler.
Self-registering handler for the b:ai:file/particulars dblock signature.
Derives the activity from the AI-Activity.org symlink and builds the
companion-docs list by scanning the directory.
All bisos-pip repos in the https://github.com/bisos-pip github organization follow the same structure. They all have setup.py files driven by pypiProc.sh.
bisos.py-dblock is part of ByStar Digital Ecosystem http://www.by-star.net.
This module’s primary documentation is in the form of Blee-Panels.
bisos.py-dblock Blee-Panels are in the ./py3/panels directory. From within
Blee and BISOS these panels are accessible under the Blee “Panels” menu.
See ./py3/panels/bisos.py-dblock/_nodeBase_/fullUsagePanel-en.org for a starting point.
For support, criticism, comments and questions; please contact the
author/maintainer
Mohsen Banan at:
http://mohsen.1.banan.byname.net/contact
- Upload to PyPI and test as pipx install
- Write fullUsagePanel-en.org Blee-Panel
- Add further dblock handlers beyond
b:ai:file/particulars