Skip to main content

MProcs

Derived from NeonBunny. A Life program by tderk, originally LPro.py and Destiny [2024].

Rebuildable & Uploadable PIP Project

This folder is a rebuildable pip project restored from PyPI MProcs==8.8.4.4 (sdist mprocs-8.8.4.4.tar.gz).

Structure

MProcs/
├── pyproject.toml       # PEP 517/621 build-system & project metadata (fixed dependencies placement)
├── setup.cfg            # egg_info config
├── MANIFEST.in          # sdist file inclusion
├── LICENSE              # MIT
├── README.md
└── src/
    └── MProcs/
        ├── __init__.py
        └── scripts/
            ├── main.py, lpro.py, lpro_s.py, gwf.py, etc.
            └── data/*.json

Fix applied vs. original PyPI sdist: moved dependencies = ["requests","ddgs"] from [tool.setuptools.package-data] into [project].dependencies so Requires-Dist is correctly emitted on build.

Rebuild

# from this directory (/home/kredt/BDCS/MProcs)
pip install --upgrade build twine
python -m build              # creates dist/mprocs-8.8.4.4.tar.gz + .whl
# or
pip wheel . --no-deps
pip install dist/mprocs-*.whl  # test install
MProcs --help
mprocs --help
lpro --help

Upload

twine check dist/*
twine upload dist/*           # to PyPI (requires API token)
# test upload
twine upload --repository testpypi dist/*
pip install --index-url https://test.pypi.org/simple/ MProcs

Original artifacts saved

  • orig_sdist/mprocs-8.8.4.4.tar.gz (PyPI sdist)
  • orig_wheel/mprocs-8.8.4.4-py3-none-any.whl (PyPI wheel)
  • pyproject.toml.orig (original buggy file for reference)

Installed entry points: MProcs, mprocs, lpro, lpro-s, gwf Requires-Python: >=3.8


Update 8.8.4.5 — A-HB (Agent Handbook) feature

Source: decrypted A-HB.html (password BREEZYSOUND) — 54 chapters (~10670 passages) across Volumes 1-7:

  • Volume 1 Criminology (15 chapters), Volume 2 Military Studies (9), Volume 3 Police Studies (6), Volume 4 Intelligence (5), Volume 5 Agent Operations (6), Volume 6 Normal Activities (8), Volume 7 Buddhist Reflections (5)

Data: src/MProcs/scripts/data/ahb.json (4.7 MB) loaded via data_loader.ahb (exposed as ahb_data in lpro.py). Passages extracted from HTML (p|li|h1-h4|blockquote|th|td) and stripped via regex; full article reconstructed as joined passages.

Function: ahb() in src/MProcs/scripts/lpro.py:7597 (inside mp(), closure over z and usr):

  1. Asks Indicate number of (A-HB) results:
  2. Builds pool of (passage, title, vol, id) and samples n via random.sample
  3. For each displays A-HB: {passage} + [{title} | {vol}] and logs print(usr + f" A-HB: ...", file=z) + print(line+header+ct, file=z) to MProcs-logs.txt (file z)
  4. Asks Display full article from source header? (enter header/title/id or n): — if header/id/vol substring matches, displays full article (=== title === + all passages) and logs to z; else lists available headers.

Invocation:

  • Interactive: ahb | A-HB | a-hb | AHB | Agent Handbook (in choice() at lpro.py:8321)
  • CLI flag: lpro -ahb / lpro -A-HB / lpro -agent-handbook (argparse at lpro.py:8501, handler at 9117)
  • Help listed in commands() at lpro.py:443

Build: pyproject.toml version bumped 8.8.4.4 → 8.8.4.5, twine check PASSED, wheel includes ahb.json.

Test:

PYTHONPATH=src python -m MProcs.scripts.lpro -ahb <<< $'3\nn\n'
# or interactive
lpro
> ahb
Indicate number of (A-HB) results: 2
A-HB: ... [Chapter 1: Fundamentals of Agent Tradecraft | Volume 5: Agent Operations]
Display full article from source header? (enter header/title/id or n): agent-tradecraft
=== Chapter 1: Fundamentals of Agent Tradecraft ===
...
# log verified in MProcs-logs.txt via print(..., file=z)

Update 8.8.4.6 — lpro_s non-recording + tsearch integration

lpro_s.py variant: mirrored ahb() at src/MProcs/scripts/lpro_s.py:5544 (inside mp(), no z file logging) — same pool sampling A-HB: {passage} + header, asks Display full article from source header? and prints full passages without file=z. Prevents shadowing by importing ahb as ahb_data at lpro_s.py:20. Registered in commands() at lpro_s.py:425, dispatch choice() at lpro_s.py:6193, flag parser.add_argument("-ahb"...) at lpro_s.py:6355, handler if args.ahb: ahb() at lpro_s.py:6908. No recording — prints only via print() (bypasses file=z).

tsearch on both: extended tsearch() at lpro.py:671 and lpro_s.py:591 to build ahb_flat = [title + passages as "A-HB: {p} [{title} | {vol}]"] and pass as extra list to search_in_lists(search_term, proverbs, ..., strains, ahb_flat). Verified printf "tsearch\ntradecraft\n" | python -m MProcs.scripts.lpro returns 337 matches including A-HB: entries on both.

Build: pyproject.toml bumped 8.8.4.5 → 8.8.4.6, rebuilt dist/mprocs-8.8.4.6* (twine check PASSED), reinstall validated from MProcs.scripts.data_loader import ahb 54 articles.


Update 8.8.4.7 — fix whole-volume display → separate-header sections

Issue: ahb() full-article display previously printed full_passages flat (all 223 passages for agent-tradecraft), which when invoked via a header that matched a vol could appear to dump an entire volume's concatenated text without header separation.

Fix: regenerated src/MProcs/scripts/data/ahb.json to include sections grouping ( pat = <h1-h4|p|li|blockquote|th|td> ordered, headers h1-h4 start new section, following p|li|... become paragraphs). New size 9.9 MB (9925069 chars), still twine check PASSED (wheel 5.3 MB).

Logic change lpro.py:7597 and lpro_s.py:5544 (ahb()):

  • First searches sections globally for needle in header.lower() → if found, displays single matched section === {header} === [{title}|{vol}|{aid}] + its paragraphs only (e.g., 1.1 Defining Tradecraft → 5 paragraphs, verified via printf "1\n1.1 Defining Tradecraft\n" | python -m MProcs.scripts.lpro -ahb).
  • Else falls back to article-level match (title|id|vol) and then renders full article grouped by sections --- {header} --- + paragraphs (e.g., agent-tradecraft → 45 sections, Volume 5: Agent Operations → single article agent-case-officer with 40+ sections, not 6-chapter volume).
  • Retains recording (file=z) for lpro and non-recording for lpro_s.

Verification: printf "1\nagent-tradecraft\n" | python -m MProcs.scripts.lpro -ahb now prints --- 1.1 Defining Tradecraft --- etc. separately, not intermixed volume dump; printf "1\nVolume 5: Agent Operations\n" | ... shows single chapter (371 lines) vs previous whole-volume dump.

Build: pyproject.toml 8.8.4.6 → 8.8.4.7, dist/mprocs-8.8.4.7* rebuilt, installed Version: 8.8.4.7.


Update 8.8.4.8 — numbered selection prompt

Change: ahb() prompt Display full article from source header? (enter header/title/id or n) updated to number-based selection per output count.

  • Single result (number==1): Display full article from source header? (y/n): → y/yes displays that passage's source article (grouped sections), n exits.
  • Multiple results (number==3 → 1,2,3): Display full article from source header? Enter number (1-3) or n: → validates 1-N integer, displays selected indexed article's full sections. Invalid input shows Invalid number / Invalid input and returns.
  • Display now numbered: 1: A-HB: ... + [title | vol] for both lpro.py:7597 and lpro_s.py:5544; logging in lpro retains usr + f" {idx}: {line} {header} {ct}" to MProcs-logs.txt (z).
  • Verified via printf "3\n2\n" | python -m MProcs.scripts.lpro -ahb → picks #2, printf "1\ny\n" | ... → y branch, and lpro_s non-recording variant mirrors without file=z.

Build: 8.8.4.7 → 8.8.4.8, dist/mprocs-8.8.4.8* rebuilt, twine check PASSED.


Update 8.8.4.9 — number selection shows only headered section

Issue: Choosing number (1,2,3) displayed whole volume/article (all 45 sections for agent-tradecraft) instead of just the separate headered part.

Fix: ahb() at lpro.py:7597 / lpro_s.py:5544 now maps selected passage to its specific sections entry. After selected[sel_idx] is chosen, aid_sel resolves article, then target_sec is found where header == passage_sel or passage_sel in paragraphs. Display is === {header} === [{title}|{vol}|{aid}] + only that section's paragraphs (with file=z logging for lpro), not all sections. Example printf "1\ny\n" | lpro -ahb where passage North Korea specialization... → === 6.2.4 Training Curriculum Comparison... === (40 lines) vs previous 400+ lines; printf "3\n2\n" | lpro -ahb where 2: 15. Forensic Nursing → only that header's paragraphs. Numbered display 1: A-HB: ... retained, prompt Enter number (1-N) or n for N>1, (y/n) for N==1.

Build: 8.8.4.8 → 8.8.4.9, dist/mprocs-8.8.4.9* rebuilt, twine check PASSED.


Update 8.8.4.10 — loop until n for numbered selection

Change: ahb() at lpro.py:7597 / lpro_s.py:5544 now loops for multiple passages until n. Single (1) remains (y/n) → displays selected headered section once. Multiple (3 → 1,2,3): Enter number (1-N) or n: validates 1-N, displays that number's headered section (=== {header} === [{title}|{vol}|{aid}] + paragraphs with file=z for lpro), then re-prompts Enter number (1-N) or n: to display another number until n/q/exit. Verified printf "3\n1\n2\nn\n" | lpro -ahb → === 14.2 South Korea... === then === 7.3 Parole... === then exit; printf "1\ny\n" still single-section. Invalid 0 or non-numeric shows Invalid number/Invalid input and continues loop.

Build: 8.8.4.9 → 8.8.4.10, dist/mprocs-8.8.4.10* rebuilt, twine check PASSED.

Metadata

Release files for MProcs 8.8.8.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for MProcs 8.8.8.3
File Size Uploaded Provenance
mprocs-8.8.8.3.tar.gz 5.5 MB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for MProcs 8.8.8.3
File Interpreter ABI Platform
mprocs-8.8.8.3-py3-none-any.whl Python 3 none any Details

Total release size: 11.0 MB

Release files / mprocs-8.8.8.3.tar.gz

Download URL mprocs-8.8.8.3.tar.gz
Size 5.5 MB
Tags Source
SHA-256 checksum
How to use checksums
c203bdb8ff9fb180d9f99ac835b59d776eadeff653a8bb807d75964e701dd115
BLAKE2b-256 checksum
How to use checksums
dc2862911efd26a91d1c66b526d60d12583de5fdfc97fe80300d74744fce1005
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.5

Release files / mprocs-8.8.8.3-py3-none-any.whl

Download URL mprocs-8.8.8.3-py3-none-any.whl
Size 5.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
c881290bc83e63f27089ab98eb019ef7266e90d39f1dd99a72f04b5a98d3fe2f
BLAKE2b-256 checksum
How to use checksums
0cd3e11bd751264f09082543f1c2072ea28de881197b7baab730bb8a425b9246
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.5

Security for MProcs 8.8.8.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

8.8.8.3 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page