myArch: A Systematic Development Framework
myArch has two deliberately distinct index domains:
arch.Quadis the preferred name for the original fixed, four-place architectonic address.arch.Idxremains its compatibility name.arch.idx.Idxis the definitive arbitrary-depth document index: numeric, alphabetic, Roman, symbolic, dotted or compact, optionally marked and wrapped.
They are not subtypes of one another.
A Quad admits the empty root and abstract a / b halves and has a special four-branch ancestry; a document idx is a non-empty, arbitrary-depth sequence whose rendering policy is independent of its place.
Keeping them separate makes those invariants visible instead of weakening either model.
The arch executable is both an agent-oriented linter and a human-oriented terminal workspace.
Arguments select a deterministic CLI operation; bare arch on a real terminal opens the PyRatatui browser.
$ arch check docs src
$ arch --json plan docs | jq '.plans[] | select(.changed)'
$ arch apply --dry-run --diff docs
$ arch apply docs
$ arch # TUI when stdin/stdout are terminals
$ arch format --check src docs # report non-canonical configured header blocks
$ arch format --diff src docs # print patches, never write
$ arch format src docs # atomically format them
$ arch spec --input headers.yaml --output headers.yaml
The safety rule is structural: a file containing no recognized idx is never modified, even by --operation reindex --insertion all.
In a partially indexed file, the default observed insertion scope fills only hierarchy depths already represented in that file.
Every write is planned first, content-hash checked, and atomically replaced without normalizing newlines or the final newline.
Configuration is layered as command flags, an explicit --config, the nearest .arch.yaml, ~/.config/my/arch.yaml, then built-ins.
Higher-precedence path rules are tried first:
default_spec: decimal
insertion: observed
specs:
decimal:
styles: [number]
separator: '.'
doctrine:
styles: [number, alpha-lower, roman-lower]
separator: '.'
marker: '.'
max_depth: 6
paths:
- path: /absolute/path/to/canon.md
spec: doctrine
- regex: '^journal/[0-9]{4}/'
spec: doctrine
- glob: 'docs/**'
spec: decimal
ignore:
- 'vendor/**'
See the idx guide, design explanation, and rendered API page for document indexes; see the Header formatting guide for HeaderSpec, arch format, and the keyboard-first profile editor.
Release files for my-arch 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| my_arch-1.0.0.tar.gz | 150.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| my_arch-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 325.5 kB
Release files / my_arch-1.0.0.tar.gz
| Download URL | my_arch-1.0.0.tar.gz |
|---|---|
| Size | 150.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9935e741ac5cfd6c06297f35013d89eedc71f7a770ede9fdc4d8e715a732def1
|
|
BLAKE2b-256 checksum How to use checksums |
4dbec5698d077b6055458cee2e7eb8c95b1101b8e3bdf6443f8f021256b01199
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / my_arch-1.0.0-py3-none-any.whl
| Download URL | my_arch-1.0.0-py3-none-any.whl |
|---|---|
| Size | 175.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6fa3000eb71ccf28c648938889af591ddea38c01357bb7151d57cc278614afa6
|
|
BLAKE2b-256 checksum How to use checksums |
c03004ea7ccd90ce4de223a28dd2fde754bae2a1ecbc22aac9d3357da5426163
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|