brewdoc-darwin-arm64 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -3,14 +3,14 @@
3
3
  [![PyPI](https://img.shields.io/pypi/v/brewdoc)](https://pypi.org/project/brewdoc/)
4
4
  [![CI](https://github.com/kochetkov-ma/brewdoc/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/kochetkov-ma/brewdoc/actions/workflows/ci.yml)
5
5
  [![Release](https://img.shields.io/github/v/release/kochetkov-ma/brewdoc)](https://github.com/kochetkov-ma/brewdoc/releases/latest)
6
- [![MIT](https://img.shields.io/github/license/kochetkov-ma/brewdoc)](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/LICENSE)
6
+ [![MIT](https://img.shields.io/github/license/kochetkov-ma/brewdoc)](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/LICENSE)
7
7
 
8
8
  Fast, deterministic document-to-Markdown conversion for agent systems. Easy to install. No model weights, OCR or external services.
9
9
 
10
10
  Local conversion runs offline after installation, with no runtime component downloads.
11
11
  Supported documents become one Markdown file and a JSON receipt describing omissions.
12
- See [formats and limits](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/FORMATS.md).
13
- Version 0.4.1 added [selected ZIP/XML reader budgets](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/FORMATS.md#zipxml-reader-limits)
12
+ See [formats and limits](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/FORMATS.md).
13
+ Version 0.4.1 added [selected ZIP/XML reader budgets](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/FORMATS.md#zipxml-reader-limits)
14
14
  for DOCX/PPTX and workbook metadata/artifacts. Excessive work refuses before output
15
15
  writes; native workbook values and total process memory remain outside those bounds.
16
16
 
@@ -21,28 +21,32 @@ It also added textless PDF page facts and selected caption, table and math-spaci
21
21
  Version 0.6.0 writes cleaner Markdown with minimal escaping, adds `--body-only`, accepts
22
22
  documents through `--url`, decodes legacy HTML charsets and falls back to the whole page in
23
23
  article mode.
24
+ Version 0.7.0 adds `--render-js auto` and HTML `--no-links`, refuses captcha, login and
25
+ JavaScript shell pages with a plain reason, reports HTTP status, redirects and charset in URL
26
+ receipts, decodes mislabelled HTML charsets by fallback and writes code and image links as
27
+ standard Markdown links.
24
28
 
25
29
  ## Install
26
30
 
27
- These examples select 0.6.0. Use a channel listed as available in [that release](https://github.com/kochetkov-ma/brewdoc/releases/tag/v0.6.0). Choose one method:
31
+ These examples select 0.7.0. Use a channel listed as available in [that release](https://github.com/kochetkov-ma/brewdoc/releases/tag/v0.7.0). Choose one method:
28
32
 
29
33
  ```sh
30
- python -m pip install "brewdoc==0.6.0"
31
- uv tool install --python 3.12 "brewdoc==0.6.0"
32
- pipx install --python 3.12 "brewdoc==0.6.0"
34
+ python -m pip install "brewdoc==0.7.0"
35
+ uv tool install --python 3.12 "brewdoc==0.7.0"
36
+ pipx install --python 3.12 "brewdoc==0.7.0"
33
37
  ```
34
38
 
35
39
  Use a virtual environment for pip. Python 3.12+ is required; local and URL HTML need CPython 3.12-3.14.
36
- [INSTALL.md](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/INSTALL.md) covers prerequisites, Windows, uvx, PATH, update and removal.
40
+ [INSTALL.md](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/INSTALL.md) covers prerequisites, Windows, uvx, PATH, update and removal.
37
41
  [Latest release](https://github.com/kochetkov-ma/brewdoc/releases/latest) lists actual assets and channel availability.
38
42
 
39
43
  ### Standalone downloads
40
44
 
41
- Use downloads listed as available in the release. Python and dependencies are bundled. Verify [SHA256SUMS](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.6.0/SHA256SUMS) and keep the entire extracted directory.
45
+ Use downloads listed as available in the release. Python and dependencies are bundled. Verify [SHA256SUMS](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.7.0/SHA256SUMS) and keep the entire extracted directory.
42
46
 
43
- [![Linux x64 download](https://img.shields.io/badge/Linux_x64-download-blue)](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.6.0/brewdoc-0.6.0-linux-x64.tar.gz)
44
- [![Windows x64 download](https://img.shields.io/badge/Windows_x64-download-blue)](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.6.0/brewdoc-0.6.0-windows-x64.zip)
45
- [![macOS ARM64 download](https://img.shields.io/badge/macOS_ARM64-download-blue)](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.6.0/brewdoc-0.6.0-macos-arm64.tar.gz)
47
+ [![Linux x64 download](https://img.shields.io/badge/Linux_x64-download-blue)](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.7.0/brewdoc-0.7.0-linux-x64.tar.gz)
48
+ [![Windows x64 download](https://img.shields.io/badge/Windows_x64-download-blue)](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.7.0/brewdoc-0.7.0-windows-x64.zip)
49
+ [![macOS ARM64 download](https://img.shields.io/badge/macOS_ARM64-download-blue)](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.7.0/brewdoc-0.7.0-macos-arm64.tar.gz)
46
50
 
47
51
  | Native target | Verification environment | JavaScript |
48
52
  |---|---|---|
@@ -52,21 +56,21 @@ Use downloads listed as available in the release. Python and dependencies are bu
52
56
 
53
57
  Older OSes, Linux musl/ARM64 and macOS Intel are outside this binary set.
54
58
  Windows is unsigned; macOS has an ad hoc signature without Developer ID/notarization.
55
- Linux archives have checksums, without a detached publisher signature. [Download and launch](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/INSTALL.md#standalone).
59
+ Linux archives have checksums, without a detached publisher signature. [Download and launch](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/INSTALL.md#standalone).
56
60
 
57
61
  ### npm
58
62
 
59
63
  [![npm](https://img.shields.io/npm/v/brewdoc)](https://www.npmjs.com/package/brewdoc)
60
64
 
61
65
  npm targets Linux x64/glibc and macOS ARM64. Windows uses the GitHub native download or Python package.
62
- Use npm/npx only when listed as available in [the release](https://github.com/kochetkov-ma/brewdoc/releases/tag/v0.6.0).
63
- [INSTALL.md](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/INSTALL.md#npm-and-npx) contains exact-version installation, update and removal instructions.
66
+ Use npm/npx only when listed as available in [the release](https://github.com/kochetkov-ma/brewdoc/releases/tag/v0.7.0).
67
+ [INSTALL.md](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/INSTALL.md#npm-and-npx) contains exact-version installation, update and removal instructions.
64
68
 
65
69
  ### Homebrew
66
70
 
67
71
  Use `kochetkov-ma/brew/brewdoc` only when the release lists it as available.
68
72
  It installs the complete native bundle on macOS 15+ ARM64 or Linux x64 with system
69
- glibc 2.35+. See [installation and lifecycle](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/INSTALL.md#homebrew).
73
+ glibc 2.35+. See [installation and lifecycle](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/INSTALL.md#homebrew).
70
74
 
71
75
  ## Usage
72
76
 
@@ -85,7 +89,7 @@ caller order retains full-workbook ordinals. Artifact keys come from the Markdow
85
89
  Requests and output collisions are validated before writes. Paths resolve against the caller's directory;
86
90
  `--out` creates parents. Refusal preserves existing output. Self-check is offline and has its own output.
87
91
  `--body-only` drops the title, metadata, omissions, contents and unit anchors; unit headings stay
88
- only for several units. The receipt is unchanged. See [body-only output](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/FORMATS.md#body-only-output).
92
+ only for several units. The receipt is unchanged. See [body-only output](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/FORMATS.md#body-only-output).
89
93
 
90
94
  ## Markdown and receipts
91
95
 
@@ -93,7 +97,7 @@ Parsed document output uses `brewdoc.markdown/2`: quoted source title, Metadata,
93
97
  Known omissions, Contents, then anchored units. PDF uses `page/000001`, workbooks `sheet/000001`,
94
98
  PPTX/ODP `slide/000001`, and DOCX/EPUB/HTML/ODT/EML `chapter/000001`.
95
99
  Empty declared units remain navigable. Escaping is minimal; HTML, EPUB and EML omit form
96
- controls and write images with alt text as `![alt](src)`. See [Markdown escaping](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/FORMATS.md#markdown-escaping).
100
+ controls and write images with alt text as `![alt](src)`. See [Markdown escaping](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/FORMATS.md#markdown-escaping).
97
101
  Metadata holds source/selection/content hashes, conversion tallies and artifact capabilities;
98
102
  it excludes paths, timestamps, permissions and host data. EPUB retains declared publication metadata.
99
103
 
@@ -116,7 +120,8 @@ without it, Markdown follows on stdout. Local receipts use `brewdoc.receipt/1`;
116
120
  | `out` | Markdown path, or null for stdout |
117
121
  | `markdown_schema`, `unit_keys`, `artifacts` | Success-only schema, ordered source keys and available/requested artifacts |
118
122
  | `selected_sheets` | Caller-ordered names, only when selected |
119
- | `acquisition` | URL provenance, frozen snapshot and capture status |
123
+ | `article_fallback`, `charset_fallback` | Local HTML whole-page fallback and charset chosen by fallback, only when used |
124
+ | `acquisition` | URL provenance, HTTP status, redirects, challenge, charset, frozen snapshot and capture status |
120
125
 
121
126
  Exit 0 means conversion, 1 refusal and 2 invalid usage. Success does not prove content fidelity or complete JavaScript.
122
127
  PDF/DOCX/PPTX emit ASCII; workbooks/HTML/EPUB/ODT/ODP/EML emit UTF-8 without BOM, with LF newlines.
@@ -134,7 +139,7 @@ refs = brewdoc.list_book_artifacts("book.xlsm", sheets=("Calc",))
134
139
  payload = brewdoc.read_book_artifact("book.xlsm", refs[0].key, sheets=("Calc",))
135
140
  ```
136
141
 
137
- `run` accepts `sheets`, an `artifact_outputs` key-to-path mapping, `article` and `body_only`. Renderers include
142
+ `run` accepts `sheets`, an `artifact_outputs` key-to-path mapping, `article`, `body_only` and `links`. Renderers include
138
143
  `render_pdf`, `render_doc`, `render_presentation`, `render_epub`, `render_html` and `render_book`.
139
144
  `read_formulas` provides typed formulas; `self_check` verifies installed routes. Local APIs never acquire URLs.
140
145
 
@@ -147,18 +152,26 @@ Content-Type and magic bytes pick the route: HTML, PDF, Office, OpenDocument, EP
147
152
  brewdoc --url https://example.com/article --out article.md
148
153
  brewdoc --url https://arxiv.org/pdf/1706.03762 --out attention.md
149
154
  brewdoc --url https://example.com/article --render-js --timeout 30 --out article.md
155
+ brewdoc --url "https://hn.algolia.com/?q=rust" --render-js auto --out search.md
156
+ brewdoc --url https://example.com/article --no-links --out article.md
150
157
  ```
151
158
 
159
+ Bare `--render-js` means `always`; `--render-js auto` runs JS only when the static page is a JavaScript shell.
160
+ Prefer `--render-js auto` for unknown pages: `always` runs JS on every page and can hit an engine quota on a
161
+ page that static mode reads. Pages that need more than the bounded engine refuse, such as crates.io.
162
+ Captcha, bot challenge, login and shell pages refuse at stage `challenge` or `javascript_required` with a plain
163
+ reason; the receipt names the challenge and keeps the HTTP status. `--no-links` (HTML only) keeps link text,
164
+ omits destinations and discloses it in the receipt.
152
165
  `--timeout` is one positive finite waiting budget, default 30 seconds; cleanup/conversion can add time.
153
166
  Public destinations, DNS, redirects, TLS, requests and bytes are validated. Ordinary requests use GET;
154
167
  JS admits only the narrow credential-free HN Algolia XHR POST exception. Local HTML never fetches or runs scripts.
155
168
  Optional JS needs installed/bundled prerequisites, refuses unsupported runtimes before HTTP and downloads no engine.
156
- Timing-only expiry can preserve valid partial content; hard failures refuse output. [Full URL/JS limits](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/FORMATS.md#url-acquisition).
169
+ Timing-only expiry can preserve valid partial content; hard failures refuse output. [Full URL/JS limits](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/FORMATS.md#url-acquisition).
157
170
 
158
171
  ## Article mode
159
172
 
160
173
  Introduced in 0.4.0; use a channel listed as available in the release. For Python JS capture, install
161
- `brewdoc[render-js]==0.6.0`; supported standalone bundles include its prerequisites.
174
+ `brewdoc[render-js]==0.7.0`; supported standalone bundles include its prerequisites.
162
175
 
163
176
  ```sh
164
177
  brewdoc page.html --article --out article.md
@@ -181,7 +194,7 @@ without layout or inferred author/date metadata. The source title is unchanged.
181
194
 
182
195
  When content is selected, the receipt's `not_carried` and Markdown's Known omissions declare:
183
196
  `body content outside the selected article or main subtree; complete page coverage is not claimed`.
184
- The [article contract](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/FORMATS.md#article-selection)
197
+ The [article contract](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/FORMATS.md#article-selection)
185
198
  defines selection, fallback and limits.
186
199
 
187
200
  [Earlier source-package CI](https://github.com/kochetkov-ma/brewdoc/actions/runs/38431645006) passed on
@@ -192,10 +205,10 @@ tested patches, not a claim about newer versions. These results predate the 0.5.
192
205
  CPython 3.12.14 retains the local macOS full-suite baseline and existing CI smoke checks.
193
206
  Package evidence is separate from standalone binaries; other OS/minor combinations, free-threaded CPython and other
194
207
  architectures remain untested here.
195
- See [package compatibility](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/FORMATS.md#python-package-compatibility).
208
+ See [package compatibility](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/FORMATS.md#python-package-compatibility).
196
209
 
197
- [Format contracts](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/FORMATS.md) | [Corpus](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/benchmarks/CATALOG.md) | [Measurements](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/benchmarks/METHODOLOGY.md) | [Results](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/benchmarks/results/README.md)
198
- [Releasing](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/RELEASING.md) | [Agent entry point](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/llms.txt) | [MIT license](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/LICENSE)
210
+ [Format contracts](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/FORMATS.md) | [Corpus](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/benchmarks/CATALOG.md) | [Measurements](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/benchmarks/METHODOLOGY.md) | [Results](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/benchmarks/results/README.md)
211
+ [Releasing](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/RELEASING.md) | [Agent entry point](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/llms.txt) | [MIT license](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/LICENSE)
199
212
 
200
213
  ## Related projects
201
214
 
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: brewdoc
3
- Version: 0.6.0
3
+ Version: 0.7.0
4
4
  Summary: Fast, deterministic document-to-Markdown conversion for agent systems. Easy to install. No model weights, OCR or external services.
5
5
  Project-URL: Homepage, https://github.com/kochetkov-ma/brewdoc
6
6
  Project-URL: Repository, https://github.com/kochetkov-ma/brewdoc
@@ -31,14 +31,14 @@ Description-Content-Type: text/markdown
31
31
  [![PyPI](https://img.shields.io/pypi/v/brewdoc)](https://pypi.org/project/brewdoc/)
32
32
  [![CI](https://github.com/kochetkov-ma/brewdoc/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/kochetkov-ma/brewdoc/actions/workflows/ci.yml)
33
33
  [![Release](https://img.shields.io/github/v/release/kochetkov-ma/brewdoc)](https://github.com/kochetkov-ma/brewdoc/releases/latest)
34
- [![MIT](https://img.shields.io/github/license/kochetkov-ma/brewdoc)](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/LICENSE)
34
+ [![MIT](https://img.shields.io/github/license/kochetkov-ma/brewdoc)](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/LICENSE)
35
35
 
36
36
  Fast, deterministic document-to-Markdown conversion for agent systems. Easy to install. No model weights, OCR or external services.
37
37
 
38
38
  Local conversion runs offline after installation, with no runtime component downloads.
39
39
  Supported documents become one Markdown file and a JSON receipt describing omissions.
40
- See [formats and limits](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/FORMATS.md).
41
- Version 0.4.1 added [selected ZIP/XML reader budgets](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/FORMATS.md#zipxml-reader-limits)
40
+ See [formats and limits](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/FORMATS.md).
41
+ Version 0.4.1 added [selected ZIP/XML reader budgets](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/FORMATS.md#zipxml-reader-limits)
42
42
  for DOCX/PPTX and workbook metadata/artifacts. Excessive work refuses before output
43
43
  writes; native workbook values and total process memory remain outside those bounds.
44
44
 
@@ -49,28 +49,32 @@ It also added textless PDF page facts and selected caption, table and math-spaci
49
49
  Version 0.6.0 writes cleaner Markdown with minimal escaping, adds `--body-only`, accepts
50
50
  documents through `--url`, decodes legacy HTML charsets and falls back to the whole page in
51
51
  article mode.
52
+ Version 0.7.0 adds `--render-js auto` and HTML `--no-links`, refuses captcha, login and
53
+ JavaScript shell pages with a plain reason, reports HTTP status, redirects and charset in URL
54
+ receipts, decodes mislabelled HTML charsets by fallback and writes code and image links as
55
+ standard Markdown links.
52
56
 
53
57
  ## Install
54
58
 
55
- These examples select 0.6.0. Use a channel listed as available in [that release](https://github.com/kochetkov-ma/brewdoc/releases/tag/v0.6.0). Choose one method:
59
+ These examples select 0.7.0. Use a channel listed as available in [that release](https://github.com/kochetkov-ma/brewdoc/releases/tag/v0.7.0). Choose one method:
56
60
 
57
61
  ```sh
58
- python -m pip install "brewdoc==0.6.0"
59
- uv tool install --python 3.12 "brewdoc==0.6.0"
60
- pipx install --python 3.12 "brewdoc==0.6.0"
62
+ python -m pip install "brewdoc==0.7.0"
63
+ uv tool install --python 3.12 "brewdoc==0.7.0"
64
+ pipx install --python 3.12 "brewdoc==0.7.0"
61
65
  ```
62
66
 
63
67
  Use a virtual environment for pip. Python 3.12+ is required; local and URL HTML need CPython 3.12-3.14.
64
- [INSTALL.md](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/INSTALL.md) covers prerequisites, Windows, uvx, PATH, update and removal.
68
+ [INSTALL.md](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/INSTALL.md) covers prerequisites, Windows, uvx, PATH, update and removal.
65
69
  [Latest release](https://github.com/kochetkov-ma/brewdoc/releases/latest) lists actual assets and channel availability.
66
70
 
67
71
  ### Standalone downloads
68
72
 
69
- Use downloads listed as available in the release. Python and dependencies are bundled. Verify [SHA256SUMS](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.6.0/SHA256SUMS) and keep the entire extracted directory.
73
+ Use downloads listed as available in the release. Python and dependencies are bundled. Verify [SHA256SUMS](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.7.0/SHA256SUMS) and keep the entire extracted directory.
70
74
 
71
- [![Linux x64 download](https://img.shields.io/badge/Linux_x64-download-blue)](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.6.0/brewdoc-0.6.0-linux-x64.tar.gz)
72
- [![Windows x64 download](https://img.shields.io/badge/Windows_x64-download-blue)](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.6.0/brewdoc-0.6.0-windows-x64.zip)
73
- [![macOS ARM64 download](https://img.shields.io/badge/macOS_ARM64-download-blue)](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.6.0/brewdoc-0.6.0-macos-arm64.tar.gz)
75
+ [![Linux x64 download](https://img.shields.io/badge/Linux_x64-download-blue)](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.7.0/brewdoc-0.7.0-linux-x64.tar.gz)
76
+ [![Windows x64 download](https://img.shields.io/badge/Windows_x64-download-blue)](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.7.0/brewdoc-0.7.0-windows-x64.zip)
77
+ [![macOS ARM64 download](https://img.shields.io/badge/macOS_ARM64-download-blue)](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.7.0/brewdoc-0.7.0-macos-arm64.tar.gz)
74
78
 
75
79
  | Native target | Verification environment | JavaScript |
76
80
  |---|---|---|
@@ -80,21 +84,21 @@ Use downloads listed as available in the release. Python and dependencies are bu
80
84
 
81
85
  Older OSes, Linux musl/ARM64 and macOS Intel are outside this binary set.
82
86
  Windows is unsigned; macOS has an ad hoc signature without Developer ID/notarization.
83
- Linux archives have checksums, without a detached publisher signature. [Download and launch](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/INSTALL.md#standalone).
87
+ Linux archives have checksums, without a detached publisher signature. [Download and launch](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/INSTALL.md#standalone).
84
88
 
85
89
  ### npm
86
90
 
87
91
  [![npm](https://img.shields.io/npm/v/brewdoc)](https://www.npmjs.com/package/brewdoc)
88
92
 
89
93
  npm targets Linux x64/glibc and macOS ARM64. Windows uses the GitHub native download or Python package.
90
- Use npm/npx only when listed as available in [the release](https://github.com/kochetkov-ma/brewdoc/releases/tag/v0.6.0).
91
- [INSTALL.md](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/INSTALL.md#npm-and-npx) contains exact-version installation, update and removal instructions.
94
+ Use npm/npx only when listed as available in [the release](https://github.com/kochetkov-ma/brewdoc/releases/tag/v0.7.0).
95
+ [INSTALL.md](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/INSTALL.md#npm-and-npx) contains exact-version installation, update and removal instructions.
92
96
 
93
97
  ### Homebrew
94
98
 
95
99
  Use `kochetkov-ma/brew/brewdoc` only when the release lists it as available.
96
100
  It installs the complete native bundle on macOS 15+ ARM64 or Linux x64 with system
97
- glibc 2.35+. See [installation and lifecycle](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/INSTALL.md#homebrew).
101
+ glibc 2.35+. See [installation and lifecycle](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/INSTALL.md#homebrew).
98
102
 
99
103
  ## Usage
100
104
 
@@ -113,7 +117,7 @@ caller order retains full-workbook ordinals. Artifact keys come from the Markdow
113
117
  Requests and output collisions are validated before writes. Paths resolve against the caller's directory;
114
118
  `--out` creates parents. Refusal preserves existing output. Self-check is offline and has its own output.
115
119
  `--body-only` drops the title, metadata, omissions, contents and unit anchors; unit headings stay
116
- only for several units. The receipt is unchanged. See [body-only output](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/FORMATS.md#body-only-output).
120
+ only for several units. The receipt is unchanged. See [body-only output](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/FORMATS.md#body-only-output).
117
121
 
118
122
  ## Markdown and receipts
119
123
 
@@ -121,7 +125,7 @@ Parsed document output uses `brewdoc.markdown/2`: quoted source title, Metadata,
121
125
  Known omissions, Contents, then anchored units. PDF uses `page/000001`, workbooks `sheet/000001`,
122
126
  PPTX/ODP `slide/000001`, and DOCX/EPUB/HTML/ODT/EML `chapter/000001`.
123
127
  Empty declared units remain navigable. Escaping is minimal; HTML, EPUB and EML omit form
124
- controls and write images with alt text as `![alt](src)`. See [Markdown escaping](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/FORMATS.md#markdown-escaping).
128
+ controls and write images with alt text as `![alt](src)`. See [Markdown escaping](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/FORMATS.md#markdown-escaping).
125
129
  Metadata holds source/selection/content hashes, conversion tallies and artifact capabilities;
126
130
  it excludes paths, timestamps, permissions and host data. EPUB retains declared publication metadata.
127
131
 
@@ -144,7 +148,8 @@ without it, Markdown follows on stdout. Local receipts use `brewdoc.receipt/1`;
144
148
  | `out` | Markdown path, or null for stdout |
145
149
  | `markdown_schema`, `unit_keys`, `artifacts` | Success-only schema, ordered source keys and available/requested artifacts |
146
150
  | `selected_sheets` | Caller-ordered names, only when selected |
147
- | `acquisition` | URL provenance, frozen snapshot and capture status |
151
+ | `article_fallback`, `charset_fallback` | Local HTML whole-page fallback and charset chosen by fallback, only when used |
152
+ | `acquisition` | URL provenance, HTTP status, redirects, challenge, charset, frozen snapshot and capture status |
148
153
 
149
154
  Exit 0 means conversion, 1 refusal and 2 invalid usage. Success does not prove content fidelity or complete JavaScript.
150
155
  PDF/DOCX/PPTX emit ASCII; workbooks/HTML/EPUB/ODT/ODP/EML emit UTF-8 without BOM, with LF newlines.
@@ -162,7 +167,7 @@ refs = brewdoc.list_book_artifacts("book.xlsm", sheets=("Calc",))
162
167
  payload = brewdoc.read_book_artifact("book.xlsm", refs[0].key, sheets=("Calc",))
163
168
  ```
164
169
 
165
- `run` accepts `sheets`, an `artifact_outputs` key-to-path mapping, `article` and `body_only`. Renderers include
170
+ `run` accepts `sheets`, an `artifact_outputs` key-to-path mapping, `article`, `body_only` and `links`. Renderers include
166
171
  `render_pdf`, `render_doc`, `render_presentation`, `render_epub`, `render_html` and `render_book`.
167
172
  `read_formulas` provides typed formulas; `self_check` verifies installed routes. Local APIs never acquire URLs.
168
173
 
@@ -175,18 +180,26 @@ Content-Type and magic bytes pick the route: HTML, PDF, Office, OpenDocument, EP
175
180
  brewdoc --url https://example.com/article --out article.md
176
181
  brewdoc --url https://arxiv.org/pdf/1706.03762 --out attention.md
177
182
  brewdoc --url https://example.com/article --render-js --timeout 30 --out article.md
183
+ brewdoc --url "https://hn.algolia.com/?q=rust" --render-js auto --out search.md
184
+ brewdoc --url https://example.com/article --no-links --out article.md
178
185
  ```
179
186
 
187
+ Bare `--render-js` means `always`; `--render-js auto` runs JS only when the static page is a JavaScript shell.
188
+ Prefer `--render-js auto` for unknown pages: `always` runs JS on every page and can hit an engine quota on a
189
+ page that static mode reads. Pages that need more than the bounded engine refuse, such as crates.io.
190
+ Captcha, bot challenge, login and shell pages refuse at stage `challenge` or `javascript_required` with a plain
191
+ reason; the receipt names the challenge and keeps the HTTP status. `--no-links` (HTML only) keeps link text,
192
+ omits destinations and discloses it in the receipt.
180
193
  `--timeout` is one positive finite waiting budget, default 30 seconds; cleanup/conversion can add time.
181
194
  Public destinations, DNS, redirects, TLS, requests and bytes are validated. Ordinary requests use GET;
182
195
  JS admits only the narrow credential-free HN Algolia XHR POST exception. Local HTML never fetches or runs scripts.
183
196
  Optional JS needs installed/bundled prerequisites, refuses unsupported runtimes before HTTP and downloads no engine.
184
- Timing-only expiry can preserve valid partial content; hard failures refuse output. [Full URL/JS limits](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/FORMATS.md#url-acquisition).
197
+ Timing-only expiry can preserve valid partial content; hard failures refuse output. [Full URL/JS limits](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/FORMATS.md#url-acquisition).
185
198
 
186
199
  ## Article mode
187
200
 
188
201
  Introduced in 0.4.0; use a channel listed as available in the release. For Python JS capture, install
189
- `brewdoc[render-js]==0.6.0`; supported standalone bundles include its prerequisites.
202
+ `brewdoc[render-js]==0.7.0`; supported standalone bundles include its prerequisites.
190
203
 
191
204
  ```sh
192
205
  brewdoc page.html --article --out article.md
@@ -209,7 +222,7 @@ without layout or inferred author/date metadata. The source title is unchanged.
209
222
 
210
223
  When content is selected, the receipt's `not_carried` and Markdown's Known omissions declare:
211
224
  `body content outside the selected article or main subtree; complete page coverage is not claimed`.
212
- The [article contract](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/FORMATS.md#article-selection)
225
+ The [article contract](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/FORMATS.md#article-selection)
213
226
  defines selection, fallback and limits.
214
227
 
215
228
  [Earlier source-package CI](https://github.com/kochetkov-ma/brewdoc/actions/runs/38431645006) passed on
@@ -220,10 +233,10 @@ tested patches, not a claim about newer versions. These results predate the 0.5.
220
233
  CPython 3.12.14 retains the local macOS full-suite baseline and existing CI smoke checks.
221
234
  Package evidence is separate from standalone binaries; other OS/minor combinations, free-threaded CPython and other
222
235
  architectures remain untested here.
223
- See [package compatibility](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/FORMATS.md#python-package-compatibility).
236
+ See [package compatibility](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/FORMATS.md#python-package-compatibility).
224
237
 
225
- [Format contracts](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/FORMATS.md) | [Corpus](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/benchmarks/CATALOG.md) | [Measurements](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/benchmarks/METHODOLOGY.md) | [Results](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/benchmarks/results/README.md)
226
- [Releasing](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/RELEASING.md) | [Agent entry point](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/llms.txt) | [MIT license](https://github.com/kochetkov-ma/brewdoc/blob/v0.6.0/LICENSE)
238
+ [Format contracts](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/FORMATS.md) | [Corpus](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/benchmarks/CATALOG.md) | [Measurements](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/benchmarks/METHODOLOGY.md) | [Results](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/benchmarks/results/README.md)
239
+ [Releasing](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/RELEASING.md) | [Agent entry point](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/llms.txt) | [MIT license](https://github.com/kochetkov-ma/brewdoc/blob/v0.7.0/LICENSE)
227
240
 
228
241
  ## Related projects
229
242
 
@@ -1,33 +1,33 @@
1
1
  ../../../bin/brewdoc,sha256=EBcDAz0fm_7gb81W-eoCcf0v2BLUMB1QEU85SQT2Xc0,344
2
- brewdoc-0.6.0.dist-info/INSTALLER,sha256=5hhM4Q4mYTT9z6QB6PGpUAW81PGNFrYrdXMj4oM_6ak,2
3
- brewdoc-0.6.0.dist-info/METADATA,sha256=c8MXeRPbOqaAz4Wl0zFYz9m3edVuHR1zTt04vyHZX9o,14751
4
- brewdoc-0.6.0.dist-info/RECORD,,
5
- brewdoc-0.6.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
- brewdoc-0.6.0.dist-info/WHEEL,sha256=W3fkpkm7-wf9vBI5Z-7s0eWkeM-spu78I8Neb98DeEg,87
7
- brewdoc-0.6.0.dist-info/direct_url.json,sha256=R4khUVbzQAwMsfSZxeM_XFN1s6X_Y8urHUP1tNyTFXI,103
8
- brewdoc-0.6.0.dist-info/entry_points.txt,sha256=avLrj5Y-MJ1yq0XFkjH5dbZW9QwYQkpn_hz6sNydbA4,45
9
- brewdoc-0.6.0.dist-info/licenses/LICENSE,sha256=DNUrRveB3NXcyWxUr8csAHYmvrOmAzFDDAKv3iXNYKk,1073
10
- brewdoc-0.6.0.dist-info/uv_cache.json,sha256=I8b14fujtRjLrvOMFD51vx27cgCOV3K4Go_utEdL0vQ,127
11
- brewdoc/__init__.py,sha256=IyLGlv-WYbGMathise30JzWRf1AFRjqYE0TGnT6w-BE,867
2
+ brewdoc-0.7.0.dist-info/INSTALLER,sha256=5hhM4Q4mYTT9z6QB6PGpUAW81PGNFrYrdXMj4oM_6ak,2
3
+ brewdoc-0.7.0.dist-info/METADATA,sha256=6nkUqXDrXOfaUeJ07-Ah0Wy4bTIponltVQsSOmRVWzE,15969
4
+ brewdoc-0.7.0.dist-info/RECORD,,
5
+ brewdoc-0.7.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
+ brewdoc-0.7.0.dist-info/WHEEL,sha256=W3fkpkm7-wf9vBI5Z-7s0eWkeM-spu78I8Neb98DeEg,87
7
+ brewdoc-0.7.0.dist-info/direct_url.json,sha256=c99WXMUoBHljQMwxVUMqEft3mLwSWNmD9hZfjkPjxhc,103
8
+ brewdoc-0.7.0.dist-info/entry_points.txt,sha256=avLrj5Y-MJ1yq0XFkjH5dbZW9QwYQkpn_hz6sNydbA4,45
9
+ brewdoc-0.7.0.dist-info/licenses/LICENSE,sha256=DNUrRveB3NXcyWxUr8csAHYmvrOmAzFDDAKv3iXNYKk,1073
10
+ brewdoc-0.7.0.dist-info/uv_cache.json,sha256=wp-ao_aV0ZLGZq-tfbEEGr44VrfyybSQtwdFEm8REXY,127
11
+ brewdoc/__init__.py,sha256=igTIi1n_7Yxlq0dtnhxjBcl4F_GPD9ju0h4wuCoBxf8,867
12
12
  brewdoc/_standalone.py,sha256=-zfCo75E8YlQexHuPoTu1tl1SJGMNftH1JXSt6qilxo,4705
13
13
  brewdoc/_urljs/__init__.py,sha256=SrVyNMaD02iahY2zp3kggkW7KGJ1xv-C5d4DK1-JYWw,51
14
14
  brewdoc/_urljs/glue.js,sha256=FLE1gUULoiMZNHH_RmwV0pFMx2BOc5tBMRBG8ahklgQ,45856
15
- brewdoc/_urljs/native.py,sha256=HadpXlktvsFQyl52A7YjMNgL0N5S8qC2-K4hTk0qIE8,44208
15
+ brewdoc/_urljs/native.py,sha256=usZXp_nWS5KKXj1T-Qelmkr5lhGxfVkTMt80g0bz0CQ,44464
16
16
  brewdoc/_vendor/THIRD_PARTY_NOTICES.txt,sha256=Mg3dxJ1SNPASEu4_ruk2j-7WM0lZmrfulGCUpNoOZak,26003
17
17
  brewdoc/_vendor/linkedom-worker.js,sha256=6p8d5psAnSEJaN2PTT9OzxCVvt-A04nsgyRMFxNXgog,411521
18
- brewdoc/cli.py,sha256=Kd8bx983MrIJs9NSVE1Hr6DmFcsaRgw6gi6dbLZQhHM,6658
18
+ brewdoc/cli.py,sha256=plbn5-iYgBCcIUtXEn5yDq0WUouJmxCXEZ_wGP7FKPo,7113
19
19
  brewdoc/common.py,sha256=r4w2_BegIDVU5r89Y9vH-UQAcwKgP5dITMfi5UMPQA4,51045
20
20
  brewdoc/docx.py,sha256=w5fzxManQw7E34p70-YOT3-hfE0E4Z9SBHaiIqY3ke0,6154
21
21
  brewdoc/eml.py,sha256=KYWPD9K16JMiNtubtnQt8w9k5PejVQdXnEO29Vn5zSY,7433
22
22
  brewdoc/epub.py,sha256=j9kcZAclfbGrvxHcvaImsGkUrmUzWrip-pvBzh2Zz5U,49436
23
- brewdoc/htmljs.py,sha256=yxkqeMPdQ7uK-p0H_71BjjtSokXUv1czeicQhHU9heY,42516
24
- brewdoc/htmltext.py,sha256=3ENBVSjDUiQ4xrM_SBEWikF2Pfum1s9RPhFywVPKzj8,38611
25
- brewdoc/htmlurl.py,sha256=8yiqYCDcOB_rTfyd31nYksOiHy-YZIo5NltafUzc0fg,44737
23
+ brewdoc/htmljs.py,sha256=UEBVlFZc95gaq0rQtgZVY8WkGQS3LzVVywAggc9nrlk,44581
24
+ brewdoc/htmltext.py,sha256=Dq0OykXbNUXC8Phn4q0PDHF48H3J1POYifinv0D6AiQ,42149
25
+ brewdoc/htmlurl.py,sha256=lYUoruiXs3otqddVDIHlqR700ehiyfvBi-G93QnxKgg,50618
26
26
  brewdoc/odf.py,sha256=M5OZwNmZKQx68zpQRf158MUXMTHmnnKmtBam6sPi0YI,15467
27
27
  brewdoc/output.py,sha256=aMgDoB5UDbRWYr9pBxlH402jEiUl8OSEqhox31O0ljk,4123
28
28
  brewdoc/pdf.py,sha256=6qU5tPMjcAeYgqEVIPR8u8xk-FydNCTuD8onQldkTlU,66444
29
29
  brewdoc/pptx.py,sha256=OYE42ZMgifyhWW8uj0M7JHsasaxXkcfLfSKVsp77is0,17844
30
30
  brewdoc/selfcheck.py,sha256=4MGa8Jg3sxDW4f7WBOSiB2cwtyFCN_Uzg0QVTXdSW1s,28042
31
- brewdoc/service.py,sha256=Qix2cgYeUQm9xNrX3JEV27rG-IzEVSYWEphfcOoXzL0,7733
31
+ brewdoc/service.py,sha256=QS-6kDYKV-peTmw-LU6FYnEIM8JmtI2eUqjCbcm8nuM,8161
32
32
  brewdoc/sheets.py,sha256=qgvSxj4MnwPELvwzb3oSmffIOO5LIaAcTzC65TkYp6c,17411
33
33
  brewdoc/text.py,sha256=OCrVnR3t4_FSn5rpxmQhItKg2oagKNhFhyp8XcJYHNw,602
@@ -0,0 +1 @@
1
+ {"url":"file:///Users/runner/work/_temp/ci-dist/dist/brewdoc-0.7.0-py3-none-any.whl","archive_info":{}}
@@ -0,0 +1 @@
1
+ {"timestamp":{"secs_since_epoch":1792435132,"nanos_since_epoch":804999144},"commit":null,"tags":null,"env":{},"directories":{}}
package/binary/brewdoc CHANGED
Binary file
@@ -1,6 +1,6 @@
1
1
  [
2
2
  {
3
- "path": "licenses/installed/brewdoc/brewdoc-0.6.0.dist-info/licenses/LICENSE",
3
+ "path": "licenses/installed/brewdoc/brewdoc-0.7.0.dist-info/licenses/LICENSE",
4
4
  "bytes": 1073,
5
5
  "sha256": "0cd52b46f781dcd5dcc96c54afc72c007626beb3a60331430c02afde25cd60a9"
6
6
  },
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "0.6.0",
3
- "source_sha": "49abdfac86a7459443ba7c3305edec9694f97af8",
2
+ "version": "0.7.0",
3
+ "source_sha": "6c846e79a188731bef1a6d4aa91cc4c4ed72f515",
4
4
  "python": "3.12.14",
5
5
  "target": "macos-arm64"
6
6
  }
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "archive": {
3
- "bytes": 32941284,
4
- "filename": "brewdoc-0.6.0-macos-arm64.tar.gz",
5
- "sha256": "8581b6021ca25e7fb67e94a05b270c2869ae3ce661f34c50da90ea4b4d17c595"
3
+ "bytes": 32949059,
4
+ "filename": "brewdoc-0.7.0-macos-arm64.tar.gz",
5
+ "sha256": "f2249c426834fb7c95ab90880bdb4b54fbf246c7b8be965f1e08b8b85fe376dc"
6
6
  },
7
7
  "executable": "brewdoc/brewdoc",
8
8
  "inventory": {
@@ -188,73 +188,73 @@
188
188
  "bytes": 1333490,
189
189
  "kind": "file",
190
190
  "mode": 420,
191
- "sha256": "0605da7bdc1cb7b5a1de3c6866defa140e31632dc2b49aa72a4880e34b63f84a"
191
+ "sha256": "985a729be78ffcce48665e075dc63d9982b979e0a48da4edeb5d51984e79af6e"
192
192
  },
193
193
  "brewdoc/_internal/brewdoc": {
194
194
  "kind": "directory",
195
195
  "mode": 493
196
196
  },
197
- "brewdoc/_internal/brewdoc-0.6.0.dist-info": {
197
+ "brewdoc/_internal/brewdoc-0.7.0.dist-info": {
198
198
  "kind": "directory",
199
199
  "mode": 493
200
200
  },
201
- "brewdoc/_internal/brewdoc-0.6.0.dist-info/INSTALLER": {
201
+ "brewdoc/_internal/brewdoc-0.7.0.dist-info/INSTALLER": {
202
202
  "bytes": 2,
203
203
  "kind": "file",
204
204
  "mode": 420,
205
205
  "sha256": "e6184ce10e266134fdcfa401e8f1a95005bcd4f18d16b62b757323e2833fe9a9"
206
206
  },
207
- "brewdoc/_internal/brewdoc-0.6.0.dist-info/METADATA": {
208
- "bytes": 14751,
207
+ "brewdoc/_internal/brewdoc-0.7.0.dist-info/METADATA": {
208
+ "bytes": 15969,
209
209
  "kind": "file",
210
210
  "mode": 420,
211
- "sha256": "73c3177913db3aa680cf85a5d33158cfd9b779d56e1d1d734edd38bf21d95fda"
211
+ "sha256": "ea7914a970eb5ce7da51e274efe021d16cb86d3229a2796d550b123a64555b31"
212
212
  },
213
- "brewdoc/_internal/brewdoc-0.6.0.dist-info/RECORD": {
213
+ "brewdoc/_internal/brewdoc-0.7.0.dist-info/RECORD": {
214
214
  "bytes": 2604,
215
215
  "kind": "file",
216
216
  "mode": 420,
217
- "sha256": "eed5704e30204d29a948b3804dc7fd8846e8afa500bc2bd859650e86f85162a5"
217
+ "sha256": "015319b37e4ceb064e8bbb03bab76987a2187b86a759709ba15092fefc11fc59"
218
218
  },
219
- "brewdoc/_internal/brewdoc-0.6.0.dist-info/REQUESTED": {
219
+ "brewdoc/_internal/brewdoc-0.7.0.dist-info/REQUESTED": {
220
220
  "bytes": 0,
221
221
  "kind": "file",
222
222
  "mode": 420,
223
223
  "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
224
224
  },
225
- "brewdoc/_internal/brewdoc-0.6.0.dist-info/WHEEL": {
225
+ "brewdoc/_internal/brewdoc-0.7.0.dist-info/WHEEL": {
226
226
  "bytes": 87,
227
227
  "kind": "file",
228
228
  "mode": 420,
229
229
  "sha256": "5b77e4a649bbfb07fdbc123967eeecd1e5a478cfaca6eefc23c35e6fdf037848"
230
230
  },
231
- "brewdoc/_internal/brewdoc-0.6.0.dist-info/direct_url.json": {
231
+ "brewdoc/_internal/brewdoc-0.7.0.dist-info/direct_url.json": {
232
232
  "bytes": 103,
233
233
  "kind": "file",
234
234
  "mode": 420,
235
- "sha256": "4789215156f3400c0cb1f499c5e33f5c5375b3a5ff63cbab1d43f5b4dc931572"
235
+ "sha256": "73df565cc52804796340cc3155432a11fb7798bc1258d983f6165f8e43e3c617"
236
236
  },
237
- "brewdoc/_internal/brewdoc-0.6.0.dist-info/entry_points.txt": {
237
+ "brewdoc/_internal/brewdoc-0.7.0.dist-info/entry_points.txt": {
238
238
  "bytes": 45,
239
239
  "kind": "file",
240
240
  "mode": 420,
241
241
  "sha256": "6af2eb8f963e309d72ab45c59231f975b656f50c18424a67fe1cfab0dc9d6c0e"
242
242
  },
243
- "brewdoc/_internal/brewdoc-0.6.0.dist-info/licenses": {
243
+ "brewdoc/_internal/brewdoc-0.7.0.dist-info/licenses": {
244
244
  "kind": "directory",
245
245
  "mode": 493
246
246
  },
247
- "brewdoc/_internal/brewdoc-0.6.0.dist-info/licenses/LICENSE": {
247
+ "brewdoc/_internal/brewdoc-0.7.0.dist-info/licenses/LICENSE": {
248
248
  "bytes": 1073,
249
249
  "kind": "file",
250
250
  "mode": 420,
251
251
  "sha256": "0cd52b46f781dcd5dcc96c54afc72c007626beb3a60331430c02afde25cd60a9"
252
252
  },
253
- "brewdoc/_internal/brewdoc-0.6.0.dist-info/uv_cache.json": {
253
+ "brewdoc/_internal/brewdoc-0.7.0.dist-info/uv_cache.json": {
254
254
  "bytes": 127,
255
255
  "kind": "file",
256
256
  "mode": 420,
257
- "sha256": "23c6f5e1fba3b518cbaef38c143e75bf1dbb72008e5772b81a8feeb4474bd2f4"
257
+ "sha256": "c29f9aa3f695d192c666afad7db1041abe3856b7f2c9b490b70745126f111176"
258
258
  },
259
259
  "brewdoc/_internal/brewdoc/_urljs": {
260
260
  "kind": "directory",
@@ -2211,10 +2211,10 @@
2211
2211
  "sha256": "fe0f992e9acf81baafec12ecf9611ef0885b0ddfd04dc7e2af3fcd132475630c"
2212
2212
  },
2213
2213
  "brewdoc/brewdoc": {
2214
- "bytes": 4022016,
2214
+ "bytes": 4029920,
2215
2215
  "kind": "file",
2216
2216
  "mode": 493,
2217
- "sha256": "ab3c72b5e4a15286b9692f39d52ef5e715c345e6ab3e73a5ce5414bb3db5e536"
2217
+ "sha256": "4a79d57e6aa37bbd1b8764ae99dcd604c4850f8a27ea8c1f84ca74b4856509cf"
2218
2218
  },
2219
2219
  "brewdoc/licenses": {
2220
2220
  "kind": "directory",
@@ -2228,7 +2228,7 @@
2228
2228
  "bytes": 8106,
2229
2229
  "kind": "file",
2230
2230
  "mode": 420,
2231
- "sha256": "1566f90d96f8f572f1a3b0bc3587ec3591af3fdd61df9a7ad1347cef4edb9005"
2231
+ "sha256": "34fdb13cfcbe1bb3cb1ee4d5ef196c5358785c15261a15f86d5c3d9ded7cc163"
2232
2232
  },
2233
2233
  "brewdoc/licenses/installed/brewdoc": {
2234
2234
  "kind": "directory",
@@ -2238,15 +2238,15 @@
2238
2238
  "kind": "directory",
2239
2239
  "mode": 493
2240
2240
  },
2241
- "brewdoc/licenses/installed/brewdoc/brewdoc-0.6.0.dist-info": {
2241
+ "brewdoc/licenses/installed/brewdoc/brewdoc-0.7.0.dist-info": {
2242
2242
  "kind": "directory",
2243
2243
  "mode": 493
2244
2244
  },
2245
- "brewdoc/licenses/installed/brewdoc/brewdoc-0.6.0.dist-info/licenses": {
2245
+ "brewdoc/licenses/installed/brewdoc/brewdoc-0.7.0.dist-info/licenses": {
2246
2246
  "kind": "directory",
2247
2247
  "mode": 493
2248
2248
  },
2249
- "brewdoc/licenses/installed/brewdoc/brewdoc-0.6.0.dist-info/licenses/LICENSE": {
2249
+ "brewdoc/licenses/installed/brewdoc/brewdoc-0.7.0.dist-info/licenses/LICENSE": {
2250
2250
  "bytes": 1073,
2251
2251
  "kind": "file",
2252
2252
  "mode": 420,
@@ -4116,10 +4116,10 @@
4116
4116
  "bytes": 135,
4117
4117
  "kind": "file",
4118
4118
  "mode": 420,
4119
- "sha256": "b2e1ba41807f184c61e4cdf5f86ed4de6a6cde06af8642996bca7d6c7b852fd6"
4119
+ "sha256": "8bccf24c6ea6642ef667863bd82840361e622550ea49c4e36625a2361c561a8d"
4120
4120
  }
4121
4121
  },
4122
- "lock_sha256": "aaa02ff5914201a5696adae87176158d20d6e1dc37623cdffbbc67d8a005e81e",
4122
+ "lock_sha256": "4f807177f62fdaca9c5ea20e12d520562790caace731d18ed9c40ca7901a2ba2",
4123
4123
  "minimum_tested": "macOS 15 on Apple Silicon",
4124
4124
  "oracle": [],
4125
4125
  "probes": [
@@ -4175,13 +4175,13 @@
4175
4175
  "artifact": {
4176
4176
  "bytes": 664,
4177
4177
  "key": "formula/sheet/000002",
4178
- "sha256": "a9ddfb5e8a1b5b922812f8adbc3d5cee5f480c198f52603812a850718f738c9d"
4178
+ "sha256": "4b89a8ffc79c4c14b5c6707ca75cff3d8db00dc6a990190226fb4dc588d7915c"
4179
4179
  },
4180
- "bytes_base64": "UEsDBBQAAAAAAMymUl3ZAU4y4wIAAOMCAAATAAAAW0NvbnRlbnRfVHlwZXNdLnhtbDw/eG1sIHZlcnNpb249IjEuMCI/PjxUeXBlcyB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAwNi9jb250ZW50LXR5cGVzIj48RGVmYXVsdCBFeHRlbnNpb249InJlbHMiIENvbnRlbnRUeXBlPSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtcGFja2FnZS5yZWxhdGlvbnNoaXBzK3htbCIvPjxPdmVycmlkZSBQYXJ0TmFtZT0iL3hsL3dvcmtib29rLnhtbCIgQ29udGVudFR5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0Lm1haW4reG1sIi8+PE92ZXJyaWRlIFBhcnROYW1lPSIveGwvd29ya3NoZWV0cy9zaGVldDEueG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwud29ya3NoZWV0K3htbCIvPjxPdmVycmlkZSBQYXJ0TmFtZT0iL3hsL3dvcmtzaGVldHMvc2hlZXQyLnhtbCIgQ29udGVudFR5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLndvcmtzaGVldCt4bWwiLz48T3ZlcnJpZGUgUGFydE5hbWU9Ii94bC93b3Jrc2hlZXRzL3NoZWV0My54bWwiIENvbnRlbnRUeXBlPSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC53b3Jrc2hlZXQreG1sIi8+PC9UeXBlcz5QSwMEFAAAAAAAzKZSXUuDozoFAQAABQEAAAsAAABfcmVscy8ucmVsczw/eG1sIHZlcnNpb249IjEuMCI/PjxSZWxhdGlvbnNoaXBzIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvcGFja2FnZS8yMDA2L3JlbGF0aW9uc2hpcHMiPjxSZWxhdGlvbnNoaXAgSWQ9InJJZDEiIFR5cGU9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvb2ZmaWNlRG9jdW1lbnQiIFRhcmdldD0ieGwvd29ya2Jvb2sueG1sIi8+PC9SZWxhdGlvbnNoaXBzPlBLAwQUAAAAAADMplJdImE/o1IBAABSAQAADwAAAHhsL3dvcmtib29rLnhtbDw/eG1sIHZlcnNpb249IjEuMCI/Pjx3b3JrYm9vayB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3NwcmVhZHNoZWV0bWwvMjAwNi9tYWluIiB4bWxuczpyPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzIj48c2hlZXRzPjxzaGVldCBuYW1lPSJJbnB1dHMiIHNoZWV0SWQ9IjEiIHI6aWQ9InJJZDEiLz48c2hlZXQgbmFtZT0iQ2FsYyIgc2hlZXRJZD0iMiIgcjppZD0icklkMiIvPjxzaGVldCBuYW1lPSJFbXB0eSIgc2hlZXRJZD0iMyIgcjppZD0icklkMyIvPjwvc2hlZXRzPjwvd29ya2Jvb2s+UEsDBBQAAAAAAMymUl3JpmJ5IAIAACACAAAaAAAAeGwvX3JlbHMvd29ya2Jvb2sueG1sLnJlbHM8P3htbCB2ZXJzaW9uPSIxLjAiPz48UmVsYXRpb25zaGlwcyB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAwNi9yZWxhdGlvbnNoaXBzIj48UmVsYXRpb25zaGlwIElkPSJySWQxIiBUeXBlPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3dvcmtzaGVldCIgVGFyZ2V0PSJ3b3Jrc2hlZXRzL3NoZWV0MS54bWwiLz48UmVsYXRpb25zaGlwIElkPSJySWQyIiBUeXBlPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3dvcmtzaGVldCIgVGFyZ2V0PSJ3b3Jrc2hlZXRzL3NoZWV0Mi54bWwiLz48UmVsYXRpb25zaGlwIElkPSJySWQzIiBUeXBlPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3dvcmtzaGVldCIgVGFyZ2V0PSJ3b3Jrc2hlZXRzL3NoZWV0My54bWwiLz48L1JlbGF0aW9uc2hpcHM+UEsDBBQAAAAAAMymUl3hQA/x9gAAAPYAAAAYAAAAeGwvd29ya3NoZWV0cy9zaGVldDEueG1sPHdvcmtzaGVldCB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3NwcmVhZHNoZWV0bWwvMjAwNi9tYWluIj48c2hlZXREYXRhPjxyb3cgcj0iMSI+PGMgcj0iQTEiPjx2PjE8L3Y+PC9jPjwvcm93Pjxyb3cgcj0iMiI+PGMgcj0iQTIiPjx2PjI8L3Y+PC9jPjwvcm93Pjxyb3cgcj0iMyI+PGMgcj0iQTMiPjxmPlNVTShBMTpBMik8L2Y+PHY+Mzwvdj48L2M+PC9yb3c+PC9zaGVldERhdGE+PC93b3Jrc2hlZXQ+UEsDBBQAAAAAAMymUl3R4blYmQEAAJkBAAAYAAAAeGwvd29ya3NoZWV0cy9zaGVldDIueG1sPHdvcmtzaGVldCB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3NwcmVhZHNoZWV0bWwvMjAwNi9tYWluIj48c2hlZXREYXRhPjxyb3cgcj0iMSI+PGMgcj0iQTEiPjxmPlNVTShJbnB1dHMhQTE6QTIpPC9mPjx2PjM8L3Y+PC9jPjxjIHI9IkIxIj48ZiB0PSJzaGFyZWQiIHJlZj0iQjE6QjIiIHNpPSI3Ij5JbnB1dHMhQTEqMjwvZj48dj4yPC92PjwvYz48L3Jvdz48cm93IHI9IjIiPjxjIHI9IkIyIj48ZiBzaT0iNyIgdD0ic2hhcmVkIi8+PHY+NDwvdj48L2M+PC9yb3c+PHJvdyByPSIzIj48YyByPSJDMyI+PGYgYng9IjAiIGFjYT0iMSI+SUYoQTEmbHQ7NCwmcXVvdDtjYWbDqSZxdW90OywmcXVvdDsmcXVvdDspPC9mPjx2PjE8L3Y+PC9jPjwvcm93Pjwvc2hlZXREYXRhPjwvd29ya3NoZWV0PlBLAwQUAAAAAADMplJdCntq/2UAAABlAAAAGAAAAHhsL3dvcmtzaGVldHMvc2hlZXQzLnhtbDx3b3Jrc2hlZXQgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9zcHJlYWRzaGVldG1sLzIwMDYvbWFpbiI+PHNoZWV0RGF0YS8+PC93b3Jrc2hlZXQ+UEsBAhQDFAAAAAAAzKZSXdkBTjLjAgAA4wIAABMAAAAAAAAAAAAAAIABAAAAAFtDb250ZW50X1R5cGVzXS54bWxQSwECFAMUAAAAAADMplJdS4OjOgUBAAAFAQAACwAAAAAAAAAAAAAAgAEUAwAAX3JlbHMvLnJlbHNQSwECFAMUAAAAAADMplJdImE/o1IBAABSAQAADwAAAAAAAAAAAAAAgAFCBAAAeGwvd29ya2Jvb2sueG1sUEsBAhQDFAAAAAAAzKZSXcmmYnkgAgAAIAIAABoAAAAAAAAAAAAAAIABwQUAAHhsL19yZWxzL3dvcmtib29rLnhtbC5yZWxzUEsBAhQDFAAAAAAAzKZSXeFAD/H2AAAA9gAAABgAAAAAAAAAAAAAAIABGQgAAHhsL3dvcmtzaGVldHMvc2hlZXQxLnhtbFBLAQIUAxQAAAAAAMymUl3R4blYmQEAAJkBAAAYAAAAAAAAAAAAAACAAUUJAAB4bC93b3Jrc2hlZXRzL3NoZWV0Mi54bWxQSwECFAMUAAAAAADMplJdCntq/2UAAABlAAAAGAAAAAAAAAAAAAAAgAEUCwAAeGwvd29ya3NoZWV0cy9zaGVldDMueG1sUEsFBgAAAAAHAAcA0QEAAK8LAAAAAA==",
4180
+ "bytes_base64": "UEsDBBQAAAAAAN2UU13ZAU4y4wIAAOMCAAATAAAAW0NvbnRlbnRfVHlwZXNdLnhtbDw/eG1sIHZlcnNpb249IjEuMCI/PjxUeXBlcyB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAwNi9jb250ZW50LXR5cGVzIj48RGVmYXVsdCBFeHRlbnNpb249InJlbHMiIENvbnRlbnRUeXBlPSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtcGFja2FnZS5yZWxhdGlvbnNoaXBzK3htbCIvPjxPdmVycmlkZSBQYXJ0TmFtZT0iL3hsL3dvcmtib29rLnhtbCIgQ29udGVudFR5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0Lm1haW4reG1sIi8+PE92ZXJyaWRlIFBhcnROYW1lPSIveGwvd29ya3NoZWV0cy9zaGVldDEueG1sIiBDb250ZW50VHlwZT0iYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwud29ya3NoZWV0K3htbCIvPjxPdmVycmlkZSBQYXJ0TmFtZT0iL3hsL3dvcmtzaGVldHMvc2hlZXQyLnhtbCIgQ29udGVudFR5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLndvcmtzaGVldCt4bWwiLz48T3ZlcnJpZGUgUGFydE5hbWU9Ii94bC93b3Jrc2hlZXRzL3NoZWV0My54bWwiIENvbnRlbnRUeXBlPSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC53b3Jrc2hlZXQreG1sIi8+PC9UeXBlcz5QSwMEFAAAAAAA3ZRTXUuDozoFAQAABQEAAAsAAABfcmVscy8ucmVsczw/eG1sIHZlcnNpb249IjEuMCI/PjxSZWxhdGlvbnNoaXBzIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvcGFja2FnZS8yMDA2L3JlbGF0aW9uc2hpcHMiPjxSZWxhdGlvbnNoaXAgSWQ9InJJZDEiIFR5cGU9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvb2ZmaWNlRG9jdW1lbnQiIFRhcmdldD0ieGwvd29ya2Jvb2sueG1sIi8+PC9SZWxhdGlvbnNoaXBzPlBLAwQUAAAAAADdlFNdImE/o1IBAABSAQAADwAAAHhsL3dvcmtib29rLnhtbDw/eG1sIHZlcnNpb249IjEuMCI/Pjx3b3JrYm9vayB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3NwcmVhZHNoZWV0bWwvMjAwNi9tYWluIiB4bWxuczpyPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzIj48c2hlZXRzPjxzaGVldCBuYW1lPSJJbnB1dHMiIHNoZWV0SWQ9IjEiIHI6aWQ9InJJZDEiLz48c2hlZXQgbmFtZT0iQ2FsYyIgc2hlZXRJZD0iMiIgcjppZD0icklkMiIvPjxzaGVldCBuYW1lPSJFbXB0eSIgc2hlZXRJZD0iMyIgcjppZD0icklkMyIvPjwvc2hlZXRzPjwvd29ya2Jvb2s+UEsDBBQAAAAAAN2UU13JpmJ5IAIAACACAAAaAAAAeGwvX3JlbHMvd29ya2Jvb2sueG1sLnJlbHM8P3htbCB2ZXJzaW9uPSIxLjAiPz48UmVsYXRpb25zaGlwcyB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAwNi9yZWxhdGlvbnNoaXBzIj48UmVsYXRpb25zaGlwIElkPSJySWQxIiBUeXBlPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3dvcmtzaGVldCIgVGFyZ2V0PSJ3b3Jrc2hlZXRzL3NoZWV0MS54bWwiLz48UmVsYXRpb25zaGlwIElkPSJySWQyIiBUeXBlPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3dvcmtzaGVldCIgVGFyZ2V0PSJ3b3Jrc2hlZXRzL3NoZWV0Mi54bWwiLz48UmVsYXRpb25zaGlwIElkPSJySWQzIiBUeXBlPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3dvcmtzaGVldCIgVGFyZ2V0PSJ3b3Jrc2hlZXRzL3NoZWV0My54bWwiLz48L1JlbGF0aW9uc2hpcHM+UEsDBBQAAAAAAN2UU13hQA/x9gAAAPYAAAAYAAAAeGwvd29ya3NoZWV0cy9zaGVldDEueG1sPHdvcmtzaGVldCB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3NwcmVhZHNoZWV0bWwvMjAwNi9tYWluIj48c2hlZXREYXRhPjxyb3cgcj0iMSI+PGMgcj0iQTEiPjx2PjE8L3Y+PC9jPjwvcm93Pjxyb3cgcj0iMiI+PGMgcj0iQTIiPjx2PjI8L3Y+PC9jPjwvcm93Pjxyb3cgcj0iMyI+PGMgcj0iQTMiPjxmPlNVTShBMTpBMik8L2Y+PHY+Mzwvdj48L2M+PC9yb3c+PC9zaGVldERhdGE+PC93b3Jrc2hlZXQ+UEsDBBQAAAAAAN2UU13R4blYmQEAAJkBAAAYAAAAeGwvd29ya3NoZWV0cy9zaGVldDIueG1sPHdvcmtzaGVldCB4bWxucz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3NwcmVhZHNoZWV0bWwvMjAwNi9tYWluIj48c2hlZXREYXRhPjxyb3cgcj0iMSI+PGMgcj0iQTEiPjxmPlNVTShJbnB1dHMhQTE6QTIpPC9mPjx2PjM8L3Y+PC9jPjxjIHI9IkIxIj48ZiB0PSJzaGFyZWQiIHJlZj0iQjE6QjIiIHNpPSI3Ij5JbnB1dHMhQTEqMjwvZj48dj4yPC92PjwvYz48L3Jvdz48cm93IHI9IjIiPjxjIHI9IkIyIj48ZiBzaT0iNyIgdD0ic2hhcmVkIi8+PHY+NDwvdj48L2M+PC9yb3c+PHJvdyByPSIzIj48YyByPSJDMyI+PGYgYng9IjAiIGFjYT0iMSI+SUYoQTEmbHQ7NCwmcXVvdDtjYWbDqSZxdW90OywmcXVvdDsmcXVvdDspPC9mPjx2PjE8L3Y+PC9jPjwvcm93Pjwvc2hlZXREYXRhPjwvd29ya3NoZWV0PlBLAwQUAAAAAADdlFNdCntq/2UAAABlAAAAGAAAAHhsL3dvcmtzaGVldHMvc2hlZXQzLnhtbDx3b3Jrc2hlZXQgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9zcHJlYWRzaGVldG1sLzIwMDYvbWFpbiI+PHNoZWV0RGF0YS8+PC93b3Jrc2hlZXQ+UEsBAhQDFAAAAAAA3ZRTXdkBTjLjAgAA4wIAABMAAAAAAAAAAAAAAIABAAAAAFtDb250ZW50X1R5cGVzXS54bWxQSwECFAMUAAAAAADdlFNdS4OjOgUBAAAFAQAACwAAAAAAAAAAAAAAgAEUAwAAX3JlbHMvLnJlbHNQSwECFAMUAAAAAADdlFNdImE/o1IBAABSAQAADwAAAAAAAAAAAAAAgAFCBAAAeGwvd29ya2Jvb2sueG1sUEsBAhQDFAAAAAAA3ZRTXcmmYnkgAgAAIAIAABoAAAAAAAAAAAAAAIABwQUAAHhsL19yZWxzL3dvcmtib29rLnhtbC5yZWxzUEsBAhQDFAAAAAAA3ZRTXeFAD/H2AAAA9gAAABgAAAAAAAAAAAAAAIABGQgAAHhsL3dvcmtzaGVldHMvc2hlZXQxLnhtbFBLAQIUAxQAAAAAAN2UU13R4blYmQEAAJkBAAAYAAAAAAAAAAAAAACAAUUJAAB4bC93b3Jrc2hlZXRzL3NoZWV0Mi54bWxQSwECFAMUAAAAAADdlFNdCntq/2UAAABlAAAAGAAAAAAAAAAAAAAAgAEUCwAAeGwvd29ya3NoZWV0cy9zaGVldDMueG1sUEsFBgAAAAAHAAcA0QEAAK8LAAAAAA==",
4181
4181
  "code": 0,
4182
4182
  "markdown_bytes": 2282,
4183
4183
  "markdown_encoding": "utf-8",
4184
- "markdown_sha256": "d74d81b171b0e229dda896d452fb1ef9a2868edb44fa1453422da840f208b713",
4184
+ "markdown_sha256": "583616ebe902d30911d7ae0f451b2a2bd490024de37b6c262cfddb716f3e6353",
4185
4185
  "path": "formulas.xlsx",
4186
4186
  "probe": "formula",
4187
4187
  "receipt": {
@@ -4245,7 +4245,7 @@
4245
4245
  "unit_kind": "sheet",
4246
4246
  "units": 3
4247
4247
  },
4248
- "source_sha256": "71c5b803feeb41d12b4fb5f185a6f5fb47f9f59c12d3131ddcd79ded84ec6ea8"
4248
+ "source_sha256": "40bb211de369bd483bc32f46189425bb09b69f92fa69357d73a49ab061cf12d0"
4249
4249
  }
4250
4250
  ],
4251
4251
  "python": "3.12.14",
@@ -4317,6 +4317,10 @@
4317
4317
  "name": "cryptography",
4318
4318
  "version": "50.0.2"
4319
4319
  },
4320
+ {
4321
+ "name": "brewdoc",
4322
+ "version": "0.7.0"
4323
+ },
4320
4324
  {
4321
4325
  "name": "selectolax",
4322
4326
  "version": "0.4.13"
@@ -4333,10 +4337,6 @@
4333
4337
  "name": "pdfplumber",
4334
4338
  "version": "0.11.10"
4335
4339
  },
4336
- {
4337
- "name": "brewdoc",
4338
- "version": "0.6.0"
4339
- },
4340
4340
  {
4341
4341
  "name": "pypdfium2",
4342
4342
  "version": "5.13.0"
@@ -4358,9 +4358,9 @@
4358
4358
  "macos": "Ad hoc build signature; no Developer ID signing or notarization",
4359
4359
  "windows": "Unsigned; publisher signing has not been configured"
4360
4360
  },
4361
- "source_sha": "49abdfac86a7459443ba7c3305edec9694f97af8",
4361
+ "source_sha": "6c846e79a188731bef1a6d4aa91cc4c4ed72f515",
4362
4362
  "target": "macos-arm64",
4363
4363
  "verification_scope": "smoke",
4364
- "version": "0.6.0",
4365
- "wheel_sha256": "3e6693bbac7f3c426542df374afb7ee65ac8bc8fac956add4e76ed61245b6b82"
4364
+ "version": "0.7.0",
4365
+ "wheel_sha256": "3f3b590a41d1ab3d039caaaa363da1c0b82fe1995cef38f46d5ebb335e0d466f"
4366
4366
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "archive_sha256": "8581b6021ca25e7fb67e94a05b270c2869ae3ce661f34c50da90ea4b4d17c595",
2
+ "archive_sha256": "f2249c426834fb7c95ab90880bdb4b54fbf246c7b8be965f1e08b8b85fe376dc",
3
3
  "children": {
4
4
  "dns": [
5
5
  "::1",
@@ -57,6 +57,9 @@
57
57
  "https": {
58
58
  "acquisition": {
59
59
  "capture_status": "static",
60
+ "challenge": null,
61
+ "charset": "UTF-8",
62
+ "charset_source": "header",
60
63
  "counts": {
61
64
  "promise_jobs": 0,
62
65
  "requests": 1,
@@ -67,6 +70,7 @@
67
70
  "error_count": 0,
68
71
  "errors": [],
69
72
  "final_url": "https://example.org/",
73
+ "http_status": 200,
70
74
  "mode": "static",
71
75
  "pending": {
72
76
  "jobs": null,
@@ -75,7 +79,9 @@
75
79
  "requests": null,
76
80
  "timers": null
77
81
  },
82
+ "redirect_count": 0,
78
83
  "refusal_stage": null,
84
+ "render_js": null,
79
85
  "requested_url": "https://example.org/",
80
86
  "response": {
81
87
  "body_bytes": 577,
@@ -143,6 +149,9 @@
143
149
  "invalid_tls": {
144
150
  "acquisition": {
145
151
  "capture_status": "refused",
152
+ "challenge": null,
153
+ "charset": null,
154
+ "charset_source": null,
146
155
  "counts": {
147
156
  "promise_jobs": 0,
148
157
  "requests": 1,
@@ -158,6 +167,7 @@
158
167
  }
159
168
  ],
160
169
  "final_url": null,
170
+ "http_status": null,
161
171
  "mode": "static",
162
172
  "pending": {
163
173
  "jobs": null,
@@ -166,7 +176,9 @@
166
176
  "requests": null,
167
177
  "timers": null
168
178
  },
179
+ "redirect_count": 0,
169
180
  "refusal_stage": "tls",
181
+ "render_js": null,
170
182
  "requested_url": "https://self-signed.badssl.com/",
171
183
  "response": {
172
184
  "body_bytes": null,
@@ -229,6 +241,9 @@
229
241
  "javascript": {
230
242
  "acquisition": {
231
243
  "capture_status": "partial",
244
+ "challenge": null,
245
+ "charset": "UTF-8",
246
+ "charset_source": "header",
232
247
  "counts": {
233
248
  "promise_jobs": 0,
234
249
  "requests": 2,
@@ -249,6 +264,7 @@
249
264
  }
250
265
  ],
251
266
  "final_url": "https://example.org/",
267
+ "http_status": 200,
252
268
  "mode": "javascript",
253
269
  "pending": {
254
270
  "jobs": false,
@@ -257,7 +273,9 @@
257
273
  "requests": 0,
258
274
  "timers": 0
259
275
  },
276
+ "redirect_count": 0,
260
277
  "refusal_stage": null,
278
+ "render_js": "always",
261
279
  "requested_url": "https://example.org/",
262
280
  "response": {
263
281
  "body_bytes": 577,
@@ -336,9 +354,9 @@
336
354
  ],
337
355
  "schema": 1,
338
356
  "self_check": 38,
339
- "source_sha": "49abdfac86a7459443ba7c3305edec9694f97af8",
357
+ "source_sha": "6c846e79a188731bef1a6d4aa91cc4c4ed72f515",
340
358
  "target": "macos-arm64",
341
359
  "verdict": "PASS",
342
360
  "verification_scope": "smoke",
343
- "version": "0.6.0"
361
+ "version": "0.7.0"
344
362
  }
package/package.json CHANGED
@@ -22,5 +22,5 @@
22
22
  "type": "git",
23
23
  "url": "git+https://github.com/kochetkov-ma/brewdoc.git"
24
24
  },
25
- "version": "0.6.0"
25
+ "version": "0.7.0"
26
26
  }
@@ -1 +0,0 @@
1
- {"url":"file:///Users/runner/work/_temp/ci-dist/dist/brewdoc-0.6.0-py3-none-any.whl","archive_info":{}}
@@ -1 +0,0 @@
1
- {"timestamp":{"secs_since_epoch":1792356859,"nanos_since_epoch":581216600},"commit":null,"tags":null,"env":{},"directories":{}}