Skip to content

Deletion sweep: 11 of 12 repos done — blocked on otosense/slang (no push access) #29

Description

@thorwhalen

Tracking issue for the tail of the deletion track — repos where argh is not declared in packaging metadata (so no dependency line comes off), or where it appears only in commented-out code. Each is a 2-to-45-line deletion with no behaviour change and no release coupling. One PR per repo; this issue is the checklist.

Every location below was opened and verified today.

Class 3 — undeclared argh, entire footprint in an unreachable __main__ guard (9 repos)

repo file:line what is there
thorwhalen/tec tec/misc/manage_pth_file.py:233-249 argh.dispatch_commands([...7 funcs...]) — also delete regardless of licensing: these functions write to the generated, read-only package manifest and are superseded by priv pkg add-package / priv align. Actively hazardous.
i2mint/umpyre umpyre/python_code_stats.py:346-352 argh.dispatch_commands([...]) wrapped in dol.util.ModuleNotFoundErrorNiceMessage. The real CLI (umpyre = umpyre.cli:main) is already pure argparse (umpyre/cli.py:3,183-185).
i2mint/examples examples/airport_weather/metar_acquisition.py:80-98 (19 lines) and examples/convert_images/convert_images.py:55-57 See the note below — read metar_acquisition.py before deleting it.
thorwhalen/viral viral/get_viral_data.py:35-40 argh.dispatch_commands([...]). 2020 COVID data prep.
thorwhalen/tapyoca tapyoca/covid/covid_bar_chart_race.py:213-216, tapyoca/indexing_podcasts/prep.py:31-33, tapyoca/parquet_deformations/parquet_deformations.py:644-647 Three guards. No install_requires, no console scripts.
thorwhalen/ut ut/util/ipython.py:137-142, ut/sh/py.py:12-17, ut/pstr/pronounceable_mapping.py:221-231, ut/util/callable_arguments_peek.py:365-374 Four guards, ~37 lines. No packaging file at all — only a frozen 2020 requirements.txt pinning argh==0.26.2.
i2mint/taped taped/examples/gauge_sample_rate_variation.py:184-186, taped/examples/live_audio_pipelines.py:80-84 Two guards. Note: this repo has two local checkouts of the same GitHub remote; fix once, and flag the duplicate checkout to the manifest tooling.
otosense/slang misc/example_slang_train_script.py:167-170 One guard, in a file outside the package.
thorwhalen/mv mv/wip/live_qr_codes.py:519-525 One guard, under wip/.

Class 4 — argh appears only in COMMENTED-OUT code (2 repos)

Zero behaviour impact; delete so the fleet-wide rg argh audit goes quiet and these stop showing up as false positives in every future scan.

repo file:line
thorwhalen/mixing mixing/video/genai.py:799-802 (4 commented lines)
thorwhalen/hubcap hubcap/examples/get_discussions.py:244-245 (2 commented lines)

Class 5 — a real edit, not a guard deletion (1 repo)

repo what
i2mint/py2dash py2dash/util.py:4 is a MODULE-SCOPE import argh, with dispatch_to_cli = argh.dispatch_command at :8. rg dispatch_to_cli over the whole repo returns only that definition — it is dead. py2dash declares no dependencies at all and is published as py2dash 0.0.2, so import py2dash.util raises ImportError on a clean install today. Delete :4 and :8. Also delete the guard at py2dash/dash_introspection.py:114-118.

Before deleting examples/airport_weather/metar_acquisition.py

Read lines 80-98 first and preserve them somewhere (cw's README, or a comment in cw's ingress module). It is the fleet's best motivating anti-example for cw's whole thesis: the block defines a coercing wrapper named acquire_metar_data (.split(',') on the ids, int() on the hours) and then dispatches _acquire_metar_data — the original, uncoerced function. Hand-written string→object ingress, written next to the dispatch call, wired to the wrong object, silently doing nothing.

Explicitly NOT in this sweep

  • i2mint/gurgle — gurgle/terminal.py:221 imports argh inside main(), which is the gurgle-terminal console script. That is a migration or a CLI-retirement decision, not a deletion.
  • addaix/raglab_bak — real CLI with an already-written sys.argv fallback (raglab_bak/wips/vectordb_manager.py:41-45, 1140-1160); repo name ends in _bak; owner is outside the landing perimeter.
  • i2mint/know — its single hit is a # TODO comment (know/examples/keyboard_and_audio.py:263). Leave it; it is a good comment and it states cw's ingress spec years early.

Acceptance criteria

  • rg -n '\bargh\b' --glob='*.py' returns nothing in each of the 12 repos
  • Each repo's tests still pass
  • metar_acquisition.py:80-98 is preserved in cw's docs before the file is touched
  • Every PR links back to this issue

Research & rationale: the canonical spec and the full fleet audit live in the private research ledger (https://github.com/thorwhalen/priv/discussions/65). Effort: medium.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions